9.4. Feature Backfilling

Sometimes it is necessary in the OpenEmbedded build system to extend MACHINE_FEATURES or DISTRO_FEATURES to control functionality that was previously enabled and not able to be disabled. For these cases, we need to add an additional feature item to appear in one of these variables, but we do not want to force developers who have existing values of the variables in their configuration to add the new feature in order to retain the same overall level of functionality. Thus, the OpenEmbedded build system has a mechanism to automatically "backfill" these added features into existing distro or machine configurations. You can see the list of features for which this is done by finding the DISTRO_FEATURES_BACKFILL and MACHINE_FEATURES_BACKFILL variables in the meta/conf/bitbake.conf file.

Because such features are backfilled by default into all configurations as described in the previous paragraph, developers who wish to disable the new features need to be able to selectively prevent the backfilling from occurring. They can do this by adding the undesired feature or features to the DISTRO_FEATURES_BACKFILL_CONSIDERED or MACHINE_FEATURES_BACKFILL_CONSIDERED variables for distro features and machine features respectively.

Here are two examples to help illustrate feature backfilling: