X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/e8d1a643cdbc3a5f4c0e5c745da58d9f7e1248d8..4a4e8d3eaa86d08e8fa76d569855247b5131e4bd:/build/run-build-packages-one-target.sh diff --git a/build/run-build-packages-one-target.sh b/build/run-build-packages-one-target.sh index d0a79ad3df..e06a732979 100755 --- a/build/run-build-packages-one-target.sh +++ b/build/run-build-packages-one-target.sh @@ -21,6 +21,8 @@ Syntax: Build only a specific package --only-test Test only a specific package +--arch + Build a specific architecture (amd64 or arm64, defaults to native architecture) --force-build Build even if the package exists upstream or if it has already been built locally @@ -54,7 +56,7 @@ if ! [[ -d "$WORKSPACE" ]]; then fi PARSEDOPTS=$(getopt --name "$0" --longoptions \ - help,debug,test-packages,target:,command:,only-test:,force-test,only-build:,force-build,build-version: \ + help,debug,test-packages,target:,command:,only-test:,force-test,only-build:,force-build,arch:,build-version: \ -- "" "$@") if [ $? -ne 0 ]; then exit 1 @@ -90,6 +92,9 @@ while [ $# -gt 0 ]; do --only-build) ONLY_BUILD="$2"; shift ;; + --arch) + ARCH="$2"; shift + ;; --debug) DEBUG=" --debug" ARVADOS_DEBUG="1" @@ -106,7 +111,11 @@ while [ $# -gt 0 ]; do elif ! [[ "$2" =~ (.*)-(.*) ]]; then echo >&2 "FATAL: --build-version '$2' does not include an iteration. Try '${2}-1'?" exit 1 + elif ! [[ "$2" =~ ^[0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+|)(~rc[0-9]+|~dev[0-9]+|)-[0-9]+$ ]]; then + echo >&2 "FATAL: --build-version '$2' is invalid, must match pattern ^[0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+|)(~rc[0-9]+|~dev[0-9]+|)-[0-9]+$" + exit 1 else + [[ "$2" =~ (.*)-(.*) ]] ARVADOS_BUILDING_VERSION="${BASH_REMATCH[1]}" ARVADOS_BUILDING_ITERATION="${BASH_REMATCH[2]}" fi @@ -160,7 +169,7 @@ if [[ -n "$test_packages" ]]; then fi set -e (cd $WORKSPACE/packages/$TARGET - dpkg-scanpackages . 2> >(grep -v 'warning' 1>&2) | tee Packages | gzip -c > Packages.gz + dpkg-scanpackages --multiversion . 2> >(grep -v 'warning' 1>&2) | tee Packages | gzip -c > Packages.gz apt-ftparchive -o APT::FTPArchive::Release::Origin=Arvados release . > Release ) fi @@ -186,7 +195,7 @@ fi echo $TARGET cd $TARGET -time docker build --tag=$IMAGE . +time docker build --tag "$IMAGE" --build-arg HOSTTYPE=$HOSTTYPE . popd if test -z "$packages" ; then @@ -194,6 +203,7 @@ if test -z "$packages" ; then arvados-client arvados-controller arvados-dispatch-cloud + arvados-dispatch-lsf arvados-docker-cleaner arvados-git-httpd arvados-health @@ -217,22 +227,13 @@ if test -z "$packages" ; then keep-block-check keep-web libarvados-perl - libpam-arvados-go" - if [[ "$TARGET" =~ "centos" ]]; then - packages="$packages - rh-python36-python-cwltest - rh-python36-python-arvados-fuse - rh-python36-python-arvados-python-client - rh-python36-python-arvados-cwl-runner - rh-python36-python-crunchstat-summary" - else - packages="$packages + libpam-arvados-go python3-cwltest python3-arvados-fuse python3-arvados-python-client python3-arvados-cwl-runner - python3-crunchstat-summary" - fi + python3-crunchstat-summary + python3-arvados-user-activity" fi FINAL_EXITCODE=0 @@ -315,6 +316,7 @@ else --env ARVADOS_DEBUG=$ARVADOS_DEBUG \ --env "ONLY_BUILD=$ONLY_BUILD" \ --env "FORCE_BUILD=$FORCE_BUILD" \ + --env "ARCH=$ARCH" \ "$IMAGE" $COMMAND then echo