12755: Revert ce0a973 for python33 packages.
authorTom Clegg <tclegg@veritasgenetics.com>
Fri, 22 Dec 2017 16:16:48 +0000 (11:16 -0500)
committerTom Clegg <tclegg@veritasgenetics.com>
Fri, 22 Dec 2017 16:16:48 +0000 (11:16 -0500)
They started trying to claim directories like /opt/rh/python33 and
became uninstallable as a result.

Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tclegg@veritasgenetics.com>

build/run-library.sh

index 6d46eb1108f29a70c527a9049918ae1643a281a9..c5312f8d8c519be54e3b4b06facde6049094f2b4 100755 (executable)
@@ -349,11 +349,13 @@ fpm_build () {
   fi
 
   local default_iteration_value="$(default_iteration "$PACKAGE" "$VERSION" "$PACKAGE_TYPE")"
+  local python=""
 
   case "$PACKAGE_TYPE" in
       python)
           # All Arvados Python2 packages depend on Python 2.7.
           # Make sure we build with that for consistency.
+          python=python2.7
           set -- "$@" --python-bin python2.7 \
               --python-easyinstall "$EASY_INSTALL2" \
               --python-package-name-prefix "$PYTHON2_PKG_PREFIX" \
@@ -369,6 +371,7 @@ fpm_build () {
           # necessary arguments to fpm's command line later, after we're
           # done handling positional arguments.
           PACKAGE_TYPE=python
+          python=python3
           set -- "$@" --python-bin python3 \
               --python-easyinstall "$EASY_INSTALL3" \
               --python-package-name-prefix "$PYTHON3_PKG_PREFIX" \
@@ -392,8 +395,10 @@ fpm_build () {
   # packages cleanup on upgrade depends on files being listed on the %files
   # section in the generated SPEC files. To remove DIRECTORIES, they need to
   # be listed in that sectiontoo, so we need to add this parameter to properly
-  # remove lingering dirs.
-  if [[ rpm = "$FORMAT" ]]; then
+  # remove lingering dirs. But this only works for python2: if used on
+  # python33, it includes dirs like /opt/rh/python33 that belong to
+  # other packages.
+  if [[ "$FORMAT" = rpm ]] && [[ "$python" = python2.7 ]]; then
     COMMAND_ARR+=('--rpm-auto-add-directories')
   fi