X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/190b1365c4074d86ae1bb0b9b07c3626a8671fac..f9038f303e54dd99e87e99f9631a9097cc93e591:/build/run-library.sh?ds=sidebyside diff --git a/build/run-library.sh b/build/run-library.sh index 9898067817..8ba14949d3 100755 --- a/build/run-library.sh +++ b/build/run-library.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -xe # Copyright (C) The Arvados Authors. All rights reserved. # # SPDX-License-Identifier: AGPL-3.0 @@ -20,17 +20,19 @@ debug_echo () { echo "$@" >"$STDOUT_IF_DEBUG" } -find_easy_install() { - for version_suffix in "$@"; do - if "easy_install$version_suffix" --version >/dev/null 2>&1; then - echo "easy_install$version_suffix" +find_python_program() { + prog="$1" + shift + for prog in "$@"; do + if "$prog" --version >/dev/null 2>&1; then + echo "$prog" return 0 fi done cat >&2 <package-build.version local scripts_dir="$(mktemp --tmpdir -d "$pkgname-XXXXXXXX.scripts")" && \ ( set -e @@ -318,6 +354,7 @@ handle_rails_package() { switches+=(-x "$exclude_root/$exclude") done fpm_build "${pos_args[@]}" "${switches[@]}" \ + -x "$exclude_root/vendor/cache-*" \ -x "$exclude_root/vendor/bundle" "$@" "$license_arg" rm -rf "$scripts_dir" } @@ -348,13 +385,15 @@ 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_FPM_INSTALLER[@]}" \ --python-package-name-prefix "$PYTHON2_PKG_PREFIX" \ --prefix "$PYTHON2_PREFIX" \ --python-install-lib "$PYTHON2_INSTALL_LIB" \ @@ -368,8 +407,9 @@ 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" \ + "${PYTHON3_FPM_INSTALLER[@]}" \ --python-package-name-prefix "$PYTHON3_PKG_PREFIX" \ --prefix "$PYTHON3_PREFIX" \ --python-install-lib "$PYTHON3_INSTALL_LIB" \ @@ -391,8 +431,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