X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/f3d83f0021e4a063924bcfdd08af77b6829a8032..8fb1de64d0caddc9fc533a964470de799b6044ff:/build/run-library.sh diff --git a/build/run-library.sh b/build/run-library.sh index d6860eb8bd..c5312f8d8c 100755 --- a/build/run-library.sh +++ b/build/run-library.sh @@ -10,10 +10,10 @@ # older packages. LICENSE_PACKAGE_TS=20151208015500 -if [[ -z $ARVADOS_BUILDING_VERSION ]]; then +if [[ -z "$ARVADOS_BUILDING_VERSION" ]]; then RAILS_PACKAGE_ITERATION=8 else - RAILS_PACKAGE_ITERATION= + RAILS_PACKAGE_ITERATION="$ARVADOS_BUILDING_ITERATION" fi debug_echo () { @@ -148,7 +148,7 @@ package_go_binary() { go get -ldflags "-X main.version=${version}" "git.curoverse.com/arvados.git/$src_path" - declare -a switches=() + local -a switches=() systemd_unit="$WORKSPACE/${src_path}/${prog}.service" if [[ -e "${systemd_unit}" ]]; then switches+=( @@ -163,6 +163,7 @@ package_go_binary() { default_iteration() { if [[ -n "$ARVADOS_BUILDING_VERSION" ]]; then + echo "$ARVADOS_BUILDING_ITERATION" return fi local package_name="$1"; shift @@ -221,7 +222,7 @@ test_package_presence() { fi if [[ "$iteration" == "" ]]; then - iteration="$(default_iteration "$pkgname" "$version" "$pkgtype")" + iteration="$(default_iteration "$pkgname" "$version" "$pkgtype")" fi if [[ "$arch" == "" ]]; then @@ -276,6 +277,7 @@ handle_rails_package() { return 0 fi local srcdir="$1"; shift + cd "$srcdir" local license_path="$1"; shift local version="$(version_from_git)" local scripts_dir="$(mktemp --tmpdir -d "$pkgname-XXXXXXXX.scripts")" && \ @@ -300,7 +302,7 @@ handle_rails_package() { --before-remove "$scripts_dir/prerm" --after-remove "$scripts_dir/postrm") if [[ -z "$ARVADOS_BUILDING_VERSION" ]]; then - switches+=(--iteration=$RAILS_PACKAGE_ITERATION) + switches+=(--iteration $RAILS_PACKAGE_ITERATION) fi # For some reason fpm excludes need to not start with /. local exclude_root="${railsdir#/}" @@ -316,6 +318,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" } @@ -346,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" \ @@ -366,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" \ @@ -389,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