Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1388549 - setuptools strips off first character of package_data file names
setuptools strips off first character of package_data file names
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: python-setuptools (Show other bugs)
7.3
Unspecified Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Charalampos Stratakis
Jakub Heger
: Patch
Depends On:
Blocks: 1380359 1393868
  Show dependency treegraph
 
Reported: 2016-10-25 11:39 EDT by Christian Heimes
Modified: 2017-09-26 09:23 EDT (History)
4 users (show)

See Also:
Fixed In Version: python-setuptools-0.9.8-5.el7
Doc Type: No Doc Update
Doc Text:
undefined
Story Points: ---
Clone Of:
: 1420343 (view as bug list)
Environment:
Last Closed: 2017-08-01 08:14:52 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
bug fix (3.12 KB, application/mbox)
2016-10-25 11:39 EDT, Christian Heimes
no flags Details


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2017:1900 normal SHIPPED_LIVE python-setuptools bug fix update 2017-08-01 12:02:36 EDT

  None (edit)
Description Christian Heimes 2016-10-25 11:39:55 EDT
Created attachment 1213966 [details]
bug fix

Description of problem:
setuptools on RHEL 7 has a bug in setuptools.command.build_py. The method _get_data_files() has an off-by-one error when package_dir is '' and the package_data file is in the root directory of the package. In FreeIPA the bug is triggered by a setup.py like:

setup(
    name="ipatests",
    package_dir={'ipatests': ''},
    package_data={'ipatests': ['pytest.ini']}
)

_get_data_files() strips off 'p' of pytest.ini and later fails to add 'ytest.ini' file.

Version-Release number of selected component (if applicable):
python-setuptools-0.9.8-4.el7.noarch

How reproducible:
always

Steps to Reproduce:
$ git clone https://github.com/freeipa/freeipa.git
$ cd freeipa
$ make version-update
$ cd ipatests
$ python setup.py bdist

Actual results:
error: can't copy 'ytest.ini': doesn't exist or not a regular file

Expected results:
no error

Additional info:
Petr Vobornik turned my preliminary patch into a proper dist-git patch and tested it. The patch fixes the bug.

IPA build: https://copr.devel.redhat.com/coprs/pvoborni/ipa/build/5598/
python-setuptools build:
https://copr.devel.redhat.com/coprs/pvoborni/ipa/build/5597/
Comment 3 Christian Heimes 2017-01-31 10:35:28 EST
The problem is no longer reproducible with recent version of FreeIPA becaues pytest.ini was removed. You need to check out an older version of FreeIPA, e.g.
git checkout 2dedfe5d33062fc7121bf36be12d7b423b62120a
Comment 7 errata-xmlrpc 2017-08-01 08:14:52 EDT
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2017:1900

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