Hi, This series allows you to have both sysvinit and systemd in DISTRO_FEATURES. Packages will be built with both init scripts, and some daemons will be linking to libsystemd-daemon so that will be pulled in to sysvinit images.
The init manager used at image construction time is DISTRO_FEATURES_INITMAN (maybe this should be renamed) and that value is also backfilled into DISTRO_FEATURES. The key change is that systemd.bbclass only recommends systemd, and will check that there's a systemctl binary before calling it - this allows packages built like this to be installed on a systemd-free image. This is very much a RFC, I've done some basic testing but between illness and having to prepare for a presentation at this conference I've not been able to test it as much as I'd hoped. Review and testing very much appreciated. Some metrics: adding the systemd feature but still using sysvinit when building the image results in just libsystemd-daemon and the service files being added to the image, with a negliable size increase. Ross The following changes since commit 1fd5b960dd36458b7b829f9094df18cd8b5ac201: systemd: remove libsystemd-daemon linkage in libudev (2013-03-11 10:59:54 -0700) are available in the git repository at: git://git.yoctoproject.org/poky-contrib ross/systemd for you to fetch changes up to ba7c15ae47ace8a15d97b4c58d2aa5b2ebb4c47a: default-distrovars: don't add DISTRO_FEATURES_INITMAN to DISTRO_FEATURES (2013-03-11 12:17:49 -0700) ---------------------------------------------------------------- Radu Moisan (1): busybox: add systemd enabling for syslog and klogd Ross Burton (8): systemd: merge udev-systemd into udev systemd: make xz support (compressed journal) optional default-providers: change udev selection logic update-rcd.bbclass: handle both sysvinit and systemd features being present systemd: allow postinsts to run without systemd being present systemd: add udev init script for hybrid sysvinit/systemd usage update-rc.d/systemd: change communication variable name default-distrovars: don't add DISTRO_FEATURES_INITMAN to DISTRO_FEATURES meta/classes/systemd.bbclass | 37 ++++--- meta/classes/update-rc.d.bbclass | 7 +- meta/conf/distro/include/default-distrovars.inc | 2 +- meta/conf/distro/include/default-providers.inc | 2 +- meta/recipes-core/busybox/busybox.inc | 17 +++- meta/recipes-core/busybox/busybox_1.20.2.bb | 2 + .../busybox/files/busybox-klogd.service.in | 8 ++ .../busybox/files/busybox-syslog.service.in | 13 +++ .../packagegroups/packagegroup-core-boot.bb | 4 +- meta/recipes-core/systemd/systemd/init | 101 ++++++++++++++++++++ meta/recipes-core/systemd/systemd_197.bb | 26 +++-- 11 files changed, 184 insertions(+), 35 deletions(-) create mode 100644 meta/recipes-core/busybox/files/busybox-klogd.service.in create mode 100644 meta/recipes-core/busybox/files/busybox-syslog.service.in create mode 100644 meta/recipes-core/systemd/systemd/init Radu Moisan (1): busybox: add systemd enabling for syslog and klogd Ross Burton (8): systemd: merge udev-systemd into udev systemd: make xz support (compressed journal) optional default-providers: change udev selection logic update-rcd.bbclass: handle both sysvinit and systemd features being present systemd: allow postinsts to run without systemd being present systemd: add udev init script for hybrid sysvinit/systemd usage update-rc.d/systemd: change communication variable name default-distrovars: don't add DISTRO_FEATURES_INITMAN to DISTRO_FEATURES meta/classes/systemd.bbclass | 37 ++++--- meta/classes/update-rc.d.bbclass | 7 +- meta/conf/distro/include/default-distrovars.inc | 2 +- meta/conf/distro/include/default-providers.inc | 2 +- meta/recipes-core/busybox/busybox.inc | 17 +++- meta/recipes-core/busybox/busybox_1.20.2.bb | 2 + .../busybox/files/busybox-klogd.service.in | 8 ++ .../busybox/files/busybox-syslog.service.in | 13 +++ .../packagegroups/packagegroup-core-boot.bb | 4 +- meta/recipes-core/systemd/systemd/init | 101 ++++++++++++++++++++ meta/recipes-core/systemd/systemd_197.bb | 26 +++-- 11 files changed, 184 insertions(+), 35 deletions(-) create mode 100644 meta/recipes-core/busybox/files/busybox-klogd.service.in create mode 100644 meta/recipes-core/busybox/files/busybox-syslog.service.in create mode 100644 meta/recipes-core/systemd/systemd/init -- 1.7.10.4 _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core