From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6786557818880131072 X-Received: by 2002:a19:4849:: with SMTP id v70mr7785822lfa.30.1580118625412; Mon, 27 Jan 2020 01:50:25 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a19:c507:: with SMTP id w7ls1010065lfe.1.gmail; Mon, 27 Jan 2020 01:50:24 -0800 (PST) X-Google-Smtp-Source: APXvYqzi97PXzHy14GzX5Ijdik2XQdE/g654sJ6JSHiSGSTYpJr/DFQiWtQuzTLeJHOPhm4U5etv X-Received: by 2002:ac2:5dc8:: with SMTP id x8mr7613478lfq.216.1580118624485; Mon, 27 Jan 2020 01:50:24 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1580118624; cv=none; d=google.com; s=arc-20160816; b=GdOlgDsO9Z5c6va7vff+drV8mQwZ2+MDZzzmfd+S28/rUqgvS2agCI7Tz8Oiey1Fxh QsahKeM+38HZiD/ec9MS2j4/vCOQyOP51CI4pIjN0ONxOXWXveChH3Y8UkoeRa8mC5Qo FNiMAvp6SZlU/hnuv3y/a/Ub6Po1U/7enDMO5ZW5DtgSpPDFcyX5UmcNRuUlyNXqIpbG 7eb/oohFR0HmORxqgWvEevqPr6ZDKcZjs+A41oPMMap8i+PweGCor313WXOudAtGE8vp MTU2uaLkt0qGrn79Z134FxgZDYzZvBTUDVD9P2OhIBzStpnPF/4t7mFuD7J1uRkwowo6 WqXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from; bh=dBh7yIJnpPGkpM2ruk0hN5aAKEBs7H+pZ7sAs/2mro0=; b=CiZsMuHKPXO72tgY17k8TWvBMWxJzd/vTLixu/ZOrrw/XY9DQW533qm9eYSWrnD0z8 oKi/KWV+ofWDerZtHDQkKAF91X+FAUHudhlUd0H98GfECaBgCW/6js3thektgLw8DQg8 hGWJXl8oBWHhAQp6an/Z9TTk9x40Dwxwfn0t2M0/bpdNtFbPFfu5EPyQpi9mHFpD4QXt yi7h0HzAt/e7uUz2wXk+IcmCmHaQ4Oq79uronqaZKBhPPyfi8Xu4U/7mr0hlEf6zRMsY lJqdih8B5OXAPV409bbo+rTLolVRlyw6oXSvPgmySDMMkr9TxV9JqPaOXKbRDj2+vGXb Rfcw== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 194.138.37.39 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from lizzard.sbs.de (lizzard.sbs.de. [194.138.37.39]) by gmr-mx.google.com with ESMTPS id o193si512429lff.4.2020.01.27.01.50.24 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 27 Jan 2020 01:50:24 -0800 (PST) Received-SPF: pass (google.com: domain of henning.schild@siemens.com designates 194.138.37.39 as permitted sender) client-ip=194.138.37.39; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 194.138.37.39 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from mail1.sbs.de (mail1.sbs.de [192.129.41.35]) by lizzard.sbs.de (8.15.2/8.15.2) with ESMTPS id 00R9oN4f017098 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 27 Jan 2020 10:50:23 +0100 Received: from md1za8fc.ad001.siemens.net ([139.25.69.193]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id 00R9oNMW006694; Mon, 27 Jan 2020 10:50:23 +0100 From: Henning Schild To: isar-users@googlegroups.com Cc: Henning Schild Subject: [PATCH] wic-img: allow wic to find bitbake binary Date: Mon, 27 Jan 2020 10:50:19 +0100 Message-Id: <20200127095019.16567-1-henning.schild@siemens.com> X-Mailer: git-send-email 2.24.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TUID: veaDPWmCuZHS From: Henning Schild Some code paths/plugins use bitbake libraries. Those are found relative to the bitbake binary. Mount bitbake into the buildchroot and rewrite the sudo statement so that bitbake will be found in PATH. One example to trigger the original problem would be to use the "--exclude-path" argument for the "part" command of wic. Signed-off-by: Henning Schild --- meta/classes/wic-img.bbclass | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/meta/classes/wic-img.bbclass b/meta/classes/wic-img.bbclass index 7d30e45e..afab3941 100644 --- a/meta/classes/wic-img.bbclass +++ b/meta/classes/wic-img.bbclass @@ -132,7 +132,7 @@ do_wic_image() { buildchroot_do_mounts sudo -s <<'EOSUDO' ( flock 9 - for dir in ${BBLAYERS} ${STAGING_DIR} ${ISARROOT}/scripts; do + for dir in ${BBLAYERS} ${STAGING_DIR} ${ISARROOT}/scripts ${ISARROOT}/bitbake; do mkdir -p ${BUILDCHROOT_DIR}/$dir if ! mountpoint ${BUILDCHROOT_DIR}/$dir >/dev/null 2>&1; then mount --bind --make-private $dir ${BUILDCHROOT_DIR}/$dir @@ -148,11 +148,25 @@ EOSUDO WICTMP=$(cd ${BUILDCHROOT_DIR}; mktemp -d -p tmp) sudo -E chroot ${BUILDCHROOT_DIR} \ - ${ISARROOT}/scripts/wic create ${WKS_FULL_PATH} \ - --vars "${STAGING_DIR}/${MACHINE}/imgdata/" \ - -o /$WICTMP/${IMAGE_FULLNAME}.wic/ \ + sh -c ' \ + ISARROOT="$1" + WKS_FULL_PATH="$2" + STAGING_DIR="$3" + MACHINE="$4" + WICTMP="$5" + IMAGE_FULLNAME="$6" + IMAGE_BASENAME="$7" + shift 7 + + export PATH="$ISARROOT/bitbake/bin:$PATH" + "$ISARROOT"/scripts/wic create "$WKS_FULL_PATH" \ + --vars "$STAGING_DIR/$MACHINE/imgdata/" \ + -o "/$WICTMP/${IMAGE_FULLNAME}.wic/" \ --bmap \ - -e ${IMAGE_BASENAME} ${WIC_CREATE_EXTRA_ARGS} + -e "$IMAGE_BASENAME" $@' \ + my_script "${ISARROOT}" "${WKS_FULL_PATH}" "${STAGING_DIR}" \ + "${MACHINE}" "${WICTMP}" "${IMAGE_FULLNAME}" "${IMAGE_BASENAME}" \ + ${WIC_CREATE_EXTRA_ARGS} sudo chown -R $(stat -c "%U" ${ISARROOT}) ${ISARROOT}/meta ${ISARROOT}/meta-isar ${ISARROOT}/scripts || true WIC_DIRECT=$(ls -t -1 ${BUILDCHROOT_DIR}/$WICTMP/${IMAGE_FULLNAME}.wic/*.direct | head -1) sudo chown -R $(id -u):$(id -g) ${BUILDCHROOT_DIR}/${WICTMP} -- 2.24.1