Bug 1802771 - No longer provides python3-networkx-core
Summary: No longer provides python3-networkx-core
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: python-networkx
Version: 32
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
Assignee: Jerry James
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-02-13 19:44 UTC by Ankur Sinha (FranciscoD)
Modified: 2020-02-13 22:50 UTC (History)
1 user (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2020-02-13 22:50:41 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Fedora Pagure releng/failed-composes issue 989 0 None None None 2020-02-13 20:48:19 UTC

Description Ankur Sinha (FranciscoD) 2020-02-13 19:44:15 UTC
Description of problem:
The package no longer provides python3-networkx-core

Version-Release number of selected component (if applicable):
python-networkx-2.4-2.fc32


Additional info:
https://koji.fedoraproject.org/koji/buildinfo?buildID=1449967

I only caught this because now python3-scikit-image, which depends on python3-networkx-core cannot be installed and this causes the Comp_Neuro Lab image to fail.

I don't see anything in the spec that explicitly removes this Provides, by the way, so I don't know if this is intentional or somehow just got dropped in the latest build. If it's intentional, please let me know and I'll inform the python-scikit-image folks to update their deps.

Comment 1 Jerry James 2020-02-13 21:09:12 UTC
It was intentional.  When the 2.x series was released, the old way of splitting up subpackages that we used for 1.x stopped working.  More specifically, none of it would work at all unless you installed all of the packages, due to python trying to load files that weren't there.  That seemed useless, so I merged everything back into a single package again.  See the Oct 13 2018 and Apr  27 2019 changelog entries.

Note that upstream knows that not all dependencies may be available, so they check for existence before trying to use them.  That's why the dependencies are almost all Recommends, rather than Requires.  Choose which ones you want and don't install the rest, and Everything Just Works (unless you try to invoke functionality that needs a missing dependency, of course).

If this isn't good enough for you, I'm open to discussing ways of improving the situation.

Comment 2 Ankur Sinha (FranciscoD) 2020-02-13 22:18:18 UTC
Sure, that makes sense. There are at least two packages that require the previously available sub-packages, for example python3-networkx-core:

$ sudo dnf --releasever 32 repoquery --whatrequires python3-networkx-core
python3-scikit-image-0:0.16.2-2.fc32.x86_64
python3-taskflow-0:3.7.1-2.fc32.noarch

I've opened PRs for both:

https://src.fedoraproject.org/rpms/python-scikit-image/pull-request/4
https://src.fedoraproject.org/rpms/python-taskflow/pull-request/2

I don't think there are any other packages that depended on this one.

(I seem to remember that the removal of sub-packages require the addition of Provides/Obsoletes in the spec to ensure that the upgrade path doesn't break. I just cant seem to find documentation on this at the moment, though.)

Please feel free to close this bug when you think fit.

Cheers,

Comment 3 Jerry James 2020-02-13 22:50:04 UTC
Actually, it did have Provides/Obsoletes up until the mass rebuild, which is why you didn't notice it until now.  The Fedora 30 and 31 packages still have them.  I removed them because I mistakenly thought they weren't useful anymore.  I clearly didn't check closely enough.  Sorry about that.


Note You need to log in before you can comment on or make changes to this bug.