[OE-core] [PATCH] archiver: avoid empty incfile in ar_recipe

Grygorii Tertychnyi (gtertych) gtertych at cisco.com
Tue Nov 12 05:35:39 UTC 2019


Hi Andrei,

On Monday, November 11, 2019 19:41, Andrei Gherzan wrote:

> Hi,
>
> On 11/11/2019 12:29, Grygorii Tertychnyi (gtertych) wrote:
>> Hi Andrei,
>>
>> From: Andrei Gherzan <andrei at gherzan.ro>
>> Sent: Monday, November 11, 2019 13:18
>> Subject: Re: [OE-core] [PATCH] archiver: avoid empty incfile in ar_recipe
>>
>>>> Not sure I understand. Archiver class does not interpret "include" directive.
>>>> It just parses text files. The regular expression looks correct:
>>>>
>>>> These lines:
>>>>
>>>> 440         elif include_re.match(line):
>>>> 441             incfile = include_re.match(line).group(1)
>>>>
>>>> put "${...}" _string_ into "incfile" variable. So, "incfile" is not None at "this stage.
>>
>>> "${...}" it's already expanded to a white-space. So in that case it
>>> matches "include  ".
>>
>> No. "incfile" is not expanded here, it actually contains "${...}", e.g.
>> ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'perf-perl.inc', '', d)}
>
> Give me a simple way to reproduce this.

1. Put two lines to local.conf
% cat <<CONF >> conf/local.conf
PACKAGECONFIG_remove_pn-perf = "scripting"
INHERIT += "archiver"
CONF

2. Run do_ar_recipe for perf
% bitbake -c ar_recipe perf

3. Observe the output error:
Exception: IsADirectoryError: [Errno 21] Is a directory

-- 
Grygorii


More information about the Openembedded-core mailing list