[OE-core] [RFC PATCH 0/9] hybrid systemd/sysvinit

Ross Burton ross.burton at intel.com
Mon Mar 11 20:07:30 UTC 2013


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





More information about the Openembedded-core mailing list