[v2,2/4] ci: Add compat arch support

Message ID e494927beaaed34b07d79260c0252a23165c88bc.1599826389.git.jan.kiszka@siemens.com
State Superseded, archived
Headers show
Series 32-bit compat arch support | expand

Commit Message

Jan Kiszka Sept. 11, 2020, 4:13 a.m. UTC
From: Jan Kiszka <jan.kiszka@siemens.com>

Build samefile for the compat arch if that is enabled. Set
ISAR_ENABLE_COMPAT_ARCH for all supported combinations in CI.

As deploy this 32-bit package from the 64-bit image build would conflict
with the same package generated by the 32-bit image build, rename the
compat package in that case.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 meta-isar/conf/local.conf.sample                | 5 +++++
 meta-isar/recipes-app/samefile/samefile_2.14.bb | 6 ++++++
 scripts/ci_build.sh                             | 6 ++++++
 3 files changed, 17 insertions(+)

Patch

diff --git a/meta-isar/conf/local.conf.sample b/meta-isar/conf/local.conf.sample
index 2f82020d..cefdbae9 100644
--- a/meta-isar/conf/local.conf.sample
+++ b/meta-isar/conf/local.conf.sample
@@ -180,6 +180,11 @@  ISAR_CROSS_COMPILE ?= "0"
 # NOTE: this works for amd64 and arm64 targets so far
 #ISAR_ENABLE_COMPAT_ARCH ?= "1"
 
+#
+# NOTE: This is just to test 32-bit building on 64-bit archs.
+IMAGE_INSTALL_remove_compat-arch = " samefile"
+IMAGE_INSTALL_append_compat-arch = " samefile-compat"
+
 #
 # Uncomment this to enable use of cached base repository
 #ISAR_USE_CACHED_BASE_REPO ?= "1"
diff --git a/meta-isar/recipes-app/samefile/samefile_2.14.bb b/meta-isar/recipes-app/samefile/samefile_2.14.bb
index 5e36a2ac..50f9ced0 100644
--- a/meta-isar/recipes-app/samefile/samefile_2.14.bb
+++ b/meta-isar/recipes-app/samefile/samefile_2.14.bb
@@ -15,6 +15,12 @@  DESCRIPTION = "utility that finds files with identical contents"
 SRC_URI = "http://www.schweikhardt.net/samefile-2.14.tar.gz"
 SRC_URI[md5sum] = "0b438249f3549f18b49cbb49b0473f70"
 
+# NOTE: This is just to test 32-bit building on 64-bit archs.
+#       We need to rename the package to avoid the conflict with parallel armhf
+#       image builds.
+PACKAGE_ARCH_compat-arch = "${COMPAT_DISTRO_ARCH}"
+PN_compat-arch = "samefile-compat"
+
 do_prepare_build[cleandirs] += "${S}/debian"
 do_prepare_build() {
     # You could also create parts of your debianization before calling
diff --git a/scripts/ci_build.sh b/scripts/ci_build.sh
index d2c707b8..461fd5cc 100755
--- a/scripts/ci_build.sh
+++ b/scripts/ci_build.sh
@@ -139,6 +139,12 @@  if [ ! -d "$BUILD_DIR" ]; then
 fi
 source isar-init-build-env "$BUILD_DIR"
 
+cat >>conf/local.conf <<EOF
+ISAR_ENABLE_COMPAT_ARCH_amd64 = "1"
+ISAR_ENABLE_COMPAT_ARCH_arm64 = "1"
+ISAR_ENABLE_COMPAT_ARCH_debian-stretch_amd64 = "0"
+EOF
+
 if [ -n "$CROSS_BUILD" ]; then
     sed -i -e 's/ISAR_CROSS_COMPILE ?= "0"/ISAR_CROSS_COMPILE ?= "1"/g' conf/local.conf
 fi