From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6787079713742389248 X-Received: by 2002:a05:6402:125a:: with SMTP id l26mr3510181edw.315.1580247830759; Tue, 28 Jan 2020 13:43:50 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a17:907:118d:: with SMTP id uz13ls5475551ejb.0.gmail; Tue, 28 Jan 2020 13:43:50 -0800 (PST) X-Google-Smtp-Source: APXvYqzD2EYjK3fpL/HzWfytp8bFKkLY/5Czw/iLF50NZ/H5dm/Ek95VoYaR5VMIul5HEz3JPxCa X-Received: by 2002:a17:906:31c6:: with SMTP id f6mr5094547ejf.17.1580247830159; Tue, 28 Jan 2020 13:43:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1580247830; cv=none; d=google.com; s=arc-20160816; b=W/QIzmBDQAdfx/wjsOiwYuvrhz+djihjsQSq8o1twcmQOMe1vyi8BxXRtt+C0ZnXk6 L/6vm9pXtOnGhi/i6r394au+xPJjHjr+fZDccQPt0PMk4JrSF59HFBFRwY0GJJoG57Eq IwCDSOYWaSTYgS7wdxOjNvhw9Vypb0VxdvdgbbRkxOIgEImhWW7eCFFzDNOg/u8n8bno 5EPiCF2Da+QkvwBh+v62eiaSEmDMscCzlq5/NMOgnQ/0VjHugaIPzwemUHr3DkAabBED X+7SU9KOyGuhjL9fwFoBCBSO28E5CynFqTItthoSm6+uLSJq8J3rxj7YJDfz8Ahwodg4 dbXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date; bh=civInVuqTezVrPkaRHZ4LxyLTbayXTU9K4Qrc0xxwks=; b=mNx0w633WbJAZshiOM49ZGjDgocF2skgmzr7zs50eG4QMWblWhdLx2Y+urhR9zq313 kcBakm/vd7y6wiSWWWHvT5mplbR93JLFkGtaKdNaTb7btU3DYn+0Me7Dx7ZHGAvjvoPQ x4eM/jAtMWzyM78KCwMU3svatRuMFfIHK3fEmxXsNUZTlLRGLfsTMRlVqO4IXlFYPkHv yVOVa7rUlEqOfG5HjFGbm2m8YX6jh/VOPJ2BCfNS3Ek/Vtjiaa42bbkAmqTf53GJyAC7 M5mu8esMdGPKMGjaOhS9HigoEmkPGreOV3yL9Rs1lctn6WwuCz0sz99c1L4q/fDX5e2y Ji8Q== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.2 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 thoth.sbs.de (thoth.sbs.de. [192.35.17.2]) by gmr-mx.google.com with ESMTPS id df10si5311edb.1.2020.01.28.13.43.50 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 28 Jan 2020 13:43:50 -0800 (PST) Received-SPF: pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.2 as permitted sender) client-ip=192.35.17.2; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.2 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 thoth.sbs.de (8.15.2/8.15.2) with ESMTPS id 00SLhn40031539 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 28 Jan 2020 22:43:49 +0100 Received: from md1za8fc.ad001.siemens.net ([167.87.4.201]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id 00SLhmgk030786; Tue, 28 Jan 2020 22:43:49 +0100 Date: Tue, 28 Jan 2020 22:43:47 +0100 From: Henning Schild To: Vijai Kumar K Cc: , Vijai Kumar K Subject: Re: [PATCH] Introduce SCRIPTSDIR variable Message-ID: <20200128224347.70f35102@md1za8fc.ad001.siemens.net> In-Reply-To: <20200128193520.26504-1-Vijaikumar_Kanagarajan@mentor.com> References: <20200128193520.26504-1-Vijaikumar_Kanagarajan@mentor.com> X-Mailer: Claws Mail 3.17.4 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-TUID: 8qT3m3fVfvqz The unspoken rule (not yet in Isar) would be to use kas and kas-docker to get an always reproducible build with a known environment. Looking at the patch you do replace the env variable ISARROOT with another "global" SCRIPTSDIR. Could you go into detail who unsets that to solve the issue with global env variables? I did not see an "unset" so i assume it must be in contrib (oe or bitbake) code. Henning On Wed, 29 Jan 2020 01:05:20 +0530 Vijai Kumar K wrote: > 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 mostly used with wic implemetation for the scripts > directory. Introduce SCRIPTSDIR to satisfy wic. > > When ISARROOT equivalent is needed, derive it from SCRIPTSDIR. > > Signed-off-by: Vijai Kumar K > --- > isar-init-build-env | 1 + > meta/classes/image-sdk-extension.bbclass | 2 +- > meta/classes/wic-img.bbclass | 9 +++++---- > scripts/ci_build.sh | 12 +++++++----- > scripts/isar-buildenv-internal | 5 ++++- > 5 files changed, 18 insertions(+), 11 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 7d30e45..e715f56 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; do > + for dir in ${BBLAYERS} ${STAGING_DIR} ${SCRIPTSDIR}; 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,12 +148,13 @@ EOSUDO > WICTMP=$(cd ${BUILDCHROOT_DIR}; mktemp -d -p tmp) > > sudo -E chroot ${BUILDCHROOT_DIR} \ > - ${ISARROOT}/scripts/wic create ${WKS_FULL_PATH} \ > + ${SCRIPTSDIR}/wic create ${WKS_FULL_PATH} \ > --vars "${STAGING_DIR}/${MACHINE}/imgdata/" \ > -o /$WICTMP/${IMAGE_FULLNAME}.wic/ \ > --bmap \ > -e ${IMAGE_BASENAME} ${WIC_CREATE_EXTRA_ARGS} > - sudo chown -R $(stat -c "%U" ${ISARROOT}) ${ISARROOT}/meta > ${ISARROOT}/meta-isar ${ISARROOT}/scripts || true > + ROOTDIR=`dirname ${SCRIPTSDIR}` > + sudo chown -R $(stat -c "%U" ${ROOTDIR}) ${ROOTDIR}/meta > ${ROOTDIR}/meta-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 7cd5a2f..727b4a9 100755 > --- a/scripts/ci_build.sh > +++ b/scripts/ci_build.sh > @@ -133,13 +133,15 @@ if [ ! -d "$BUILD_DIR" ]; then > fi > source isar-init-build-env "$BUILD_DIR" > > +ROOTDIR=`dirname ${SCRIPTSDIR}` > + > if [ -n "$CROSS_BUILD" ]; then > sed -i -e 's/ISAR_CROSS_COMPILE ?= "0"/ISAR_CROSS_COMPILE ?= > "1"/g' conf/local.conf 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="$ROOTDIR/testsuite/base-apt/test_pub.key" > + > ISAR_TESTSUITE_GPG_PRIV_KEY_FILE="$ROOTDIR/testsuite/base-apt/test_priv.key" > export GNUPGHOME=$(mktemp -d) gpg --import > $ISAR_TESTSUITE_GPG_PUB_KEY_FILE $ISAR_TESTSUITE_GPG_PRIV_KEY_FILE > @@ -188,9 +190,9 @@ 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" +cp -a > "${ROOTDIR}/meta/classes/dpkg-base.bbclass" > "${ROOTDIR}/meta/classes/dpkg-base.bbclass.ci-backup" +echo -e > "do_fetch_append() {\n\n}" >> > "${ROOTDIR}/meta/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 > "${ROOTDIR}/meta/classes/dpkg-base.bbclass.ci-backup" > "${ROOTDIR}/meta/classes/dpkg-base.bbclass" diff --git > a/scripts/isar-buildenv-internal b/scripts/isar-buildenv-internal > index 72a91ab..a91ad7a 100755 --- a/scripts/isar-buildenv-internal > +++ b/scripts/isar-buildenv-internal @@ -74,5 +74,8 @@ export PATH > BBPATH="${BUILDDIR}" export BBPATH > -BB_ENV_EXTRAWHITE="BUILDDIR ISARROOT http_proxy https_proxy > ftp_proxy no_proxy GNUPGHOME" +SCRIPTSDIR="${ISARROOT}/scripts" > +export SCRIPTSDIR > + > +BB_ENV_EXTRAWHITE="BUILDDIR SCRIPTSDIR http_proxy https_proxy > ftp_proxy no_proxy GNUPGHOME" export BB_ENV_EXTRAWHITE