Bug 1707550

Summary: Broken dependency in F30
Product: [Fedora] Fedora Reporter: Jason Tibbitts <j>
Component: mirrormanager2Assignee: Patrick Uiterwijk <puiterwijk>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 31CC: adrian, infra-sig, kevin, puiterwijk
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-08-24 18:19:35 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jason Tibbitts 2019-05-07 18:40:55 UTC
mirrormanager2 cannot be installed in F30 due to a broken dependency:

Error:
 Problem: conflicting requests
  - nothing provides python3.7dist(python-openid) needed by mirrormanager2-0.9.0-2.fc30.noarch

Chasing this all down, I think the fundamental issue is that the true name of the python3 openid module is "python3-openid", not "python-openid", and so mirrormanager2's dependency metadata isn't correct.  The python3.7dist dependencies are autogenerated from the egg-info metadata.  python3-openid provides:

python3.7dist(python3-openid) = 3.1.0
python3dist(python3-openid) = 3.1.0

This comes (I think) from its PKG-INFO file, which has "Name: python3-openid" (and not python-openid or just openid as you might expect).

Meanwhile, mirrormanager2 has a requires.txt file which specifies python-openid, and so it gets the autogenerated dependency on "python3.7dist(python-openid)".

A patch to change mirrormanager2's requires.txt to reference python3-openid (but not changing the dependencies on python-openid-cla or teams as those are fine) is the simple fix here.  I've tested a quick patch and will send a PR.

Comment 1 Adrian Reber 2019-05-11 10:31:17 UTC
Any ideas how to transparently handle this upstream as the code currently supports python2/python3? So far there have not been any versioned python dependencies.

Comment 2 Jason Tibbitts 2019-05-20 16:41:44 UTC
I don't think so.  Basically mirrormanager requires a completely different module when run under python3.  It happens that it's importable under the sane name so the code doesn't have to change, but it's still a different module.  I don't know enough about setuptools to say what the best way to handle that would be.

Comment 3 Ben Cotton 2019-08-13 17:05:08 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle.
Changing version to '31'.

Comment 4 Ben Cotton 2019-08-13 19:19:04 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle.
Changing version to 31.

Comment 5 Kevin Fenzi 2019-08-24 18:19:35 UTC
This was fixed in 0.9.0-3:

* Tue May 07 2019 Jason L Tibbitts III <tibbs.edu> - 0.9.0-3
- Patch requirements.txt to avoid an autogenerated dependency on
  python3.7dist(python-openid) which cannot be satisfied.  Fixes
  https://bugzilla.redhat.com/show_bug.cgi?id=1707550