Browse code

Force reinstall of virtualenv to ensure installation is valid

On RHEL-based systems pip and yum share the same installation
directory for virtualenv. If yum pulls in the python-virtualenv
package (e.g. due to a dependency) it will clobber what pip has
already installed. The file tools/fixup_stuff.sh tries to ensure that
the proper virtualenv package is installed via pip. If virtualenv has
already been installed via pip, then clobbered by yum, pip skips the
install since it appears as if virtualenv is already installed and at
the correct version.

The reinstall of virtualenv must use the --force-reinstall argument to
pip to fix up the damage done by yum.

Change-Id: Ib0edf6c4ee8a510e9d671213de35d787f56acfed
Closes-Bug: #1599863

Kenneth Giusti authored on 2016/07/07 22:28:58
Showing 1 changed files
... ...
@@ -162,7 +162,11 @@ if is_fedora; then
162 162
 fi
163 163
 
164 164
 # The version of pip(1.5.4) supported by python-virtualenv(1.11.4) has
165
-# connection issues under proxy, hence uninstalling python-virtualenv package
166
-# and installing the latest version using pip.
167
-uninstall_package python-virtualenv
168
-pip_install -U virtualenv
165
+# connection issues under proxy so re-install the latest version using
166
+# pip. To avoid having pip's virtualenv overwritten by the distro's
167
+# package (e.g. due to installing a distro package with a dependency
168
+# on python-virtualenv), first install the distro python-virtualenv
169
+# to satisfy any dependencies then use pip to overwrite it.
170
+
171
+install_package python-virtualenv
172
+pip_install -U --force-reinstall virtualenv