summaryrefslogtreecommitdiffstats
path: root/setup.py
diff options
context:
space:
mode:
authorJustin SB <justin@fathomdb.com>2011-05-19 21:03:15 -0700
committerJustin SB <justin@fathomdb.com>2011-05-19 21:03:15 -0700
commit732eb413cc404ba4c1ad5a2581c5efb864874d3b (patch)
treea7f0aecf632383206e01dc3a4f907cff4fc82bc7 /setup.py
parent4ab6962fb7461573119297aa3508f7df8c6efa42 (diff)
parent330b3febe9970a0358cbc145ea88faeb3da121d5 (diff)
Merged with trunk
Diffstat (limited to 'setup.py')
-rw-r--r--setup.py35
1 files changed, 28 insertions, 7 deletions
diff --git a/setup.py b/setup.py
index 20f4c1947..c165f40d7 100644
--- a/setup.py
+++ b/setup.py
@@ -16,6 +16,8 @@
# License for the specific language governing permissions and limitations
# under the License.
+import gettext
+import glob
import os
import subprocess
import sys
@@ -23,15 +25,20 @@ import sys
from setuptools import find_packages
from setuptools.command.sdist import sdist
+# In order to run the i18n commands for compiling and
+# installing message catalogs, we use DistUtilsExtra.
+# Don't make this a hard requirement, but warn that
+# i18n commands won't be available if DistUtilsExtra is
+# not installed...
try:
- import DistUtilsExtra.auto
+ from DistUtilsExtra.auto import setup
except ImportError:
- print >> sys.stderr, 'To build nova you need '\
- 'https://launchpad.net/python-distutils-extra'
- sys.exit(1)
-assert DistUtilsExtra.auto.__version__ >= '2.18',\
- 'needs DistUtilsExtra.auto >= 2.18'
+ from setuptools import setup
+ print "Warning: DistUtilsExtra required to use i18n builders. "
+ print "To build nova with support for message catalogs, you need "
+ print " https://launchpad.net/python-distutils-extra >= 2.18"
+gettext.install('nova', unicode=1)
from nova.utils import parse_mailmap, str_dict_replace
from nova import version
@@ -86,7 +93,20 @@ try:
except:
pass
-DistUtilsExtra.auto.setup(name='nova',
+
+def find_data_files(destdir, srcdir):
+ package_data = []
+ files = []
+ for d in glob.glob('%s/*' % (srcdir, )):
+ if os.path.isdir(d):
+ package_data += find_data_files(
+ os.path.join(destdir, os.path.basename(d)), d)
+ else:
+ files += [d]
+ package_data += [(destdir, files)]
+ return package_data
+
+setup(name='nova',
version=version.canonical_version_string(),
description='cloud computing fabric controller',
author='OpenStack',
@@ -96,6 +116,7 @@ DistUtilsExtra.auto.setup(name='nova',
packages=find_packages(exclude=['bin', 'smoketests']),
include_package_data=True,
test_suite='nose.collector',
+ data_files=find_data_files('share/nova', 'tools'),
scripts=['bin/nova-ajax-console-proxy',
'bin/nova-api',
'bin/nova-compute',