do_bootstrap if {HOST,ROOTFS,DISTRO}_ARCH is not set warns

Message ID 20230130125158.2150684-1-roberto.foglietta@linuxteam.org
State Superseded, archived
Headers show
Series do_bootstrap if {HOST,ROOTFS,DISTRO}_ARCH is not set warns | expand

Commit Message

roberto.foglietta@linuxteam.org Jan. 30, 2023, 12:51 p.m. UTC
From: "Roberto A. Foglietta" <roberto.foglietta@gmail.com>

isar-debootstrap, do_bootstrap(): configuration warning added

These variables determine which debootstrap command to use because
in the general case the qemu-debootstrap should be used but it is
a slower choice when the host/target architectures match. This is
obviously managed by ISAR but the machine configuration file set
by the user could miss to properly set one of these 3 values.

So it is necessary to warn about unless the ISAR layer will properly
fix the user shortage. Also, the day the ISAR layer will correctly
address any lack, a double-check reminder/warning would be useful
because fixed things could be broken again in the future.

Signed-off-by: Roberto A. Foglietta <roberto.foglietta@gmail.com>
---
 meta/recipes-core/isar-bootstrap/isar-bootstrap.inc | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

Patch

diff --git a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
index faba73fe..5afe49b6 100644
--- a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
+++ b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
@@ -291,11 +291,15 @@  do_bootstrap() {
     sudo rm -rf --one-file-system "${ROOTFSDIR}"
     deb_dl_dir_import "${ROOTFSDIR}" "${BOOTSTRAP_BASE_DISTRO}-${BASE_DISTRO_CODENAME}"
 
+    if [ "${BOOTSTRAP_FOR_HOST}" = "0" ]; then
+        test -z "${HOST_ARCH}" -o -z "${ROOTFS_ARCH}" -o -z "${DISTRO_ARCH}" && \
+            bbwarn "*** ATTENTION *** BOOTSTRAP_FOR_HOST=0, DEBOOTSTRAP=${DEBOOTSTRAP},"\
+                "HOST_ARCH=${HOST_ARCH}, ROOTFS_ARCH=${ROOTFS_ARCH}, DISTRO_ARCH=${DISTRO_ARCH}."
+        export arch_param="--arch=${DISTRO_ARCH}"
+    fi
+
     sudo -E -s <<'EOSUDO'
         set -e
-        if [ "${BOOTSTRAP_FOR_HOST}" = "0" ]; then
-            arch_param="--arch=${DISTRO_ARCH}"
-        fi
         ${DEBOOTSTRAP} $debootstrap_args \
                        $arch_param \
                        ${@get_distro_components_argument(d)} \