Patchwork [resend] package.bbclass: call PACKAGESTRIPFUNCS before populate_packages

login
register
mail settings
Submitter Andreas Oberritter
Date Dec. 8, 2010, 1 p.m.
Message ID <1291813231-24536-1-git-send-email-obi@opendreambox.org>
Download mbox | patch
Permalink /patch/19/
State Accepted
Headers show

Comments

Andreas Oberritter - Dec. 8, 2010, 1 p.m.
Introduce run_strip_funcs() to call the functions in
  PACKAGESTRIPFUNCS and place it before populate_packages().

  This allows users of do_split_packages() to package the .debug
  directories, which get created by do_runstrip().

  do_split_packages() is usually prepended to populate_packages().

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
---
 classes/package.bbclass |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)
Andreas Oberritter - Dec. 13, 2010, 12:42 p.m.
Ping

On 12/08/2010 02:00 PM, Andreas Oberritter wrote:
>   Introduce run_strip_funcs() to call the functions in
>   PACKAGESTRIPFUNCS and place it before populate_packages().
> 
>   This allows users of do_split_packages() to package the .debug
>   directories, which get created by do_runstrip().
> 
>   do_split_packages() is usually prepended to populate_packages().
> 
> Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
> ---
>  classes/package.bbclass |   12 +++++++-----
>  1 files changed, 7 insertions(+), 5 deletions(-)
> 
> diff --git a/classes/package.bbclass b/classes/package.bbclass
> index 2769595..678ffa9 100644
> --- a/classes/package.bbclass
> +++ b/classes/package.bbclass
> @@ -367,6 +367,12 @@ python perform_packagecopy () {
>  	os.system('cp -pPR %s/. %s/' % (installdest, pkgcopy))
>  }
>  
> +python run_strip_funcs() {
> +	if (bb.data.getVar('PACKAGE_STRIP', d, True) != 'no'):
> +		for f in (bb.data.getVar('PACKAGESTRIPFUNCS', d, True) or '').split():
> +			bb.build.exec_func(f, d)
> +}
> +
>  python populate_packages () {
>  	import glob, errno, re,os
>  
> @@ -391,11 +397,6 @@ python populate_packages () {
>  		else:
>  			package_list.append(pkg)
>  
> -
> -	if (bb.data.getVar('PACKAGE_STRIP', d, True) != 'no'):
> -		for f in (bb.data.getVar('PACKAGESTRIPFUNCS', d, True) or '').split():
> -			bb.build.exec_func(f, d)
> -
>  	pkgdest = bb.data.getVar('PKGDEST', d, True)
>  	os.system('rm -rf %s' % pkgdest)
>  
> @@ -1011,6 +1012,7 @@ PACKAGE_PREPROCESS_FUNCS ?= ""
>  PACKAGEFUNCS ?= "perform_packagecopy \
>                  ${PACKAGE_PREPROCESS_FUNCS} \
>  		package_do_split_locales \
> +		run_strip_funcs \
>  		populate_packages \
>  		package_do_shlibs \
>  		package_do_pkgconfig \
Khem Raj - Dec. 16, 2010, 5:27 a.m.
On (13/12/10 13:42), Andreas Oberritter wrote:
> Ping
> 
> On 12/08/2010 02:00 PM, Andreas Oberritter wrote:
> >   Introduce run_strip_funcs() to call the functions in
> >   PACKAGESTRIPFUNCS and place it before populate_packages().
> > 
> >   This allows users of do_split_packages() to package the .debug
> >   directories, which get created by do_runstrip().
> > 
> >   do_split_packages() is usually prepended to populate_packages().
> > 
> > Signed-off-by: Andreas Oberritter <obi@opendreambox.org>

looks ok to me. I thought .debug are automatically picked into -debug
packages 
In what cases will this help ?

> > ---
> >  classes/package.bbclass |   12 +++++++-----
> >  1 files changed, 7 insertions(+), 5 deletions(-)
> > 
> > diff --git a/classes/package.bbclass b/classes/package.bbclass
> > index 2769595..678ffa9 100644
> > --- a/classes/package.bbclass
> > +++ b/classes/package.bbclass
> > @@ -367,6 +367,12 @@ python perform_packagecopy () {
> >  	os.system('cp -pPR %s/. %s/' % (installdest, pkgcopy))
> >  }
> >  
> > +python run_strip_funcs() {
> > +	if (bb.data.getVar('PACKAGE_STRIP', d, True) != 'no'):
> > +		for f in (bb.data.getVar('PACKAGESTRIPFUNCS', d, True) or '').split():
> > +			bb.build.exec_func(f, d)
> > +}
> > +
> >  python populate_packages () {
> >  	import glob, errno, re,os
> >  
> > @@ -391,11 +397,6 @@ python populate_packages () {
> >  		else:
> >  			package_list.append(pkg)
> >  
> > -
> > -	if (bb.data.getVar('PACKAGE_STRIP', d, True) != 'no'):
> > -		for f in (bb.data.getVar('PACKAGESTRIPFUNCS', d, True) or '').split():
> > -			bb.build.exec_func(f, d)
> > -
> >  	pkgdest = bb.data.getVar('PKGDEST', d, True)
> >  	os.system('rm -rf %s' % pkgdest)
> >  
> > @@ -1011,6 +1012,7 @@ PACKAGE_PREPROCESS_FUNCS ?= ""
> >  PACKAGEFUNCS ?= "perform_packagecopy \
> >                  ${PACKAGE_PREPROCESS_FUNCS} \
> >  		package_do_split_locales \
> > +		run_strip_funcs \
> >  		populate_packages \
> >  		package_do_shlibs \
> >  		package_do_pkgconfig \
> 
> 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
Andreas Oberritter - Dec. 16, 2010, 12:04 p.m.
On 12/16/2010 06:27 AM, Khem Raj wrote:
> On (13/12/10 13:42), Andreas Oberritter wrote:
>> Ping
>>
>> On 12/08/2010 02:00 PM, Andreas Oberritter wrote:
>>>   Introduce run_strip_funcs() to call the functions in
>>>   PACKAGESTRIPFUNCS and place it before populate_packages().
>>>
>>>   This allows users of do_split_packages() to package the .debug
>>>   directories, which get created by do_runstrip().
>>>
>>>   do_split_packages() is usually prepended to populate_packages().
>>>
>>> Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
> 
> looks ok to me. I thought .debug are automatically picked into -debug
> packages 
> In what cases will this help ?

We have a set of plugins split into one package each. With this patch, I
can create "plugin-foo-dbg" packages, which seems to be much nicer than
having one meta-dbg package containing all debug symbols, especially
with a large amount of plugins.

Regards,
Andreas

Patch

diff --git a/classes/package.bbclass b/classes/package.bbclass
index 2769595..678ffa9 100644
--- a/classes/package.bbclass
+++ b/classes/package.bbclass
@@ -367,6 +367,12 @@  python perform_packagecopy () {
 	os.system('cp -pPR %s/. %s/' % (installdest, pkgcopy))
 }
 
+python run_strip_funcs() {
+	if (bb.data.getVar('PACKAGE_STRIP', d, True) != 'no'):
+		for f in (bb.data.getVar('PACKAGESTRIPFUNCS', d, True) or '').split():
+			bb.build.exec_func(f, d)
+}
+
 python populate_packages () {
 	import glob, errno, re,os
 
@@ -391,11 +397,6 @@  python populate_packages () {
 		else:
 			package_list.append(pkg)
 
-
-	if (bb.data.getVar('PACKAGE_STRIP', d, True) != 'no'):
-		for f in (bb.data.getVar('PACKAGESTRIPFUNCS', d, True) or '').split():
-			bb.build.exec_func(f, d)
-
 	pkgdest = bb.data.getVar('PKGDEST', d, True)
 	os.system('rm -rf %s' % pkgdest)
 
@@ -1011,6 +1012,7 @@  PACKAGE_PREPROCESS_FUNCS ?= ""
 PACKAGEFUNCS ?= "perform_packagecopy \
                 ${PACKAGE_PREPROCESS_FUNCS} \
 		package_do_split_locales \
+		run_strip_funcs \
 		populate_packages \
 		package_do_shlibs \
 		package_do_pkgconfig \