diff mbox series

libxml2: don't override XML_CATALOG_FILES in xmllint wrapper if already set

Message ID 20220909163640.1985612-1-ross.burton@arm.com
State Accepted, archived
Commit a6be6d307fbe69248b4905214712d67bfddf6b92
Headers show
Series libxml2: don't override XML_CATALOG_FILES in xmllint wrapper if already set | expand

Commit Message

Ross Burton Sept. 9, 2022, 4:36 p.m. UTC
The KDE build uses custom catalogs by setting XML_CATALOG_FILES, so this
wrapper should not override that value if it has already been set.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/recipes-core/libxml/libxml2_2.9.14.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Jacob Kroon Sept. 9, 2022, 4:53 p.m. UTC | #1
On 9/9/22 18:36, Ross Burton wrote:
> The KDE build uses custom catalogs by setting XML_CATALOG_FILES, so this
> wrapper should not override that value if it has already been set.
> 
> Signed-off-by: Ross Burton <ross.burton@arm.com>
> ---
>   meta/recipes-core/libxml/libxml2_2.9.14.bb | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/meta/recipes-core/libxml/libxml2_2.9.14.bb b/meta/recipes-core/libxml/libxml2_2.9.14.bb
> index 2b2289e38a6..165c92d4114 100644
> --- a/meta/recipes-core/libxml/libxml2_2.9.14.bb
> +++ b/meta/recipes-core/libxml/libxml2_2.9.14.bb
> @@ -121,7 +121,7 @@ do_install:append:class-native () {
>   	# Docs are not needed in the native case
>   	rm ${D}${datadir}/gtk-doc -rf
>   
> -	create_wrapper ${D}${bindir}/xmllint XML_CATALOG_FILES=${sysconfdir}/xml/catalog
> +	create_wrapper ${D}${bindir}/xmllint 'XML_CATALOG_FILES=${XML_CATALOG_FILES:-${sysconfdir}/xml/catalog}'

That ...:-${sysconfdir}/... looks odd. Is that hyphen intentional ?

>   }
>   
>   BBCLASSEXTEND = "native nativesdk"
> 
> 
> 

Jacob
Ross Burton Sept. 9, 2022, 5 p.m. UTC | #2
>>  -	create_wrapper ${D}${bindir}/xmllint XML_CATALOG_FILES=${sysconfdir}/xml/catalog
>> +	create_wrapper ${D}${bindir}/xmllint 'XML_CATALOG_FILES=${XML_CATALOG_FILES:-${sysconfdir}/xml/catalog}'
> 
> That ...:-${sysconfdir}/... looks odd. Is that hyphen intentional ?

Yes:

     ${parameter:-word}    Use Default Values.  If parameter is unset or null, the expansion of word is substituted; otherwise, the value of
                           parameter is substituted.

Ross
Jacob Kroon Sept. 9, 2022, 5:05 p.m. UTC | #3
On 9/9/22 19:00, Ross Burton wrote:
>>>   -	create_wrapper ${D}${bindir}/xmllint XML_CATALOG_FILES=${sysconfdir}/xml/catalog
>>> +	create_wrapper ${D}${bindir}/xmllint 'XML_CATALOG_FILES=${XML_CATALOG_FILES:-${sysconfdir}/xml/catalog}'
>>
>> That ...:-${sysconfdir}/... looks odd. Is that hyphen intentional ?
> 
> Yes:
> 
>       ${parameter:-word}    Use Default Values.  If parameter is unset or null, the expansion of word is substituted; otherwise, the value of
>                             parameter is substituted.
> 
> Ross
> 

Aha, very nice, sorry for the noise.

