Bug 1400668

Summary: python-pygit2-0.21.4-2.el7 breaks due to new python-cffi in rhel 7.3
Product: [Fedora] Fedora EPEL Reporter: Kevin Fenzi <kevin>
Component: python-pygit2Assignee: Pete Walter <walter.pete>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: epel7CC: dick, erik, hcrissma, i, infra-sig, rbean, walter.pete
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-pygit2-0.21.4-3.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-02-14 01:47:03 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 Kevin Fenzi 2016-12-01 18:32:56 UTC
IN RHEL7.3, python-cffi was added. It's a much newer version and it breaks python-pygit2. :( 

python-cffi-0.8.6-1.el7 is the old version that was in epel
python-cffi-1.6.0-5.el7 is the new version now in rhel 7.3

Using the new python-cffi results in a traceback ending in: 

IOError: [Errno 2] No such file or directory: '/usr/lib64/python2.7/site-packages/pygit2/__pycache__/pygit2_cffi_c721781dxbf062fb5.c'

[Wed Nov 30 23:44:29.157594 2016] [:error] [pid 6292] [remote 5.255.250.41:224]     import pygit2
[Wed Nov 30 23:44:29.157609 2016] [:error] [pid 6292] [remote 5.255.250.41:224]   File "/usr/lib64/python2.7/site-packages/pygit2/__init__.py", line 36, in <module>
[Wed Nov 30 23:44:29.157702 2016] [:error] [pid 6292] [remote 5.255.250.41:224]     from .blame import Blame, BlameHunk
[Wed Nov 30 23:44:29.157715 2016] [:error] [pid 6292] [remote 5.255.250.41:224]   File "/usr/lib64/python2.7/site-packages/pygit2/blame.py", line 32, in <module>
[Wed Nov 30 23:44:29.292934 2016] [:error] [pid 6292] [remote 5.255.250.41:224]     from .errors import check_error
[Wed Nov 30 23:44:29.292971 2016] [:error] [pid 6292] [remote 5.255.250.41:224]   File "/usr/lib64/python2.7/site-packages/pygit2/errors.py", line 29, in <module>
[Wed Nov 30 23:44:29.293050 2016] [:error] [pid 6292] [remote 5.255.250.41:224]     from .ffi import ffi, C
[Wed Nov 30 23:44:29.293072 2016] [:error] [pid 6292] [remote 5.255.250.41:224]   File "/usr/lib64/python2.7/site-packages/pygit2/ffi.py", line 35, in <module>
[Wed Nov 30 23:44:29.311547 2016] [:error] [pid 6292] [remote 5.255.250.41:224]     ffi, C = get_ffi()
[Wed Nov 30 23:44:29.311575 2016] [:error] [pid 6292] [remote 5.255.250.41:224]   File "/usr/lib64/python2.7/site-packages/pygit2/_utils.py", line 101, in get_ffi
[Wed Nov 30 23:44:29.322736 2016] [:error] [pid 6292] [remote 5.255.250.41:224]     include_dirs=[libgit2_include], library_dirs=[libgit2_lib])
[Wed Nov 30 23:44:29.322757 2016] [:error] [pid 6292] [remote 5.255.250.41:224]   File "/usr/lib64/python2.7/site-packages/cffi/api.py", line 450, in verify
[Wed Nov 30 23:44:29.323041 2016] [:error] [pid 6292] [remote 5.255.250.41:224]     lib = self.verifier.load_library()
[Wed Nov 30 23:44:29.323070 2016] [:error] [pid 6292] [remote 5.255.250.41:224]   File "/usr/lib64/python2.7/site-packages/cffi/verifier.py", line 112, in load_library
[Wed Nov 30 23:44:29.323190 2016] [:error] [pid 6292] [remote 5.255.250.41:224]     self._write_source()
[Wed Nov 30 23:44:29.323204 2016] [:error] [pid 6292] [remote 5.255.250.41:224]   File "/usr/lib64/python2.7/site-packages/cffi/verifier.py", line 201, in _write_source
[Wed Nov 30 23:44:29.323227 2016] [:error] [pid 6292] [remote 5.255.250.41:224]     with open(self.sourcefilename, "w") as fp:
IOError: [Errno 2] No such file or directory: '/usr/lib64/python2.7/site-packages/pygit2/__pycache__/pygit2_cffi_c721781dxbf062fb5.c'

Comment 1 Kevin Fenzi 2016-12-14 18:20:22 UTC
*** Bug 1404268 has been marked as a duplicate of this bug. ***

Comment 2 Erik Johnson 2017-02-10 16:27:48 UTC
Is anyone going to fix this?

Comment 3 Hugh Crissman 2017-02-10 17:16:18 UTC
Please fix this ASAP. I'm a paying customer and this broke a production system. I have a workaround in place until a proper solution is available.

Comment 4 Kevin Fenzi 2017-02-10 23:34:28 UTC
(In reply to Erik Johnson from comment #2)
> Is anyone going to fix this?

I was hoping someone else would, but I guess I will now. ;) 

(In reply to Hugh Crissman from comment #3)
> Please fix this ASAP. I'm a paying customer and this broke a production
> system. I have a workaround in place until a proper solution is available.

Keep in mind that EPEL packages are community supported and have no particular SLA or the like. 

After some testing, it seems just a simple rebuild fixes this, so I am going to push that. We can look at updating to newer versions or whatever in other bugs, I am just going to rebuild to fix this particular issue. I have also added a versioned dep here so the new python-pygit2 should require/pull in the new python-cffi.

Comment 5 Fedora Update System 2017-02-10 23:41:37 UTC
python-pygit2-0.21.4-3.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2017-dc9f5cde6d

Comment 6 Fedora Update System 2017-02-11 16:18:41 UTC
python-pygit2-0.21.4-3.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2017-dc9f5cde6d

Comment 7 Fedora Update System 2017-02-14 01:47:03 UTC
python-pygit2-0.21.4-3.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report.