[OE-core] packageconfig, add depends if feature is disabled

Max Krummenacher max.oss.09 at gmail.com
Wed Jun 22 19:25:03 UTC 2016


Hi Ross

Am Sonntag, den 19.06.2016, 20:51 +0100 schrieb Burton, Ross:
> On 19 June 2016 at 10:52, Max Krummenacher <max.oss.09 at gmail.com>
> wrote:
> 
> >     PACKAGECONFIG ?= "gtk3"
> >     PACKAGECONFIG[gtk2] = ",,gtk+"
> >     PACKAGECONFIG[gtk3] = "--enable-gtk3,,gtk+3"
> > 
> 
> PACKAGECONFIGs are meant to be explicit so "thing which is enabled
> when
> something else is disabled" is obvious unless you write log comments
> explaining the options.
> 
> For example, what if PACKAGECONFIG was set to "" but gtk+ was already
> in
> the sysroot.  By the logic you've described that would result in your
> recipe being built with gtk+ despite being told not to, or maybe if
> gtk3 is
> autodetected first and that's also in the sysroot then gtk3 gets used
> instead.  You literally can't tell, and if bitbake can't tell then
> you'll
> have binary packages changing when they shouldn't be.
> 
> Idiomatically you'd have - or expect - something like
> 
>     PACKAGECONFIG ?= "gtk3"
>     PACKAGECONFIG[gtk2] = "--enable-gtk2,--disable-gtk2,gtk+"
>     PACKAGECONFIG[gtk3] = "--enable-gtk3,--disable-gtk3,gtk+3"
> 
> If the upstream doesn't support this then you're hoping that they
> don't
> change the default values, or the configure doesn't attempt to auto
> -detect,
> or various other ways that having options with no enable or disable
> values
> can break.  At that point I'd actually fix upstream's configure and
> send a
> patch instead of attempting to work around it.
> 
> Ross

Understood. Will have a look into configure of the packages.

Thanks
Max




More information about the Openembedded-core mailing list