[oe] [OE-core] [PATCH 09/22] update-rcd.bbclass: handle both sysvinit and systemd features being present

Martin Jansa martin.jansa at gmail.com
Fri Mar 22 19:04:34 UTC 2013


On Fri, Mar 22, 2013 at 05:38:29PM +0000, Ross Burton wrote:
> Run the helper if the sysvinit feature is present, or if the systemd feature is
> present but the systemd class hasn't been inherited.  We want to run in the
> latter case as systemd has sysvinit compatibility, but we don't want to always
> run so that pure systemd images don't have redundant sysvinit files.
> 
> Signed-off-by: Ross Burton <ross.burton at intel.com>
> ---
>  meta/classes/update-rc.d.bbclass                          |    9 ++++++---
>  meta/recipes-core/packagegroups/packagegroup-core-boot.bb |    4 ++--
>  2 files changed, 8 insertions(+), 5 deletions(-)
> 
> diff --git a/meta/classes/update-rc.d.bbclass b/meta/classes/update-rc.d.bbclass
> index 65bf022..06b91c1 100644
> --- a/meta/classes/update-rc.d.bbclass
> +++ b/meta/classes/update-rc.d.bbclass
> @@ -75,9 +75,12 @@ python populate_packages_updatercd () {
>          postrm += d.getVar('updatercd_postrm', True)
>          d.setVar('pkg_postrm_%s' % pkg, postrm)
>  
> -    # If the systemd class has also been inherited, then don't do anything as
> -    # the systemd units will override anything created by update-rc.d.
> -    if not d.getVar("SYSTEMD_BBCLASS_ENABLED", True):
> +    # Run if the sysvinit feature is present, or if the systemd feature is present
> +    # but the systemd class hasn't been inherited.  We want to run in the latter case
> +    # as systemd has sysvinit compatibility, but we don't want to always so that
> +    # pure systemd images don't have redundent sysvinit files.
> +    if "sysvinit" in d.getVar("DISTRO_FEATURES").split() or \
> +       ("systemd" in d.getVar("DISTRO_FEATURES").split() and not d.getVar("SYSTEMD_BBCLASS_ENABLED", True)):
>          pkgs = d.getVar('INITSCRIPT_PACKAGES', True)
>          if pkgs == None:
>              pkgs = d.getVar('UPDATERCPN', True)
> diff --git a/meta/recipes-core/packagegroups/packagegroup-core-boot.bb b/meta/recipes-core/packagegroups/packagegroup-core-boot.bb
> index b9183a8..e73b46e 100644
> --- a/meta/recipes-core/packagegroups/packagegroup-core-boot.bb
> +++ b/meta/recipes-core/packagegroups/packagegroup-core-boot.bb
> @@ -27,7 +27,7 @@ RCONFLICTS_${PN} = "task-core-boot"
>  VIRTUAL-RUNTIME_dev_manager ?= "udev"
>  VIRTUAL-RUNTIME_login_manager ?= "tinylogin"
>  VIRTUAL-RUNTIME_init_manager ?= "${DISTRO_FEATURES_INITMAN}"
> -VIRTUAL-RUNTIME_initscripts ?= "${@base_contains('DISTRO_FEATURES', 'sysvinit', 'initscripts', '',d)}"
> +VIRTUAL-RUNTIME_initscripts ?= "${@base_contains('DISTRO_FEATURES_INITMAN', 'sysvinit', 'initscripts', '',d)}"
>  VIRTUAL-RUNTIME_keymaps ?= "keymaps"
>  
>  RDEPENDS_${PN} = "\
> @@ -42,7 +42,7 @@ RDEPENDS_${PN} = "\
>      ${VIRTUAL-RUNTIME_login_manager} \
>      ${VIRTUAL-RUNTIME_init_manager} \
>      ${VIRTUAL-RUNTIME_initscripts} \
> -    ${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd-compat-units', '',d)} \
> +    ${@base_contains('DISTRO_FEATURES_INITMAN', 'systemd', 'systemd-compat-units', '',d)} \
>      ${VIRTUAL-RUNTIME_dev_manager} \
>      ${VIRTUAL-RUNTIME_update-alternatives} \
>      ${MACHINE_ESSENTIAL_EXTRA_RDEPENDS}"

Isn't DISTRO_FEATURES_INITMAN removed later in this series?

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20130322/68034982/attachment-0002.sig>


More information about the Openembedded-devel mailing list