diff --git a/.bzrignore b/.bzrignore index c3a502a1a4..ab099d3e32 100644 --- a/.bzrignore +++ b/.bzrignore @@ -1,2 +1,3 @@ run_tests.err.log .nova-venv +ChangeLog diff --git a/MANIFEST.in b/MANIFEST.in index e917077c52..4eb28bde61 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,5 +1,6 @@ include HACKING LICENSE run_tests.py run_tests.sh include README builddeb.sh exercise_rsapi.py +include ChangeLog graft CA graft doc graft smoketests diff --git a/setup.py b/setup.py index 50d5f2a3d9..0fd286f7d2 100644 --- a/setup.py +++ b/setup.py @@ -17,6 +17,24 @@ # under the License. from setuptools import setup, find_packages +from setuptools.command.sdist import sdist + +import os +import subprocess + + +class local_sdist(sdist): + """Customized sdist hook - builds the ChangeLog file from VC first""" + + def run(self): + if os.path.isdir('.bzr'): + # We're in a bzr branch + log_cmd = subprocess.Popen(["bzr", "log", "--gnu"], + stdout=subprocess.PIPE) + changelog = log_cmd.communicate()[0] + with open("ChangeLog", "w") as changelog_file: + changelog_file.write(changelog) + sdist.run(self) setup(name='nova', version='0.9.1', @@ -24,7 +42,8 @@ setup(name='nova', author='OpenStack', author_email='nova@lists.launchpad.net', url='http://www.openstack.org/', - packages = find_packages(exclude=['bin','smoketests']), + cmdclass={'sdist': local_sdist}, + packages=find_packages(exclude=['bin', 'smoketests']), scripts=['bin/nova-api', 'bin/nova-compute', 'bin/nova-dhcpbridge', @@ -34,6 +53,4 @@ setup(name='nova', 'bin/nova-network', 'bin/nova-objectstore', 'bin/nova-rsapi', - 'bin/nova-volume', - ] - ) + 'bin/nova-volume'])