Patchwork base.bbclass: If unpacking again, wipe out ${S}/patches

login
register
mail settings
Submitter Richard Purdie
Date March 2, 2012, 12:10 p.m.
Message ID <1330690229.15224.7.camel@ted>
Download mbox | patch
Permalink /patch/22585/
State Accepted
Commit 5fe5e6a15f26f23f0c5b863fafad7a0d382a55e2
Headers show

Comments

Richard Purdie - March 2, 2012, 12:10 p.m.
If we unpack again, its assumed the data in any patches directory is invalid
since do_patch will run again. This ensures old patch data doesn't get
reused in a confused way.

Ideally we should probably wipe out ${S} here but that is probably a change
for another time.

[YOCTO #2043 partially]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
Koen Kooi - March 2, 2012, 12:29 p.m.
Op 2 mrt. 2012, om 13:10 heeft Richard Purdie het volgende geschreven:

> If we unpack again, its assumed the data in any patches directory is invalid
> since do_patch will run again. This ensures old patch data doesn't get
> reused in a confused way.
> 
> Ideally we should probably wipe out ${S} here but that is probably a change
> for another time.
> 
> [YOCTO #2043 partially]
> 
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> ---
> diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
> index a76fe55..39d3e78 100644
> --- a/meta/classes/base.bbclass
> +++ b/meta/classes/base.bbclass
> @@ -94,6 +94,7 @@ python base_do_fetch() {
> 
> addtask unpack after do_fetch
> do_unpack[dirs] = "${WORKDIR}"
> +do_unpack[cleandirs] = "${S}/patches"

This gets clean *before* do_unpack, right? I have a number of recipes that use sources with patches/ as a toplevel subdirectory.

regards,

Koen
Richard Purdie - March 2, 2012, 12:39 p.m.
On Fri, 2012-03-02 at 13:29 +0100, Koen Kooi wrote:
> Op 2 mrt. 2012, om 13:10 heeft Richard Purdie het volgende geschreven:
> 
> > If we unpack again, its assumed the data in any patches directory is invalid
> > since do_patch will run again. This ensures old patch data doesn't get
> > reused in a confused way.
> > 
> > Ideally we should probably wipe out ${S} here but that is probably a change
> > for another time.
> > 
> > [YOCTO #2043 partially]
> > 
> > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> > ---
> > diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
> > index a76fe55..39d3e78 100644
> > --- a/meta/classes/base.bbclass
> > +++ b/meta/classes/base.bbclass
> > @@ -94,6 +94,7 @@ python base_do_fetch() {
> > 
> > addtask unpack after do_fetch
> > do_unpack[dirs] = "${WORKDIR}"
> > +do_unpack[cleandirs] = "${S}/patches"
> 
> This gets clean *before* do_unpack, right? I have a number of recipes
> that use sources with patches/ as a toplevel subdirectory.

Yes, bitbake wipes out cleandirs before the task runs. As I mention, we
could in theory wipe ${S} there, I'm just a little more nervous about
that change.

Cheers,

Richard

Patch

diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index a76fe55..39d3e78 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -94,6 +94,7 @@  python base_do_fetch() {
 
 addtask unpack after do_fetch
 do_unpack[dirs] = "${WORKDIR}"
+do_unpack[cleandirs] = "${S}/patches"
 python base_do_unpack() {
 	src_uri = (d.getVar('SRC_URI', True) or "").split()
 	if len(src_uri) == 0: