From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6787079713742389248 X-Received: by 2002:a37:cc1:: with SMTP id 184mr21735286qkm.254.1587983347728; Mon, 27 Apr 2020 03:29:07 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6214:7d4:: with SMTP id bb20ls6007698qvb.3.gmail; Mon, 27 Apr 2020 03:29:07 -0700 (PDT) X-Google-Smtp-Source: APiQypKZI8f4Q7umgwUyUnDJrbsSHGovdv2RdliQiYZLGQBNS6GkaEqf958tmQUMyNuWuQ9Sr4qu X-Received: by 2002:a05:6214:54d:: with SMTP id ci13mr4791934qvb.131.1587983347337; Mon, 27 Apr 2020 03:29:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587983347; cv=none; d=google.com; s=arc-20160816; b=Kkr3bB1q7e9amMpnVcjGQayrs2/5Ym/YfM7qwgkwA4Us3w6sW41lr4lbq4ZkCst88Z uBKNYXJqTEItOXTEHFTth4bIY+nbU44O8VgBwAvCF+UAql33gMaepLAOIBZcT+qeZRnG i7OFGYzwFDNMDaM0yG7Qry0pLkMijimyv59oep0Tt9CuZj0JMf8D2kQOs4I1y0iSHz4c rDCWCR8u4NrrQediGvaZF1Y7I+dL02evLFFORSFSrD7kNUTNxwh6KNE+YJMgAwb1qY0x FMFok3czXlkSFyF56/n9QA4182u0DRSmNYxIbgFHBDMKrGBSrIauMtuf6OQEbMpYOqMT /z3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=gJwIgU2YYUGYUfO7Ow0GTZeQVqazmcSSgI46P8TebI8=; b=JGAILUqGBHAPD7Ev8RH+Yp344D2WzNbt0HDiwDuUyAiS9DBTT+/s7I2I0psZ8Vdh5L 3nxyN+hDqQAGFGOeMCrW8jVOzG7PMpuX+mQKVMp3fIIvGHiTBsYG0OMJb8oQbh43sdRx KK/JV0Q95t8gbP+eRrGFl9JX/M29aWqhcWCaAJsf9BoXfHWhmV3iLABCg1+ADxBw0fWT y7GUEHBWahlldqLZMIrJZutK1WLsRVAebcVOUcAhboSA2FtNYe+DDRaZCmzewvCQZp8L cM1B/iIwe8V/piT3tdX3zfd5RX6nRlUFx2wOYIf8p8W7S9m4pAEzE7kyv0BnBcyk1Li/ Hk7w== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=OI5x+ZZI; spf=pass (google.com: domain of vijaikumar.kanagarajan@gmail.com designates 2607:f8b0:4864:20::643 as permitted sender) smtp.mailfrom=vijaikumar.kanagarajan@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from mail-pl1-x643.google.com (mail-pl1-x643.google.com. [2607:f8b0:4864:20::643]) by gmr-mx.google.com with ESMTPS id f16si985462qte.3.2020.04.27.03.29.07 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 27 Apr 2020 03:29:07 -0700 (PDT) Received-SPF: pass (google.com: domain of vijaikumar.kanagarajan@gmail.com designates 2607:f8b0:4864:20::643 as permitted sender) client-ip=2607:f8b0:4864:20::643; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=OI5x+ZZI; spf=pass (google.com: domain of vijaikumar.kanagarajan@gmail.com designates 2607:f8b0:4864:20::643 as permitted sender) smtp.mailfrom=vijaikumar.kanagarajan@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: by mail-pl1-x643.google.com with SMTP id g2so6854050plo.3 for ; Mon, 27 Apr 2020 03:29:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=gJwIgU2YYUGYUfO7Ow0GTZeQVqazmcSSgI46P8TebI8=; b=OI5x+ZZIidDY91k7FzgykloT8zHBO9RtCRTgULqp6mf2GsZICiIt8eM+Du7xVHnP3n 6L9EXDxqUfjqznELhaVc8cFvRQk8YGKIw6tTpAVFB2mKfjBhoqamIUuwTATjZxn38hay GD8ckOEA3I6SF69Pioc2zmGPKyNWJC5PtokLIgIU94x2JvHw4P6iTf49lYEkfXQ1sO3t cWPchr/kflGAOEwzbU72rqBSr2NWMUZQAAGs39Or+gYgvF5hvklix8wmREONzoMMiOUX 8O98IwIZry2YC3hBLsORlAvFvIxJBQdxYrQ+lBLum7+8F7cYLIx6ys0lfd2kI1k3RT2F Jo7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=gJwIgU2YYUGYUfO7Ow0GTZeQVqazmcSSgI46P8TebI8=; b=hCgdAUsqk8HoaLKiAfley1baoyHevRRNNyjsgqKW3fP8sTZKwcvjUzgk1btj8HvKvJ xubwHpDk3RoP/z5+MIbbPf5o60+VlS660X2C2EhZje78Rq7pudlIEod+pApT32XaM35U xTSQdloAusC7hWJ6ASa425KRzAqueaDb4AfKD0E+25DxyCCiwK1ps+W8FZ7ZgPMK3qKW 4hBHvAEhZ1Mn0BnxJJdJD4uTqLD/2/iw9KPnw3NlL5FmmP5/b4QafHiPpOiu89X2xgGj iSVodw1rbFRmtRb1i4pnwh9HACyRrj1GonhuVSqy7uC6ViLX8qLe/s3g51hvtKtSe9Ge XW8w== X-Gm-Message-State: AGi0PuZXms+q62H0TbwY5toapRk8SoNmFmWwixcWNtM1Kt7iDpUUZbqn s/6A0pIOMaCq4WQ/bMUYdQwaXQb4Mao= X-Received: by 2002:a17:902:748b:: with SMTP id h11mr4764501pll.229.1587983346178; Mon, 27 Apr 2020 03:29:06 -0700 (PDT) Return-Path: Received: from localhost.localdomain ([106.51.233.83]) by smtp.gmail.com with ESMTPSA id 23sm10993527pjb.11.2020.04.27.03.29.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Apr 2020 03:29:05 -0700 (PDT) From: Vijai Kumar K X-Google-Original-From: Vijai Kumar K To: isar-users@googlegroups.com Cc: Vijai Kumar K Subject: [PATCH v3] Replace ISARROOT with more relevant variables Date: Mon, 27 Apr 2020 15:58:37 +0530 Message-Id: <20200427102837.1755-1-Vijaikumar_Kanagarajan@mentor.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: References: X-TUID: //t8fsVNGCBf From: Vijai Kumar K When switching between two ISAR workspaces in the same shell session, the ISARROOT setting of the previous workspace would be picked up for the new workspace resulting in an incorrect configuration. The user had to manually unset ISARROOT to avoid any issues. As like OEROOT in OE, let us unset ISARROOT at the end of the initialization script. This helps us to avoid the above issue and also preserves support for passing ISARROOT from a caller script as in OE. ISARROOT is used mostly to derive the location of bitbake, scripts, testsuite, meta and meta-isar directories. Layers like meta, meta-isar already have their paths in LAYERDIR_core and LAYERDIR_isar which can be used. For other directories introduce dedicated variables BITBAKEDIR, SCRIPTSDIR and TESTSUITEDIR. Signed-off-by: Vijai Kumar K --- Changes in v3: - Send patch using proper send. Changes in v2: - Approach using dedicated variables for each commonly used directories. isar-init-build-env | 1 + meta/classes/image-sdk-extension.bbclass | 2 +- meta/classes/wic-img.bbclass | 31 ++++++++++++------------ scripts/ci_build.sh | 12 +++++---- scripts/isar-buildenv-internal | 7 ++++-- 5 files changed, 30 insertions(+), 23 deletions(-) diff --git a/isar-init-build-env b/isar-init-build-env index b08bb59..85fb82f 100755 --- a/isar-init-build-env +++ b/isar-init-build-env @@ -55,5 +55,6 @@ export ISARROOT unset ISARROOT return 1 } +unset ISARROOT [ -z "$BUILDDIR" ] || cd "$BUILDDIR" diff --git a/meta/classes/image-sdk-extension.bbclass b/meta/classes/image-sdk-extension.bbclass index b9f2cf4..b91fdd6 100644 --- a/meta/classes/image-sdk-extension.bbclass +++ b/meta/classes/image-sdk-extension.bbclass @@ -19,7 +19,7 @@ do_populate_sdk() { sudo rm -f ${SDKCHROOT_DIR}/chroot-setup.sh ${SDKCHROOT_DIR}/configscript.sh # Copy mount_chroot.sh for convenience - sudo cp ${ISARROOT}/scripts/mount_chroot.sh ${SDKCHROOT_DIR} + sudo cp ${SCRIPTSDIR}/mount_chroot.sh ${SDKCHROOT_DIR} # Create SDK archive cd -P ${SDKCHROOT_DIR}/.. diff --git a/meta/classes/wic-img.bbclass b/meta/classes/wic-img.bbclass index afab394..1bb1021 100644 --- a/meta/classes/wic-img.bbclass +++ b/meta/classes/wic-img.bbclass @@ -86,7 +86,7 @@ STAGING_DATADIR ?= "/usr/lib/" STAGING_LIBDIR ?= "/usr/lib/" STAGING_DIR ?= "${TMPDIR}" IMAGE_BASENAME ?= "${PN}-${DISTRO}" -FAKEROOTCMD ?= "${ISARROOT}/scripts/wic_fakeroot" +FAKEROOTCMD ?= "${SCRIPTSDIR}/wic_fakeroot" RECIPE_SYSROOT_NATIVE ?= "/" BUILDCHROOT_DIR = "${BUILDCHROOT_TARGET_DIR}" @@ -132,7 +132,7 @@ do_wic_image() { buildchroot_do_mounts sudo -s <<'EOSUDO' ( flock 9 - for dir in ${BBLAYERS} ${STAGING_DIR} ${ISARROOT}/scripts ${ISARROOT}/bitbake; do + for dir in ${BBLAYERS} ${STAGING_DIR} ${SCRIPTSDIR} ${BITBAKEDIR}; do mkdir -p ${BUILDCHROOT_DIR}/$dir if ! mountpoint ${BUILDCHROOT_DIR}/$dir >/dev/null 2>&1; then mount --bind --make-private $dir ${BUILDCHROOT_DIR}/$dir @@ -149,25 +149,26 @@ EOSUDO sudo -E chroot ${BUILDCHROOT_DIR} \ 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" \ + BITBAKEDIR="$1" + SCRIPTSDIR="$2" + WKS_FULL_PATH="$3" + STAGING_DIR="$4" + MACHINE="$5" + WICTMP="$6" + IMAGE_FULLNAME="$7" + IMAGE_BASENAME="$8" + shift 8 + + export PATH="$BITBAKEDIR/bin:$PATH" + "$SCRIPTSDIR"/wic create "$WKS_FULL_PATH" \ --vars "$STAGING_DIR/$MACHINE/imgdata/" \ -o "/$WICTMP/${IMAGE_FULLNAME}.wic/" \ --bmap \ -e "$IMAGE_BASENAME" $@' \ - my_script "${ISARROOT}" "${WKS_FULL_PATH}" "${STAGING_DIR}" \ + my_script "${BITBAKEDIR}" "${SCRIPTSDIR}" "${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 + sudo chown -R $(stat -c "%U" ${LAYERDIR_core}) ${LAYERDIR_core} ${LAYERDIR_isar} ${SCRIPTSDIR} || 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} mv -f ${WIC_DIRECT} ${WIC_IMAGE_FILE} diff --git a/scripts/ci_build.sh b/scripts/ci_build.sh index adc403b..d15aba9 100755 --- a/scripts/ci_build.sh +++ b/scripts/ci_build.sh @@ -138,8 +138,8 @@ if [ -n "$CROSS_BUILD" ]; then fi if [ -n "$REPRO_BUILD" ]; then - ISAR_TESTSUITE_GPG_PUB_KEY_FILE="$ISARROOT/testsuite/base-apt/test_pub.key" - ISAR_TESTSUITE_GPG_PRIV_KEY_FILE="$ISARROOT/testsuite/base-apt/test_priv.key" + ISAR_TESTSUITE_GPG_PUB_KEY_FILE="$TESTSUITEDIR/base-apt/test_pub.key" + ISAR_TESTSUITE_GPG_PRIV_KEY_FILE="$TESTSUITEDIR/base-apt/test_priv.key" export GNUPGHOME=$(mktemp -d) gpg --import $ISAR_TESTSUITE_GPG_PUB_KEY_FILE $ISAR_TESTSUITE_GPG_PRIV_KEY_FILE @@ -187,9 +187,11 @@ if [ -z "$FAST_BUILD" ]; then bitbake $BB_ARGS $TARGETS_SET fi -cp -a "${ISARROOT}/meta/classes/dpkg-base.bbclass" "${ISARROOT}/meta/classes/dpkg-base.bbclass.ci-backup" -echo -e "do_fetch_append() {\n\n}" >> "${ISARROOT}/meta/classes/dpkg-base.bbclass" +eval $(bitbake -e | grep "^LAYERDIR_core=") + +cp -a "${LAYERDIR_core}/classes/dpkg-base.bbclass" "${LAYERDIR_core}/classes/dpkg-base.bbclass.ci-backup" +echo -e "do_fetch_append() {\n\n}" >> "${LAYERDIR_core}/classes/dpkg-base.bbclass" bitbake $BB_ARGS mc:qemuamd64-stretch:isar-image-base -mv "${ISARROOT}/meta/classes/dpkg-base.bbclass.ci-backup" "${ISARROOT}/meta/classes/dpkg-base.bbclass" +mv "${LAYERDIR_core}/classes/dpkg-base.bbclass.ci-backup" "${LAYERDIR_core}/classes/dpkg-base.bbclass" diff --git a/scripts/isar-buildenv-internal b/scripts/isar-buildenv-internal index 72a91ab..fe1e65f 100755 --- a/scripts/isar-buildenv-internal +++ b/scripts/isar-buildenv-internal @@ -59,8 +59,11 @@ fi unset BDIR export BUILDDIR +export BITBAKEDIR="${ISARROOT}/bitbake" +export SCRIPTSDIR="${ISARROOT}/scripts" +export TESTSUITEDIR="${ISARROOT}/testsuite" -for newpath in "$ISARROOT/bitbake/bin" "$ISARROOT/scripts"; do +for newpath in "$BITBAKEDIR/bin" "$SCRIPTSDIR"; do # Remove any existences of $newpath from $PATH PATH=$(echo $PATH | sed -re "s#(^|:)$newpath(:|$)#\2#g;s#^:##") @@ -74,5 +77,5 @@ export PATH BBPATH="${BUILDDIR}" export BBPATH -BB_ENV_EXTRAWHITE="BUILDDIR ISARROOT http_proxy https_proxy ftp_proxy no_proxy GNUPGHOME" +BB_ENV_EXTRAWHITE="BUILDDIR BITBAKEDIR SCRIPTSDIR TESTSUITEDIR http_proxy https_proxy ftp_proxy no_proxy GNUPGHOME" export BB_ENV_EXTRAWHITE -- 2.17.1