]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commitdiff
Sync install_venv_common from oslo
authorMonty Taylor <mordred@inaugust.com>
Sat, 6 Jul 2013 02:27:13 +0000 (22:27 -0400)
committerMonty Taylor <mordred@inaugust.com>
Sat, 6 Jul 2013 02:37:43 +0000 (22:37 -0400)
Also grab a related doc reference while we're at it.

Change-Id: I2590970767f043f35a62a4dfa94be4ee86fbf138

doc/source/devref/development.environment.rst
tools/install_venv_common.py

index 7c740d12f0df79fbc943e5625f2619bc8dfca9a1..81db91c2f23604ba3f55b9b2b3a03053a1d07d63 100644 (file)
@@ -122,7 +122,7 @@ You can manually install the virtual environment instead of having
 
 This will install all of the Python packages listed in the
 ``requirements.txt`` file into your virtualenv. There will also be some
-additional packages (pip, distribute, greenlet) that are installed
+additional packages (pip, setuptools) that are installed
 by the ``tools/install_venv.py`` file into the virutalenv.
 
 If all goes well, you should get a message something like this::
index 42a44e8cd266b2b7b6a116c6c44362060c0f933c..f428c1e02118bb466aadac8af0a407695d3d6fe2 100644 (file)
@@ -34,12 +34,13 @@ import sys
 
 class InstallVenv(object):
 
-    def __init__(self, root, venv, pip_requires, test_requires, py_version,
+    def __init__(self, root, venv, requirements,
+                 test_requirements, py_version,
                  project):
         self.root = root
         self.venv = venv
-        self.pip_requires = pip_requires
-        self.test_requires = test_requires
+        self.requirements = requirements
+        self.test_requirements = test_requirements
         self.py_version = py_version
         self.project = project
 
@@ -75,11 +76,13 @@ class InstallVenv(object):
     def get_distro(self):
         if (os.path.exists('/etc/fedora-release') or
                 os.path.exists('/etc/redhat-release')):
-            return Fedora(self.root, self.venv, self.pip_requires,
-                          self.test_requires, self.py_version, self.project)
+            return Fedora(
+                self.root, self.venv, self.requirements,
+                self.test_requirements, self.py_version, self.project)
         else:
-            return Distro(self.root, self.venv, self.pip_requires,
-                          self.test_requires, self.py_version, self.project)
+            return Distro(
+                self.root, self.venv, self.requirements,
+                self.test_requirements, self.py_version, self.project)
 
     def check_dependencies(self):
         self.get_distro().install_virtualenv()
@@ -98,11 +101,6 @@ class InstallVenv(object):
             else:
                 self.run_command(['virtualenv', '-q', self.venv])
             print('done.')
-            print('Installing pip in venv...', end=' ')
-            if not self.run_command(['tools/with_venv.sh', 'easy_install',
-                                    'pip>1.0']).strip():
-                self.die("Failed to install pip.")
-            print('done.')
         else:
             print("venv already exists...")
             pass
@@ -116,20 +114,12 @@ class InstallVenv(object):
         print('Installing dependencies with pip (this can take a while)...')
 
         # First things first, make sure our venv has the latest pip and
-        # distribute.
-        # NOTE: we keep pip at version 1.1 since the most recent version causes
-        # the .venv creation to fail. See:
-        # https://bugs.launchpad.net/nova/+bug/1047120
-        self.pip_install('pip==1.1')
-        self.pip_install('distribute')
-
-        # Install greenlet by hand - just listing it in the requires file does
-        # not
-        # get it installed in the right order
-        self.pip_install('greenlet')
-
-        self.pip_install('-r', self.pip_requires)
-        self.pip_install('-r', self.test_requires)
+        # setuptools.
+        self.pip_install('pip>=1.3')
+        self.pip_install('setuptools')
+
+        self.pip_install('-r', self.requirements)
+        self.pip_install('-r', self.test_requirements)
 
     def post_process(self):
         self.get_distro().post_process()