Jacob
Richard Purdie Sept. 9, 2022, 10:54 p.m. UTC | #4
On Fri, 2022-09-09 at 17:36 +0100, Ross Burton wrote:
> The KDE build uses custom catalogs by setting XML_CATALOG_FILES, so this
> wrapper should not override that value if it has already been set.
> 
> Signed-off-by: Ross Burton <ross.burton@arm.com>
> ---
>  meta/recipes-core/libxml/libxml2_2.9.14.bb | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/meta/recipes-core/libxml/libxml2_2.9.14.bb b/meta/recipes-core/libxml/libxml2_2.9.14.bb
> index 2b2289e38a6..165c92d4114 100644
> --- a/meta/recipes-core/libxml/libxml2_2.9.14.bb
> +++ b/meta/recipes-core/libxml/libxml2_2.9.14.bb
> @@ -121,7 +121,7 @@ do_install:append:class-native () {
>  	# Docs are not needed in the native case
>  	rm ${D}${datadir}/gtk-doc -rf
>  
> -	create_wrapper ${D}${bindir}/xmllint XML_CATALOG_FILES=${sysconfdir}/xml/catalog
> +	create_wrapper ${D}${bindir}/xmllint 'XML_CATALOG_FILES=${XML_CATALOG_FILES:-${sysconfdir}/xml/catalog}'
>  }

https://autobuilder.yoctoproject.org/typhoon/#/builders/69/builds/5823/steps/24/logs/stdio

:/

Cheers,

Richard
Richard Purdie Sept. 11, 2022, 10:21 p.m. UTC | #5
On Fri, 2022-09-09 at 23:54 +0100, Richard Purdie via
lists.openembedded.org wrote:
> On Fri, 2022-09-09 at 17:36 +0100, Ross Burton wrote:
> > The KDE build uses custom catalogs by setting XML_CATALOG_FILES, so this
> > wrapper should not override that value if it has already been set.
> > 
> > Signed-off-by: Ross Burton <ross.burton@arm.com>
> > ---
> >  meta/recipes-core/libxml/libxml2_2.9.14.bb | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/meta/recipes-core/libxml/libxml2_2.9.14.bb b/meta/recipes-core/libxml/libxml2_2.9.14.bb
> > index 2b2289e38a6..165c92d4114 100644
> > --- a/meta/recipes-core/libxml/libxml2_2.9.14.bb
> > +++ b/meta/recipes-core/libxml/libxml2_2.9.14.bb
> > @@ -121,7 +121,7 @@ do_install:append:class-native () {
> >  	# Docs are not needed in the native case
> >  	rm ${D}${datadir}/gtk-doc -rf
> >  
> > -	create_wrapper ${D}${bindir}/xmllint XML_CATALOG_FILES=${sysconfdir}/xml/catalog
> > +	create_wrapper ${D}${bindir}/xmllint 'XML_CATALOG_FILES=${XML_CATALOG_FILES:-${sysconfdir}/xml/catalog}'
> >  }
> 
> https://autobuilder.yoctoproject.org/typhoon/#/builders/69/builds/5823/steps/24/logs/stdio


Dependency on variable XML_CATALOG_FILES:-/media/build1/poky/build-st-282284/tmp-sstatesamehash/work/x86_64-linux/libxml2-native/2.9.14-r0/recipe-sysroot-native/etc/xml/catalog was added
Dependency on Variable XML_CATALOG_FILES:-/media/build1/poky/build-st-282284/tmp-sstatesamehash2/work/x86_64-linux/libxml2-native/2.9.14-r0/recipe-sysroot-native/etc/xml/catalog was removed

i.e. it is expanding the variable in the keyname!

Cheers,

