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 _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto