From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6864480010557718528 X-Received: by 2002:a2e:b0d2:: with SMTP id g18mr2204251ljl.198.1599663137930; Wed, 09 Sep 2020 07:52:17 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:651c:555:: with SMTP id q21ls707073ljp.3.gmail; Wed, 09 Sep 2020 07:52:16 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyvYLS7dJ+T0iRilrwO0/uCGdjbmzPDfz1mR4uiBk3T+dkLGG7HvaWTcmdxW6Hwz6QdDvcz X-Received: by 2002:a2e:b610:: with SMTP id r16mr2235858ljn.226.1599663136566; Wed, 09 Sep 2020 07:52:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1599663136; cv=none; d=google.com; s=arc-20160816; b=t9sqACfWwRwLnfyYF/PKnvHZC6Uq8qOwES/276qX2rz7lzS6TYgdWi92Uf+QvRZcim KC5rf2C5j8mQkVNSwCgdNKU25XZfz0mDpIT07i9hhPs44TqzSWXlqI02fuX7eWDvo7lf HCMZsAKDnDLOO3i89Ql774oGdHhiZ+XgFan2/VA313qzatEjrX6n9qGnKCcCJCn3jBbL oJ+Fq0m0wFtS+a+o7z5j0lE4ulqnajG+fz+2U3dkDbHV2LHvW/FetqnxNjwHjj+dz/Pf +iQw79sMTRB6jjIXyr+rgI8AFS460MSgyAp2Ww2Kd77r5wF6Qd86Mgccdw+b15rp+bCM bnoA== 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=TTm5yye1UCONl//wJ7Mm1vUwyCmCTdkWQNEmYNGK3Cs=; b=mSMinE1PCoqI0KKT1qPvxzY+FN+gcJnvQlt8y7DLrfJnmb+47l2Or0bqIkNZDYVJk8 1Kfhz95v7X+Fin5Wn3OegJMugIVx1UWcNLlEh7yyVt9MX1cIZ6vTX2M4t9Xj8uRpU+/p 5KrqvYf8PytFOIhELFD6mYo0OIAnPCNWKqjx4qNtWkrmm3YUO+bE0atXqyrhmviga7KP 5jX8yPUs29ZFncMysP+HlpRknwOlmBuiAoOdLjfa0J7w9+FUToRY4G5Fg3JfEPm/8+Sb +6kbVom4V9IXRhZaceLLrjhJjpezuKoJADdMWGwakRKusggncP9IkmvqcKPDbJRg6OEv E8gg== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.28 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 goliath.siemens.de (goliath.siemens.de. [192.35.17.28]) by gmr-mx.google.com with ESMTPS id 11si68280lfl.4.2020.09.09.07.52.16 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 09 Sep 2020 07:52:16 -0700 (PDT) Received-SPF: pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.28 as permitted sender) client-ip=192.35.17.28; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.28 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from mail2.sbs.de (mail2.sbs.de [192.129.41.66]) by goliath.siemens.de (8.15.2/8.15.2) with ESMTPS id 089EqEY6010703 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 9 Sep 2020 16:52:15 +0200 Received: from md1za8fc.ad001.siemens.net ([167.87.59.40]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id 089EqErg011914; Wed, 9 Sep 2020 16:52:14 +0200 Date: Wed, 9 Sep 2020 16:52:12 +0200 From: Henning Schild To: "vijaikumar....@gmail.com" Cc: isar-users Subject: Re: [PATCH v2 03/10] wic-img: Satisfy the quirks of latest wic Message-ID: <20200909165212.7df34fef@md1za8fc.ad001.siemens.net> In-Reply-To: References: <20200902185624.15044-1-Vijaikumar_Kanagarajan@mentor.com> <20200902185624.15044-4-Vijaikumar_Kanagarajan@mentor.com> <20200905103057.2a95e915@md1za8fc.ad001.siemens.net> X-Mailer: Claws Mail 3.17.6 (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: TVNMBzICSfD6 On Sat, 5 Sep 2020 09:24:08 -0700 (PDT) "vijaikumar....@gmail.com" wrote: > On Saturday, September 5, 2020 at 2:00:59 PM UTC+5:30 Henning Schild > wrote: > > > On Thu, 3 Sep 2020 00:26:17 +0530 > > Vijai Kumar K wrote: > > > > > The latest WIC doesnot use fakeroot if > > > pseudo_dir(IMAGE_ROOTFS/../pseudo) is non-existent. This results > > > in wic_fakeroot not being used. Create a dummy pseudo_dir to > > > satisfy wic. > > > > > > WIC hardcodes the python(/usr/bin/python3-native/python3) to be > > > used while running bmaptool. The above path is OE specific and > > > hence breaks build in ISAR. Create a symbolic link in the above > > > location to satisfy wic. > > > > > > Signed-off-by: Vijai Kumar K > > > --- > > > meta/classes/wic-img.bbclass | 14 ++++++++++++-- > > > 1 file changed, 12 insertions(+), 2 deletions(-) > > > > > > diff --git a/meta/classes/wic-img.bbclass > > > b/meta/classes/wic-img.bbclass index afab394..a2c9627 100644 > > > --- a/meta/classes/wic-img.bbclass > > > +++ b/meta/classes/wic-img.bbclass > > > @@ -143,6 +143,7 @@ EOSUDO > > > export FAKEROOTCMD=${FAKEROOTCMD} > > > export BUILDDIR=${BUILDDIR} > > > export MTOOLS_SKIP_CHECK=1 > > > + mkdir -p ${IMAGE_ROOTFS}/../pseudo > > > > > > # create the temp dir in the buildchroot to ensure uniqueness > > > WICTMP=$(cd ${BUILDCHROOT_DIR}; mktemp -d -p tmp) > > > @@ -157,22 +158,31 @@ EOSUDO > > > IMAGE_FULLNAME="$6" > > > IMAGE_BASENAME="$7" > > > shift 7 > > > - > > > + # The python path is hard-coded as > > > /usr/bin/python3-native/python3 in wic. Handle that. > > > + mkdir -p /usr/bin/python3-native/ > > > + if [ $(head -1 $(which bmaptool) | grep python3) ];then > > > + ln -s /usr/bin/python3 /usr/bin/python3-native/python3 > > > + else > > > + ln -s /usr/bin/python2 /usr/bin/python3-native/python3 > > > + fi > > > > Can this be moved to wic_fakeroot? That script was designed to hold > > all the weird hacks ... > > > > Unfortunately no. This invocation doesnot use fakeroot at all. Please > see [1] & [2]. pseudo argument not used for exec_native_cmd > which will in-turn not use fakeroot. > > [1] > https://github.com/openembedded/openembedded-core/blob/404292b570a78895a1c7900eeb319e36e31dec20/scripts/lib/wic/plugins/imager/direct.py#L210 > [2] > https://github.com/openembedded/openembedded-core/blob/404292b570a78895a1c7900eeb319e36e31dec20/scripts/lib/wic/misc.py#L138 > > > > > I guess you need to "ln -sf" to make that whole thing executable > > multiple times. > > > > Sorry I did not get this completely. -f could be good to have to > overwrite. We are remove this > after wic runs so i didnot use -f here. if wic fails for whatever reason ... i.e. missing or broken wks file ... a partial rebuild after the bugfix would run "ln -s" again while "rm" has never been done. Did not try, but it is in general a good idea to write any task so that it can be partially re-executed. you could also look into do_wic_image[cleandirs] In fact those symlinks could probably be placed there using a package-recipe and installed as a wic imager_depends. Just an idea, might be overkill. Henning > > > > > Can you explain why we need the case where python2 is linked as > > python3? > > I thought I captured it in commit message but looks like I have > missed it. Because of stretch. bmaptools in stretch is python2 based > and in buster and subsequent releases it is python3 based. > OE-core in [1] has hardcoded to python3 since they have moved > bmaptools to the latest one > which uses python3. We would still need to workaround [1] for stretch > too. > > Will capture this missed detail in commit message in V3. > > [1] > https://github.com/openembedded/openembedded-core/blob/404292b570a78895a1c7900eeb319e36e31dec20/scripts/lib/wic/plugins/imager/direct.py#L210 > > > > > 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" $@' \ > > > + -e "$IMAGE_BASENAME" $@ > > > + rm -rf /usr/bin/python3-native' \ > > > > This looks like the rm is in the middle of wic, should probably > > come after. > > > > It is at the end of my_script. Should be okay but bit difficult to > read though. > > > > > 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} mv -f ${WIC_DIRECT} > > > ${WIC_IMAGE_FILE} mv -f ${WIC_DIRECT}.bmap ${WIC_IMAGE_FILE}.bmap > > > rm -rf ${BUILDCHROOT_DIR}/${WICTMP} > > > + rm -rf ${IMAGE_ROOTFS}/../pseudo > > > } > > > > > > do_wic_image[file-checksums] += "${WKS_FILE_CHECKSUM}" > > > > >