[yocto] Requesting information on some variables
Rifenbark, Scott M
scott.m.rifenbark at intel.com
Thu Oct 18 14:39:45 PDT 2012
I have cleaned some of this stuff up. Still need to add DISTRO_EXTRA_RDEPENDS.
See the ref manual at http://yoctoproject.org/docs/1.3/poky-ref-manual/poky-ref-manual.html
Scott
-----Original Message-----
From: Paul Eggleton [mailto:paul.eggleton at linux.intel.com]
Sent: Thursday, October 18, 2012 2:20 AM
To: Rifenbark, Scott M
Cc: Rudolf Streif; yocto at yoctoproject.org
Subject: Re: [yocto] Requesting information on some variables
On Wednesday 17 October 2012 21:07:20 Rifenbark, Scott M wrote:
> Thanks for the added investigation here. The original bug report listed
> COMMON_FEATURES as an undocumented variable. I see, however, that the
> variable referred to by both you and Paul Eggleton is COMBINED_FEATURES. I
> just did a grep through my entire poky tree, which had built out the
> core-image-minimal image for the qemux86 MACHINE and came up empty for
> "COMMON_FEATURES" except where the string is part of other variables. So,
> it appears there is no COMMON_FEATURES variable.
>
> According to Paul, COMBINED_FEATURES is a list of features common to both
> MACHINE_FEATURES and DISTRO_FEATURES.
Yes, the variable is COMBINED_FEATURES.
> It also seems that the lists presented in the documentation for both valid
> distro and machine options are not really finite lists.
Correct, the list is not set in stone. People are free to add new features to
MACHINE_FEATURES and DISTRO_FEATURES in their own setups and check for them in
their own recipes/configuration files if it helps them handle different machines
they want to target or different types of distros they want to build
respectively. However, we should document all of the features we have defined
out of the box.
> But, the fact that you grep'ed out such a huge list of
> DF below shows that they far exceed the 16 features listed in the
> documentation. I'll update the preamble to the "Distro" and "Machine"
> sections in the reference manual when I get the real story on those lists.
I can try to help document all of the features. It's possible that some of
them that we refer to are effectively placeholders that don't do anything at
the moment (e.g. ipv6 in DISTRO_FEATURES).
> I don't know the relationship between "features" and "packages"... maybe it
> is a one-to-one relationship.
It's definitely not 1-1, and sometimes a feature doesn't just control the
installation of a package or packages, but influences how certain recipes are
built, e.g. it might determine whether a particular configure option is
specified within do_configure for a particular recipe.
> But, there are some other variables that
> affect packages and features (according to the documentation) that are
> considered during the build. These are the ones listed in the manual's
> glossary section:
>
> * MACHINE_ESSENTIAL_EXTRA_RDEPENDS
>
> * MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS
>
> * MACHINE_EXTRA_RDEPENDS
>
> * MACHINE_EXTRA-RRECOMMENDS
>
> * DISTRO_EXTRA_RRECOMMENDS
Let's not muddy the waters too much here - these aren't directly related to
features although they are related to machine and distro configuration.
> I suspect that there is a DISTRO_EXTRA_RDEPENDS variable as well but I don't
> have it in the manual (should be added if so).
Yes, that exists and should be documented.
> Also, not sure if there are variables for DISTRO_ESSENTIAL_EXTRA_RDEPENDS
> and DISTRO_ESSENTIAL_EXTRA_RRECOMMENDS. If those really exist, then I need
> to add them as well.
No, there are no such variables.
> Finally, the BACKFILL variables also contribute to the MACHINE_FEATURES and
> DISTRO_FEATURES set. It looks like *_FEATURES_BACKFILL, which is set in
> the bitbake.conf file, is a way to make sure a feature is always included
> as part of *_FEATURES. While *_BACKFILL_CONSIDERED is used in specific
> machine configurations (<machine>.conf) to disable a particular feature
> when it also appears with *_FEATURES_BACKFILL. So these variables add to
> the mix also.
We have added the 9.4 section on "Feature backfilling" that should cover what
these are for and how they work. If the explanation there is not clear enough
then by all means lets enhance that section and/or the entries in the glossary
for these variables, but they are at least documented now.
Cheers,
Paul
--
Paul Eggleton
Intel Open Source Technology Centre
More information about the yocto
mailing list