declare -a checkdirs=(vendor)
if grep -qr git.curoverse.com/arvados .; then
checkdirs+=(sdk/go)
+ if [[ "$prog" -eq "crunch-dispatch-slurm" ]]; then
+ checkdirs+=(lib/dispatchcloud)
+ fi
fi
for dir in ${checkdirs[@]}; do
cd "$GOPATH/src/git.curoverse.com/arvados.git/$dir"
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+=(
return 1
fi
- iteration="$(default_iteration "$pkgname" "$version" "$pkgtype")"
+ if [[ "$iteration" == "" ]]; then
+ iteration="$(default_iteration "$pkgname" "$version" "$pkgtype")"
+ fi
if [[ "$arch" == "" ]]; then
rpm_architecture="x86_64"
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")" && \
--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#/}"
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"
}
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" \
# 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" \
# 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