Bug 1305986 - Patch relaxing pykerberos version is insufficient
Patch relaxing pykerberos version is insufficient
Product: Fedora
Classification: Fedora
Component: python-requests-kerberos (Show other bugs)
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Dan Callaghan
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2016-02-09 12:56 EST by Stanislav Ochotnicky
Modified: 2016-02-10 20:42 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2016-02-10 20:42:01 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Stanislav Ochotnicky 2016-02-09 12:56:28 EST
Description of problem:
When building pdc-client, nosetests fail on koji with following messages:
+ /usr/bin/python2 setup.py nosetests
running nosetests
running egg_info
writing requirements to pdc_client.egg-info/requires.txt
writing pdc_client.egg-info/PKG-INFO
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
Reading https://pypi.python.org/simple/pykerberos/
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?)
Reading https://pypi.python.org/simple/
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):

How reproducible:

Steps to Reproduce:
1. fedpkg clone pdc-client
2. uncomment %check secion
3. fedpkg scratch-build --srpm

Actual results:
nose trying to download kerberos and failing

Expected results:
successful build

Additional info:
Comment 1 Stanislav Ochotnicky 2016-02-09 13:00:37 EST
Oh, and I guess this might be due to setup.py extras_require but I haven't tested that
Comment 2 Stanislav Ochotnicky 2016-02-10 02:55:07 EST
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...
Comment 3 Dan Callaghan 2016-02-10 17:12:14 EST
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...
Comment 4 Dan Callaghan 2016-02-10 20:09:28 EST
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:

Comment 5 Dan Callaghan 2016-02-10 20:42:01 EST
Confirmed that this fixes the pdc-client %check in Koji also.

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