From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6787079713742389248 X-Received: by 2002:a17:902:5a85:: with SMTP id r5mr27234668pli.222.1580278970010; Tue, 28 Jan 2020 22:22:50 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a63:c244:: with SMTP id l4ls7585441pgg.2.gmail; Tue, 28 Jan 2020 22:22:49 -0800 (PST) X-Google-Smtp-Source: APXvYqwwoEypdcNPyhwRGi0UE3P5Ny5B+WtJdHg+BAOpiATkuLAqusbDvDijEop74i7hf1fuQoTm X-Received: by 2002:a65:68ca:: with SMTP id k10mr29851661pgt.222.1580278969178; Tue, 28 Jan 2020 22:22:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1580278969; cv=none; d=google.com; s=arc-20160816; b=guf5w2MIIVhzd7VGe4ysIMe5aQQ7KS0VOmxXDg53DqIJYwpi6abbNj2asnuQuYTYuR NnCdCknwn4TOVQUcDiehcfsG9A8rBeielcCOz5DJaI9PS3gK0sl7J2EL4Fa925xGjCzb aZFTAJl9EKe1eiGztPANMetv0xxcg4swYoY1+82drxxkHlLd8tRJvfH8YWGXgjt70kG5 EM6dtFIFf+eDHGQg9bd0gQFNssJWk8YwbtnxfS4D6v8eQXiBLUN/Jks6syPBQzkQkn6/ RsdjFMhlpo9KyUT/47QbLwqhleB6KC8nTIfOH6E903u9QKEt80PtmyS3OM57nHaiUiDF IU+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=user-agent:in-reply-to:content-disposition:mime-version:references :message-id:subject:cc:to:date:from:dkim-signature; bh=wNyzZczhdLcfnPWrtTO1zPw2OQoNaHnkwoEH8M6F1Zc=; b=oyaTAPgOzHeiln4BjyDO66W5CJ0x0ZXE6mmwuKDFzNBB8BZOqWNtkv4GlPDHpUceZ0 9nxtzorXb0LmoiwR7feIyEHRXk1XZiGfsl63oMaWXJD8kAlG6gLvzjpF0hQa3h5nioTt TK93ZlByEHrbDsb4ApX1XFdyXujZ40MbVTw+9MlFganet77UOmS2cSNDfJzn9uPIiCqh /wJQ6FKwNUPI0VRSVepDxKngFcrVMDIkv3SXs+6ted8U0ETxDwJgQKxbJr5P60W0bA0L Jvg4UqW9szf2l9ZgBRwkQCJsjRJ88+YKQdhJqg+lv42JEui8kXIrJO9njLjj7+Zs+YTc N1DA== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=OmZ47ULi; spf=pass (google.com: domain of vijaikumar.kanagarajan@gmail.com designates 2607:f8b0:4864:20::442 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-pf1-x442.google.com (mail-pf1-x442.google.com. [2607:f8b0:4864:20::442]) by gmr-mx.google.com with ESMTPS id k1si62917pgj.0.2020.01.28.22.22.49 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 28 Jan 2020 22:22:49 -0800 (PST) Received-SPF: pass (google.com: domain of vijaikumar.kanagarajan@gmail.com designates 2607:f8b0:4864:20::442 as permitted sender) client-ip=2607:f8b0:4864:20::442; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=OmZ47ULi; spf=pass (google.com: domain of vijaikumar.kanagarajan@gmail.com designates 2607:f8b0:4864:20::442 as permitted sender) smtp.mailfrom=vijaikumar.kanagarajan@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: by mail-pf1-x442.google.com with SMTP id x185so7913558pfc.5 for ; Tue, 28 Jan 2020 22:22:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:date:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=wNyzZczhdLcfnPWrtTO1zPw2OQoNaHnkwoEH8M6F1Zc=; b=OmZ47ULiJ8Au2Evpfl1sCqvbAddgJqg7Vlmwj2cQewEgljSjCzEE2tRJZgN1nP65gc n8OABmlqNV512QGlzai4AYsHV1usriNtAEYi25+i8j4KqfZwFm7zMIOnE4DsRLkp4N9B 6LgPAz+Bh3cSRPY6jltibsCWv0tQaNGllqPCX+GgRDL2UtHBuFpAaF5LEl6kIvyEgKSc nThGWjgkmcUiT59jMAlbd0JAfD4CNouonXi3yNTvhTdKRrAayqua9MrQNKZcYpccD9CA ZXayNT/riOYEeyi+PBn3/wn7kWAs+r9TvoVlQsDPjOjmEiSLJzwsNJwQAGqAkMoUUFQA XAMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:date:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=wNyzZczhdLcfnPWrtTO1zPw2OQoNaHnkwoEH8M6F1Zc=; b=D9hA1APo4eB7B4X7fMnhagO72FcR888Ay41VhAQRpKvmS7hCKhgMvm8S48B/AFX/6c lJpX3eqSFMob1j8ufpUz2zkA75bF4t11HEteAbZ9hyaBCqg+gAbSNIOIAwM95jhJbzen IvR2cYza3rdCLwIPxKRhJBvxDGq5A7KulD9A44Oam2HztsGeq/09Ih7dnDcNQxmHWNoG BRwOwQHyNzsB9sq6AsGml4RYIymui3RKAivMi0VGndjY2Dg0xIQehKbyZGuABtz+4h0j un2SbD6k1f2TTiWt0dBQS9l5jE4IJXCKre74zb5TUeM3Wx9K4RGUfNL5XPkRNc3PKUW/ sjRQ== X-Gm-Message-State: APjAAAUINVMcz0eDkovSQ+6vFrQ1WXlW1r16mYnb39BNvMOSaCmB9uAk 71yqivF8tylVnF1up/TsLQc= X-Received: by 2002:a63:3d4:: with SMTP id 203mr28140589pgd.266.1580278968827; Tue, 28 Jan 2020 22:22:48 -0800 (PST) Return-Path: Received: from oxygen (nat-sch.mentorg.com. [139.181.36.34]) by smtp.gmail.com with ESMTPSA id 72sm1039035pfw.7.2020.01.28.22.22.47 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 28 Jan 2020 22:22:48 -0800 (PST) From: Vijai Kumar K X-Google-Original-From: Vijai Kumar K Date: Wed, 29 Jan 2020 11:52:44 +0530 To: Henning Schild Cc: Vijai Kumar K , isar-users@googlegroups.com Subject: Re: [PATCH] Introduce SCRIPTSDIR variable Message-ID: <20200129062244.GB11866@oxygen> References: <20200128193520.26504-1-Vijaikumar_Kanagarajan@mentor.com> <20200128224347.70f35102@md1za8fc.ad001.siemens.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200128224347.70f35102@md1za8fc.ad001.siemens.net> User-Agent: Mutt/1.9.4 (2018-02-28) X-TUID: JRNPYyyXGPkW On Tue, Jan 28, 2020 at 10:43:47PM +0100, Henning Schild wrote: > 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. > Yes. I agree that kas effectively handles these scenarios. But, we should take into consideration the non-kas based builds, as we do now, and its repercussions. Atlast kas is just another tool outside ISAR and people might use it or skip it :) > 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? Sorry. I am not sure what is the issue you are referring to. I don't think it needs any unset. It is derived from ISARROOT and set each time the setup script is sourced. Somewhat like your BUILDDIR. If you see, the problem with ISARROOT is it is set only when it is empty. This behaviour derived from OE, as pointed out by Jan in [1], is to have provision to have a caller/wrapper script to pass in ISARROOT to the isar-init-build-env script. Considering all these it made sense either to duplicate ISARROOT (something like ISARHOME) and unset the former. But, on going through the history, the ISARROOT was orignally exported to locate the most commonly used scripts directory, for wic and other purposes. So it made sense to address that and derive anything which might need the actual ISARROOT equivalent from it. [1] https://groups.google.com/forum/#!msg/isar-users/jklvMqAT_uA/L5BQY8xXBwAJ Thanks, Vijai Kumar K > 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 >