[OE-core] [PATCH] archive-*-source.bbclass: have do_dumpdata_create_diff_gz task run before do_rootfs

Laurentiu Palcu laurentiu.palcu at intel.com
Tue May 7 09:31:39 UTC 2013


Hi Kevin,

On 05/04/2013 12:40 AM, Kevin Strasser wrote:
> Hi Laurentiu,
> 
> On Fri, May 03, 2013 at 12:01:04PM +0300, Laurentiu Palcu wrote:
>> > do_rootfs[cleandirs] contains ${S} and, if do_rootfs task starts before
>> > the do_dumpdata_create_diff_gz is finished, an error will occur in the
>> > process because the directory will be removed while still needed by the
>> > create_diff_gz() function.
>> > 
>> > This patch will force the do_dumpdata_create_diff_gz task to run before
>> > do_rootfs when the final image is created.
>> > 
>> > [YOCTO #4310]
>> > 
>> > Signed-off-by: Laurentiu Palcu <laurentiu.palcu at intel.com>
>> > ---
>> >  meta/classes/archive-configured-source.bbclass |    2 +-
>> >  meta/classes/archive-original-source.bbclass   |    2 +-
>> >  meta/classes/archive-patched-source.bbclass    |    2 +-
>> >  3 files changed, 3 insertions(+), 3 deletions(-)
>> > 
>> > diff --git a/meta/classes/archive-configured-source.bbclass b/meta/classes/archive-configured-source.bbclass
>> > index d346f69..a481b14 100644
>> > --- a/meta/classes/archive-configured-source.bbclass
>> > +++ b/meta/classes/archive-configured-source.bbclass
>> > @@ -14,7 +14,7 @@ addtask do_archive_configured_sources after do_configure
>> >  addtask do_archive_scripts_logs
>> >  
>> >  # Get dump date and create diff file 
>> > -addtask do_dumpdata_create_diff_gz
>> > +addtask do_dumpdata_create_diff_gz before do_rootfs
> This will always add the task to the build, and break our ability to
> filter out packages. I would suggest handling this dependency in the
> anonymous python function after filtering has been applied.
AFAIK, the 'before do_rootfs' doesn't add the task to the build. It
actually forces the task to be run before do_rootfs. I have just tested
this with ARCHIVER_MODE[filter] set to both "no" and "yes" and playing
with COPYLEFT_LICENSE_INCLUDE and COPYLEFT_LICENSE_EXCLUDE. It seeems to
produce the desired effect.

However, and this might be an issue but I'm not sure if this is the
desired behavior(I have to dig in a little), changing
ARCHIVER_MODE[filter] in local.conf does not trigger a recipe reparsing
and you might not see the effect you're expecting. Try removing the
tmp/cache first.

Thanks,
Laurentiu




More information about the Openembedded-core mailing list