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]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to