Bug 994847

Summary: PBR hooks not working?
Product: [Fedora] Fedora Reporter: Ian Wienand <iwienand>
Component: python-pbrAssignee: Matthias Runge <mrunge>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 19CC: mrunge
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: 2013-08-08 12:09:56 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 Ian Wienand 2013-08-08 06:20:18 UTC
If I remove python-pbr and run "python setup.py sdist" then v0.5.21 gets installed via pip and my run proceeds something like

---
[root@nova1 ceilometer_source]# SKIP_GENERATE_AUTHORS=1 SKIP_WRITE_GIT_CHANGELOG=1 python setup.py sdist

Installed /root/ceilometer_source/pbr-0.5.21-py2.7.egg
Searching for pip>=1.0
Reading http://pypi.python.org/simple/pip/
Best match: pip 1.4.1
Downloading https://pypi.python.org/packages/source/p/pip/pip-1.4.1.tar.gz#md5=6afbb46aeb48abac658d4df742bff714
Processing pip-1.4.1.tar.gz
Writing /tmp/easy_install-tEzfHC/pip-1.4.1/setup.cfg
Running pip-1.4.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-tEzfHC/pip-1.4.1/egg-dist-tmp-tPf2HC
warning: no files found matching '*.html' under directory 'docs'
warning: no previously-included files matching '*.rst' found under directory 'docs/_build'
no previously-included directories found matching 'docs/_build/_sources'

Installed /root/ceilometer_source/pip-1.4.1-py2.7.egg
running sdist
running egg_info
writing requirements to ceilometer.egg-info/requires.txt
writing ceilometer.egg-info/PKG-INFO
writing top-level names to ceilometer.egg-info/top_level.txt
writing dependency_links to ceilometer.egg-info/dependency_links.txt
writing entry points to ceilometer.egg-info/entry_points.txt
[pbr] Processing SOURCES.txt
[pbr] In git context, generating filelist from git
warning: no files found matching 'AUTHORS'
warning: no files found matching 'ChangeLog'
warning: no previously-included files matching '*.pyc' found anywhere in 
...
---

I can see the "[pbr] Processing" stages there.

Running it with the package installed I never see that

---
[root@nova1 ceilometer_source]# SKIP_GENERATE_AUTHORS=1 SKIP_WRITE_GIT_CHANGELOG=1 python setup.py sdist
running sdist
running egg_info
writing requirements to ceilometer.egg-info/requires.txt
writing ceilometer.egg-info/PKG-INFO
writing top-level names to ceilometer.egg-info/top_level.txt
writing dependency_links to ceilometer.egg-info/dependency_links.txt
writing entry points to ceilometer.egg-info/entry_points.txt
reading manifest file 'ceilometer.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'AUTHORS'
warning: no files found matching 'ChangeLog'
warning: no files found matching 'CONTRIBUTING.txt'
warning: no previously-included files found matching '.gitignore'
warning: no previously-included files found matching '.gitreview'
warning: no previously-included files matching '*.pyc' found anywhere in distribution
warning: no files found matching '*' under directory 'public'
writing manifest file 'ceilometer.egg-info/SOURCES.txt'
running check
---

The end result is that a bunch of files are missing from the sdist output.

I can see PBR is being called (if I put an obvious syntax error in there it bails) but I guess something else is going on too

You can replicate this with

---
$ git clone git://github.com/openstack/ceilometer.git
$ cd ceilometer
$ SKIP_GENERATE_AUTHORS=1 SKIP_WRITE_GIT_CHANGELOG=1 python setup.py sdist
---

check the output tarball for the LICENSE file -- it will not be there when using the packaged version

Comment 1 Ian Wienand 2013-08-08 06:20:54 UTC
[root@nova1 ceilometer_source]# yum info python-pbr
Installed Packages
Name        : python-pbr
Arch        : noarch
Version     : 0.5.19
Release     : 2.fc19
Size        : 402 k
Repo        : installed
From repo   : updates
Summary     : Python Build Reasonableness
URL         : http://pypi.python.org/pypi/pbr
License     : ASL 2.0
Description : PBR is a library that injects some useful and sensible default behaviors into
            : your setuptools run. It started off life as the chunks of code that were copied
            : between all of the OpenStack projects. Around the time that OpenStack hit 18
            : different projects each with at least 3 active branches, it seems like a good
            : time to make that code into a proper re-usable library.

Comment 2 Matthias Runge 2013-08-08 07:05:53 UTC
In my experience, pbr is very good at creating all kinds of unexpected results, and it's currently under heavy development.

I've built pbr-0.5.21 for rawhide. Could you please check if it works for you by

yum install fedora-release-rawhide
yum --enablerepo=rawhide update python-pbr

or do a
yum localinstall http://kojipkgs.fedoraproject.org//packages/python-pbr/0.5.21/1.fc20/noarch/python-pbr-0.5.21-1.fc20.noarch.rpm

since it might take up to 24 hrs to get that build out to the mirrors.

Thanks.

Comment 3 Ian Wienand 2013-08-08 11:25:42 UTC
Thanks for such a quick response.  That new rpm does appear to create the distribution correctly; thanks

Comment 4 Matthias Runge 2013-08-08 12:09:56 UTC
Thanks for confirming.