From: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
To: Ming Liu <liu.ming50@gmail.com>,
"openembedded-core@lists.openembedded.org"
<openembedded-core@lists.openembedded.org>
Subject: RE: [OE-core] [PATCH] image.bbclass: make sure do_rootfs run from a clean workspace
Date: Mon, 14 Mar 2022 14:22:42 +0000 [thread overview]
Message-ID: <4b9059ba87384d63af475e645a9aa259@axis.com> (raw)
In-Reply-To: <20220312115303.10434-1-liu.ming50@gmail.com>
> -----Original Message-----
> From: openembedded-core@lists.openembedded.org <openembedded-
> core@lists.openembedded.org> On Behalf Of Ming Liu
> Sent: den 12 mars 2022 12:53
> To: openembedded-core@lists.openembedded.org
> Cc: Ming Liu <liu.ming50@gmail.com>
> Subject: [OE-core] [PATCH] image.bbclass: make sure do_rootfs run from a
> clean workspace
>
> From: Ming Liu <liu.ming50@gmail.com>
>
> Add ${IMAGE_ROOTFS} and ${IMGDEPLOYDIR} to do_rootfs[dirs] and
> do_rootfs[cleandirs], this ensures do_rootfs run from a clean
> workspace, with this change, we can now remove two bb.utils.mkdirhier
> lines from meta/lib/oe/rootfs.py.
>
> Also drop ${S} from do_rootfs[cleandirs], nothing being installed into
> that directory.
>
> Signed-off-by: Ming Liu <liu.ming50@gmail.com>
> ---
> meta/classes/image.bbclass | 4 ++--
> meta/lib/oe/rootfs.py | 4 ----
> 2 files changed, 2 insertions(+), 6 deletions(-)
>
> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
> index 2b0ce4a988..98a0555040 100644
> --- a/meta/classes/image.bbclass
> +++ b/meta/classes/image.bbclass
> @@ -252,8 +252,8 @@ fakeroot python do_rootfs () {
>
> progress_reporter.finish()
> }
> -do_rootfs[dirs] = "${TOPDIR}"
> -do_rootfs[cleandirs] += "${S} ${IMGDEPLOYDIR}"
> +do_rootfs[dirs] = "${IMAGE_ROOTFS} ${IMGDEPLOYDIR} ${TOPDIR}"
> +do_rootfs[cleandirs] += "${IMAGE_ROOTFS} ${IMGDEPLOYDIR}"
There is no reason to include paths in do_rootfs[dirs] if they are
also in do_rootfs[cleandirs] (except for the last path in
do_rootfs[dirs]). It only leads to bb.utils.mkdirhier() being
called for the same directory multiple times.
I have sent a patch series to correct this here and for all other
cases I could find. For anyone interested, I used the following
incantation to find the culprits:
grep -r 'cleandirs.*".*"' meta | grep -v '${@' | \
perl -ne 'if (/^(.*):(.*)\[.*\].*"(.*)"/) { @vars = split(" ", $3); for $var (@vars) { print("=" x 75, "\n$1 - $2 - $var\n"); system("grep", "--color=always", "$2\\[dirs\\].*\\$var ", $1); } }'
> do_rootfs[file-checksums] += "${POSTINST_INTERCEPT_CHECKSUMS}"
> addtask rootfs after do_prepare_recipe_sysroot
>
> diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py
> index b0dd625539..98cf3f244d 100644
> --- a/meta/lib/oe/rootfs.py
> +++ b/meta/lib/oe/rootfs.py
> @@ -190,10 +190,6 @@ class Rootfs(object, metaclass=ABCMeta):
> post_process_cmds = self.d.getVar("ROOTFS_POSTPROCESS_COMMAND")
> rootfs_post_install_cmds =
> self.d.getVar('ROOTFS_POSTINSTALL_COMMAND')
>
> - bb.utils.mkdirhier(self.image_rootfs)
> -
> - bb.utils.mkdirhier(self.deploydir)
> -
> execute_pre_post_process(self.d, pre_process_cmds)
>
> if self.progress_reporter:
> --
> 2.25.1
//Peter
prev parent reply other threads:[~2022-03-14 14:22 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-12 11:53 [OE-core] [PATCH] image.bbclass: make sure do_rootfs run from a clean workspace liu.ming50
2022-03-12 16:22 ` Richard Purdie
[not found] ` <16DBAEAA36B258DD.19757@lists.openembedded.org>
2022-03-13 12:26 ` Richard Purdie
2022-03-14 14:22 ` Peter Kjellerstedt [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4b9059ba87384d63af475e645a9aa259@axis.com \
--to=peter.kjellerstedt@axis.com \
--cc=liu.ming50@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.