Richard
Richard Purdie Sept. 12, 2022, 9:43 a.m. UTC | #6
On Sun, 2022-09-11 at 23:21 +0100, Richard Purdie via
lists.openembedded.org wrote:
> On Fri, 2022-09-09 at 23:54 +0100, Richard Purdie via
> lists.openembedded.org wrote:
> > On Fri, 2022-09-09 at 17:36 +0100, Ross Burton wrote:
> > > The KDE build uses custom catalogs by setting XML_CATALOG_FILES, so this
> > > wrapper should not override that value if it has already been set.
> > > 
> > > Signed-off-by: Ross Burton <ross.burton@arm.com>
> > > ---
> > >  meta/recipes-core/libxml/libxml2_2.9.14.bb | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/meta/recipes-core/libxml/libxml2_2.9.14.bb b/meta/recipes-core/libxml/libxml2_2.9.14.bb
> > > index 2b2289e38a6..165c92d4114 100644
> > > --- a/meta/recipes-core/libxml/libxml2_2.9.14.bb
> > > +++ b/meta/recipes-core/libxml/libxml2_2.9.14.bb
> > > @@ -121,7 +121,7 @@ do_install:append:class-native () {
> > >  	# Docs are not needed in the native case
> > >  	rm ${D}${datadir}/gtk-doc -rf
> > >  
> > > -	create_wrapper ${D}${bindir}/xmllint XML_CATALOG_FILES=${sysconfdir}/xml/catalog
> > > +	create_wrapper ${D}${bindir}/xmllint 'XML_CATALOG_FILES=${XML_CATALOG_FILES:-${sysconfdir}/xml/catalog}'
> > >  }
> > 
> > https://autobuilder.yoctoproject.org/typhoon/#/builders/69/builds/5823/steps/24/logs/stdio
> 
> 
> Dependency on variable XML_CATALOG_FILES:-/media/build1/poky/build-st-282284/tmp-sstatesamehash/work/x86_64-linux/libxml2-native/2.9.14-r0/recipe-sysroot-native/etc/xml/catalog was added
> Dependency on Variable XML_CATALOG_FILES:-/media/build1/poky/build-st-282284/tmp-sstatesamehash2/work/x86_64-linux/libxml2-native/2.9.14-r0/recipe-sysroot-native/etc/xml/catalog was removed
> 
> i.e. it is expanding the variable in the keyname!

I tweaked the patch to exclude this variable for now. We probably need
to think a bit more about what bitbake is considering a variable name
though...

Cheers,

Richard
Andreas Müller Sept. 12, 2022, 9:59 p.m. UTC | #7
On Mon, Sep 12, 2022 at 11:43 AM Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
>
> On Sun, 2022-09-11 at 23:21 +0100, Richard Purdie via
> lists.openembedded.org wrote:
> > On Fri, 2022-09-09 at 23:54 +0100, Richard Purdie via
> > lists.openembedded.org wrote:
> > > On Fri, 2022-09-09 at 17:36 +0100, Ross Burton wrote:
> > > > The KDE build uses custom catalogs by setting XML_CATALOG_FILES, so this
> > > > wrapper should not override that value if it has already been set.
> > > >
> > > > Signed-off-by: Ross Burton <ross.burton@arm.com>
> > > > ---
> > > >  meta/recipes-core/libxml/libxml2_2.9.14.bb | 2 +-
> > > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > >
> > > > diff --git a/meta/recipes-core/libxml/libxml2_2.9.14.bb b/meta/recipes-core/libxml/libxml2_2.9.14.bb
> > > > index 2b2289e38a6..165c92d4114 100644
> > > > --- a/meta/recipes-core/libxml/libxml2_2.9.14.bb
> > > > +++ b/meta/recipes-core/libxml/libxml2_2.9.14.bb
> > > > @@ -121,7 +121,7 @@ do_install:append:class-native () {
> > > >   # Docs are not needed in the native case
> > > >   rm ${D}${datadir}/gtk-doc -rf
> > > >
> > > > - create_wrapper ${D}${bindir}/xmllint XML_CATALOG_FILES=${sysconfdir}/xml/catalog
> > > > + create_wrapper ${D}${bindir}/xmllint 'XML_CATALOG_FILES=${XML_CATALOG_FILES:-${sysconfdir}/xml/catalog}'
> > > >  }
> > >
> > > https://autobuilder.yoctoproject.org/typhoon/#/builders/69/builds/5823/steps/24/logs/stdio
> >
> >
> > Dependency on variable XML_CATALOG_FILES:-/media/build1/poky/build-st-282284/tmp-sstatesamehash/work/x86_64-linux/libxml2-native/2.9.14-r0/recipe-sysroot-native/etc/xml/catalog was added
> > Dependency on Variable XML_CATALOG_FILES:-/media/build1/poky/build-st-282284/tmp-sstatesamehash2/work/x86_64-linux/libxml2-native/2.9.14-r0/recipe-sysroot-native/etc/xml/catalog was removed
> >
> > i.e. it is expanding the variable in the keyname!
>
> I tweaked the patch to exclude this variable for now. We probably need
> to think a bit more about what bitbake is considering a variable name
> though...

Thanks for addressing. Will remove my workaround in meta-qt5-extra and
hope not to come back :)

