From df6c1ffbe110495d94f607a4344e0703be54c6ce Mon Sep 17 00:00:00 2001 From: Kenneth Giusti Date: Thu, 7 Jul 2016 09:28:58 -0400 Subject: [PATCH] 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 --- tools/fixup_stuff.sh | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tools/fixup_stuff.sh b/tools/fixup_stuff.sh index 193a1f7aba..4dec95eb4d 100755 --- a/tools/fixup_stuff.sh +++ b/tools/fixup_stuff.sh @@ -162,7 +162,11 @@ if is_fedora; then fi # The version of pip(1.5.4) supported by python-virtualenv(1.11.4) has -# connection issues under proxy, hence uninstalling python-virtualenv package -# and installing the latest version using pip. -uninstall_package python-virtualenv -pip_install -U virtualenv +# connection issues under proxy so re-install the latest version using +# pip. To avoid having pip's virtualenv overwritten by the distro's +# package (e.g. due to installing a distro package with a dependency +# on python-virtualenv), first install the distro python-virtualenv +# to satisfy any dependencies then use pip to overwrite it. + +install_package python-virtualenv +pip_install -U --force-reinstall virtualenv