[ARVADOS] updated: 2.1.0-1754-g3203561dd
Git user
git at public.arvados.org
Wed Dec 22 19:54:55 UTC 2021
Summary of changes:
build/run-build-packages.sh | 2 +-
build/run-library.sh | 34 ++++++++++++++++++++++++++++++++--
2 files changed, 33 insertions(+), 3 deletions(-)
via 3203561dd0affdcaa1d34ae9b44c07f28201043a (commit)
from b65cf0f95944c8f86802ad0c74ee29e35b6a0a90 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit 3203561dd0affdcaa1d34ae9b44c07f28201043a
Author: Ward Vandewege <ward at curii.com>
Date: Wed Dec 22 14:53:20 2021 -0500
17417: add the scaffolding for multi-arch support for our Python
packages. Cross-compilation for Python does not work yet, though
native compilation on an arm64 system works now.
Arvados-DCO-1.1-Signed-off-by: Ward Vandewege <ward at curii.com>
diff --git a/build/run-build-packages.sh b/build/run-build-packages.sh
index 1aa487a7b..9406be714 100755
--- a/build/run-build-packages.sh
+++ b/build/run-build-packages.sh
@@ -251,7 +251,7 @@ if [[ -z "$ONLY_BUILD" ]] || [[ "arvados-src" == "$ONLY_BUILD" ]] ; then
arvados_src_version="$(version_from_git)"
cd $WORKSPACE/packages/$TARGET
- test_package_presence arvados-src $arvados_src_version src ""
+ test_package_presence arvados-src "$arvados_src_version" src ""
if [[ "$?" == "0" ]]; then
cd "$WORKSPACE"
diff --git a/build/run-library.sh b/build/run-library.sh
index dd8e4b274..33bb09f82 100755
--- a/build/run-library.sh
+++ b/build/run-library.sh
@@ -470,6 +470,32 @@ fpm_build_virtualenv () {
shift
PACKAGE_TYPE=${1:-python}
shift
+ native_arch="amd64"
+ if [[ "$HOSTTYPE" == "aarch64" ]]; then
+ native_arch="arm64"
+ fi
+
+ if [[ -n "$ONLY_ARCH" ]] && [[ "$ONLY_ARCH" == "$native_arch" ]]; then
+ fpm_build_virtualenv_worker "$PKG" "$PKG_DIR" "$PACKAGE_TYPE" "$ONLY_ARCH"
+ elif [[ -z "$ONLY_ARCH" ]]; then
+ for arch in $native_arch; do
+ fpm_build_virtualenv_worker "$PKG" "$PKG_DIR" "$PACKAGE_TYPE" "$arch"
+ done
+ else
+ echo "Error: no cross compilation support for Python yet, can not build $PKG for $ONLY_ARCH"
+ fi
+}
+
+# Build python packages with a virtualenv built-in
+fpm_build_virtualenv_worker () {
+ PKG=$1
+ shift
+ PKG_DIR=$1
+ shift
+ PACKAGE_TYPE=${1:-python}
+ shift
+ arch=${1:-amd64}
+ shift
# Set up
STDOUT_IF_DEBUG=/dev/null
@@ -545,11 +571,11 @@ fpm_build_virtualenv () {
# We can't do this earlier than here, because we need PYTHON_VERSION...
# This isn't so bad; the sdist call above is pretty quick compared to
# the invocation of virtualenv and fpm, below.
- if ! test_package_presence "$PYTHON_PKG" $UNFILTERED_PYTHON_VERSION $PACKAGE_TYPE $ARVADOS_BUILDING_ITERATION; then
+ if ! test_package_presence "$PYTHON_PKG" "$UNFILTERED_PYTHON_VERSION" "$PACKAGE_TYPE" "$ARVADOS_BUILDING_ITERATION" "$arch"; then
return 0
fi
- echo "Building $FORMAT package for $PKG from $PKG_DIR"
+ echo "Building $FORMAT ($arch) package for $PKG from $PKG_DIR"
# Package the sdist in a virtualenv
echo "Creating virtualenv..."
@@ -634,6 +660,10 @@ fpm_build_virtualenv () {
declare -a COMMAND_ARR=("fpm" "-s" "dir" "-t" "$FORMAT")
+ if [[ "${arch}" != "amd64" ]]; then
+ COMMAND_ARR+=("-a${arch}")
+ fi
+
if [[ "$MAINTAINER" != "" ]]; then
COMMAND_ARR+=('--maintainer' "$MAINTAINER")
fi
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list