Bug 1414586

Summary: Base Runtime FTBFS: libxcb-1.12-1.fc25
Product: [Fedora] Fedora Reporter: Merlin Mathesius <mmathesi>
Component: libxcbAssignee: Petr Šabata <psabata>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 25CC: ajax, negativo17, psabata, sgallagh
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libxcb-1.12-2.fc26 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-02-01 16:11: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:
Bug Depends On:    
Bug Blocks: 1400162    
Deadline: 2017-02-01   
Attachments:
Description Flags
proposed patch to correct FTBFS issue none

Description Merlin Mathesius 2017-01-18 22:09:20 UTC
Description of problem:
When attempting to rebuild portions of the frozen package set of Fedora 25 for the Base Runtime effort, we discovered that libxcb fails to build due to a missing BuildRequires on python due to python being removed from the default buildroot. This issue also manifests itself in Rawhide where only python3 is present in the buildroot.

Version-Release number of selected component (if applicable):
libxcb-1.12-1.fc25

How reproducible:
Every time

Steps to Reproduce (rawhide):
1. fedpkg clone libxcb
2. fedpkg switch-branch master
3. fedpkg mockbuild

Actual results:

/usr/bin/python3 ./c_client.py  -c "libxcb 1.12" -l "X Version 11" \
        -s "3" -p /usr/lib/python2.7/site-packages \
         \
        /usr/share/xcb/bigreq.xml
  File "./c_client.py", line 1937
    after_end_of_request = '(((char*)R) + R->length * 4)'
                                                        ^
TabError: inconsistent use of tabs and spaces in indentation


Expected results:
Successful build of the package.

Additional info:
This is needed as part of the Base Runtime effort.

Attached is a patch that adds the missing BuildRequires on python.

Please apply the patch or respond with a reason it should not be applied within two weeks. After that time, a provenpackager will go ahead and apply it.

Comment 1 Merlin Mathesius 2017-01-18 22:11:56 UTC
Created attachment 1242290 [details]
proposed patch to correct FTBFS issue

Comment 2 Petr Šabata 2017-01-28 08:57:02 UTC
A better solution would be fixing libxcb to build with Python 3 but simply BuildRequiring python[2] explicitly fixes the FTBFS for now.

Comment 3 Merlin Mathesius 2017-01-31 23:23:23 UTC
While it is simple enough to patch c_client.py (the file generating the error regarding inconsistent use of tabs and spaces in indentation) to be compatible with Python 3, a Python 3 version of the xcb-proto package would also be required for libxcb to build with Python 3.

Comment 4 Petr Šabata 2017-02-01 15:51:13 UTC
Indeed.  And that might be complicated as that affects more packages.

It's been two weeks.  I'm going to push the proposed change.