Patchwork [2/5] pkgconfig.bbclass: search configs in D instead of S

login
register
mail settings
Submitter Stanislav Brabec
Date April 16, 2011, 11:24 p.m.
Message ID <1302996247.3122.32.camel@utx.lan>
Download mbox | patch
Permalink /patch/2427/
State New, archived
Headers show

Comments

Stanislav Brabec - April 16, 2011, 11:24 p.m.
Searching for .pc files in S makes more problems than it
brings benefits. Searching in the installed root seems to be more
logical.

Fixes possible subtle breakages:
- .pc files populated with a different name that upstream intended
- populated .pc files files that were not intended to be populated

Signed-off-by: Stanislav Brabec <utx@penguin.cz>
Andreas Oberritter - April 19, 2011, 11:20 a.m.
On 04/17/2011 01:24 AM, Stanislav Brabec wrote:
> Searching for .pc files in S makes more problems than it
> brings benefits. Searching in the installed root seems to be more
> logical.
> 
> Fixes possible subtle breakages:
> - .pc files populated with a different name that upstream intended
> - populated .pc files files that were not intended to be populated

This has already been fixed with commit
c2c8fe4c5629add94bd0b922f5b3446624a9f4d8.

> Signed-off-by: Stanislav Brabec <utx@penguin.cz>
> 
> diff --git a/classes/pkgconfig.bbclass b/classes/pkgconfig.bbclass
> index d96b708..00298ca 100644
> --- a/classes/pkgconfig.bbclass
> +++ b/classes/pkgconfig.bbclass
> @@ -14,7 +14,7 @@ SYSROOT_PREPROCESS_FUNCS += "pkgconfig_sysroot_preprocess"
>  
>  pkgconfig_sysroot_preprocess () {
>  	install -d ${SYSROOT_DESTDIR}${PKG_CONFIG_DIR}
> -	for pc in `find ${S} -name '*.pc' -type f | grep -v -- '-uninstalled.pc$'`; do
> +	for pc in `find ${D} -name '*.pc' -type f`; do
>  		pcname=`basename $pc`
>  		if [ ! -f ${SYSROOT_DESTDIR}${PKG_CONFIG_DIR}/$pcname ]; then
>  			oenote "$pcname was not installed."
> 

This function just prints a warning, if it finds a .pc file that didn't
get installed. Using ${D} at this point makes this function a no-op.

It might be better to just remove it completely.

Regards,
Andreas
Stanislav Brabec - April 20, 2011, 3:47 p.m.
Andreas Oberritter wrote:

> > diff --git a/classes/pkgconfig.bbclass b/classes/pkgconfig.bbclass
> > index d96b708..00298ca 100644
> > --- a/classes/pkgconfig.bbclass
> > +++ b/classes/pkgconfig.bbclass
> > @@ -14,7 +14,7 @@ SYSROOT_PREPROCESS_FUNCS += "pkgconfig_sysroot_preprocess"
> >  
> >  pkgconfig_sysroot_preprocess () {
> >  	install -d ${SYSROOT_DESTDIR}${PKG_CONFIG_DIR}
> > -	for pc in `find ${S} -name '*.pc' -type f | grep -v -- '-uninstalled.pc$'`; do
> > +	for pc in `find ${D} -name '*.pc' -type f`; do
> >  		pcname=`basename $pc`
> >  		if [ ! -f ${SYSROOT_DESTDIR}${PKG_CONFIG_DIR}/$pcname ]; then
> >  			oenote "$pcname was not installed."
> > 
> 
> This function just prints a warning, if it finds a .pc file that didn't
> get installed. Using ${D} at this point makes this function a no-op.
> 
> It might be better to just remove it completely.

Good hint. So I'll not submit this patch. Your commit c2c8fe4 already
did the right fix here.

Patch

diff --git a/classes/pkgconfig.bbclass b/classes/pkgconfig.bbclass
index d96b708..00298ca 100644
--- a/classes/pkgconfig.bbclass
+++ b/classes/pkgconfig.bbclass
@@ -14,7 +14,7 @@  SYSROOT_PREPROCESS_FUNCS += "pkgconfig_sysroot_preprocess"
 
 pkgconfig_sysroot_preprocess () {
 	install -d ${SYSROOT_DESTDIR}${PKG_CONFIG_DIR}
-	for pc in `find ${S} -name '*.pc' -type f | grep -v -- '-uninstalled.pc$'`; do
+	for pc in `find ${D} -name '*.pc' -type f`; do
 		pcname=`basename $pc`
 		if [ ! -f ${SYSROOT_DESTDIR}${PKG_CONFIG_DIR}/$pcname ]; then
 			oenote "$pcname was not installed."