Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1961856

Summary: F35FailsToInstall: rust-cursive+bear-lib-terminal-devel, rust-cursive+blt-backend-devel, rust-cursive+pancurses-backend-devel, rust-cursive+pancurses-devel
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: rust-cursiveAssignee: Davide Cavalca <davide>
Status: CLOSED WORKSFORME QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: davide, decathorpe, rust-sig
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: rust-cursive-0.16.3-2.fc35 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-05-25 19:30:18 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1962269    
Bug Blocks: 1927313    

Description Miro Hrončok 2021-05-18 20:21:29 UTC
Hello,

Please note that this comment was generated automatically. If you feel that this output has mistakes, please contact me via email (mhroncok).

Your package (rust-cursive) Fails To Install in Fedora 35:

can't install rust-cursive+bear-lib-terminal-devel:
  - nothing provides (crate(bear-lib-terminal/default) >= 2.0.0 with crate(bear-lib-terminal/default) < 3.0.0~) needed by rust-cursive+bear-lib-terminal-devel-0.16.3-1.fc35.noarch
  
can't install rust-cursive+blt-backend-devel:
  - nothing provides (crate(bear-lib-terminal/default) >= 2.0.0 with crate(bear-lib-terminal/default) < 3.0.0~) needed by rust-cursive+blt-backend-devel-0.16.3-1.fc35.noarch
  
can't install rust-cursive+pancurses-backend-devel:
  - nothing provides (crate(pancurses/default) >= 0.16.0 with crate(pancurses/default) < 0.17.0~) needed by rust-cursive+pancurses-backend-devel-0.16.3-1.fc35.noarch
  - nothing provides (crate(pancurses/wide) >= 0.16.0 with crate(pancurses/wide) < 0.17.0~) needed by rust-cursive+pancurses-backend-devel-0.16.3-1.fc35.noarch
  
can't install rust-cursive+pancurses-devel:
  - nothing provides (crate(pancurses/default) >= 0.16.0 with crate(pancurses/default) < 0.17.0~) needed by rust-cursive+pancurses-devel-0.16.3-1.fc35.noarch
  - nothing provides (crate(pancurses/wide) >= 0.16.0 with crate(pancurses/wide) < 0.17.0~) needed by rust-cursive+pancurses-devel-0.16.3-1.fc35.noarch
  
If you know about this problem and are planning on fixing it, please acknowledge so by setting the bug status to ASSIGNED. If you don't have time to maintain this package, consider orphaning it, so maintainers of dependent packages realize the problem.


If you don't react accordingly to the policy for FTBFS/FTI bugs (https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/), your package may be orphaned in 8+ weeks.

P.S. The data was generated solely from koji buildroot, so it might be newer than the latest compose or the content on mirrors.

P.P.S. If this bug has been reported in the middle of upgrading multiple dependent packages, please consider using side tags: https://docs.fedoraproject.org/en-US/fesco/Updates_Policy/#updating-inter-dependent-packages

Thanks!

Comment 1 Davide Cavalca 2021-05-18 22:35:16 UTC
Uh, this was working when I tested it locally so I probably messed something up while importing.

Comment 2 Fabio Valentini 2021-05-18 22:49:04 UTC
Define "working locally"? Those broken dependencies are caused by optional features that are not enabled by default, and hence do not affect "buildability", only "installability" of all subpackages.

Unless you build in mock with "--postinstall" (which I recommend doing for Rust packages) you wouldn't see any errors.
Though the package review should definitely have found these non-installable subpackages ...

Comment 3 Davide Cavalca 2021-05-18 23:05:11 UTC
I manually did mock --install afair, I suspect I missed some of the subpackages when doing that. I didn't know about --postinstall, will definitely use that the next time, thanks! Will poke at this tomorrow and try to get it sorted out.

Comment 4 Fabio Valentini 2021-05-19 20:29:26 UTC
I have reviewed rust-pancurses for you.

I assume you're going to remove the "bear-lib-terminal" dependency and "blt-backend" features instead of packaging that C library as well?

You might be interested in a relatively new "rust2rpm" feature. You could add something like this to a .rust2rpm.conf file in rust-cursive's dist-git repo:

```
[DEFAULT]
unwanted-features =
  bear-lib-terminal
  blt-backend
```

This will prevent rust2pm from automatically generating feature subpackages for those two optional dependencies / features, without having to manually patch them out (reducing the burden for rebasing patches on version updates).

You can look at https://src.fedoraproject.org/rpms/rust-reqwest/blob/rawhide/f/.rust2rpm.conf for an in-use example of the syntax.

Comment 5 Davide Cavalca 2021-05-19 21:46:44 UTC
Thanks! I looked briefly at packaging that C library earlier today -- it's doable but it has three bundled dependencies, one of which is under a custom license that would need to go through legal. I'm checking with the below folks if that's something we actually need or not (as below is the reason I was packaging cursive in the first place). I'll also submit pancurses for f34 as soon as ncurses makes it to stable (which should be tomorrow).

Comment 6 Davide Cavalca 2021-05-19 22:18:16 UTC
Ok, below only uses crossterm and doesn't need this, so we're good.

Comment 7 Miro Hrončok 2021-05-25 19:30:18 UTC
Hello,

Please note that this comment was generated automatically. If you feel that this output has mistakes, please contact me via email (mhroncok).

All subpackages of a package against which this bug was filled are now installable or removed from Fedora 35.

Thanks for taking care of it!