Bug 1305986

Summary: Patch relaxing pykerberos version is insufficient
Product: [Fedora] Fedora Reporter: Stanislav Ochotnicky <sochotni>
Component: python-requests-kerberosAssignee: Dan Callaghan <dcallagh>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: dcallagh
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-02-11 01:42:01 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 Stanislav Ochotnicky 2016-02-09 17:56:28 UTC
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:
Always

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 18:00:37 UTC
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 07:55:07 UTC
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 22:12:14 UTC
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-11 01:09:28 UTC
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:

http://koji.fedoraproject.org/koji/buildinfo?buildID=734877

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