Alright, I understand Thanks. I've added the directories under pseudo control and sent a v3 patch to the list.
Thanks, Dorinda. On Jan 30, 2021 12:01, "Richard Purdie" <[email protected]> wrote: On Thu, 2021-01-28 at 20:51 +0100, Dorinda wrote: > added a sanity check for when PSEUDO_IGNORE_PATHS and ${S} overlap to avoid random failures generated. > > [YOCTO #14193] > > Signed-off-by: Dorinda Bassey <[email protected]> > --- > v2: > added a condition for when {WORKDIR}={S} > > meta/classes/sanity.bbclass | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass > index c6842ff549..63284b7917 100644 > --- a/meta/classes/sanity.bbclass > +++ b/meta/classes/sanity.bbclass > @@ -710,6 +710,16 @@ def check_sanity_version_change(status, d): > if i and workdir.startswith(i): > status.addresult("You are building in a path included in PSEUDO_IGNORE_PATHS " + str(i) + " please locate the build outside this path.\n") > > > > > + # Check if PSEUDO_IGNORE_PATHS and ${S} overlap > + pseudoignorepaths = d.getVar('PSEUDO_IGNORE_PATHS', expand=True).split(",") > + workdir = d.getVar('WORKDIR') > + sourcefile = d.getVar('S') > + if (workdir == sourcefile): > + for i in pseudoignorepaths: > + if i and sourcefile: > + if sourcefile.startswith(i) or i.startswith(sourcefile): > + status.addresult("a path included in PSEUDO_IGNORE_PATHS " + str(i) + " and ${S} (source files) path " + str(sourcefile) + " are overlapping each other, please set ${S} in your recipe to point to a different directory. \n") > + > # Some third-party software apparently relies on chmod etc. being suid root (!!) > import stat > suid_check_bins = "chown chmod mknod".split() This isn't quite solving the problem in bug 14193. In that bug lets say: S = "${WORKDIR}/pack" and this overlaps with ${WORKDIR}/package (PKGD) and ${WORKDIR}/packages-split (PKGDEST) which are set in package.bbclass. So the sanity test we need here is to test whether any element of PSEUDO_IGNORE_PATHS overlaps with directories we know need to be under pseudo control. Qi already had a list of these in a different patch: ${D},${PKGD},${PKGDEST},${IMAGE_ROOTFS},${SDK_OUTPUT} Cheers, Richard
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#147497): https://lists.openembedded.org/g/openembedded-core/message/147497 Mute This Topic: https://lists.openembedded.org/mt/80192676/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
