[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