diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-12-04 13:09:11 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-12-05 12:32:10 +0000 |
commit | 9c93526756e7cbbff027c88eb972f877bcb1f057 (patch) | |
tree | 327939f0ff75f9b439ed8d851af1e552db64acad /meta/recipes-core | |
parent | 9a272ee6d72fc727a2dfe660ceded560a9f1ae88 (diff) | |
download | openembedded-core-contrib-9c93526756e7cbbff027c88eb972f877bcb1f057.tar.gz |
classes/recipes: More optimal DISTRO_FEATURES references
Using the contains function results in more optimal sstate checksums
resulting in better cache reuse as we as more consistent code.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core')
-rw-r--r-- | meta/recipes-core/busybox/busybox.inc | 23 | ||||
-rw-r--r-- | meta/recipes-core/dbus/dbus.inc | 3 | ||||
-rw-r--r-- | meta/recipes-core/dropbear/dropbear.inc | 12 | ||||
-rw-r--r-- | meta/recipes-core/systemd/systemd_208.bb | 3 |
4 files changed, 17 insertions, 24 deletions
diff --git a/meta/recipes-core/busybox/busybox.inc b/meta/recipes-core/busybox/busybox.inc index b3d0cd25de..0c84c1f115 100644 --- a/meta/recipes-core/busybox/busybox.inc +++ b/meta/recipes-core/busybox/busybox.inc @@ -47,11 +47,11 @@ RRECOMMENDS_${PN} = "${PN}-syslog ${PN}-udhcpc" inherit cml1 systemd update-rc.d ptest # internal helper -def busybox_cfg(feature, features, tokens, cnf, rem): +def busybox_cfg(feature, tokens, cnf, rem): if type(tokens) == type(""): tokens = [tokens] rem.extend(['/^[# ]*' + token + '[ =]/d' for token in tokens]) - if type(features) == type([]) and feature in features: + if feature: cnf.extend([token + '=y' for token in tokens]) else: cnf.extend(['# ' + token + ' is not set' for token in tokens]) @@ -59,15 +59,14 @@ def busybox_cfg(feature, features, tokens, cnf, rem): # Map distro features to config settings def features_to_busybox_settings(d): cnf, rem = ([], []) - distro_features = d.getVar('DISTRO_FEATURES', True).split() - busybox_cfg('ipv6', distro_features, 'CONFIG_FEATURE_IPV6', cnf, rem) - busybox_cfg('largefile', distro_features, 'CONFIG_LFS', cnf, rem) - busybox_cfg('largefile', distro_features, 'CONFIG_FDISK_SUPPORT_LARGE_DISKS', cnf, rem) - busybox_cfg('nls', distro_features, 'CONFIG_LOCALE_SUPPORT', cnf, rem) - busybox_cfg('ipv4', distro_features, 'CONFIG_FEATURE_IFUPDOWN_IPV4', cnf, rem) - busybox_cfg('ipv6', distro_features, 'CONFIG_FEATURE_IFUPDOWN_IPV6', cnf, rem) - busybox_cfg('wifi', distro_features, 'CONFIG_RFKILL', cnf, rem) - busybox_cfg('bluetooth', distro_features, 'CONFIG_RFKILL', cnf, rem) + busybox_cfg(base_contains('DISTRO_FEATURES', 'ipv6', True, False, d), 'CONFIG_FEATURE_IPV6', cnf, rem) + busybox_cfg(base_contains('DISTRO_FEATURES', 'largefile', True, False, d), 'CONFIG_LFS', cnf, rem) + busybox_cfg(base_contains('DISTRO_FEATURES', 'largefile', True, False, d), 'CONFIG_FDISK_SUPPORT_LARGE_DISKS', cnf, rem) + busybox_cfg(base_contains('DISTRO_FEATURES', 'nls', True, False, d), 'CONFIG_LOCALE_SUPPORT', cnf, rem) + busybox_cfg(base_contains('DISTRO_FEATURES', 'ipv4', True, False, d), 'CONFIG_FEATURE_IFUPDOWN_IPV4', cnf, rem) + busybox_cfg(base_contains('DISTRO_FEATURES', 'ipv6', True, False, d), 'CONFIG_FEATURE_IFUPDOWN_IPV6', cnf, rem) + busybox_cfg(base_contains('DISTRO_FEATURES', 'wifi', True, False, d), 'CONFIG_RFKILL', cnf, rem) + busybox_cfg(base_contains('DISTRO_FEATURES', 'bluetooth', True, False, d), 'CONFIG_RFKILL', cnf, rem) return "\n".join(cnf), "\n".join(rem) # X, Y = ${@features_to_uclibc_settings(d)} @@ -295,7 +294,7 @@ ALTERNATIVE_${PN}-syslog += "syslog-conf" ALTERNATIVE_LINK_NAME[syslog-conf] = "${sysconfdir}/syslog.conf" python () { - if 'sysvinit' in d.getVar("DISTRO_FEATURES", True).split(): + if base_contains('DISTRO_FEATURES', 'sysvinit', True, False, d): pn = d.getVar('PN', True) d.appendVar('ALTERNATIVE_%s-syslog' % (pn), ' syslog-init') d.setVarFlag('ALTERNATIVE_LINK_NAME', 'syslog-init', '%s/init.d/syslog' % (d.getVar('sysconfdir', True))) diff --git a/meta/recipes-core/dbus/dbus.inc b/meta/recipes-core/dbus/dbus.inc index 6612184e22..5b99034bf4 100644 --- a/meta/recipes-core/dbus/dbus.inc +++ b/meta/recipes-core/dbus/dbus.inc @@ -27,8 +27,7 @@ INITSCRIPT_NAME = "dbus-1" INITSCRIPT_PARAMS = "start 02 5 3 2 . stop 20 0 1 6 ." python __anonymous() { - features = d.getVar("DISTRO_FEATURES", True).split() - if "sysvinit" not in features: + if not oe.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d): d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1") } diff --git a/meta/recipes-core/dropbear/dropbear.inc b/meta/recipes-core/dropbear/dropbear.inc index 5d9623d2c6..4262b1d6e5 100644 --- a/meta/recipes-core/dropbear/dropbear.inc +++ b/meta/recipes-core/dropbear/dropbear.inc @@ -62,14 +62,10 @@ do_install() { -e 's,/usr/bin,${bindir},g' \ -e 's,/usr,${prefix},g' > ${D}${sysconfdir}/init.d/dropbear chmod 755 ${D}${sysconfdir}/init.d/dropbear - for i in ${DISTRO_FEATURES}; - do - if [ ${i} = "pam" ]; then - install -d ${D}${sysconfdir}/pam.d - install -m 0644 ${WORKDIR}/dropbear ${D}${sysconfdir}/pam.d/ - fi - done - + if [ "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}" = "pam" ]; then + install -d ${D}${sysconfdir}/pam.d + install -m 0644 ${WORKDIR}/dropbear ${D}${sysconfdir}/pam.d/ + fi } inherit update-alternatives diff --git a/meta/recipes-core/systemd/systemd_208.bb b/meta/recipes-core/systemd/systemd_208.bb index 66e6beec8a..c1f8d773fb 100644 --- a/meta/recipes-core/systemd/systemd_208.bb +++ b/meta/recipes-core/systemd/systemd_208.bb @@ -271,8 +271,7 @@ INITSCRIPT_NAME_udev = "systemd-udevd" INITSCRIPT_PARAMS_udev = "start 03 S ." python __anonymous() { - features = d.getVar("DISTRO_FEATURES", True).split() - if "sysvinit" not in features: + if not oe.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d): d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1") } |