I thought I sent a V2 using normpath() which works a lot better.
Looks like I forgot...

On 27 April 2018 at 17:34, Peter Kjellerstedt
<[email protected]> wrote:
>> -----Original Message-----
>> From: [email protected]
>> [mailto:[email protected]] On Behalf Of
>> Burton, Ross
>> Sent: den 26 april 2018 12:46
>> To: OE-core <[email protected]>
>> Subject: Re: [OE-core] [PATCH] base: improve do_unpack[cleandirs] logic
>>
>> Retracting this, doesn't work on a clean build dir.
>>
>> Ross
>>
>> On 25 April 2018 at 14:58, Ross Burton <[email protected]> wrote:
>> > If a recipe sets S to ${WORKDIR}/ then the S != WORKDIR test doesn't
>> work as
>> > expected.  Use os.path.samefile() instead of string comparisons to do
>> the right
>> > thing.
>> >
>> > Signed-off-by: Ross Burton <[email protected]>
>> > ---
>> >  meta/classes/base.bbclass | 2 +-
>> >  1 file changed, 1 insertion(+), 1 deletion(-)
>> >
>> > diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
>> > index bb1f4b75336..7ddf70414a1 100644
>> > --- a/meta/classes/base.bbclass
>> > +++ b/meta/classes/base.bbclass
>> > @@ -152,7 +152,7 @@ python base_do_fetch() {
>> >  addtask unpack after do_fetch
>> >  do_unpack[dirs] = "${WORKDIR}"
>> >
>> > -do_unpack[cleandirs] = "${@d.getVar('S') if d.getVar('S') != 
>> > d.getVar('WORKDIR') else os.path.join('${S}', 'patches')}"
>
> This should work even if the paths don't exist:
>
> do_unpack[cleandirs] = "${@d.getVar('S') if os.path.realpath(d.getVar('S')) 
> != os.path.realpath(d.getVar('WORKDIR')) else os.path.join('${S}', 
> 'patches')}"
>
>> > +do_unpack[cleandirs] = "${@os.path.join('${S}', 'patches') if 
>> > os.path.samefile(d.getVar('S'), d.getVar('WORKDIR')) else d.getVar('S')}"
>> >
>> >  python base_do_unpack() {
>> >      src_uri = (d.getVar('SRC_URI') or "").split()
>> > --
>> > 2.11.0
>
> //Peter
>
-- 
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to