summaryrefslogtreecommitdiffstats
path: root/setup.py
diff options
context:
space:
mode:
Diffstat (limited to 'setup.py')
-rw-r--r--setup.py36
1 files changed, 29 insertions, 7 deletions
diff --git a/setup.py b/setup.py
index 3b48990ac..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',
@@ -112,4 +133,5 @@ DistUtilsExtra.auto.setup(name='nova',
'bin/nova-spoolsentry',
'bin/stack',
'bin/nova-volume',
+ 'bin/nova-vncproxy',
'tools/nova-debug'])