]> code.ossystems Code Review - openembedded-core.git/commit
native/nativesdk: Use fixed DISTRO_FEATURES
authorJussi Kukkonen <jussi.kukkonen@intel.com>
Tue, 11 Apr 2017 14:35:40 +0000 (17:35 +0300)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 12 Apr 2017 14:02:13 +0000 (15:02 +0100)
commit731744d5538e315702be828e6f2bd556309dee07
treec2f3e1207344d7f1cb4a54bf4e42d0be39af34c2
parentc92cff23893e87cfb7ef9f77b16761310104543a
native/nativesdk: Use fixed DISTRO_FEATURES

There seems to be little advantage to letting distro features affect
native builds. There is a significant disadvantage: a change to
DISTRO_FEATURES will trigger a lot of unnecessary native tasks. In a
test like this:
  $ bitbake core-image-minimal
  # append " systemd" to DISTRO_FEATURES
  $ bitbake core-image-minimal
The latter build takes 44 minutes (28%) of cpu-time less with this
patch (skipping 135 native tasks). Sadly wall clock time was not
affected as glibc remains the bottleneck.

Set native distro features to DISTRO_FEATURES_NATIVE appended with
an intersection of DISTRO_FEATURES and DISTRO_FEATURES_FILTER_NATIVE.
Current default values (baitbake.conf) are
* DISTRO_FEATURES_FILTER_NATIVE ?= "api-documentation" (as gtk-doc-native
has much less dependencies when built without it)
* DISTRO_FEATURES_NATIVE ?= "x11" (to enable native UIs even if target
does not containe them)

Do the variable setting in native_virtclass_handler() because otherwise
it could still be overridden by appends and the feature backfilling.
Shuffle the early returns so DISTRO_FEATURES gets set as long as
the packagename ends with "-native".

Add similar variables for nativesdk.

To make nativesdk work we need to enable the locale options so
nativesdk-glibc-locales can build and to avoid the init manager check
in the nativesdk case so add those fixes.

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/native.bbclass
meta/classes/nativesdk.bbclass
meta/classes/packagegroup.bbclass
meta/conf/bitbake.conf