Red Hat Bugzilla – Bug 1305986
Patch relaxing pykerberos version is insufficient
Last modified: 2016-02-10 20:42:01 EST
Description of problem:
When building pdc-client, nosetests fail on koji with following messages:
+ /usr/bin/python2 setup.py nosetests
writing requirements to pdc_client.egg-info/requires.txt
writing top-level names to pdc_client.egg-info/top_level.txt
writing dependency_links to pdc_client.egg-info/dependency_links.txt
reading manifest file 'pdc_client.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files matching '*.pyc' found anywhere in distribution
writing manifest file 'pdc_client.egg-info/SOURCES.txt'
Searching for pykerberos<2.0.0,>=1.1.8
Download error on https://pypi.python.org/simple/pykerberos/: [Errno -3] Temporary failure in name resolution -- Some packages may not be found!
Scanning index of all packages (this may take a while)
Couldn't find index page for 'pykerberos' (maybe misspelled?)
Download error on https://pypi.python.org/simple/: [Errno -3] Temporary failure in name resolution -- Some packages may not be found!
No local packages or download links found for pykerberos<2.0.0,>=1.1.8
error: Could not find suitable distribution for Requirement.parse('pykerberos<2.0.0,>=1.1.8')
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. fedpkg clone pdc-client
2. uncomment %check secion
3. fedpkg scratch-build --srpm
nose trying to download kerberos and failing
Oh, and I guess this might be due to setup.py extras_require but I haven't tested that
Hmm, on a second look... pykerberos != kerberos. The requirements changed in the upstream? Though honestly I am confused here because the imports didn't change.
pdc-client testsuite was fixed when I hacked python-kerberos package to be build from https://pypi.python.org/simple/pykerberos/ instead of original (removing patches etc).
Yes, I am quite confused here...
Blechh yes there is some mess with the Python "kerberos" module, its original upstream abandoned it and there are many forks now. requests-kerberos was considering switching to one of them but I thought they *didn't* for now.
It's possible I just messed up the patching when I built the new release in rawhide, I will check...
Okay so requests-kerberos upstream did indeed switch the requirement from "kerberos" (original Apple version, unmaintained but still used in Fedora) to "pykerberos" (the fork which everyone seems to have settled on). I missed that when I was patching the requirements.
The Fedora python-kerberos package should probably switch to the new fork, but that's a separate issue. In the meantime, requests-kerberos should work fine with the old original kerberos module since the API is unchanged. The only reason requests-kerberos switched is because pykerberos has added Python 3 support.
Also it seems that weird extras_require thing *does* dictate what ends up in egg-info/requires.txt in the RPM. I had thought it was just some pip-related craziness that was not relevant to the Fedora package. So I do need to patch that too.
This fixes it properly:
Confirmed that this fixes the pdc-client %check in Koji also.