#!/usr/bin/python # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. import gettext import os import subprocess from setuptools import setup, find_packages from setuptools.command.sdist import sdist gettext.install('heat', unicode=1) from heat import version def run_git_command(cmd): output = subprocess.Popen(["/bin/sh", "-c", cmd], stdout=subprocess.PIPE) return output.communicate()[0].strip() if os.path.isdir('.git'): branch_nick_cmd = 'git branch | grep -Ei "\* (.*)" | cut -f2 -d" "' branch_nick = run_git_command(branch_nick_cmd) revid_cmd = "git --no-pager log --max-count=1 | cut -f2 -d' ' | head -1" revid = run_git_command(revid_cmd) revno_cmd = "git --no-pager log --oneline | wc -l" revno = run_git_command(revno_cmd) with open("heat/vcsversion.py", 'w') as version_file: version_file.write(""" # This file is automatically generated by setup.py, So don't edit it. :) version_info = { 'branch_nick': '%s', 'revision_id': '%s', 'revno': %s } """ % (branch_nick, revid, revno)) cmdclass = {} # If Sphinx is installed on the box running setup.py, # enable setup.py to build the documentation, otherwise, # just ignore it try: from sphinx.setup_command import BuildDoc class local_BuildDoc(BuildDoc): def run(self): for builder in ['html', 'man']: self.builder = builder self.finalize_options() BuildDoc.run(self) cmdclass['build_sphinx'] = local_BuildDoc except: pass setup( name='heat', version=version.canonical_version_string(), description='The heat project provides services for provisioning ' 'virtual machines', license='Apache License (2.0)', author='Heat API Developers', author_email='discuss@heat-api.org', url='http://heat.openstack.org/', packages=find_packages(exclude=['bin']), cmdclass=cmdclass, include_package_data=True, classifiers=[ 'Development Status :: 4 - Beta', 'License :: OSI Approved :: Apache Software License', 'Operating System :: POSIX :: Linux', 'Programming Language :: Python :: 2.6', 'Environment :: No Input/Output (Daemon)', ], scripts=['bin/heat', 'bin/heat-api', 'bin/heat-engine', 'bin/heat-db-setup-fedora'], data_files=[('/etc/heat', ['etc/heat-api.conf', 'etc/heat-api-paste.ini', 'etc/heat-engine.conf', 'etc/heat-engine-paste.ini']), ('/etc/bash_completion.d', ['etc/bash_completion.d/heat']), ('/var/log/heat', ['var/log/heat/api.log', 'var/log/heat/engine.log']), ('/var/lib/heat', ['var/lib/heat/.dummy'])], py_modules=[])