Andreas
Peter Kjellerstedt Sept. 13, 2022, 5:14 p.m. UTC | #8
> -----Original Message-----
> From: openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org> On Behalf Of Richard Purdie
> Sent: den 12 september 2022 10:44
> To: Ross Burton <ross.burton@arm.com>; openembedded-core@lists.openembedded.org
> Cc: schnitzeltony@gmail.com
> Subject: Re: [OE-core] [PATCH] libxml2: don't override XML_CATALOG_FILES in xmllint wrapper if already set
> 
> On Sun, 2022-09-11 at 23:21 +0100, Richard Purdie via
> lists.openembedded.org wrote:
> > On Fri, 2022-09-09 at 23:54 +0100, Richard Purdie via
> > lists.openembedded.org wrote:
> > > On Fri, 2022-09-09 at 17:36 +0100, Ross Burton wrote:
> > > > The KDE build uses custom catalogs by setting XML_CATALOG_FILES, so this
> > > > wrapper should not override that value if it has already been set.
> > > >
> > > > Signed-off-by: Ross Burton <ross.burton@arm.com>
> > > > ---
> > > >  meta/recipes-core/libxml/libxml2_2.9.14.bb | 2 +-
> > > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > >
> > > > diff --git a/meta/recipes-core/libxml/libxml2_2.9.14.bb b/meta/recipes-core/libxml/libxml2_2.9.14.bb
> > > > index 2b2289e38a6..165c92d4114 100644
> > > > --- a/meta/recipes-core/libxml/libxml2_2.9.14.bb
> > > > +++ b/meta/recipes-core/libxml/libxml2_2.9.14.bb
> > > > @@ -121,7 +121,7 @@ do_install:append:class-native () {
> > > >  	# Docs are not needed in the native case
> > > >  	rm ${D}${datadir}/gtk-doc -rf
> > > >
> > > > -	create_wrapper ${D}${bindir}/xmllint XML_CATALOG_FILES=${sysconfdir}/xml/catalog
> > > > +	create_wrapper ${D}${bindir}/xmllint 'XML_CATALOG_FILES=${XML_CATALOG_FILES:-${sysconfdir}/xml/catalog}'
> > > >  }
> > >
> > > https://autobuilder.yoctoproject.org/typhoon/#/builders/69/builds/5823/steps/24/logs/stdio
> >
> > Dependency on variable XML_CATALOG_FILES:-/media/build1/poky/build-st-282284/tmp-sstatesamehash/work/x86_64-linux/libxml2-native/2.9.14-r0/recipe-sysroot-native/etc/xml/catalog was added
> > Dependency on Variable XML_CATALOG_FILES:-/media/build1/poky/build-st-282284/tmp-sstatesamehash2/work/x86_64-linux/libxml2-native/2.9.14-r0/recipe-sysroot-native/etc/xml/catalog was removed
> >
> > i.e. it is expanding the variable in the keyname!
> 
> I tweaked the patch to exclude this variable for now. We probably need
> to think a bit more about what bitbake is considering a variable name
> though...
> 
> Cheers,
> 
> Richard

Hasn't this always been the case for shell variables where you need to 
use ${...} for one reason or another? I know I have changed a number of 
"${some_shell_variable}" to "$some_shell_variable" over the years to 
mitigate it a little, but that is obviously not possible for non-trivial 
cases of shell parameter expansions.

//Peter
diff mbox series

Patch

diff --git a/meta/recipes-core/libxml/libxml2_2.9.14.bb b/meta/recipes-core/libxml/libxml2_2.9.14.bb
index 2b2289e38a6..165c92d4114 100644
--- a/meta/recipes-core/libxml/libxml2_2.9.14.bb
+++ b/meta/recipes-core/libxml/libxml2_2.9.14.bb
@@ -121,7 +121,7 @@  do_install:append:class-native () {
 	# Docs are not needed in the native case
 	rm ${D}${datadir}/gtk-doc -rf
 
-	create_wrapper ${D}${bindir}/xmllint XML_CATALOG_FILES=${sysconfdir}/xml/catalog
+	create_wrapper ${D}${bindir}/xmllint 'XML_CATALOG_FILES=${XML_CATALOG_FILES:-${sysconfdir}/xml/catalog}'
 }
 
 BBCLASSEXTEND = "native nativesdk"