All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V3 0/3] systemd: split modules into packages
@ 2015-05-07 16:40 Bruno Bottazzini
  2015-05-07 16:40 ` [PATCH V3 1/3] dbus: split tools package Bruno Bottazzini
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Bruno Bottazzini @ 2015-05-07 16:40 UTC (permalink / raw)
  To: openembedded-core

Differences from V2:
- Installing default features with "PACKAGECONFIG" instead of using
  "DISTRO_FEATURES" as Anders, Leandro and Otavio suggested.
- Rebase with master

Differences from V1:
- Making sure that we don't change default configuration as Anders and
  Otavio suggested.
- Changing EXTRA_OECONF flags to use it with PAKAGECONFIG as Anders pointed
  in the review.
- New patch that verifies if journal-flush.service exists.
  It may not exists depending on package configuration that the users want to
  be installed or removed.

Bruno Bottazzini (2):
  systemd: Verify if journal-flush.service exists.
  systemd: split modules into packages

Gustavo Sverzut Barbieri (1):
  dbus: split tools package.

 meta/recipes-core/dbus/dbus.inc          |    9 +-
 meta/recipes-core/systemd/systemd_219.bb | 1070 ++++++++++++++++++++++++++----
 2 files changed, 951 insertions(+), 128 deletions(-)

--
2.4.0



^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH V3 1/3] dbus: split tools package.
  2015-05-07 16:40 [PATCH V3 0/3] systemd: split modules into packages Bruno Bottazzini
@ 2015-05-07 16:40 ` Bruno Bottazzini
  2015-05-07 16:40 ` [PATCH V3 2/3] systemd: Verify if journal-flush.service exists Bruno Bottazzini
  2015-05-07 16:40 ` [PATCH V3 3/3] systemd: split modules into packages Bruno Bottazzini
  2 siblings, 0 replies; 10+ messages in thread
From: Bruno Bottazzini @ 2015-05-07 16:40 UTC (permalink / raw)
  To: openembedded-core

From: Gustavo Sverzut Barbieri <gustavo.barbieri@intel.com>

Most tools are not required if one is launching a simple daemon.
The user will be able to exclude dbus-tool and save some space in his
build

Signed-off-by: Bruno Bottazzini <bruno.bottazzini@intel.com>
---
 meta/recipes-core/dbus/dbus.inc | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-core/dbus/dbus.inc b/meta/recipes-core/dbus/dbus.inc
index fb5d017..58dd728 100644
--- a/meta/recipes-core/dbus/dbus.inc
+++ b/meta/recipes-core/dbus/dbus.inc
@@ -39,7 +39,7 @@ CONFFILES_${PN} = "${sysconfdir}/dbus-1/system.conf ${sysconfdir}/dbus-1/session
 
 DEBIANNAME_${PN} = "dbus-1"
 
-PACKAGES =+ "${PN}-lib"
+PACKAGES =+ "${PN}-lib ${PN}-tools"
 
 OLDPKGNAME = "dbus-x11"
 OLDPKGNAME_class-nativesdk = ""
@@ -47,6 +47,7 @@ OLDPKGNAME_class-nativesdk = ""
 # for compatibility
 RPROVIDES_${PN} = "${OLDPKGNAME}"
 RREPLACES_${PN} += "${OLDPKGNAME}"
+RRECOMMENDS_${PN}_class-native = ""
 
 FILES_${PN} = "${bindir}/dbus-daemon* \
                ${bindir}/dbus-uuidgen \
@@ -64,6 +65,12 @@ FILES_${PN} = "${bindir}/dbus-daemon* \
 FILES_${PN}-lib = "${libdir}/lib*.so.*"
 RRECOMMENDS_${PN}-lib = "${PN}"
 FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-glib-tool"
+FILES_${PN}-tools += "${bindir}/dbus-uuidgen \
+                      ${bindir}/dbus-cleanup-sockets \
+                      ${bindir}/dbus-monitor \
+                      ${bindir}/dbus-launch \
+                      ${bindir}/dbus-run-session"
+RRECOMMENDS_${PN} = "${PN}-tools"
 
 pkg_postinst_dbus() {
 	# If both systemd and sysvinit are enabled, mask the dbus-1 init script
-- 
2.4.0



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH V3 2/3] systemd: Verify if journal-flush.service exists.
  2015-05-07 16:40 [PATCH V3 0/3] systemd: split modules into packages Bruno Bottazzini
  2015-05-07 16:40 ` [PATCH V3 1/3] dbus: split tools package Bruno Bottazzini
@ 2015-05-07 16:40 ` Bruno Bottazzini
  2015-05-07 18:49   ` Andreas Oberritter
  2015-05-07 16:40 ` [PATCH V3 3/3] systemd: split modules into packages Bruno Bottazzini
  2 siblings, 1 reply; 10+ messages in thread
From: Bruno Bottazzini @ 2015-05-07 16:40 UTC (permalink / raw)
  To: openembedded-core

If the users wants to enable networkd this file will not be generate and the
installation will fail.

Signed-off-by: Bruno Bottazzini <bruno.bottazzini@intel.com>
---
 meta/recipes-core/systemd/systemd_219.bb | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-core/systemd/systemd_219.bb b/meta/recipes-core/systemd/systemd_219.bb
index c196017..b4bff18 100644
--- a/meta/recipes-core/systemd/systemd_219.bb
+++ b/meta/recipes-core/systemd/systemd_219.bb
@@ -177,8 +177,11 @@ do_install() {
 	sed -i -e 's/.*ForwardToSyslog.*/ForwardToSyslog=yes/' ${D}${sysconfdir}/systemd/journald.conf
 	# its needed in 216 upstream has fixed it with 919699ec301ea507edce4a619141ed22e789ac0d
 	# don't order journal flushing afte remote-fs.target
-	sed -i -e 's/ remote-fs.target$//' ${D}${systemd_unitdir}/system/systemd-journal-flush.service
-	# this file is needed to exist if networkd is disabled but timesyncd is still in use since timesyncd checks it
+	if [ -s ${D}${systemd_unitdir}/system/systemd-journal-flush.service ]; then
+                # this file is needed to exist if networkd is disabled but timesyncd is still in use since timesyncd checks it
+                sed -i -e 's/ remote-fs.target$//' ${D}${systemd_unitdir}/system/systemd-journal-flush.service
+        fi
+
 	# for existence else it fails
 	if [ -s ${D}${libdir}/tmpfiles.d/systemd.conf ]; then
 		${@bb.utils.contains('PACKAGECONFIG', 'networkd', ':', 'sed -i -e "\$ad /run/systemd/netif/links 0755 root root -" ${D}${libdir}/tmpfiles.d/systemd.conf', d)}
-- 
2.4.0



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH V3 3/3] systemd: split modules into packages
  2015-05-07 16:40 [PATCH V3 0/3] systemd: split modules into packages Bruno Bottazzini
  2015-05-07 16:40 ` [PATCH V3 1/3] dbus: split tools package Bruno Bottazzini
  2015-05-07 16:40 ` [PATCH V3 2/3] systemd: Verify if journal-flush.service exists Bruno Bottazzini
@ 2015-05-07 16:40 ` Bruno Bottazzini
  2015-05-07 18:58   ` Andreas Oberritter
  2 siblings, 1 reply; 10+ messages in thread
From: Bruno Bottazzini @ 2015-05-07 16:40 UTC (permalink / raw)
  To: openembedded-core

if one wants to launch a simple deamon, most modules are not
required.
He will be able to save space and exclude unwanted packages
from the final image.

Signed-off-by: Bruno Bottazzini <bruno.bottazzini@intel.com>
---
 meta/recipes-core/systemd/systemd_219.bb | 1063 ++++++++++++++++++++++++++----
 1 file changed, 938 insertions(+), 125 deletions(-)

diff --git a/meta/recipes-core/systemd/systemd_219.bb b/meta/recipes-core/systemd/systemd_219.bb
index b4bff18..629c7fc 100644
--- a/meta/recipes-core/systemd/systemd_219.bb
+++ b/meta/recipes-core/systemd/systemd_219.bb
@@ -60,9 +60,55 @@ LDFLAGS_append_libc-uclibc = " -lrt"
 GTKDOC_DOCDIR = "${S}/docs/"
 
 PACKAGECONFIG ??= "xz ldconfig \
+                   getty \
+                   sysvcompat \
+                   nspawn \
+                   machined \
+                   bootchart \
+                   zsh \
+                   rpm-macros \
+                   kernel-install \
+                   initramfs \
+                   bash \
+                   tools \
+                   udev \
+                   tmpfiles \
+                   sysusers \
+                   sysctl \
+                   sleep \
+                   randomseed \
+                   modules-load \
+                   journal \
+                   fsck \
+                   preset \
+                   filesystems \
+                   vconsole \
+                   update \
+                   timesyncd \
+                   rfkill \
+                   quota \
+                   fuse \
+                   firstboot \
+                   dbus \
+                   binfmt \
+                   backlight \
+                   ask-password \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)}"
 
+PACKAGECONFIG[glib] = "--enable-gudev,--disable-gudev,glib-2.0"
+PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl"
+PACKAGECONFIG[blkid] = "--enable-blkid,--disable-blkid,util-linux"
+PACKAGECONFIG[efi] = "--enable-efi,--disable-efi"
+PACKAGECONFIG[kmod] = "--enable-kmod,--disable-kmod,kmod"
+PACKAGECONFIG[polkit] = "--enable-polkit,--disable-polkit,polkit"
+PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
+PACKAGECONFIG[smack] = "--enable-smack,--disable-smack"
+PACKAGECONFIG[ima] = "--enable-ima,--disable-ima"
+PACKAGECONFIG[apparmor] = "--enable-apparmor,--disable-apparmor,libapparmor"
+PACKAGECONFIG[seccomp] = "--enable-seccomp,--disable-seccomp,libseccomp"
+PACKAGECONFIG[qrencode] = "--enable-qrencode,--disable-qrencode,libqrencode"
+PACKAGECONFIG[lz4] = "--enable-lz4,--disable-lz4,lz4"
 PACKAGECONFIG[journal-upload] = "--enable-libcurl,--disable-libcurl,curl"
 # Sign the journal for anti-tampering
 PACKAGECONFIG[gcrypt] = "--enable-gcrypt,--disable-gcrypt,libgcrypt"
@@ -206,158 +252,742 @@ do_install_ptest () {
 
 python populate_packages_prepend (){
     systemdlibdir = d.getVar("rootlibdir", True)
-    do_split_packages(d, systemdlibdir, '^lib(.*)\.so\.*', 'lib%s', 'Systemd %s library', extra_depends='', allow_links=True)
+    do_split_packages(d, systemdlibdir, '^lib(udev|gudev|systemd|nss)\.so\.*', 'lib%s', 'Systemd %s library', extra_depends='', allow_links=True)
 }
-PACKAGES_DYNAMIC += "^lib(udev|systemd).*"
+PACKAGES_DYNAMIC += "^lib(udev|gudev|systemd|nss).*"
+
+########################################################################
+# Base Packages
+########################################################################
+
+PACKAGES =+ "${PN}-generators-filesystems"
+SUMMARY_${PN}-generators-filesystems = "Unit generator for /etc/fstab"
+RDEPENDS_${PN}-generators-filesystems = "${PN}-services-fsck"
+FILES_${PN}-generators-filesystems = "\
+        ${rootlibexecdir}/systemd/system-generators/systemd-fstab-generator \
+        ${rootlibexecdir}/systemd/system-generators/systemd-gpt-auto-generator \
+        ${rootlibexecdir}/systemd/systemd-remount-fs \
+        ${systemd_unitdir}/system/local-fs.target.wants/systemd-remount-fs.service \
+        ${systemd_unitdir}/system/systemd-remount-fs.service \
+"
 
-PACKAGES =+ "${PN}-gui ${PN}-vconsole-setup ${PN}-initramfs ${PN}-analyze ${PN}-kernel-install \
-             ${PN}-rpm-macros ${PN}-binfmt ${PN}-pam ${PN}-zsh libgudev"
+PACKAGES =+ "${PN}-generators-getty"
+SUMMARY_${PN}-generators-getty = "Generator for enabling getty instances on the console"
+RDEPENDS_${PN}-generators-getty = "${PN}-services-getty"
+FILES_${PN}-generators-getty = "\
+        ${rootlibexecdir}/systemd/system-generators/systemd-getty-generator \
+"
 
-SYSTEMD_PACKAGES = "${PN}-binfmt"
-SYSTEMD_SERVICE_${PN}-binfmt = "systemd-binfmt.service"
+PACKAGES =+ "${PN}-tools"
+SUMMARY_${PN}-tools = "systemd command line tools (cgls, delta, run, analyze...)"
+RRECOMMENDS_${PN}-tools = "${PN}-services-base"
+FILES_${PN}-tools = "\
+        ${base_bindir}/systemd-machine-id-setup \
+        ${bindir}/busctl \
+        ${bindir}/coredumpctl \
+        ${bindir}/systemd-analyze \
+        ${bindir}/systemd-cat \
+        ${bindir}/systemd-cgls \
+        ${bindir}/systemd-cgtop \
+        ${bindir}/systemd-delta \
+        ${bindir}/systemd-detect-virt \
+        ${bindir}/systemd-path \
+        ${bindir}/systemd-run \
+        ${rootlibexecdir}/systemd/systemd-ac-power \
+        ${rootlibexecdir}/systemd/systemd-activate \
+        ${rootlibexecdir}/systemd/systemd-reply-password \
+        ${rootprefix}/bin/systemd-escape \
+        ${rootprefix}/bin/systemd-notify \
+"
 
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} += "--system systemd-journal-gateway; --system systemd-timesync"
-GROUPADD_PARAM_${PN} = "-r lock; -r systemd-journal"
+########################################################################
+# Services Packages
+########################################################################
+
+PACKAGES =+ "${PN}-services-ask-password"
+SUMMARY_${PN}-services-ask-password = "Query the user for a system password"
+RRECOMMENDS_${PN}-services-ask-password = "${PN}-services-base"
+FILES_${PN}-services-ask-password = "\
+        ${rootprefix}/bin/systemd-ask-password \
+        ${rootprefix}/bin/systemd-tty-ask-password-agent \
+        ${systemd_unitdir}/system/multi-user.target.wants/systemd-ask-password-wall.path \
+        ${systemd_unitdir}/system/sysinit.target.wants/systemd-ask-password-console.path \
+        ${systemd_unitdir}/system/systemd-ask-password-console.path \
+        ${systemd_unitdir}/system/systemd-ask-password-console.service \
+        ${systemd_unitdir}/system/systemd-ask-password-wall.path \
+        ${systemd_unitdir}/system/systemd-ask-password-wall.service \
+"
 
-FILES_${PN}-analyze = "${bindir}/systemd-analyze"
+PACKAGES =+ "${PN}-services-backlight"
+SUMMARY_${PN}-services-backlight = "Load and save the display backlight brightness at boot and shutdown"
+FILES_${PN}-services-backlight = "\
+        ${systemd_unitdir}/system/systemd-backlight@.service \
+        ${rootlibexecdir}/systemd/systemd-backlight \
+"
 
-FILES_${PN}-initramfs = "/init"
-RDEPENDS_${PN}-initramfs = "${PN}"
+PACKAGES =+ "${PN}-services-binfmt"
+SUMMARY_${PN}-services-binfmt = "Configure additional binary formats for executables at boot"
+RRECOMMENDS_${PN}-services-binfmt = "kernel-module-binfmt-misc"
+FILES_${PN}-services-binfmt = "\
+        ${sysconfdir}/binfmt.d/ \
+        ${exec_prefix}/lib/binfmt.d/ \
+        ${systemd_unitdir}/system/proc-sys-fs-binfmt_misc.automount \
+        ${systemd_unitdir}/system/proc-sys-fs-binfmt_misc.mount \
+        ${systemd_unitdir}/system/sysinit.target.wants/proc-sys-fs-binfmt_misc.automount \
+        ${systemd_unitdir}/system/proc-sys-fs-binfmt_misc.* \
+        ${systemd_unitdir}/system/sysinit.target.wants/systemd-binfmt.service \
+        ${systemd_unitdir}/system/systemd-binfmt.service \
+        ${rootlibexecdir}/systemd/systemd-binfmt \
+"
+
+PACKAGES =+ "${PN}-services-bootchart"
+SUMMARY_${PN}-services-bootchart = "Boot performance graphing tool"
+CONFFILES_${PN}-services-bootchart = "${sysconfdir}/systemd/bootchart.conf"
+FILES_${PN}-services-bootchart = "\
+        ${sysconfdir}/systemd/bootchart.conf \
+        ${rootlibexecdir}/systemd/systemd-bootchart \
+"
 
-FILES_libgudev = "${libdir}/libgudev*${SOLIBS}"
+PACKAGES =+ "${PN}-services-coredump"
+SUMMARY_${PN}-services-coredump = "Log and store core dumps"
+RDEPENDS_${PN}-services-coredump = "${PN}-services-sysctl"
+CONFFILES_${PN}-services-coredump = "${sysconfdir}/systemd/coredump.conf"
+FILES_${PN}-services-coredump = "\
+        ${exec_prefix}/lib/sysctl.d/50-coredump.conf \
+        ${sysconfdir}/systemd/coredump.conf \
+        ${rootlibexecdir}/systemd/systemd-coredump \
+"
 
-RDEPENDS_${PN}-ptest += "perl python bash"
-FILES_${PN}-ptest += "${libdir}/udev/rules.d"
+PACKAGES =+ "${PN}-services-cryptsetup"
+SUMMARY_${PN}-services-cryptsetup = "Unit generator for /etc/crypttab"
+ALLOW_EMPTY_${PN}-services-cryptsetup = "1"
+FILES_${PN}-services-cryptsetup = "\
+        ${rootlibexecdir}/systemd/system-generators/systemd-cryptsetup-generator \
+        ${systemd_unitdir}/system/cryptsetup-pre.target \
+        ${systemd_unitdir}/system/cryptsetup.target \
+        ${systemd_unitdir}/system/sysinit.target.wants/cryptsetup.target \
+        ${rootlibexecdir}/systemd/systemd-cryptsetup \
+"
+
+PACKAGES =+ "${PN}-services-dbus"
+SUMMARY_${PN}-services-dbus = "Dbus daemon system service"
+# NOTE: dbus dependency will go away when kdbus is in use
+RDEPENDS_${PN}-services-dbus = "dbus"
+FILES_${PN}-services-dbus = "\
+        ${datadir}/dbus-1/services/org.freedesktop.systemd1.service \
+        ${datadir}/dbus-1/system-services/org.freedesktop.systemd1.service \
+        ${datadir}/dbus-1/system-services/org.freedesktop.import1.service \
+        ${sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf \
+        ${sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf \
+        ${systemd_unitdir}/system/sockets.target.wants/dbus.socket \
+        ${systemd_unitdir}/system/dbus.target.wants/dbus.socket \
+        ${systemd_unitdir}/system/multi-user.target.wants/dbus.service \
+        ${systemd_unitdir}/system/dbus.socket \
+        ${systemd_unitdir}/system/dbus.service \
+"
+
+PACKAGES =+ "${PN}-services-debug"
+SUMMARY_${PN}-services-debug = "Generator for enabling a runtime debug shell and masking specific units at boot"
+RRECOMMENDS_${PN}-services-debug = "${PN}-services-base ${PN}-tools"
+FILES_${PN}-services-debug = "\
+        ${rootlibexecdir}/systemd/system-generators/systemd-debug-generator \
+        ${systemd_unitdir}/system/debug-shell.service \
+        ${systemd_unitdir}/system/sys-kernel-config.mount \
+        ${systemd_unitdir}/system/sys-kernel-debug.mount \
+        ${systemd_unitdir}/system/sysinit.target.wants/sys-kernel-config.mount \
+        ${systemd_unitdir}/system/sysinit.target.wants/sys-kernel-debug.mount \
+"
+
+PACKAGES =+ "${PN}-services-firstboot"
+SUMMARY_${PN}-services-firstboot = "Initialize basic system settings on or before the first boot-up of a system"
+FILES_${PN}-services-firstboot = "\
+        ${base_bindir}/systemd-firstboot \
+        ${systemd_unitdir}/system/sysinit.target.wants/systemd-firstboot.service \
+        ${systemd_unitdir}/system/systemd-firstboot.service \
+"
+
+PACKAGES =+ "${PN}-services-fsck"
+SUMMARY_${PN}-services-fsck = "File system checker logic"
+RRECOMMENDS_${PN}-services-fsck = "util-linux-fsck e2fsprogs-e2fsck"
+FILES_${PN}-services-fsck = "\
+        ${systemd_unitdir}/system/systemd-fsck-root.service \
+        ${systemd_unitdir}/system/systemd-fsck@.service \
+        ${rootlibexecdir}/systemd/systemd-fsck \
+"
 
-FILES_${PN}-dbg += "${libdir}/systemd/ptest/.debug"
+PACKAGES =+ "${PN}-services-fuse"
+SUMMARY_${PN}-services-fuse = "FUSE (filesystem in userspace) service"
+FILES_${PN}-services-fuse = "\
+        ${systemd_unitdir}/system/sysinit.target.wants/sys-fs-fuse-connections.mount \
+        ${systemd_unitdir}/system/sys-fs-fuse-connections.mount \
+"
+
+PACKAGES =+ "${PN}-services-getty"
+SUMMARY_${PN}-services-getty = "Getty service"
+RRECOMMENDS_${PN}-services-getty = "util-linux-agetty ${PN}-generators-getty"
+FILES_${PN}-services-getty = "\
+        ${systemd_unitdir}/system/autovt@.service \
+        ${systemd_unitdir}/system/console-getty.service \
+        ${systemd_unitdir}/system/container-getty@.service \
+        ${systemd_unitdir}/system/getty@.service \
+        ${systemd_unitdir}/system/serial-getty@.service \
+        ${sysconfdir}/systemd/system/getty.target.wants/ \
+"
+
+PACKAGES =+ "${PN}-services-hostnamed"
+SUMMARY_${PN}-services-hostnamed = "Host name bus mechanism"
+RDEPENDS_${PN}-services-hostnamed = "${PN}-services-dbus"
+CONFFILES_${PN}-services-hostnamed = "${sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf"
+FILES_${PN}-services-hostnamed = "\
+        ${sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf \
+        ${bindir}/hostnamectl \
+        ${systemd_unitdir}/system/busnames.target.wants/org.freedesktop.hostname1.busname \
+        ${systemd_unitdir}/system/dbus-org.freedesktop.hostname1.service \
+        ${systemd_unitdir}/system/org.freedesktop.hostname1.busname \
+        ${systemd_unitdir}/system/systemd-hostnamed.service \
+        ${rootlibexecdir}/systemd/systemd-hostnamed \
+        ${datadir}/dbus-1/system-services/org.freedesktop.hostname1.service \
+        ${datadir}/polkit-1/actions/org.freedesktop.hostname1.policy \
+"
+
+PACKAGES =+ "${PN}-services-journal"
+SUMMARY_${PN}-services-journal = "Journal (logging) service"
+CONFFILES_${PN}-services-journal = "${sysconfdir}/systemd/journald.conf"
+FILES_${PN}-services-journal = "\
+        ${base_bindir}/journalctl \
+        ${rootlibexecdir}/systemd/systemd-journald \
+        ${sysconfdir}/systemd/journald.conf \
+        ${systemd_unitdir}/system/sockets.target.wants/systemd-journald-dev-log.socket \
+        ${systemd_unitdir}/system/sockets.target.wants/systemd-journald.socket \
+        ${systemd_unitdir}/system/sysinit.target.wants/systemd-journal-catalog-update.service \
+        ${systemd_unitdir}/system/sysinit.target.wants/systemd-journal-flush.service \
+        ${systemd_unitdir}/system/sysinit.target.wants/systemd-journald.service \
+        ${systemd_unitdir}/system/systemd-journal-catalog-update.service \
+        ${systemd_unitdir}/system/systemd-journal-flush.service \
+        ${systemd_unitdir}/system/systemd-journald-dev-log.socket \
+        ${systemd_unitdir}/system/systemd-journald.service \
+        ${systemd_unitdir}/system/systemd-journald.socket \
+        ${exec_prefix}/lib/systemd/catalog/ \
+"
+
+PACKAGES =+ "${PN}-services-ldconfig"
+SUMMARY_${PN}-services-ldconfig = "Service to run ldconfig after updates"
+FILES_${PN}-services-ldconfig = "\
+        ${systemd_unitdir}/system/sysinit.target.wants/ldconfig.service \
+        ${systemd_unitdir}/system/ldconfig.service \
+"
+
+PACKAGES =+ "${PN}-services-localed"
+SUMMARY_${PN}-services-localed = "Locale bus mechanism"
+RDEPENDS_${PN}-services-localed = "${PN}-services-dbus"
+CONFFILES_${PN}-services-localed = "${sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf"
+FILES_${PN}-services-localed = "\
+        ${sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf \
+        ${bindir}/localectl \
+        ${systemd_unitdir}/system/busnames.target.wants/org.freedesktop.locale1.busname \
+        ${systemd_unitdir}/system/dbus-org.freedesktop.locale1.service \
+        ${systemd_unitdir}/system/org.freedesktop.locale1.busname \
+        ${systemd_unitdir}/system/systemd-localed.service \
+        ${rootlibexecdir}/systemd/systemd-localed \
+        ${datadir}/dbus-1/system-services/org.freedesktop.locale1.service \
+        ${datadir}/polkit-1/actions/org.freedesktop.locale1.policy \
+        ${datadir}/systemd/kbd-model-map \
+"
+
+PACKAGES =+ "${PN}-services-logind"
+SUMMARY_${PN}-services-logind = "Login management service"
+RDEPENDS_${PN}-services-logind = "${PN}-services-dbus ${PN}-services-tmpfiles"
+RRECOMMENDS_${PN}-services-logind = "udev"
+CONFFILES_${PN}-services-logind = "\
+        ${sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf \
+        ${sysconfdir}/systemd/logind.conf \
+"
+FILES_${PN}-services-logind = "\
+        ${sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf \
+        ${sysconfdir}/systemd/logind.conf \
+        ${base_bindir}/loginctl \
+        ${base_bindir}/systemd-inhibit \
+        ${systemd_unitdir}/system/busnames.target.wants/org.freedesktop.login1.busname \
+        ${systemd_unitdir}/system/dbus-org.freedesktop.login1.service \
+        ${systemd_unitdir}/system/multi-user.target.wants/systemd-logind.service \
+        ${systemd_unitdir}/system/multi-user.target.wants/systemd-user-sessions.service \
+        ${systemd_unitdir}/system/org.freedesktop.login1.busname \
+        ${systemd_unitdir}/system/systemd-logind.service \
+        ${systemd_unitdir}/system/systemd-user-sessions.service \
+        ${systemd_unitdir}/system/user@.service \
+        ${rootlibexecdir}/systemd/systemd-logind \
+        ${rootlibexecdir}/systemd/systemd-user-sessions \
+        ${datadir}/dbus-1/system-services/org.freedesktop.login1.service \
+        ${datadir}/polkit-1/actions/org.freedesktop.login1.policy \
+        ${rootlibexecdir}/udev/rules.d/70-uaccess.rules \
+        ${rootlibexecdir}/udev/rules.d/70-power-switch.rules \
+        ${rootlibexecdir}/udev/rules.d/71-seat.rules \
+        ${rootlibexecdir}/udev/rules.d/73-seat-late.rules \
+"
+
+PACKAGES =+ "${PN}-services-machined"
+SUMMARY_${PN}-services-machined = "Virtual machine and container registration manager"
+RDEPENDS_${PN}-services-machined = "${PN}-services-dbus"
+CONFFILES_${PN}-services-machined = "${sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf"
+FILES_${PN}-services-machined = "\
+        ${sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf \
+        ${base_bindir}/machinectl \
+        ${systemd_unitdir}/system/busnames.target.wants/org.freedesktop.machine1.busname \
+        ${systemd_unitdir}/system/dbus-org.freedesktop.machine1.service \
+        ${systemd_unitdir}/system/machine.slice \
+        ${systemd_unitdir}/system/org.freedesktop.machine1.busname \
+        ${systemd_unitdir}/system/systemd-machined.service \
+        ${rootlibexecdir}/systemd/systemd-machined \
+        ${datadir}/dbus-1/system-services/org.freedesktop.machine1.service \
+"
+
+PACKAGES =+ "${PN}-services-modules-load"
+SUMMARY_${PN}-services-modules-load = "Load kernel modules at boot"
+FILES_${PN}-services-modules-load = "\
+        ${sysconfdir}/modules-load.d/ \
+        ${systemd_unitdir}/system/sysinit.target.wants/systemd-modules-load.service \
+        ${systemd_unitdir}/system/systemd-modules-load.service \
+        ${rootlibexecdir}/systemd/systemd-modules-load \
+        ${exec_prefix}/lib/modules-load.d \
+"
+
+PACKAGES =+ "${PN}-services-modules-static-nodes"
+SUMMARY_${PN}-services-modules-static-nodes = "Create list of required static device nodes for the current kernel"
+RDEPENDS_${PN}-services-modules-static-nodes = "kmod ${PN}-services-tmpfiles"
+FILES_${PN}-services-modules-static-nodes = "\
+        ${systemd_unitdir}/system/sysinit.target.wants/kmod-static-nodes.service \
+        ${systemd_unitdir}/system/kmod-static-nodes.service \
+"
+
+
+PACKAGES =+ "${PN}-services-multi-seat-x"
+SUMMARY_${PN}-services-multi-seat-x = "X11 multi-seat support service"
+RDEPENDS_${PN}-services-multi-seat-x = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/xserver', '', d)}"
+FILES_${PN}-services-multi-seat-x = "\
+        ${rootlibexecdir}/systemd/systemd-multi-seat-x \
+"
+
+PACKAGES += "${PN}-services-networkd"
+SUMMARY_${PN}-services-networkd = "Network manager (static, DHCP, bridge...)"
+# NOTE: if no sysusers, then users/groups must be setup
+RRECOMMENDS_${PN}-services-networkd = "${PN}-services-sysusers"
+FILES_${PN}-services-networkd = "\
+        ${sysconfdir}/systemd/network/ \
+        ${sysconfdir}/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service \
+        ${sysconfdir}/systemd/system/multi-user.target.wants/systemd-networkd.service \
+        ${base_bindir}/networkctl \
+        ${rootlibexecdir}/systemd/network/80-container-host0.network \
+        ${rootlibexecdir}/systemd/network/80-container-ve.network \
+        ${rootlibexecdir}/systemd/network/99-default.link \
+        ${systemd_unitdir}/system/systemd-networkd-wait-online.service \
+        ${systemd_unitdir}/system/systemd-networkd.service \
+        ${rootlibexecdir}/systemd/systemd-networkd \
+        ${rootlibexecdir}/systemd/systemd-networkd-wait-online \
+        ${exec_prefix}/lib/systemd/network \
+        ${sysconfdir}/dbus-1/system.d/org.freedesktop.network1.conf \
+        ${datadir}/dbus-1/system-services/org.freedesktop.network1.service \
+"
+
+PACKAGES += "${PN}-services-journal-gatewayd"
+SUMMARY_${PN}-services-journal-gatewayd = "HTTP server for journal events"
+RRECOMMENDS_${PN}-services-journal-gatewayd = "${PN}-services-networkd"
+FILES_${PN}-services-journal-gatewayd = "\
+	${rootlibexecdir}/systemd/systemd-journal-gatewayd \
+	${rootlibexecdir}/systemd/systemd-journal-remote \
+	${exec_prefix}/lib/sysusers.d/systemd-remote.conf \
+	${exec_prefix}/lib/tmpfiles.d/systemd-remote.conf \
+	${sysconfdir}/systemd/journal-remote.conf \
+"
+
+PACKAGES =+ "${PN}-services-nspawn"
+SUMMARY_${PN}-services-nspawn = "Spawn a namespace container for debugging, testing and building"
+FILES_${PN}-services-nspawn = "\
+        ${systemd_unitdir}/system/systemd-nspawn@.service \
+        ${bindir}/systemd-nspawn \
+"
+
+PACKAGES =+ "${PN}-services-quota"
+SUMMARY_${PN}-services-quota = "File system quota checker logic"
+RDEPENDS_${PN}-services-quota = "quota"
+FILES_${PN}-services-quota = "\
+        ${systemd_unitdir}/system/quotaon.service \
+        ${systemd_unitdir}/system/systemd-quotacheck.service \
+        ${rootlibexecdir}/systemd/systemd-quotacheck \
+"
+
+PACKAGES =+ "${PN}-services-randomseed"
+SUMMARY_${PN}-services-randomseed = "systemd's random seed save/restore service"
+FILES_${PN}-services-randomseed = "\
+        ${systemd_unitdir}/system/sysinit.target.wants/systemd-random-seed.service \
+        ${systemd_unitdir}/system/systemd-random-seed.service \
+        ${rootlibexecdir}/systemd/systemd-random-seed \
+"
+
+PACKAGES =+ "${PN}-services-readahead"
+SUMMARY_${PN}-services-readahead = "Load and save the system random seed at boot and shutdown"
+FILES_${PN}-services-readahead = "\
+        ${systemd_unitdir}/system/systemd-readahead-collect.service \
+        ${systemd_unitdir}/system/systemd-readahead-done.service \
+        ${systemd_unitdir}/system/systemd-readahead-done.timer \
+        ${systemd_unitdir}/system/systemd-readahead-drop.service \
+        ${systemd_unitdir}/system/systemd-readahead-replay.service \
+        ${rootlibexecdir}/systemd/systemd-readahead \
+"
+
+PACKAGES =+ "${PN}-services-rfkill"
+SUMMARY_${PN}-services-rfkill = "Load and save the RF kill switch state at boot and shutdown"
+FILES_${PN}-services-rfkill = "\
+        ${systemd_unitdir}/system/systemd-rfkill@.service \
+        ${rootlibexecdir}/systemd/systemd-rfkill \
+"
+
+PACKAGES =+ "${PN}-services-sleep"
+SUMMARY_${PN}-services-sleep = "System sleep state logic"
+FILES_${PN}-services-sleep = "\
+        ${systemd_unitdir}/system/systemd-hybrid-sleep.service \
+        ${systemd_unitdir}/system/systemd-suspend.service \
+        ${systemd_unitdir}/system/systemd-hibernate.service \
+        ${systemd_unitdir}/system-sleep/ \
+        ${rootlibexecdir}/systemd/systemd-sleep \
+"
+
+PACKAGES =+ "${PN}-services-sysctl"
+SUMMARY_${PN}-services-sysctl = "Configure kernel parameters at boot"
+FILES_${PN}-services-sysctl = "\
+        ${sysconfdir}/sysctl.d/ \
+        ${exec_prefix}/lib/sysctl.d/ \
+        ${exec_prefix}/lib/sysctl.d/50-default.conf \
+        ${systemd_unitdir}/system/sysinit.target.wants/systemd-sysctl.service \
+        ${systemd_unitdir}/system/systemd-sysctl.service \
+        ${rootlibexecdir}/systemd/systemd-sysctl \
+"
+
+PACKAGES =+ "${PN}-services-sysusers"
+SUMMARY_${PN}-services-sysusers = "Allocate system users and groups"
+FILES_${PN}-services-sysusers = "\
+        ${base_bindir}/systemd-sysusers \
+        ${systemd_unitdir}/system/sysinit.target.wants/systemd-sysusers.service \
+        ${systemd_unitdir}/system/systemd-sysusers.service \
+        ${exec_prefix}/lib/sysusers.d/basic.conf \
+        ${exec_prefix}/lib/sysusers.d/systemd.conf \
+"
+
+PACKAGES =+ "${PN}-services-sysvcompat"
+SUMMARY_${PN}-services-sysvcompat = "SYSV legacy and compatibility services"
+# NOTE: if no sysusers or tmpfiles, then users/groups and FS structure must be setup
+RRECOMMENDS_${PN}-services-sysvcompat = "${PN}-services-sysusers ${PN}-services-tmpfiles"
+FILES_${PN}-services-sysvcompat = "\
+        ${rootlibexecdir}/systemd/systemd-bus-proxyd \
+        ${rootlibexecdir}/systemd/systemd-socket-proxyd \
+        ${bindir}/systemd-stdio-bridge \
+        ${rootlibexecdir}/systemd/system-generators/systemd-rc-local-generator \
+        ${rootlibexecdir}/systemd/system-generators/systemd-sysv-generator \
+        ${rootlibexecdir}/systemd/systemd-initctl \
+        ${rootlibexecdir}/systemd/systemd-update-utmp \
+        ${systemd_unitdir}/system/halt-local.service \
+        ${systemd_unitdir}/system/rc-local.service \
+        ${systemd_unitdir}/system/runlevel1.target.wants/systemd-update-utmp-runlevel.service \
+        ${systemd_unitdir}/system/runlevel2.target.wants/systemd-update-utmp-runlevel.service \
+        ${systemd_unitdir}/system/runlevel3.target.wants/systemd-update-utmp-runlevel.service \
+        ${systemd_unitdir}/system/runlevel4.target.wants/systemd-update-utmp-runlevel.service \
+        ${systemd_unitdir}/system/runlevel5.target.wants/systemd-update-utmp-runlevel.service \
+        ${systemd_unitdir}/system/sockets.target.wants/systemd-initctl.socket \
+        ${systemd_unitdir}/system/sysinit.target.wants/systemd-update-utmp.service \
+        ${systemd_unitdir}/system/systemd-initctl.service \
+        ${systemd_unitdir}/system/systemd-initctl.socket \
+        ${systemd_unitdir}/system/systemd-update-utmp-runlevel.service \
+        ${systemd_unitdir}/system/systemd-update-utmp.service \
+        ${exec_prefix}/lib/tmpfiles.d/legacy.conf \
+"
+
+PACKAGES =+ "${PN}-services-timedated"
+SUMMARY_${PN}-services-timedated = "Time and date bus mechanism"
+RDEPENDS_${PN}-services-timedated = "${PN}-services-dbus"
+CONFFILES_${PN}-services-timedated = "${sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf"
+FILES_${PN}-services-timedated = "\
+        ${sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf \
+        ${bindir}/timedatectl \
+        ${systemd_unitdir}/system/busnames.target.wants/org.freedesktop.timedate1.busname \
+        ${systemd_unitdir}/system/dbus-org.freedesktop.timedate1.service \
+        ${systemd_unitdir}/system/org.freedesktop.timedate1.busname \
+        ${systemd_unitdir}/system/systemd-timedated.service \
+        ${rootlibexecdir}/systemd/systemd-timedated \
+        ${datadir}/dbus-1/system-services/org.freedesktop.timedate1.service \
+        ${datadir}/polkit-1/actions/org.freedesktop.timedate1.policy \
+"
+
+PACKAGES =+ "${PN}-services-timesyncd"
+SUMMARY_${PN}-services-timesyncd = "Network Time Synchronization"
+# NOTE: if no sysusers, then users/groups must be setup
+RRECOMMENDS_${PN}-services-timesyncd = "${PN}-services-sysusers"
+CONFFILES_${PN}-services-timesyncd = "${sysconfdir}/systemd/timesyncd.conf"
+FILES_${PN}-services-timesyncd = "\
+        ${sysconfdir}/systemd/system/sysinit.target.wants/systemd-timesyncd.service \
+        ${sysconfdir}/systemd/timesyncd.conf \
+        ${systemd_unitdir}/system/systemd-timesyncd.service \
+        ${rootlibexecdir}/systemd/systemd-timesyncd \
+"
+
+PACKAGES =+ "${PN}-services-tmpfiles"
+SUMMARY_${PN}-services-tmpfiles = "Creates, deletes and cleans up volatile and temporary files and directories"
+FILES_${PN}-services-tmpfiles = "\
+        ${sysconfdir}/tmpfiles.d/ \
+        ${base_bindir}/systemd-tmpfiles \
+        ${systemd_unitdir}/system/sysinit.target.wants/systemd-tmpfiles-setup-dev.service \
+        ${systemd_unitdir}/system/sysinit.target.wants/systemd-tmpfiles-setup.service \
+        ${systemd_unitdir}/system/systemd-tmpfiles-clean.service \
+        ${systemd_unitdir}/system/systemd-tmpfiles-clean.timer \
+        ${systemd_unitdir}/system/systemd-tmpfiles-setup-dev.service \
+        ${systemd_unitdir}/system/systemd-tmpfiles-setup.service \
+        ${systemd_unitdir}/system/timers.target.wants/systemd-tmpfiles-clean.timer \
+        ${exec_prefix}/lib/tmpfiles.d/etc.conf \
+        ${exec_prefix}/lib/tmpfiles.d/systemd-nologin.conf \
+        ${exec_prefix}/lib/tmpfiles.d/systemd.conf \
+        ${exec_prefix}/lib/tmpfiles.d/tmp.conf \
+        ${exec_prefix}/lib/tmpfiles.d/var.conf \
+        ${exec_prefix}/lib/tmpfiles.d/00-create-volatile.conf \
+        ${exec_prefix}/lib/tmpfiles.d/x11.conf \
+"
+
+PACKAGES =+ "${PN}-services-udev"
+SUMMARY_${PN}-services-udev = "Device event managing daemon"
+RDEPENDS_${PN}-services-udev = "udev"
+FILES_${PN}-services-udev = "\
+        ${systemd_unitdir}/system/initrd-udevadm-cleanup-db.service \
+        ${systemd_unitdir}/system/systemd-udev-hwdb-update.service \
+        ${systemd_unitdir}/system/systemd-udev-settle.service \
+        ${systemd_unitdir}/system/systemd-udev-trigger.service \
+        ${systemd_unitdir}/system/systemd-udevd-control.socket \
+        ${systemd_unitdir}/system/systemd-udevd-kernel.socket \
+        ${systemd_unitdir}/system/systemd-udevd.service \
+        ${systemd_unitdir}/system/sysinit.target.wants/systemd-udevd.service \
+        ${systemd_unitdir}/system/sysinit.target.wants/systemd-udev-trigger.service \
+        ${systemd_unitdir}/system/sysinit.target.wants/systemd-udev-hwdb-update.service \
+        ${systemd_unitdir}/system/sockets.target.wants/systemd-udevd-kernel.socket \
+        ${systemd_unitdir}/system/sockets.target.wants/systemd-udevd-control.socket \
+"
+
+PACKAGES =+ "${PN}-services-update"
+SUMMARY_${PN}-services-update = "Mark /etc and /var fully updated"
+FILES_${PN}-services-update = "\
+        ${rootlibexecdir}/systemd/system-generators/systemd-system-update-generator \
+        ${rootlibexecdir}/systemd/systemd-update-done \
+        ${systemd_unitdir}/system/sysinit.target.wants/systemd-update-done.service \
+        ${systemd_unitdir}/system/systemd-update-done.service \
+"
+
+PACKAGES =+ "${PN}-services-vconsole"
+SUMMARY_${PN}-services-vconsole = "Configure the virtual console at boot"
+RECOMMENDS_${PN}-services-vconsole = "kbd kbd-consolefonts kbd-keymaps"
+FILES_${PN}-services-vconsole = "\
+        ${systemd_unitdir}/system/sysinit.target.wants/systemd-vconsole-setup.service \
+        ${systemd_unitdir}/system/systemd-vconsole-setup.service \
+        ${rootlibexecdir}/systemd/systemd-vconsole-setup \
+"
+
+########################################################################
+# Standard BitBake Packages
+########################################################################
+
+FILES_${PN}-dbg += "\
+        ${base_libdir}/security/.debug/ \
+        ${libdir}/systemd/ptest/.debug \
+        ${rootlibdir}/.debug \
+        ${systemd_unitdir}/*/.debug \
+        ${systemd_unitdir}/.debug \
+"
 
 FILES_${PN}-gui = "${bindir}/systemadm"
 
-FILES_${PN}-vconsole-setup = "${rootlibexecdir}/systemd/systemd-vconsole-setup \
-                              ${systemd_unitdir}/system/systemd-vconsole-setup.service \
-                              ${systemd_unitdir}/system/sysinit.target.wants/systemd-vconsole-setup.service"
+FILES_${PN}-dev += "\
+        ${base_libdir}/security/*.la \
+        ${datadir}/dbus-1/interfaces/ \
+        ${sysconfdir}/rpm/macros.systemd \
+"
 
-RDEPENDS_${PN}-kernel-install += "bash"
-FILES_${PN}-kernel-install = "${bindir}/kernel-install \
-                              ${sysconfdir}/kernel/ \
-                              ${exec_prefix}/lib/kernel \
-                             "
-FILES_${PN}-rpm-macros = "${exec_prefix}/lib/rpm \
-                         "
-
-FILES_${PN}-zsh = "${datadir}/zsh/site-functions"
-
-FILES_${PN}-binfmt = "${sysconfdir}/binfmt.d/ \
-                      ${exec_prefix}/lib/binfmt.d \
-                      ${rootlibexecdir}/systemd/systemd-binfmt \
-                      ${systemd_unitdir}/system/proc-sys-fs-binfmt_misc.* \
-                      ${systemd_unitdir}/system/systemd-binfmt.service"
-RRECOMMENDS_${PN}-binfmt = "kernel-module-binfmt-misc"
-
-RRECOMMENDS_${PN}-vconsole-setup = "kbd kbd-consolefonts kbd-keymaps"
-
-CONFFILES_${PN} = "${sysconfdir}/systemd/journald.conf \
-                ${sysconfdir}/systemd/logind.conf \
-                ${sysconfdir}/systemd/system.conf \
-                ${sysconfdir}/systemd/user.conf"
-
-FILES_${PN} = " ${base_bindir}/* \
-                ${datadir}/bash-completion \
-                ${datadir}/dbus-1/services \
-                ${datadir}/dbus-1/system-services \
-                ${datadir}/polkit-1 \
-                ${datadir}/${BPN} \
-                ${datadir}/factory \
-                ${sysconfdir}/bash_completion.d/ \
-                ${sysconfdir}/dbus-1/ \
-                ${sysconfdir}/machine-id \
-                ${sysconfdir}/modules-load.d/ \
-                ${sysconfdir}/pam.d/ \
-                ${sysconfdir}/sysctl.d/ \
-                ${sysconfdir}/systemd/ \
-                ${sysconfdir}/tmpfiles.d/ \
-                ${sysconfdir}/xdg/ \
-                ${sysconfdir}/init.d/README \
-                ${rootlibexecdir}/systemd/* \
-                ${systemd_unitdir}/* \
-                ${base_libdir}/security/*.so \
-                ${libdir}/libnss_* \
-                /cgroup \
-                ${bindir}/systemd* \
-                ${bindir}/busctl \
-                ${bindir}/localectl \
-                ${bindir}/hostnamectl \
-                ${bindir}/timedatectl \
-                ${bindir}/bootctl \
-                ${bindir}/kernel-install \
-                ${exec_prefix}/lib/tmpfiles.d/*.conf \
-                ${exec_prefix}/lib/systemd \
-                ${exec_prefix}/lib/modules-load.d \
-                ${exec_prefix}/lib/sysctl.d \
-                ${exec_prefix}/lib/sysusers.d \
-                ${localstatedir} \
-                /lib/udev/rules.d/70-uaccess.rules \
-                /lib/udev/rules.d/71-seat.rules \
-                /lib/udev/rules.d/73-seat-late.rules \
-                /lib/udev/rules.d/99-systemd.rules \
-               "
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} += "--system systemd-journal-gateway; --system systemd-timesync"
+GROUPADD_PARAM_${PN} = "-r lock; -r systemd-journal"
 
-FILES_${PN}-dbg += "${rootlibdir}/.debug ${systemd_unitdir}/.debug ${systemd_unitdir}/*/.debug ${base_libdir}/security/.debug/"
-FILES_${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ ${sysconfdir}/rpm/macros.systemd"
+# The test cases need perl and bash to run correctly.
+RDEPENDS_${PN}-ptest += "perl python bash"
+FILES_${PN}-ptest += "\
+        ${libdir}/udev/rules.d \
+"
 
-RDEPENDS_${PN} += "kmod dbus util-linux-mount udev (= ${EXTENDPKGV})"
-RDEPENDS_${PN} += "volatile-binds"
+########################################################################
+# Misc Packages
+########################################################################
+
+PACKAGES =+ "${PN}-bash"
+SUMMARY_${PN}-bash = "Bash shell commands completion"
+FILES_${PN}-bash = "\
+        ${datadir}/bash-completion/completions/bootctl \
+        ${datadir}/bash-completion/completions/busctl \
+        ${datadir}/bash-completion/completions/coredumpctl \
+        ${datadir}/bash-completion/completions/hostnamectl \
+        ${datadir}/bash-completion/completions/journalctl \
+        ${datadir}/bash-completion/completions/kernel-install \
+        ${datadir}/bash-completion/completions/localectl \
+        ${datadir}/bash-completion/completions/loginctl \
+        ${datadir}/bash-completion/completions/machinectl \
+        ${datadir}/bash-completion/completions/systemctl \
+        ${datadir}/bash-completion/completions/systemd-* \
+        ${datadir}/bash-completion/completions/timedatectl \
+"
+
+PACKAGES =+ "${PN}-initramfs"
+SUMMARY_${PN}-initramfs = "Initramfs support"
+FILES_${PN}-initramfs = "/init"
+RDEPENDS_${PN}-initramfs = "${PN}"
 
-RRECOMMENDS_${PN} += "systemd-serialgetty systemd-compat-units udev-hwdb\
-                      util-linux-agetty \
-                      util-linux-fsck e2fsprogs-e2fsck \
-                      kernel-module-autofs4 kernel-module-unix kernel-module-ipv6 os-release \
+PACKAGES =+ "${PN}-kernel-install"
+SUMMARY_${PN}-kernel-install = "systemd tool to add/remove kernel and initramfs images to/from /boot"
+RDEPENDS_${PN}-kernel-install += "bash"
+FILES_${PN}-kernel-install = "\
+        ${bindir}/kernel-install \
+        ${sysconfdir}/kernel/ \
+        ${exec_prefix}/lib/kernel \
 "
 
-PACKAGES =+ "udev-dbg udev udev-hwdb"
+PACKAGES =+ "${PN}-pam"
+SUMMARY_${PN}-pam = "systemd PAM modules and configuration"
+FILES_${PN}-pam = "\
+        ${sysconfdir}/pam.d \
+        ${base_libdir}/security/pam_systemd.so \
+"
 
-FILES_udev-dbg += "/lib/udev/.debug"
+PACKAGES =+ "${PN}-preset"
+SUMMARY_${PN}-preset = "Service enablement presets"
+FILES_${PN}-preset = "${systemd_unitdir}/system-preset/90-systemd.preset"
 
-RPROVIDES_udev = "hotplug"
+PACKAGES =+ "${PN}-rpm-macros"
+SUMMARY_${PN}-rpm-macros = "RPM macros"
+FILES_${PN}-rpm-macros = "${exec_prefix}/lib/rpm \
+			 "
 
-RDEPENDS_udev-hwdb += "udev"
+PACKAGES =+ "${PN}-zsh"
+SUMMARY_${PN}-zsh = "Zsh shell commands completion"
+FILES_${PN}-zsh = "\
+        ${datadir}/zsh/site-functions \
+"
 
-FILES_udev += "${base_sbindir}/udevd \
-               ${rootlibexecdir}/systemd/systemd-udevd \
-               ${rootlibexecdir}/udev/accelerometer \
-               ${rootlibexecdir}/udev/ata_id \
-               ${rootlibexecdir}/udev/cdrom_id \
-               ${rootlibexecdir}/udev/collect \
-               ${rootlibexecdir}/udev/findkeyboards \
-               ${rootlibexecdir}/udev/keyboard-force-release.sh \
-               ${rootlibexecdir}/udev/keymap \
-               ${rootlibexecdir}/udev/mtd_probe \
-               ${rootlibexecdir}/udev/scsi_id \
-               ${rootlibexecdir}/udev/v4l_id \
-               ${rootlibexecdir}/udev/keymaps \
-               ${rootlibexecdir}/udev/rules.d/*.rules \
-               ${sysconfdir}/udev \
-               ${sysconfdir}/init.d/systemd-udevd \
-               ${systemd_unitdir}/system/*udev* \
-               ${systemd_unitdir}/system/*.wants/*udev* \
-               ${base_bindir}/udevadm \
-               ${datadir}/bash-completion/completions/udevadm \
-              "
-
-FILES_udev-hwdb = "${rootlibexecdir}/udev/hwdb.d"
+########################################################################
+# Aggregation of Split Packages
+########################################################################
+PACKAGES =+ "${PN}-services-base"
+SUMMARY_${PN}-services-base = "Base services aggregation"
+ALLOW_EMPTY_${PN}-services-base = "1"
+RDEPENDS_${PN}-services-base = " \
+        ${@bb.utils.contains('PACKAGECONFIG', 'ask-password', '${PN}-services-ask-password', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'backlight', '${PN}-services-backlight', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'binfmt', '${PN}-services-binfmt', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'dbus', '${PN}-services-dbus', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'firstboot', '${PN}-services-firstboot', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'fuse', '${PN}-services-fuse', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'quota', '${PN}-services-quota', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'rfkill', '${PN}-services-rfkill', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'timesyncd', '${PN}-services-timesyncd', '', d)}  \
+        ${@bb.utils.contains('PACKAGECONFIG', 'update', '${PN}-services-update', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'vconsole', '${PN}-services-vconsole', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'filesystems', '${PN}-generators-filesystems', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'preset', '${PN}-preset', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'fsck', '${PN}-services-fsck', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'journal', '${PN}-services-journal', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'modules-load', '${PN}-services-modules-load', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'randomseed', '${PN}-services-randomseed', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'sleep', '${PN}-services-sleep', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'sysctl', '${PN}-services-sysctl', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'sysusers', '${PN}-services-sysusers', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'tmpfiles', '${PN}-services-tmpfiles', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'udev', '${PN}-services-udev', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'tools', '${PN}-tools', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'bash', '${PN}-bash', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'initramfs', '${PN}-initramfs', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'kernel-install', '${PN}-kernel-install', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'rpm-macros', '${PN}-rpm-macros', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'zsh', '${PN}-zsh', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'bootchart', '${PN}-services-bootchart', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'debug', '${PN}-services-debug', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'machined', '${PN}-services-machined', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'nspawn', '${PN}-services-nspawn', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'sysvcompat', '${PN}-services-sysvcompat', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'getty', '${PN}-generators-getty', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'getty', '${PN}-services-getty', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'ldconfig', '${PN}-services-ldconfig', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'polkit', '${PN}-services-hostnamed', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'polkit', '${PN}-services-localed', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'polkit', '${PN}-services-logind', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'polkit', '${PN}-services-timedated', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PN}-pam', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'networkd', '${PN}-services-networkd', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-services-networkd', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-services-journal-gatewayd', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'cryptsetup', '${PN}-services-cryptsetup', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'gudev', 'udev-dbg', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'x11', '${PN}-services-multi-seat-x', '', d)} \
+"
 
-INITSCRIPT_PACKAGES = "udev"
-INITSCRIPT_NAME_udev = "systemd-udevd"
-INITSCRIPT_PARAMS_udev = "start 03 S ."
+########################################################################
+# Core Package
+########################################################################
 
-python __anonymous() {
-    if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
-        d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1")
-}
+CONFFILES_${PN} = "\
+        ${sysconfdir}/systemd/system.conf \
+        ${sysconfdir}/systemd/user.conf \
+"
 
+FILES_${PN} = "\
+        ${base_bindir}/systemctl \
+        ${base_bindir}/systemd-hwdb \
+        ${bindir}/bootctl \
+        ${datadir}/${BPN} \
+        ${datadir}/factory \
+        ${exec_prefix}/lib/libnss_myhostname* \
+        ${exec_prefix}/lib/libnss_mymachines.so.2 \
+        ${libdir}/systemd/user-generators/ \
+        ${libdir}/systemd/user/ \
+        ${localstatedir} \
+        ${rootlibexecdir}/systemd/systemd \
+        ${rootlibexecdir}/systemd/systemd-cgroups-agent \
+        ${rootlibexecdir}/systemd/systemd-shutdown \
+        ${rootlibexecdir}/systemd/systemd-shutdownd \
+        ${rootlibexecdir}/systemd/systemd-machine-id-commit \
+        ${rootlibexecdir}/systemd/systemd-hibernate-resume \
+        ${rootlibexecdir}/systemd/systemd-importd \
+        ${rootlibexecdir}/systemd/import-pubring.gpg \
+        ${rootlibexecdir}/systemd/systemd-pull \
+        ${sysconfdir}/init.d/README \
+        ${sysconfdir}/machine-id \
+        ${sysconfdir}/systemd/system.conf \
+        ${sysconfdir}/systemd/system/ \
+        ${sysconfdir}/systemd/user.conf \
+        ${sysconfdir}/systemd/user/ \
+        ${sysconfdir}/xdg/systemd/ \
+        ${sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh \
+        ${systemd_unitdir}/system-generators/ \
+        ${systemd_unitdir}/system-preset/ \
+        ${systemd_unitdir}/system-shutdown/ \
+        ${systemd_unitdir}/system/ \
+"
 # TODO:
 # u-a for runlevel and telinit
+RDEPENDS_${PN} += "kmod dbus util-linux-mount udev (= ${EXTENDPKGV})"
+RDEPENDS_${PN} += "volatile-binds"
+
+RRECOMMENDS_${PN} += "\
+        ${PN}-services-base \
+        kernel-module-autofs4 \
+        kernel-module-ipv6 \
+        kernel-module-unix \
+        util-linux-agetty \
+        util-linux-fsck \
+        e2fsprogs-e2fsck \
+        os-release \
+        udev-hwdb \
+        systemd-serialgetty \
+        systemd-compat-units \
+"
 
 ALTERNATIVE_${PN} = "init halt reboot shutdown poweroff runlevel"
 
@@ -385,6 +1015,41 @@ ALTERNATIVE_TARGET[runlevel] = "${base_bindir}/systemctl"
 ALTERNATIVE_LINK_NAME[runlevel] = "${base_sbindir}/runlevel"
 ALTERNATIVE_PRIORITY[runlevel] ?= "300"
 
+
+########################################################################
+# UDEV Section
+########################################################################
+
+PACKAGES =+ "udev-dbg"
+SUMMARY_udev-dbg = "Dynamic device management - Debugging files"
+RRECOMMENDS_udev-dbg += "${PN}-dbg"
+FILES_udev-dbg = "\
+        ${rootlibexecdir}/udev/.debug \
+        ${base_sbindir}/.debug/udevd \
+        ${base_bindir}/.debug/udevadm \
+        ${rootlibexecdir}/systemd/.debug/systemd-udevd \
+        ${base_libdir}/.debug/libudev* \
+        ${base_libdir}/.debug/libgudev* \
+        ${exec_prefix}/lib/.debug/libgudev* \
+"
+
+PACKAGES =+ "udev-dev"
+SUMMARY_udev-dev = "Dynamic device management - Development files"
+RRECOMMENDS_udev-dev += "${PN}-dev"
+FILES_udev-dev = "\
+        ${datadir}/pkgconfig/*udev* \
+        ${libdir}/pkgconfig/*udev* \
+        ${libdir}/lib*udev*.la \
+        ${includedir}/*udev* \
+"
+
+PACKAGES =+ "udev-hwdb"
+SUMMARY_udev-hwdb = "Dynamic device management - Hardware database"
+RDEPENDS_udev-hwdb += "udev"
+FILES_udev-hwdb = "\
+        ${rootlibexecdir}/udev/hwdb.d/ \
+"
+
 pkg_postinst_udev-hwdb () {
 	if test -n "$D"; then
 		${@qemu_run_binary(d, '$D', '${base_bindir}/udevadm')} hwdb --update \
@@ -402,6 +1067,154 @@ pkg_prerm_udev-hwdb () {
 	rm -f ${sysconfdir}/udev/hwdb.bin
 }
 
+PACKAGES =+ "udev-bash"
+SUMMARY_udev-bash = "Dynamic device management - Bash shell commands completion"
+FILES_udev-bash = "${datadir}/bash-completion/completions/udevadm"
+
+PACKAGES =+ "udev-zsh"
+SUMMARY_udev-zsh = "Dynamic device management - zsh shell commands completion"
+FILES_udev-zsh = "${datadir}/zsh/site-functions/_udevadm"
+
+
+########################################################################
+# UDEV Rules Packages
+# split rules that require external programs or dependencies.
+# those that use only builtins are not split
+########################################################################
+
+PACKAGES =+ "udev-rules-accelerometer"
+SUMMARY_udev-rules-accelerometer = "Dynamic device management - accelerometer rules"
+FILES_udev-rules-accelerometer = "\
+        ${rootlibexecdir}/udev/accelerometer \
+        ${rootlibexecdir}/udev/rules.d/61-accelerometer.rules \
+        ${rootlibexecdir}/udev/rules.d/70-touchpad.rules \
+"
+
+PACKAGES =+ "udev-rules-cdrom"
+SUMMARY_udev-rules-cdrom = "Dynamic device management - cdrom rules"
+FILES_udev-rules-cdrom = "\
+        ${rootlibexecdir}/udev/cdrom_id \
+        ${rootlibexecdir}/udev/rules.d/60-cdrom_id.rules \
+"
+
+PACKAGES =+ "udev-rules-mtd"
+SUMMARY_udev-rules-mtd = "Dynamic device management - mtd rules"
+FILES_udev-rules-mtd = "\
+        ${rootlibexecdir}/udev/mtd_probe \
+        ${rootlibexecdir}/udev/rules.d/75-probe_mtd.rules \
+"
+
+PACKAGES =+ "udev-rules-persistent-storage"
+SUMMARY_udev-rules-persistent-storage = "Dynamic device management - persistent storage rules"
+FILES_udev-rules-persistent-storage = "\
+        ${rootlibexecdir}/udev/ata_id \
+        ${rootlibexecdir}/udev/scsi_id \
+        ${rootlibexecdir}/udev/rules.d/60-persistent-storage.rules \
+        ${rootlibexecdir}/udev/rules.d/60-persistent-storage-tape.rules \
+"
+
+PACKAGES =+ "udev-rules-systemd"
+SUMMARY_udev-rules-systemd = "Dynamic device management - systemd rules"
+RDEPENDS_udev-rules-systemd = "${PN} ${PN}-services-sysctl"
+FILES_udev-rules-systemd = "\
+        ${rootlibexecdir}/udev/rules.d/99-systemd.rules \
+"
+
+PACKAGES =+ "udev-rules-v4l"
+SUMMARY_udev-rules-v4l = "Dynamic device management - v4l rules"
+FILES_udev-rules-v4l = "\
+        ${rootlibexecdir}/udev/v4l_id \
+        ${rootlibexecdir}/udev/rules.d/*-persistent-v4l.rules \
+"
+
+PACKAGES =+ "udev-rules-all"
+SUMMARY_udev-rules-all = "Dynamic device management - all rules aggregation"
+ALLOW_EMPTY_udev-rules-all = "1"
+RDEPENDS_udev-rules-all = "\
+        udev-rules-accelerometer \
+        udev-rules-cdrom \
+        udev-rules-mtd \
+        udev-rules-persistent-storage \
+        udev-rules-systemd \
+        udev-rules-v4l \
+"
+
+PACKAGES =+ "udev"
+SUMMARY_udev = "Dynamic device management"
+RPROVIDES_udev = "hotplug"
+PROVIDES = "udev"
+CONFFILES_udev = "${sysconfdir}/udev/udev.conf"
+RDEPENDS_udev += "${PN}-services-vconsole"
+FILES_udev = "\
+        ${base_bindir}/udevadm \
+        ${base_sbindir}/udevd \
+        ${rootlibexecdir}/systemd/systemd-udevd \
+        ${rootlibexecdir}/udev/collect \
+        ${rootlibexecdir}/udev/rules.d/42-usb-hid-pm.rules \
+        ${rootlibexecdir}/udev/rules.d/50-firmware.rules \
+        ${rootlibexecdir}/udev/rules.d/50-udev-default.rules \
+        ${rootlibexecdir}/udev/rules.d/60-drm.rules \
+        ${rootlibexecdir}/udev/rules.d/60-keyboard.rules \
+        ${rootlibexecdir}/udev/rules.d/60-persistent-alsa.rules \
+        ${rootlibexecdir}/udev/rules.d/60-persistent-input.rules \
+        ${rootlibexecdir}/udev/rules.d/60-persistent-serial.rules \
+        ${rootlibexecdir}/udev/rules.d/64-btrfs.rules \
+        ${rootlibexecdir}/udev/rules.d/75-net-description.rules \
+        ${rootlibexecdir}/udev/rules.d/75-tty-description.rules \
+        ${rootlibexecdir}/udev/rules.d/78-sound-card.rules \
+        ${rootlibexecdir}/udev/rules.d/80-drivers.rules \
+        ${rootlibexecdir}/udev/rules.d/80-net-setup-link.rules \
+        ${rootlibexecdir}/udev/rules.d/95-udev-late.rules \
+        ${rootlibexecdir}/udev/rules.d/70-mouse.rules \
+        ${rootlibexecdir}/udev/rules.d/90-vconsole.rules \
+        ${rootlibexecdir}/udev/rules.d/touchscreen.rules \
+        ${sysconfdir}/init.d/systemd-udevd \
+        ${sysconfdir}/udev \
+"
+
+RRECOMMENDS_udev = "\
+        udev-hwdb \
+        udev-rules-all \
+"
+
+INITSCRIPT_PACKAGES = "udev"
+INITSCRIPT_NAME_udev = "systemd-udevd"
+INITSCRIPT_PARAMS_udev = "start 03 S ."
+
+python __anonymous() {
+    if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
+        d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1")
+}
+
+# TODO:
+# u-a for runlevel and telinit
+
+ALTERNATIVE_${PN} = "init halt reboot shutdown poweroff runlevel"
+
+ALTERNATIVE_TARGET[init] = "${rootlibexecdir}/systemd/systemd"
+ALTERNATIVE_LINK_NAME[init] = "${base_sbindir}/init"
+ALTERNATIVE_PRIORITY[init] ?= "300"
+
+ALTERNATIVE_TARGET[halt] = "${base_bindir}/systemctl"
+ALTERNATIVE_LINK_NAME[halt] = "${base_sbindir}/halt"
+ALTERNATIVE_PRIORITY[halt] ?= "300"
+
+ALTERNATIVE_TARGET[reboot] = "${base_bindir}/systemctl"
+ALTERNATIVE_LINK_NAME[reboot] = "${base_sbindir}/reboot"
+ALTERNATIVE_PRIORITY[reboot] ?= "300"
+
+ALTERNATIVE_TARGET[shutdown] = "${base_bindir}/systemctl"
+ALTERNATIVE_LINK_NAME[shutdown] = "${base_sbindir}/shutdown"
+ALTERNATIVE_PRIORITY[shutdown] ?= "300"
+
+ALTERNATIVE_TARGET[poweroff] = "${base_bindir}/systemctl"
+ALTERNATIVE_LINK_NAME[poweroff] = "${base_sbindir}/poweroff"
+ALTERNATIVE_PRIORITY[poweroff] ?= "300"
+
+ALTERNATIVE_TARGET[runlevel] = "${base_bindir}/systemctl"
+ALTERNATIVE_LINK_NAME[runlevel] = "${base_sbindir}/runlevel"
+ALTERNATIVE_PRIORITY[runlevel] ?= "300"
+
 # As this recipe builds udev, respect systemd being in DISTRO_FEATURES so
 # that we don't build both udev and systemd in world builds.
 python () {
-- 
2.4.0



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH V3 2/3] systemd: Verify if journal-flush.service exists.
  2015-05-07 16:40 ` [PATCH V3 2/3] systemd: Verify if journal-flush.service exists Bruno Bottazzini
@ 2015-05-07 18:49   ` Andreas Oberritter
  2015-05-07 22:19     ` Bottazzini, Bruno
  0 siblings, 1 reply; 10+ messages in thread
From: Andreas Oberritter @ 2015-05-07 18:49 UTC (permalink / raw)
  To: openembedded-core

Hello Bruno,

On 07.05.2015 18:40, Bruno Bottazzini wrote:
> If the users wants to enable networkd this file will not be generate and the
> installation will fail.
> 
> Signed-off-by: Bruno Bottazzini <bruno.bottazzini@intel.com>
> ---
>  meta/recipes-core/systemd/systemd_219.bb | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/meta/recipes-core/systemd/systemd_219.bb b/meta/recipes-core/systemd/systemd_219.bb
> index c196017..b4bff18 100644
> --- a/meta/recipes-core/systemd/systemd_219.bb
> +++ b/meta/recipes-core/systemd/systemd_219.bb
> @@ -177,8 +177,11 @@ do_install() {
>  	sed -i -e 's/.*ForwardToSyslog.*/ForwardToSyslog=yes/' ${D}${sysconfdir}/systemd/journald.conf
>  	# its needed in 216 upstream has fixed it with 919699ec301ea507edce4a619141ed22e789ac0d
>  	# don't order journal flushing afte remote-fs.target
> -	sed -i -e 's/ remote-fs.target$//' ${D}${systemd_unitdir}/system/systemd-journal-flush.service
> -	# this file is needed to exist if networkd is disabled but timesyncd is still in use since timesyncd checks it
> +	if [ -s ${D}${systemd_unitdir}/system/systemd-journal-flush.service ]; then
> +                # this file is needed to exist if networkd is disabled but timesyncd is still in use since timesyncd checks it
> +                sed -i -e 's/ remote-fs.target$//' ${D}${systemd_unitdir}/system/systemd-journal-flush.service
> +        fi
> +

According to the comment above, this is a workaround specific to 216.
Commit 919699ec301ea507edce4a619141ed22e789ac0d made it into 218. So
maybe these lines should just get removed.

Regards,
Andreas


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH V3 3/3] systemd: split modules into packages
  2015-05-07 16:40 ` [PATCH V3 3/3] systemd: split modules into packages Bruno Bottazzini
@ 2015-05-07 18:58   ` Andreas Oberritter
  2015-05-07 22:45     ` Bottazzini, Bruno
  0 siblings, 1 reply; 10+ messages in thread
From: Andreas Oberritter @ 2015-05-07 18:58 UTC (permalink / raw)
  To: openembedded-core

On 07.05.2015 18:40, Bruno Bottazzini wrote:
> if one wants to launch a simple deamon, most modules are not
> required.
> He will be able to save space and exclude unwanted packages
> from the final image.
> 
> Signed-off-by: Bruno Bottazzini <bruno.bottazzini@intel.com>
> ---
>  meta/recipes-core/systemd/systemd_219.bb | 1063 ++++++++++++++++++++++++++----
>  1 file changed, 938 insertions(+), 125 deletions(-)
> 
> diff --git a/meta/recipes-core/systemd/systemd_219.bb b/meta/recipes-core/systemd/systemd_219.bb
> index b4bff18..629c7fc 100644
> --- a/meta/recipes-core/systemd/systemd_219.bb
> +++ b/meta/recipes-core/systemd/systemd_219.bb
> @@ -60,9 +60,55 @@ LDFLAGS_append_libc-uclibc = " -lrt"
>  GTKDOC_DOCDIR = "${S}/docs/"
>  
>  PACKAGECONFIG ??= "xz ldconfig \
> +                   getty \
> +                   sysvcompat \
> +                   nspawn \
> +                   machined \
> +                   bootchart \
> +                   zsh \
> +                   rpm-macros \
> +                   kernel-install \
> +                   initramfs \
> +                   bash \
> +                   tools \
> +                   udev \
> +                   tmpfiles \
> +                   sysusers \
> +                   sysctl \
> +                   sleep \
> +                   randomseed \
> +                   modules-load \
> +                   journal \
> +                   fsck \
> +                   preset \
> +                   filesystems \
> +                   vconsole \
> +                   update \
> +                   timesyncd \
> +                   rfkill \
> +                   quota \
> +                   fuse \
> +                   firstboot \
> +                   dbus \
> +                   binfmt \
> +                   backlight \
> +                   ask-password \

I think it may be better to sort this quite long list alphabetically.

Are these options already enabled today? Because of the new
packageconfig entries, I would have expected changes to EXTRA_OECONF and
DEPENDS, which I don't see in your patch.

Regards,
Andreas

>                     ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
>                     ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)}"
>  
> +PACKAGECONFIG[glib] = "--enable-gudev,--disable-gudev,glib-2.0"
> +PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl"
> +PACKAGECONFIG[blkid] = "--enable-blkid,--disable-blkid,util-linux"
> +PACKAGECONFIG[efi] = "--enable-efi,--disable-efi"
> +PACKAGECONFIG[kmod] = "--enable-kmod,--disable-kmod,kmod"
> +PACKAGECONFIG[polkit] = "--enable-polkit,--disable-polkit,polkit"
> +PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
> +PACKAGECONFIG[smack] = "--enable-smack,--disable-smack"
> +PACKAGECONFIG[ima] = "--enable-ima,--disable-ima"
> +PACKAGECONFIG[apparmor] = "--enable-apparmor,--disable-apparmor,libapparmor"
> +PACKAGECONFIG[seccomp] = "--enable-seccomp,--disable-seccomp,libseccomp"
> +PACKAGECONFIG[qrencode] = "--enable-qrencode,--disable-qrencode,libqrencode"
> +PACKAGECONFIG[lz4] = "--enable-lz4,--disable-lz4,lz4"
>  PACKAGECONFIG[journal-upload] = "--enable-libcurl,--disable-libcurl,curl"
>  # Sign the journal for anti-tampering
>  PACKAGECONFIG[gcrypt] = "--enable-gcrypt,--disable-gcrypt,libgcrypt"
> @@ -206,158 +252,742 @@ do_install_ptest () {
>  
>  python populate_packages_prepend (){
>      systemdlibdir = d.getVar("rootlibdir", True)
> -    do_split_packages(d, systemdlibdir, '^lib(.*)\.so\.*', 'lib%s', 'Systemd %s library', extra_depends='', allow_links=True)
> +    do_split_packages(d, systemdlibdir, '^lib(udev|gudev|systemd|nss)\.so\.*', 'lib%s', 'Systemd %s library', extra_depends='', allow_links=True)
>  }
> -PACKAGES_DYNAMIC += "^lib(udev|systemd).*"
> +PACKAGES_DYNAMIC += "^lib(udev|gudev|systemd|nss).*"
> +
> +########################################################################
> +# Base Packages
> +########################################################################
> +
> +PACKAGES =+ "${PN}-generators-filesystems"
> +SUMMARY_${PN}-generators-filesystems = "Unit generator for /etc/fstab"
> +RDEPENDS_${PN}-generators-filesystems = "${PN}-services-fsck"
> +FILES_${PN}-generators-filesystems = "\
> +        ${rootlibexecdir}/systemd/system-generators/systemd-fstab-generator \
> +        ${rootlibexecdir}/systemd/system-generators/systemd-gpt-auto-generator \
> +        ${rootlibexecdir}/systemd/systemd-remount-fs \
> +        ${systemd_unitdir}/system/local-fs.target.wants/systemd-remount-fs.service \
> +        ${systemd_unitdir}/system/systemd-remount-fs.service \
> +"
>  
> -PACKAGES =+ "${PN}-gui ${PN}-vconsole-setup ${PN}-initramfs ${PN}-analyze ${PN}-kernel-install \
> -             ${PN}-rpm-macros ${PN}-binfmt ${PN}-pam ${PN}-zsh libgudev"
> +PACKAGES =+ "${PN}-generators-getty"
> +SUMMARY_${PN}-generators-getty = "Generator for enabling getty instances on the console"
> +RDEPENDS_${PN}-generators-getty = "${PN}-services-getty"
> +FILES_${PN}-generators-getty = "\
> +        ${rootlibexecdir}/systemd/system-generators/systemd-getty-generator \
> +"
>  
> -SYSTEMD_PACKAGES = "${PN}-binfmt"
> -SYSTEMD_SERVICE_${PN}-binfmt = "systemd-binfmt.service"
> +PACKAGES =+ "${PN}-tools"
> +SUMMARY_${PN}-tools = "systemd command line tools (cgls, delta, run, analyze...)"
> +RRECOMMENDS_${PN}-tools = "${PN}-services-base"
> +FILES_${PN}-tools = "\
> +        ${base_bindir}/systemd-machine-id-setup \
> +        ${bindir}/busctl \
> +        ${bindir}/coredumpctl \
> +        ${bindir}/systemd-analyze \
> +        ${bindir}/systemd-cat \
> +        ${bindir}/systemd-cgls \
> +        ${bindir}/systemd-cgtop \
> +        ${bindir}/systemd-delta \
> +        ${bindir}/systemd-detect-virt \
> +        ${bindir}/systemd-path \
> +        ${bindir}/systemd-run \
> +        ${rootlibexecdir}/systemd/systemd-ac-power \
> +        ${rootlibexecdir}/systemd/systemd-activate \
> +        ${rootlibexecdir}/systemd/systemd-reply-password \
> +        ${rootprefix}/bin/systemd-escape \
> +        ${rootprefix}/bin/systemd-notify \
> +"
>  
> -USERADD_PACKAGES = "${PN}"
> -USERADD_PARAM_${PN} += "--system systemd-journal-gateway; --system systemd-timesync"
> -GROUPADD_PARAM_${PN} = "-r lock; -r systemd-journal"
> +########################################################################
> +# Services Packages
> +########################################################################
> +
> +PACKAGES =+ "${PN}-services-ask-password"
> +SUMMARY_${PN}-services-ask-password = "Query the user for a system password"
> +RRECOMMENDS_${PN}-services-ask-password = "${PN}-services-base"
> +FILES_${PN}-services-ask-password = "\
> +        ${rootprefix}/bin/systemd-ask-password \
> +        ${rootprefix}/bin/systemd-tty-ask-password-agent \
> +        ${systemd_unitdir}/system/multi-user.target.wants/systemd-ask-password-wall.path \
> +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-ask-password-console.path \
> +        ${systemd_unitdir}/system/systemd-ask-password-console.path \
> +        ${systemd_unitdir}/system/systemd-ask-password-console.service \
> +        ${systemd_unitdir}/system/systemd-ask-password-wall.path \
> +        ${systemd_unitdir}/system/systemd-ask-password-wall.service \
> +"
>  
> -FILES_${PN}-analyze = "${bindir}/systemd-analyze"
> +PACKAGES =+ "${PN}-services-backlight"
> +SUMMARY_${PN}-services-backlight = "Load and save the display backlight brightness at boot and shutdown"
> +FILES_${PN}-services-backlight = "\
> +        ${systemd_unitdir}/system/systemd-backlight@.service \
> +        ${rootlibexecdir}/systemd/systemd-backlight \
> +"
>  
> -FILES_${PN}-initramfs = "/init"
> -RDEPENDS_${PN}-initramfs = "${PN}"
> +PACKAGES =+ "${PN}-services-binfmt"
> +SUMMARY_${PN}-services-binfmt = "Configure additional binary formats for executables at boot"
> +RRECOMMENDS_${PN}-services-binfmt = "kernel-module-binfmt-misc"
> +FILES_${PN}-services-binfmt = "\
> +        ${sysconfdir}/binfmt.d/ \
> +        ${exec_prefix}/lib/binfmt.d/ \
> +        ${systemd_unitdir}/system/proc-sys-fs-binfmt_misc.automount \
> +        ${systemd_unitdir}/system/proc-sys-fs-binfmt_misc.mount \
> +        ${systemd_unitdir}/system/sysinit.target.wants/proc-sys-fs-binfmt_misc.automount \
> +        ${systemd_unitdir}/system/proc-sys-fs-binfmt_misc.* \
> +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-binfmt.service \
> +        ${systemd_unitdir}/system/systemd-binfmt.service \
> +        ${rootlibexecdir}/systemd/systemd-binfmt \
> +"
> +
> +PACKAGES =+ "${PN}-services-bootchart"
> +SUMMARY_${PN}-services-bootchart = "Boot performance graphing tool"
> +CONFFILES_${PN}-services-bootchart = "${sysconfdir}/systemd/bootchart.conf"
> +FILES_${PN}-services-bootchart = "\
> +        ${sysconfdir}/systemd/bootchart.conf \
> +        ${rootlibexecdir}/systemd/systemd-bootchart \
> +"
>  
> -FILES_libgudev = "${libdir}/libgudev*${SOLIBS}"
> +PACKAGES =+ "${PN}-services-coredump"
> +SUMMARY_${PN}-services-coredump = "Log and store core dumps"
> +RDEPENDS_${PN}-services-coredump = "${PN}-services-sysctl"
> +CONFFILES_${PN}-services-coredump = "${sysconfdir}/systemd/coredump.conf"
> +FILES_${PN}-services-coredump = "\
> +        ${exec_prefix}/lib/sysctl.d/50-coredump.conf \
> +        ${sysconfdir}/systemd/coredump.conf \
> +        ${rootlibexecdir}/systemd/systemd-coredump \
> +"
>  
> -RDEPENDS_${PN}-ptest += "perl python bash"
> -FILES_${PN}-ptest += "${libdir}/udev/rules.d"
> +PACKAGES =+ "${PN}-services-cryptsetup"
> +SUMMARY_${PN}-services-cryptsetup = "Unit generator for /etc/crypttab"
> +ALLOW_EMPTY_${PN}-services-cryptsetup = "1"
> +FILES_${PN}-services-cryptsetup = "\
> +        ${rootlibexecdir}/systemd/system-generators/systemd-cryptsetup-generator \
> +        ${systemd_unitdir}/system/cryptsetup-pre.target \
> +        ${systemd_unitdir}/system/cryptsetup.target \
> +        ${systemd_unitdir}/system/sysinit.target.wants/cryptsetup.target \
> +        ${rootlibexecdir}/systemd/systemd-cryptsetup \
> +"
> +
> +PACKAGES =+ "${PN}-services-dbus"
> +SUMMARY_${PN}-services-dbus = "Dbus daemon system service"
> +# NOTE: dbus dependency will go away when kdbus is in use
> +RDEPENDS_${PN}-services-dbus = "dbus"
> +FILES_${PN}-services-dbus = "\
> +        ${datadir}/dbus-1/services/org.freedesktop.systemd1.service \
> +        ${datadir}/dbus-1/system-services/org.freedesktop.systemd1.service \
> +        ${datadir}/dbus-1/system-services/org.freedesktop.import1.service \
> +        ${sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf \
> +        ${sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf \
> +        ${systemd_unitdir}/system/sockets.target.wants/dbus.socket \
> +        ${systemd_unitdir}/system/dbus.target.wants/dbus.socket \
> +        ${systemd_unitdir}/system/multi-user.target.wants/dbus.service \
> +        ${systemd_unitdir}/system/dbus.socket \
> +        ${systemd_unitdir}/system/dbus.service \
> +"
> +
> +PACKAGES =+ "${PN}-services-debug"
> +SUMMARY_${PN}-services-debug = "Generator for enabling a runtime debug shell and masking specific units at boot"
> +RRECOMMENDS_${PN}-services-debug = "${PN}-services-base ${PN}-tools"
> +FILES_${PN}-services-debug = "\
> +        ${rootlibexecdir}/systemd/system-generators/systemd-debug-generator \
> +        ${systemd_unitdir}/system/debug-shell.service \
> +        ${systemd_unitdir}/system/sys-kernel-config.mount \
> +        ${systemd_unitdir}/system/sys-kernel-debug.mount \
> +        ${systemd_unitdir}/system/sysinit.target.wants/sys-kernel-config.mount \
> +        ${systemd_unitdir}/system/sysinit.target.wants/sys-kernel-debug.mount \
> +"
> +
> +PACKAGES =+ "${PN}-services-firstboot"
> +SUMMARY_${PN}-services-firstboot = "Initialize basic system settings on or before the first boot-up of a system"
> +FILES_${PN}-services-firstboot = "\
> +        ${base_bindir}/systemd-firstboot \
> +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-firstboot.service \
> +        ${systemd_unitdir}/system/systemd-firstboot.service \
> +"
> +
> +PACKAGES =+ "${PN}-services-fsck"
> +SUMMARY_${PN}-services-fsck = "File system checker logic"
> +RRECOMMENDS_${PN}-services-fsck = "util-linux-fsck e2fsprogs-e2fsck"
> +FILES_${PN}-services-fsck = "\
> +        ${systemd_unitdir}/system/systemd-fsck-root.service \
> +        ${systemd_unitdir}/system/systemd-fsck@.service \
> +        ${rootlibexecdir}/systemd/systemd-fsck \
> +"
>  
> -FILES_${PN}-dbg += "${libdir}/systemd/ptest/.debug"
> +PACKAGES =+ "${PN}-services-fuse"
> +SUMMARY_${PN}-services-fuse = "FUSE (filesystem in userspace) service"
> +FILES_${PN}-services-fuse = "\
> +        ${systemd_unitdir}/system/sysinit.target.wants/sys-fs-fuse-connections.mount \
> +        ${systemd_unitdir}/system/sys-fs-fuse-connections.mount \
> +"
> +
> +PACKAGES =+ "${PN}-services-getty"
> +SUMMARY_${PN}-services-getty = "Getty service"
> +RRECOMMENDS_${PN}-services-getty = "util-linux-agetty ${PN}-generators-getty"
> +FILES_${PN}-services-getty = "\
> +        ${systemd_unitdir}/system/autovt@.service \
> +        ${systemd_unitdir}/system/console-getty.service \
> +        ${systemd_unitdir}/system/container-getty@.service \
> +        ${systemd_unitdir}/system/getty@.service \
> +        ${systemd_unitdir}/system/serial-getty@.service \
> +        ${sysconfdir}/systemd/system/getty.target.wants/ \
> +"
> +
> +PACKAGES =+ "${PN}-services-hostnamed"
> +SUMMARY_${PN}-services-hostnamed = "Host name bus mechanism"
> +RDEPENDS_${PN}-services-hostnamed = "${PN}-services-dbus"
> +CONFFILES_${PN}-services-hostnamed = "${sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf"
> +FILES_${PN}-services-hostnamed = "\
> +        ${sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf \
> +        ${bindir}/hostnamectl \
> +        ${systemd_unitdir}/system/busnames.target.wants/org.freedesktop.hostname1.busname \
> +        ${systemd_unitdir}/system/dbus-org.freedesktop.hostname1.service \
> +        ${systemd_unitdir}/system/org.freedesktop.hostname1.busname \
> +        ${systemd_unitdir}/system/systemd-hostnamed.service \
> +        ${rootlibexecdir}/systemd/systemd-hostnamed \
> +        ${datadir}/dbus-1/system-services/org.freedesktop.hostname1.service \
> +        ${datadir}/polkit-1/actions/org.freedesktop.hostname1.policy \
> +"
> +
> +PACKAGES =+ "${PN}-services-journal"
> +SUMMARY_${PN}-services-journal = "Journal (logging) service"
> +CONFFILES_${PN}-services-journal = "${sysconfdir}/systemd/journald.conf"
> +FILES_${PN}-services-journal = "\
> +        ${base_bindir}/journalctl \
> +        ${rootlibexecdir}/systemd/systemd-journald \
> +        ${sysconfdir}/systemd/journald.conf \
> +        ${systemd_unitdir}/system/sockets.target.wants/systemd-journald-dev-log.socket \
> +        ${systemd_unitdir}/system/sockets.target.wants/systemd-journald.socket \
> +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-journal-catalog-update.service \
> +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-journal-flush.service \
> +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-journald.service \
> +        ${systemd_unitdir}/system/systemd-journal-catalog-update.service \
> +        ${systemd_unitdir}/system/systemd-journal-flush.service \
> +        ${systemd_unitdir}/system/systemd-journald-dev-log.socket \
> +        ${systemd_unitdir}/system/systemd-journald.service \
> +        ${systemd_unitdir}/system/systemd-journald.socket \
> +        ${exec_prefix}/lib/systemd/catalog/ \
> +"
> +
> +PACKAGES =+ "${PN}-services-ldconfig"
> +SUMMARY_${PN}-services-ldconfig = "Service to run ldconfig after updates"
> +FILES_${PN}-services-ldconfig = "\
> +        ${systemd_unitdir}/system/sysinit.target.wants/ldconfig.service \
> +        ${systemd_unitdir}/system/ldconfig.service \
> +"
> +
> +PACKAGES =+ "${PN}-services-localed"
> +SUMMARY_${PN}-services-localed = "Locale bus mechanism"
> +RDEPENDS_${PN}-services-localed = "${PN}-services-dbus"
> +CONFFILES_${PN}-services-localed = "${sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf"
> +FILES_${PN}-services-localed = "\
> +        ${sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf \
> +        ${bindir}/localectl \
> +        ${systemd_unitdir}/system/busnames.target.wants/org.freedesktop.locale1.busname \
> +        ${systemd_unitdir}/system/dbus-org.freedesktop.locale1.service \
> +        ${systemd_unitdir}/system/org.freedesktop.locale1.busname \
> +        ${systemd_unitdir}/system/systemd-localed.service \
> +        ${rootlibexecdir}/systemd/systemd-localed \
> +        ${datadir}/dbus-1/system-services/org.freedesktop.locale1.service \
> +        ${datadir}/polkit-1/actions/org.freedesktop.locale1.policy \
> +        ${datadir}/systemd/kbd-model-map \
> +"
> +
> +PACKAGES =+ "${PN}-services-logind"
> +SUMMARY_${PN}-services-logind = "Login management service"
> +RDEPENDS_${PN}-services-logind = "${PN}-services-dbus ${PN}-services-tmpfiles"
> +RRECOMMENDS_${PN}-services-logind = "udev"
> +CONFFILES_${PN}-services-logind = "\
> +        ${sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf \
> +        ${sysconfdir}/systemd/logind.conf \
> +"
> +FILES_${PN}-services-logind = "\
> +        ${sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf \
> +        ${sysconfdir}/systemd/logind.conf \
> +        ${base_bindir}/loginctl \
> +        ${base_bindir}/systemd-inhibit \
> +        ${systemd_unitdir}/system/busnames.target.wants/org.freedesktop.login1.busname \
> +        ${systemd_unitdir}/system/dbus-org.freedesktop.login1.service \
> +        ${systemd_unitdir}/system/multi-user.target.wants/systemd-logind.service \
> +        ${systemd_unitdir}/system/multi-user.target.wants/systemd-user-sessions.service \
> +        ${systemd_unitdir}/system/org.freedesktop.login1.busname \
> +        ${systemd_unitdir}/system/systemd-logind.service \
> +        ${systemd_unitdir}/system/systemd-user-sessions.service \
> +        ${systemd_unitdir}/system/user@.service \
> +        ${rootlibexecdir}/systemd/systemd-logind \
> +        ${rootlibexecdir}/systemd/systemd-user-sessions \
> +        ${datadir}/dbus-1/system-services/org.freedesktop.login1.service \
> +        ${datadir}/polkit-1/actions/org.freedesktop.login1.policy \
> +        ${rootlibexecdir}/udev/rules.d/70-uaccess.rules \
> +        ${rootlibexecdir}/udev/rules.d/70-power-switch.rules \
> +        ${rootlibexecdir}/udev/rules.d/71-seat.rules \
> +        ${rootlibexecdir}/udev/rules.d/73-seat-late.rules \
> +"
> +
> +PACKAGES =+ "${PN}-services-machined"
> +SUMMARY_${PN}-services-machined = "Virtual machine and container registration manager"
> +RDEPENDS_${PN}-services-machined = "${PN}-services-dbus"
> +CONFFILES_${PN}-services-machined = "${sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf"
> +FILES_${PN}-services-machined = "\
> +        ${sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf \
> +        ${base_bindir}/machinectl \
> +        ${systemd_unitdir}/system/busnames.target.wants/org.freedesktop.machine1.busname \
> +        ${systemd_unitdir}/system/dbus-org.freedesktop.machine1.service \
> +        ${systemd_unitdir}/system/machine.slice \
> +        ${systemd_unitdir}/system/org.freedesktop.machine1.busname \
> +        ${systemd_unitdir}/system/systemd-machined.service \
> +        ${rootlibexecdir}/systemd/systemd-machined \
> +        ${datadir}/dbus-1/system-services/org.freedesktop.machine1.service \
> +"
> +
> +PACKAGES =+ "${PN}-services-modules-load"
> +SUMMARY_${PN}-services-modules-load = "Load kernel modules at boot"
> +FILES_${PN}-services-modules-load = "\
> +        ${sysconfdir}/modules-load.d/ \
> +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-modules-load.service \
> +        ${systemd_unitdir}/system/systemd-modules-load.service \
> +        ${rootlibexecdir}/systemd/systemd-modules-load \
> +        ${exec_prefix}/lib/modules-load.d \
> +"
> +
> +PACKAGES =+ "${PN}-services-modules-static-nodes"
> +SUMMARY_${PN}-services-modules-static-nodes = "Create list of required static device nodes for the current kernel"
> +RDEPENDS_${PN}-services-modules-static-nodes = "kmod ${PN}-services-tmpfiles"
> +FILES_${PN}-services-modules-static-nodes = "\
> +        ${systemd_unitdir}/system/sysinit.target.wants/kmod-static-nodes.service \
> +        ${systemd_unitdir}/system/kmod-static-nodes.service \
> +"
> +
> +
> +PACKAGES =+ "${PN}-services-multi-seat-x"
> +SUMMARY_${PN}-services-multi-seat-x = "X11 multi-seat support service"
> +RDEPENDS_${PN}-services-multi-seat-x = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/xserver', '', d)}"
> +FILES_${PN}-services-multi-seat-x = "\
> +        ${rootlibexecdir}/systemd/systemd-multi-seat-x \
> +"
> +
> +PACKAGES += "${PN}-services-networkd"
> +SUMMARY_${PN}-services-networkd = "Network manager (static, DHCP, bridge...)"
> +# NOTE: if no sysusers, then users/groups must be setup
> +RRECOMMENDS_${PN}-services-networkd = "${PN}-services-sysusers"
> +FILES_${PN}-services-networkd = "\
> +        ${sysconfdir}/systemd/network/ \
> +        ${sysconfdir}/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service \
> +        ${sysconfdir}/systemd/system/multi-user.target.wants/systemd-networkd.service \
> +        ${base_bindir}/networkctl \
> +        ${rootlibexecdir}/systemd/network/80-container-host0.network \
> +        ${rootlibexecdir}/systemd/network/80-container-ve.network \
> +        ${rootlibexecdir}/systemd/network/99-default.link \
> +        ${systemd_unitdir}/system/systemd-networkd-wait-online.service \
> +        ${systemd_unitdir}/system/systemd-networkd.service \
> +        ${rootlibexecdir}/systemd/systemd-networkd \
> +        ${rootlibexecdir}/systemd/systemd-networkd-wait-online \
> +        ${exec_prefix}/lib/systemd/network \
> +        ${sysconfdir}/dbus-1/system.d/org.freedesktop.network1.conf \
> +        ${datadir}/dbus-1/system-services/org.freedesktop.network1.service \
> +"
> +
> +PACKAGES += "${PN}-services-journal-gatewayd"
> +SUMMARY_${PN}-services-journal-gatewayd = "HTTP server for journal events"
> +RRECOMMENDS_${PN}-services-journal-gatewayd = "${PN}-services-networkd"
> +FILES_${PN}-services-journal-gatewayd = "\
> +	${rootlibexecdir}/systemd/systemd-journal-gatewayd \
> +	${rootlibexecdir}/systemd/systemd-journal-remote \
> +	${exec_prefix}/lib/sysusers.d/systemd-remote.conf \
> +	${exec_prefix}/lib/tmpfiles.d/systemd-remote.conf \
> +	${sysconfdir}/systemd/journal-remote.conf \
> +"
> +
> +PACKAGES =+ "${PN}-services-nspawn"
> +SUMMARY_${PN}-services-nspawn = "Spawn a namespace container for debugging, testing and building"
> +FILES_${PN}-services-nspawn = "\
> +        ${systemd_unitdir}/system/systemd-nspawn@.service \
> +        ${bindir}/systemd-nspawn \
> +"
> +
> +PACKAGES =+ "${PN}-services-quota"
> +SUMMARY_${PN}-services-quota = "File system quota checker logic"
> +RDEPENDS_${PN}-services-quota = "quota"
> +FILES_${PN}-services-quota = "\
> +        ${systemd_unitdir}/system/quotaon.service \
> +        ${systemd_unitdir}/system/systemd-quotacheck.service \
> +        ${rootlibexecdir}/systemd/systemd-quotacheck \
> +"
> +
> +PACKAGES =+ "${PN}-services-randomseed"
> +SUMMARY_${PN}-services-randomseed = "systemd's random seed save/restore service"
> +FILES_${PN}-services-randomseed = "\
> +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-random-seed.service \
> +        ${systemd_unitdir}/system/systemd-random-seed.service \
> +        ${rootlibexecdir}/systemd/systemd-random-seed \
> +"
> +
> +PACKAGES =+ "${PN}-services-readahead"
> +SUMMARY_${PN}-services-readahead = "Load and save the system random seed at boot and shutdown"
> +FILES_${PN}-services-readahead = "\
> +        ${systemd_unitdir}/system/systemd-readahead-collect.service \
> +        ${systemd_unitdir}/system/systemd-readahead-done.service \
> +        ${systemd_unitdir}/system/systemd-readahead-done.timer \
> +        ${systemd_unitdir}/system/systemd-readahead-drop.service \
> +        ${systemd_unitdir}/system/systemd-readahead-replay.service \
> +        ${rootlibexecdir}/systemd/systemd-readahead \
> +"
> +
> +PACKAGES =+ "${PN}-services-rfkill"
> +SUMMARY_${PN}-services-rfkill = "Load and save the RF kill switch state at boot and shutdown"
> +FILES_${PN}-services-rfkill = "\
> +        ${systemd_unitdir}/system/systemd-rfkill@.service \
> +        ${rootlibexecdir}/systemd/systemd-rfkill \
> +"
> +
> +PACKAGES =+ "${PN}-services-sleep"
> +SUMMARY_${PN}-services-sleep = "System sleep state logic"
> +FILES_${PN}-services-sleep = "\
> +        ${systemd_unitdir}/system/systemd-hybrid-sleep.service \
> +        ${systemd_unitdir}/system/systemd-suspend.service \
> +        ${systemd_unitdir}/system/systemd-hibernate.service \
> +        ${systemd_unitdir}/system-sleep/ \
> +        ${rootlibexecdir}/systemd/systemd-sleep \
> +"
> +
> +PACKAGES =+ "${PN}-services-sysctl"
> +SUMMARY_${PN}-services-sysctl = "Configure kernel parameters at boot"
> +FILES_${PN}-services-sysctl = "\
> +        ${sysconfdir}/sysctl.d/ \
> +        ${exec_prefix}/lib/sysctl.d/ \
> +        ${exec_prefix}/lib/sysctl.d/50-default.conf \
> +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-sysctl.service \
> +        ${systemd_unitdir}/system/systemd-sysctl.service \
> +        ${rootlibexecdir}/systemd/systemd-sysctl \
> +"
> +
> +PACKAGES =+ "${PN}-services-sysusers"
> +SUMMARY_${PN}-services-sysusers = "Allocate system users and groups"
> +FILES_${PN}-services-sysusers = "\
> +        ${base_bindir}/systemd-sysusers \
> +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-sysusers.service \
> +        ${systemd_unitdir}/system/systemd-sysusers.service \
> +        ${exec_prefix}/lib/sysusers.d/basic.conf \
> +        ${exec_prefix}/lib/sysusers.d/systemd.conf \
> +"
> +
> +PACKAGES =+ "${PN}-services-sysvcompat"
> +SUMMARY_${PN}-services-sysvcompat = "SYSV legacy and compatibility services"
> +# NOTE: if no sysusers or tmpfiles, then users/groups and FS structure must be setup
> +RRECOMMENDS_${PN}-services-sysvcompat = "${PN}-services-sysusers ${PN}-services-tmpfiles"
> +FILES_${PN}-services-sysvcompat = "\
> +        ${rootlibexecdir}/systemd/systemd-bus-proxyd \
> +        ${rootlibexecdir}/systemd/systemd-socket-proxyd \
> +        ${bindir}/systemd-stdio-bridge \
> +        ${rootlibexecdir}/systemd/system-generators/systemd-rc-local-generator \
> +        ${rootlibexecdir}/systemd/system-generators/systemd-sysv-generator \
> +        ${rootlibexecdir}/systemd/systemd-initctl \
> +        ${rootlibexecdir}/systemd/systemd-update-utmp \
> +        ${systemd_unitdir}/system/halt-local.service \
> +        ${systemd_unitdir}/system/rc-local.service \
> +        ${systemd_unitdir}/system/runlevel1.target.wants/systemd-update-utmp-runlevel.service \
> +        ${systemd_unitdir}/system/runlevel2.target.wants/systemd-update-utmp-runlevel.service \
> +        ${systemd_unitdir}/system/runlevel3.target.wants/systemd-update-utmp-runlevel.service \
> +        ${systemd_unitdir}/system/runlevel4.target.wants/systemd-update-utmp-runlevel.service \
> +        ${systemd_unitdir}/system/runlevel5.target.wants/systemd-update-utmp-runlevel.service \
> +        ${systemd_unitdir}/system/sockets.target.wants/systemd-initctl.socket \
> +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-update-utmp.service \
> +        ${systemd_unitdir}/system/systemd-initctl.service \
> +        ${systemd_unitdir}/system/systemd-initctl.socket \
> +        ${systemd_unitdir}/system/systemd-update-utmp-runlevel.service \
> +        ${systemd_unitdir}/system/systemd-update-utmp.service \
> +        ${exec_prefix}/lib/tmpfiles.d/legacy.conf \
> +"
> +
> +PACKAGES =+ "${PN}-services-timedated"
> +SUMMARY_${PN}-services-timedated = "Time and date bus mechanism"
> +RDEPENDS_${PN}-services-timedated = "${PN}-services-dbus"
> +CONFFILES_${PN}-services-timedated = "${sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf"
> +FILES_${PN}-services-timedated = "\
> +        ${sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf \
> +        ${bindir}/timedatectl \
> +        ${systemd_unitdir}/system/busnames.target.wants/org.freedesktop.timedate1.busname \
> +        ${systemd_unitdir}/system/dbus-org.freedesktop.timedate1.service \
> +        ${systemd_unitdir}/system/org.freedesktop.timedate1.busname \
> +        ${systemd_unitdir}/system/systemd-timedated.service \
> +        ${rootlibexecdir}/systemd/systemd-timedated \
> +        ${datadir}/dbus-1/system-services/org.freedesktop.timedate1.service \
> +        ${datadir}/polkit-1/actions/org.freedesktop.timedate1.policy \
> +"
> +
> +PACKAGES =+ "${PN}-services-timesyncd"
> +SUMMARY_${PN}-services-timesyncd = "Network Time Synchronization"
> +# NOTE: if no sysusers, then users/groups must be setup
> +RRECOMMENDS_${PN}-services-timesyncd = "${PN}-services-sysusers"
> +CONFFILES_${PN}-services-timesyncd = "${sysconfdir}/systemd/timesyncd.conf"
> +FILES_${PN}-services-timesyncd = "\
> +        ${sysconfdir}/systemd/system/sysinit.target.wants/systemd-timesyncd.service \
> +        ${sysconfdir}/systemd/timesyncd.conf \
> +        ${systemd_unitdir}/system/systemd-timesyncd.service \
> +        ${rootlibexecdir}/systemd/systemd-timesyncd \
> +"
> +
> +PACKAGES =+ "${PN}-services-tmpfiles"
> +SUMMARY_${PN}-services-tmpfiles = "Creates, deletes and cleans up volatile and temporary files and directories"
> +FILES_${PN}-services-tmpfiles = "\
> +        ${sysconfdir}/tmpfiles.d/ \
> +        ${base_bindir}/systemd-tmpfiles \
> +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-tmpfiles-setup-dev.service \
> +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-tmpfiles-setup.service \
> +        ${systemd_unitdir}/system/systemd-tmpfiles-clean.service \
> +        ${systemd_unitdir}/system/systemd-tmpfiles-clean.timer \
> +        ${systemd_unitdir}/system/systemd-tmpfiles-setup-dev.service \
> +        ${systemd_unitdir}/system/systemd-tmpfiles-setup.service \
> +        ${systemd_unitdir}/system/timers.target.wants/systemd-tmpfiles-clean.timer \
> +        ${exec_prefix}/lib/tmpfiles.d/etc.conf \
> +        ${exec_prefix}/lib/tmpfiles.d/systemd-nologin.conf \
> +        ${exec_prefix}/lib/tmpfiles.d/systemd.conf \
> +        ${exec_prefix}/lib/tmpfiles.d/tmp.conf \
> +        ${exec_prefix}/lib/tmpfiles.d/var.conf \
> +        ${exec_prefix}/lib/tmpfiles.d/00-create-volatile.conf \
> +        ${exec_prefix}/lib/tmpfiles.d/x11.conf \
> +"
> +
> +PACKAGES =+ "${PN}-services-udev"
> +SUMMARY_${PN}-services-udev = "Device event managing daemon"
> +RDEPENDS_${PN}-services-udev = "udev"
> +FILES_${PN}-services-udev = "\
> +        ${systemd_unitdir}/system/initrd-udevadm-cleanup-db.service \
> +        ${systemd_unitdir}/system/systemd-udev-hwdb-update.service \
> +        ${systemd_unitdir}/system/systemd-udev-settle.service \
> +        ${systemd_unitdir}/system/systemd-udev-trigger.service \
> +        ${systemd_unitdir}/system/systemd-udevd-control.socket \
> +        ${systemd_unitdir}/system/systemd-udevd-kernel.socket \
> +        ${systemd_unitdir}/system/systemd-udevd.service \
> +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-udevd.service \
> +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-udev-trigger.service \
> +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-udev-hwdb-update.service \
> +        ${systemd_unitdir}/system/sockets.target.wants/systemd-udevd-kernel.socket \
> +        ${systemd_unitdir}/system/sockets.target.wants/systemd-udevd-control.socket \
> +"
> +
> +PACKAGES =+ "${PN}-services-update"
> +SUMMARY_${PN}-services-update = "Mark /etc and /var fully updated"
> +FILES_${PN}-services-update = "\
> +        ${rootlibexecdir}/systemd/system-generators/systemd-system-update-generator \
> +        ${rootlibexecdir}/systemd/systemd-update-done \
> +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-update-done.service \
> +        ${systemd_unitdir}/system/systemd-update-done.service \
> +"
> +
> +PACKAGES =+ "${PN}-services-vconsole"
> +SUMMARY_${PN}-services-vconsole = "Configure the virtual console at boot"
> +RECOMMENDS_${PN}-services-vconsole = "kbd kbd-consolefonts kbd-keymaps"
> +FILES_${PN}-services-vconsole = "\
> +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-vconsole-setup.service \
> +        ${systemd_unitdir}/system/systemd-vconsole-setup.service \
> +        ${rootlibexecdir}/systemd/systemd-vconsole-setup \
> +"
> +
> +########################################################################
> +# Standard BitBake Packages
> +########################################################################
> +
> +FILES_${PN}-dbg += "\
> +        ${base_libdir}/security/.debug/ \
> +        ${libdir}/systemd/ptest/.debug \
> +        ${rootlibdir}/.debug \
> +        ${systemd_unitdir}/*/.debug \
> +        ${systemd_unitdir}/.debug \
> +"
>  
>  FILES_${PN}-gui = "${bindir}/systemadm"
>  
> -FILES_${PN}-vconsole-setup = "${rootlibexecdir}/systemd/systemd-vconsole-setup \
> -                              ${systemd_unitdir}/system/systemd-vconsole-setup.service \
> -                              ${systemd_unitdir}/system/sysinit.target.wants/systemd-vconsole-setup.service"
> +FILES_${PN}-dev += "\
> +        ${base_libdir}/security/*.la \
> +        ${datadir}/dbus-1/interfaces/ \
> +        ${sysconfdir}/rpm/macros.systemd \
> +"
>  
> -RDEPENDS_${PN}-kernel-install += "bash"
> -FILES_${PN}-kernel-install = "${bindir}/kernel-install \
> -                              ${sysconfdir}/kernel/ \
> -                              ${exec_prefix}/lib/kernel \
> -                             "
> -FILES_${PN}-rpm-macros = "${exec_prefix}/lib/rpm \
> -                         "
> -
> -FILES_${PN}-zsh = "${datadir}/zsh/site-functions"
> -
> -FILES_${PN}-binfmt = "${sysconfdir}/binfmt.d/ \
> -                      ${exec_prefix}/lib/binfmt.d \
> -                      ${rootlibexecdir}/systemd/systemd-binfmt \
> -                      ${systemd_unitdir}/system/proc-sys-fs-binfmt_misc.* \
> -                      ${systemd_unitdir}/system/systemd-binfmt.service"
> -RRECOMMENDS_${PN}-binfmt = "kernel-module-binfmt-misc"
> -
> -RRECOMMENDS_${PN}-vconsole-setup = "kbd kbd-consolefonts kbd-keymaps"
> -
> -CONFFILES_${PN} = "${sysconfdir}/systemd/journald.conf \
> -                ${sysconfdir}/systemd/logind.conf \
> -                ${sysconfdir}/systemd/system.conf \
> -                ${sysconfdir}/systemd/user.conf"
> -
> -FILES_${PN} = " ${base_bindir}/* \
> -                ${datadir}/bash-completion \
> -                ${datadir}/dbus-1/services \
> -                ${datadir}/dbus-1/system-services \
> -                ${datadir}/polkit-1 \
> -                ${datadir}/${BPN} \
> -                ${datadir}/factory \
> -                ${sysconfdir}/bash_completion.d/ \
> -                ${sysconfdir}/dbus-1/ \
> -                ${sysconfdir}/machine-id \
> -                ${sysconfdir}/modules-load.d/ \
> -                ${sysconfdir}/pam.d/ \
> -                ${sysconfdir}/sysctl.d/ \
> -                ${sysconfdir}/systemd/ \
> -                ${sysconfdir}/tmpfiles.d/ \
> -                ${sysconfdir}/xdg/ \
> -                ${sysconfdir}/init.d/README \
> -                ${rootlibexecdir}/systemd/* \
> -                ${systemd_unitdir}/* \
> -                ${base_libdir}/security/*.so \
> -                ${libdir}/libnss_* \
> -                /cgroup \
> -                ${bindir}/systemd* \
> -                ${bindir}/busctl \
> -                ${bindir}/localectl \
> -                ${bindir}/hostnamectl \
> -                ${bindir}/timedatectl \
> -                ${bindir}/bootctl \
> -                ${bindir}/kernel-install \
> -                ${exec_prefix}/lib/tmpfiles.d/*.conf \
> -                ${exec_prefix}/lib/systemd \
> -                ${exec_prefix}/lib/modules-load.d \
> -                ${exec_prefix}/lib/sysctl.d \
> -                ${exec_prefix}/lib/sysusers.d \
> -                ${localstatedir} \
> -                /lib/udev/rules.d/70-uaccess.rules \
> -                /lib/udev/rules.d/71-seat.rules \
> -                /lib/udev/rules.d/73-seat-late.rules \
> -                /lib/udev/rules.d/99-systemd.rules \
> -               "
> +USERADD_PACKAGES = "${PN}"
> +USERADD_PARAM_${PN} += "--system systemd-journal-gateway; --system systemd-timesync"
> +GROUPADD_PARAM_${PN} = "-r lock; -r systemd-journal"
>  
> -FILES_${PN}-dbg += "${rootlibdir}/.debug ${systemd_unitdir}/.debug ${systemd_unitdir}/*/.debug ${base_libdir}/security/.debug/"
> -FILES_${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ ${sysconfdir}/rpm/macros.systemd"
> +# The test cases need perl and bash to run correctly.
> +RDEPENDS_${PN}-ptest += "perl python bash"
> +FILES_${PN}-ptest += "\
> +        ${libdir}/udev/rules.d \
> +"
>  
> -RDEPENDS_${PN} += "kmod dbus util-linux-mount udev (= ${EXTENDPKGV})"
> -RDEPENDS_${PN} += "volatile-binds"
> +########################################################################
> +# Misc Packages
> +########################################################################
> +
> +PACKAGES =+ "${PN}-bash"
> +SUMMARY_${PN}-bash = "Bash shell commands completion"
> +FILES_${PN}-bash = "\
> +        ${datadir}/bash-completion/completions/bootctl \
> +        ${datadir}/bash-completion/completions/busctl \
> +        ${datadir}/bash-completion/completions/coredumpctl \
> +        ${datadir}/bash-completion/completions/hostnamectl \
> +        ${datadir}/bash-completion/completions/journalctl \
> +        ${datadir}/bash-completion/completions/kernel-install \
> +        ${datadir}/bash-completion/completions/localectl \
> +        ${datadir}/bash-completion/completions/loginctl \
> +        ${datadir}/bash-completion/completions/machinectl \
> +        ${datadir}/bash-completion/completions/systemctl \
> +        ${datadir}/bash-completion/completions/systemd-* \
> +        ${datadir}/bash-completion/completions/timedatectl \
> +"
> +
> +PACKAGES =+ "${PN}-initramfs"
> +SUMMARY_${PN}-initramfs = "Initramfs support"
> +FILES_${PN}-initramfs = "/init"
> +RDEPENDS_${PN}-initramfs = "${PN}"
>  
> -RRECOMMENDS_${PN} += "systemd-serialgetty systemd-compat-units udev-hwdb\
> -                      util-linux-agetty \
> -                      util-linux-fsck e2fsprogs-e2fsck \
> -                      kernel-module-autofs4 kernel-module-unix kernel-module-ipv6 os-release \
> +PACKAGES =+ "${PN}-kernel-install"
> +SUMMARY_${PN}-kernel-install = "systemd tool to add/remove kernel and initramfs images to/from /boot"
> +RDEPENDS_${PN}-kernel-install += "bash"
> +FILES_${PN}-kernel-install = "\
> +        ${bindir}/kernel-install \
> +        ${sysconfdir}/kernel/ \
> +        ${exec_prefix}/lib/kernel \
>  "
>  
> -PACKAGES =+ "udev-dbg udev udev-hwdb"
> +PACKAGES =+ "${PN}-pam"
> +SUMMARY_${PN}-pam = "systemd PAM modules and configuration"
> +FILES_${PN}-pam = "\
> +        ${sysconfdir}/pam.d \
> +        ${base_libdir}/security/pam_systemd.so \
> +"
>  
> -FILES_udev-dbg += "/lib/udev/.debug"
> +PACKAGES =+ "${PN}-preset"
> +SUMMARY_${PN}-preset = "Service enablement presets"
> +FILES_${PN}-preset = "${systemd_unitdir}/system-preset/90-systemd.preset"
>  
> -RPROVIDES_udev = "hotplug"
> +PACKAGES =+ "${PN}-rpm-macros"
> +SUMMARY_${PN}-rpm-macros = "RPM macros"
> +FILES_${PN}-rpm-macros = "${exec_prefix}/lib/rpm \
> +			 "
>  
> -RDEPENDS_udev-hwdb += "udev"
> +PACKAGES =+ "${PN}-zsh"
> +SUMMARY_${PN}-zsh = "Zsh shell commands completion"
> +FILES_${PN}-zsh = "\
> +        ${datadir}/zsh/site-functions \
> +"
>  
> -FILES_udev += "${base_sbindir}/udevd \
> -               ${rootlibexecdir}/systemd/systemd-udevd \
> -               ${rootlibexecdir}/udev/accelerometer \
> -               ${rootlibexecdir}/udev/ata_id \
> -               ${rootlibexecdir}/udev/cdrom_id \
> -               ${rootlibexecdir}/udev/collect \
> -               ${rootlibexecdir}/udev/findkeyboards \
> -               ${rootlibexecdir}/udev/keyboard-force-release.sh \
> -               ${rootlibexecdir}/udev/keymap \
> -               ${rootlibexecdir}/udev/mtd_probe \
> -               ${rootlibexecdir}/udev/scsi_id \
> -               ${rootlibexecdir}/udev/v4l_id \
> -               ${rootlibexecdir}/udev/keymaps \
> -               ${rootlibexecdir}/udev/rules.d/*.rules \
> -               ${sysconfdir}/udev \
> -               ${sysconfdir}/init.d/systemd-udevd \
> -               ${systemd_unitdir}/system/*udev* \
> -               ${systemd_unitdir}/system/*.wants/*udev* \
> -               ${base_bindir}/udevadm \
> -               ${datadir}/bash-completion/completions/udevadm \
> -              "
> -
> -FILES_udev-hwdb = "${rootlibexecdir}/udev/hwdb.d"
> +########################################################################
> +# Aggregation of Split Packages
> +########################################################################
> +PACKAGES =+ "${PN}-services-base"
> +SUMMARY_${PN}-services-base = "Base services aggregation"
> +ALLOW_EMPTY_${PN}-services-base = "1"
> +RDEPENDS_${PN}-services-base = " \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'ask-password', '${PN}-services-ask-password', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'backlight', '${PN}-services-backlight', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'binfmt', '${PN}-services-binfmt', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'dbus', '${PN}-services-dbus', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'firstboot', '${PN}-services-firstboot', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'fuse', '${PN}-services-fuse', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'quota', '${PN}-services-quota', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'rfkill', '${PN}-services-rfkill', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'timesyncd', '${PN}-services-timesyncd', '', d)}  \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'update', '${PN}-services-update', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'vconsole', '${PN}-services-vconsole', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'filesystems', '${PN}-generators-filesystems', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'preset', '${PN}-preset', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'fsck', '${PN}-services-fsck', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'journal', '${PN}-services-journal', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'modules-load', '${PN}-services-modules-load', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'randomseed', '${PN}-services-randomseed', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'sleep', '${PN}-services-sleep', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'sysctl', '${PN}-services-sysctl', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'sysusers', '${PN}-services-sysusers', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'tmpfiles', '${PN}-services-tmpfiles', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'udev', '${PN}-services-udev', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'tools', '${PN}-tools', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'bash', '${PN}-bash', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'initramfs', '${PN}-initramfs', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'kernel-install', '${PN}-kernel-install', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'rpm-macros', '${PN}-rpm-macros', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'zsh', '${PN}-zsh', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'bootchart', '${PN}-services-bootchart', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'debug', '${PN}-services-debug', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'machined', '${PN}-services-machined', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'nspawn', '${PN}-services-nspawn', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'sysvcompat', '${PN}-services-sysvcompat', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'getty', '${PN}-generators-getty', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'getty', '${PN}-services-getty', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'ldconfig', '${PN}-services-ldconfig', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'polkit', '${PN}-services-hostnamed', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'polkit', '${PN}-services-localed', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'polkit', '${PN}-services-logind', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'polkit', '${PN}-services-timedated', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PN}-pam', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'networkd', '${PN}-services-networkd', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-services-networkd', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-services-journal-gatewayd', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'cryptsetup', '${PN}-services-cryptsetup', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'gudev', 'udev-dbg', '', d)} \
> +        ${@bb.utils.contains('PACKAGECONFIG', 'x11', '${PN}-services-multi-seat-x', '', d)} \
> +"
>  
> -INITSCRIPT_PACKAGES = "udev"
> -INITSCRIPT_NAME_udev = "systemd-udevd"
> -INITSCRIPT_PARAMS_udev = "start 03 S ."
> +########################################################################
> +# Core Package
> +########################################################################
>  
> -python __anonymous() {
> -    if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
> -        d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1")
> -}
> +CONFFILES_${PN} = "\
> +        ${sysconfdir}/systemd/system.conf \
> +        ${sysconfdir}/systemd/user.conf \
> +"
>  
> +FILES_${PN} = "\
> +        ${base_bindir}/systemctl \
> +        ${base_bindir}/systemd-hwdb \
> +        ${bindir}/bootctl \
> +        ${datadir}/${BPN} \
> +        ${datadir}/factory \
> +        ${exec_prefix}/lib/libnss_myhostname* \
> +        ${exec_prefix}/lib/libnss_mymachines.so.2 \
> +        ${libdir}/systemd/user-generators/ \
> +        ${libdir}/systemd/user/ \
> +        ${localstatedir} \
> +        ${rootlibexecdir}/systemd/systemd \
> +        ${rootlibexecdir}/systemd/systemd-cgroups-agent \
> +        ${rootlibexecdir}/systemd/systemd-shutdown \
> +        ${rootlibexecdir}/systemd/systemd-shutdownd \
> +        ${rootlibexecdir}/systemd/systemd-machine-id-commit \
> +        ${rootlibexecdir}/systemd/systemd-hibernate-resume \
> +        ${rootlibexecdir}/systemd/systemd-importd \
> +        ${rootlibexecdir}/systemd/import-pubring.gpg \
> +        ${rootlibexecdir}/systemd/systemd-pull \
> +        ${sysconfdir}/init.d/README \
> +        ${sysconfdir}/machine-id \
> +        ${sysconfdir}/systemd/system.conf \
> +        ${sysconfdir}/systemd/system/ \
> +        ${sysconfdir}/systemd/user.conf \
> +        ${sysconfdir}/systemd/user/ \
> +        ${sysconfdir}/xdg/systemd/ \
> +        ${sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh \
> +        ${systemd_unitdir}/system-generators/ \
> +        ${systemd_unitdir}/system-preset/ \
> +        ${systemd_unitdir}/system-shutdown/ \
> +        ${systemd_unitdir}/system/ \
> +"
>  # TODO:
>  # u-a for runlevel and telinit
> +RDEPENDS_${PN} += "kmod dbus util-linux-mount udev (= ${EXTENDPKGV})"
> +RDEPENDS_${PN} += "volatile-binds"
> +
> +RRECOMMENDS_${PN} += "\
> +        ${PN}-services-base \
> +        kernel-module-autofs4 \
> +        kernel-module-ipv6 \
> +        kernel-module-unix \
> +        util-linux-agetty \
> +        util-linux-fsck \
> +        e2fsprogs-e2fsck \
> +        os-release \
> +        udev-hwdb \
> +        systemd-serialgetty \
> +        systemd-compat-units \
> +"
>  
>  ALTERNATIVE_${PN} = "init halt reboot shutdown poweroff runlevel"
>  
> @@ -385,6 +1015,41 @@ ALTERNATIVE_TARGET[runlevel] = "${base_bindir}/systemctl"
>  ALTERNATIVE_LINK_NAME[runlevel] = "${base_sbindir}/runlevel"
>  ALTERNATIVE_PRIORITY[runlevel] ?= "300"
>  
> +
> +########################################################################
> +# UDEV Section
> +########################################################################
> +
> +PACKAGES =+ "udev-dbg"
> +SUMMARY_udev-dbg = "Dynamic device management - Debugging files"
> +RRECOMMENDS_udev-dbg += "${PN}-dbg"
> +FILES_udev-dbg = "\
> +        ${rootlibexecdir}/udev/.debug \
> +        ${base_sbindir}/.debug/udevd \
> +        ${base_bindir}/.debug/udevadm \
> +        ${rootlibexecdir}/systemd/.debug/systemd-udevd \
> +        ${base_libdir}/.debug/libudev* \
> +        ${base_libdir}/.debug/libgudev* \
> +        ${exec_prefix}/lib/.debug/libgudev* \
> +"
> +
> +PACKAGES =+ "udev-dev"
> +SUMMARY_udev-dev = "Dynamic device management - Development files"
> +RRECOMMENDS_udev-dev += "${PN}-dev"
> +FILES_udev-dev = "\
> +        ${datadir}/pkgconfig/*udev* \
> +        ${libdir}/pkgconfig/*udev* \
> +        ${libdir}/lib*udev*.la \
> +        ${includedir}/*udev* \
> +"
> +
> +PACKAGES =+ "udev-hwdb"
> +SUMMARY_udev-hwdb = "Dynamic device management - Hardware database"
> +RDEPENDS_udev-hwdb += "udev"
> +FILES_udev-hwdb = "\
> +        ${rootlibexecdir}/udev/hwdb.d/ \
> +"
> +
>  pkg_postinst_udev-hwdb () {
>  	if test -n "$D"; then
>  		${@qemu_run_binary(d, '$D', '${base_bindir}/udevadm')} hwdb --update \
> @@ -402,6 +1067,154 @@ pkg_prerm_udev-hwdb () {
>  	rm -f ${sysconfdir}/udev/hwdb.bin
>  }
>  
> +PACKAGES =+ "udev-bash"
> +SUMMARY_udev-bash = "Dynamic device management - Bash shell commands completion"
> +FILES_udev-bash = "${datadir}/bash-completion/completions/udevadm"
> +
> +PACKAGES =+ "udev-zsh"
> +SUMMARY_udev-zsh = "Dynamic device management - zsh shell commands completion"
> +FILES_udev-zsh = "${datadir}/zsh/site-functions/_udevadm"
> +
> +
> +########################################################################
> +# UDEV Rules Packages
> +# split rules that require external programs or dependencies.
> +# those that use only builtins are not split
> +########################################################################
> +
> +PACKAGES =+ "udev-rules-accelerometer"
> +SUMMARY_udev-rules-accelerometer = "Dynamic device management - accelerometer rules"
> +FILES_udev-rules-accelerometer = "\
> +        ${rootlibexecdir}/udev/accelerometer \
> +        ${rootlibexecdir}/udev/rules.d/61-accelerometer.rules \
> +        ${rootlibexecdir}/udev/rules.d/70-touchpad.rules \
> +"
> +
> +PACKAGES =+ "udev-rules-cdrom"
> +SUMMARY_udev-rules-cdrom = "Dynamic device management - cdrom rules"
> +FILES_udev-rules-cdrom = "\
> +        ${rootlibexecdir}/udev/cdrom_id \
> +        ${rootlibexecdir}/udev/rules.d/60-cdrom_id.rules \
> +"
> +
> +PACKAGES =+ "udev-rules-mtd"
> +SUMMARY_udev-rules-mtd = "Dynamic device management - mtd rules"
> +FILES_udev-rules-mtd = "\
> +        ${rootlibexecdir}/udev/mtd_probe \
> +        ${rootlibexecdir}/udev/rules.d/75-probe_mtd.rules \
> +"
> +
> +PACKAGES =+ "udev-rules-persistent-storage"
> +SUMMARY_udev-rules-persistent-storage = "Dynamic device management - persistent storage rules"
> +FILES_udev-rules-persistent-storage = "\
> +        ${rootlibexecdir}/udev/ata_id \
> +        ${rootlibexecdir}/udev/scsi_id \
> +        ${rootlibexecdir}/udev/rules.d/60-persistent-storage.rules \
> +        ${rootlibexecdir}/udev/rules.d/60-persistent-storage-tape.rules \
> +"
> +
> +PACKAGES =+ "udev-rules-systemd"
> +SUMMARY_udev-rules-systemd = "Dynamic device management - systemd rules"
> +RDEPENDS_udev-rules-systemd = "${PN} ${PN}-services-sysctl"
> +FILES_udev-rules-systemd = "\
> +        ${rootlibexecdir}/udev/rules.d/99-systemd.rules \
> +"
> +
> +PACKAGES =+ "udev-rules-v4l"
> +SUMMARY_udev-rules-v4l = "Dynamic device management - v4l rules"
> +FILES_udev-rules-v4l = "\
> +        ${rootlibexecdir}/udev/v4l_id \
> +        ${rootlibexecdir}/udev/rules.d/*-persistent-v4l.rules \
> +"
> +
> +PACKAGES =+ "udev-rules-all"
> +SUMMARY_udev-rules-all = "Dynamic device management - all rules aggregation"
> +ALLOW_EMPTY_udev-rules-all = "1"
> +RDEPENDS_udev-rules-all = "\
> +        udev-rules-accelerometer \
> +        udev-rules-cdrom \
> +        udev-rules-mtd \
> +        udev-rules-persistent-storage \
> +        udev-rules-systemd \
> +        udev-rules-v4l \
> +"
> +
> +PACKAGES =+ "udev"
> +SUMMARY_udev = "Dynamic device management"
> +RPROVIDES_udev = "hotplug"
> +PROVIDES = "udev"
> +CONFFILES_udev = "${sysconfdir}/udev/udev.conf"
> +RDEPENDS_udev += "${PN}-services-vconsole"
> +FILES_udev = "\
> +        ${base_bindir}/udevadm \
> +        ${base_sbindir}/udevd \
> +        ${rootlibexecdir}/systemd/systemd-udevd \
> +        ${rootlibexecdir}/udev/collect \
> +        ${rootlibexecdir}/udev/rules.d/42-usb-hid-pm.rules \
> +        ${rootlibexecdir}/udev/rules.d/50-firmware.rules \
> +        ${rootlibexecdir}/udev/rules.d/50-udev-default.rules \
> +        ${rootlibexecdir}/udev/rules.d/60-drm.rules \
> +        ${rootlibexecdir}/udev/rules.d/60-keyboard.rules \
> +        ${rootlibexecdir}/udev/rules.d/60-persistent-alsa.rules \
> +        ${rootlibexecdir}/udev/rules.d/60-persistent-input.rules \
> +        ${rootlibexecdir}/udev/rules.d/60-persistent-serial.rules \
> +        ${rootlibexecdir}/udev/rules.d/64-btrfs.rules \
> +        ${rootlibexecdir}/udev/rules.d/75-net-description.rules \
> +        ${rootlibexecdir}/udev/rules.d/75-tty-description.rules \
> +        ${rootlibexecdir}/udev/rules.d/78-sound-card.rules \
> +        ${rootlibexecdir}/udev/rules.d/80-drivers.rules \
> +        ${rootlibexecdir}/udev/rules.d/80-net-setup-link.rules \
> +        ${rootlibexecdir}/udev/rules.d/95-udev-late.rules \
> +        ${rootlibexecdir}/udev/rules.d/70-mouse.rules \
> +        ${rootlibexecdir}/udev/rules.d/90-vconsole.rules \
> +        ${rootlibexecdir}/udev/rules.d/touchscreen.rules \
> +        ${sysconfdir}/init.d/systemd-udevd \
> +        ${sysconfdir}/udev \
> +"
> +
> +RRECOMMENDS_udev = "\
> +        udev-hwdb \
> +        udev-rules-all \
> +"
> +
> +INITSCRIPT_PACKAGES = "udev"
> +INITSCRIPT_NAME_udev = "systemd-udevd"
> +INITSCRIPT_PARAMS_udev = "start 03 S ."
> +
> +python __anonymous() {
> +    if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
> +        d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1")
> +}
> +
> +# TODO:
> +# u-a for runlevel and telinit
> +
> +ALTERNATIVE_${PN} = "init halt reboot shutdown poweroff runlevel"
> +
> +ALTERNATIVE_TARGET[init] = "${rootlibexecdir}/systemd/systemd"
> +ALTERNATIVE_LINK_NAME[init] = "${base_sbindir}/init"
> +ALTERNATIVE_PRIORITY[init] ?= "300"
> +
> +ALTERNATIVE_TARGET[halt] = "${base_bindir}/systemctl"
> +ALTERNATIVE_LINK_NAME[halt] = "${base_sbindir}/halt"
> +ALTERNATIVE_PRIORITY[halt] ?= "300"
> +
> +ALTERNATIVE_TARGET[reboot] = "${base_bindir}/systemctl"
> +ALTERNATIVE_LINK_NAME[reboot] = "${base_sbindir}/reboot"
> +ALTERNATIVE_PRIORITY[reboot] ?= "300"
> +
> +ALTERNATIVE_TARGET[shutdown] = "${base_bindir}/systemctl"
> +ALTERNATIVE_LINK_NAME[shutdown] = "${base_sbindir}/shutdown"
> +ALTERNATIVE_PRIORITY[shutdown] ?= "300"
> +
> +ALTERNATIVE_TARGET[poweroff] = "${base_bindir}/systemctl"
> +ALTERNATIVE_LINK_NAME[poweroff] = "${base_sbindir}/poweroff"
> +ALTERNATIVE_PRIORITY[poweroff] ?= "300"
> +
> +ALTERNATIVE_TARGET[runlevel] = "${base_bindir}/systemctl"
> +ALTERNATIVE_LINK_NAME[runlevel] = "${base_sbindir}/runlevel"
> +ALTERNATIVE_PRIORITY[runlevel] ?= "300"
> +
>  # As this recipe builds udev, respect systemd being in DISTRO_FEATURES so
>  # that we don't build both udev and systemd in world builds.
>  python () {
> 



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH V3 2/3] systemd: Verify if journal-flush.service exists.
  2015-05-07 18:49   ` Andreas Oberritter
@ 2015-05-07 22:19     ` Bottazzini, Bruno
  0 siblings, 0 replies; 10+ messages in thread
From: Bottazzini, Bruno @ 2015-05-07 22:19 UTC (permalink / raw)
  To: Andreas Oberritter; +Cc: openembedded-core

On Qui, 2015-05-07 at 20:49 +0200, Andreas Oberritter wrote:
> Hello Bruno,
> 
> On 07.05.2015 18:40, Bruno Bottazzini wrote:
> > If the users wants to enable networkd this file will not be generate and the
> > installation will fail.
> > 
> > Signed-off-by: Bruno Bottazzini <bruno.bottazzini@intel.com>
> > ---
> >  meta/recipes-core/systemd/systemd_219.bb | 7 +++++--
> >  1 file changed, 5 insertions(+), 2 deletions(-)
> > 
> > diff --git a/meta/recipes-core/systemd/systemd_219.bb b/meta/recipes-core/systemd/systemd_219.bb
> > index c196017..b4bff18 100644
> > --- a/meta/recipes-core/systemd/systemd_219.bb
> > +++ b/meta/recipes-core/systemd/systemd_219.bb
> > @@ -177,8 +177,11 @@ do_install() {
> >  	sed -i -e 's/.*ForwardToSyslog.*/ForwardToSyslog=yes/' ${D}${sysconfdir}/systemd/journald.conf
> >  	# its needed in 216 upstream has fixed it with 919699ec301ea507edce4a619141ed22e789ac0d
> >  	# don't order journal flushing afte remote-fs.target
> > -	sed -i -e 's/ remote-fs.target$//' ${D}${systemd_unitdir}/system/systemd-journal-flush.service
> > -	# this file is needed to exist if networkd is disabled but timesyncd is still in use since timesyncd checks it
> > +	if [ -s ${D}${systemd_unitdir}/system/systemd-journal-flush.service ]; then
> > +                # this file is needed to exist if networkd is disabled but timesyncd is still in use since timesyncd checks it
> > +                sed -i -e 's/ remote-fs.target$//' ${D}${systemd_unitdir}/system/systemd-journal-flush.service
> > +        fi
> > +
> 
> According to the comment above, this is a workaround specific to 216.
> Commit 919699ec301ea507edce4a619141ed22e789ac0d made it into 218. So
> maybe these lines should just get removed.

Andreas,

You are right.

I have checked and tested. It is upstreamed and It is not needed.

I will remove it and send another patch.

Best Regards,

> Regards,
> Andreas




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH V3 3/3] systemd: split modules into packages
  2015-05-07 18:58   ` Andreas Oberritter
@ 2015-05-07 22:45     ` Bottazzini, Bruno
  2015-05-11  6:06       ` Anders Darander
  0 siblings, 1 reply; 10+ messages in thread
From: Bottazzini, Bruno @ 2015-05-07 22:45 UTC (permalink / raw)
  To: Andreas Oberritter; +Cc: openembedded-core

On Qui, 2015-05-07 at 20:58 +0200, Andreas Oberritter wrote:
> On 07.05.2015 18:40, Bruno Bottazzini wrote:
> > if one wants to launch a simple deamon, most modules are not
> > required.
> > He will be able to save space and exclude unwanted packages
> > from the final image.
> > 
> > Signed-off-by: Bruno Bottazzini <bruno.bottazzini@intel.com>
> > ---
> >  meta/recipes-core/systemd/systemd_219.bb | 1063 ++++++++++++++++++++++++++----
> >  1 file changed, 938 insertions(+), 125 deletions(-)
> > 
> > diff --git a/meta/recipes-core/systemd/systemd_219.bb b/meta/recipes-core/systemd/systemd_219.bb
> > index b4bff18..629c7fc 100644
> > --- a/meta/recipes-core/systemd/systemd_219.bb
> > +++ b/meta/recipes-core/systemd/systemd_219.bb
> > @@ -60,9 +60,55 @@ LDFLAGS_append_libc-uclibc = " -lrt"
> >  GTKDOC_DOCDIR = "${S}/docs/"
> >  
> >  PACKAGECONFIG ??= "xz ldconfig \
> > +                   getty \
> > +                   sysvcompat \
> > +                   nspawn \
> > +                   machined \
> > +                   bootchart \
> > +                   zsh \
> > +                   rpm-macros \
> > +                   kernel-install \
> > +                   initramfs \
> > +                   bash \
> > +                   tools \
> > +                   udev \
> > +                   tmpfiles \
> > +                   sysusers \
> > +                   sysctl \
> > +                   sleep \
> > +                   randomseed \
> > +                   modules-load \
> > +                   journal \
> > +                   fsck \
> > +                   preset \
> > +                   filesystems \
> > +                   vconsole \
> > +                   update \
> > +                   timesyncd \
> > +                   rfkill \
> > +                   quota \
> > +                   fuse \
> > +                   firstboot \
> > +                   dbus \
> > +                   binfmt \
> > +                   backlight \
> > +                   ask-password \
> 
> I think it may be better to sort this quite long list alphabetically.
> 
> Are these options already enabled today? 

Yes, it is enabled. 

This is the default packages enabled in the current recipe.

> Because of the new
> packageconfig entries, I would have expected changes to EXTRA_OECONF and
> DEPENDS, which I don't see in your patch.

Some packages does not have EXTRA_OECONF.

You can see what this recipe DEPENDS by looking at ${PN}-services-base.

Regards,

> 
> Regards,
> Andreas
> 
> >                     ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
> >                     ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)}"
> >  
> > +PACKAGECONFIG[glib] = "--enable-gudev,--disable-gudev,glib-2.0"
> > +PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl"
> > +PACKAGECONFIG[blkid] = "--enable-blkid,--disable-blkid,util-linux"
> > +PACKAGECONFIG[efi] = "--enable-efi,--disable-efi"
> > +PACKAGECONFIG[kmod] = "--enable-kmod,--disable-kmod,kmod"
> > +PACKAGECONFIG[polkit] = "--enable-polkit,--disable-polkit,polkit"
> > +PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
> > +PACKAGECONFIG[smack] = "--enable-smack,--disable-smack"
> > +PACKAGECONFIG[ima] = "--enable-ima,--disable-ima"
> > +PACKAGECONFIG[apparmor] = "--enable-apparmor,--disable-apparmor,libapparmor"
> > +PACKAGECONFIG[seccomp] = "--enable-seccomp,--disable-seccomp,libseccomp"
> > +PACKAGECONFIG[qrencode] = "--enable-qrencode,--disable-qrencode,libqrencode"
> > +PACKAGECONFIG[lz4] = "--enable-lz4,--disable-lz4,lz4"
> >  PACKAGECONFIG[journal-upload] = "--enable-libcurl,--disable-libcurl,curl"
> >  # Sign the journal for anti-tampering
> >  PACKAGECONFIG[gcrypt] = "--enable-gcrypt,--disable-gcrypt,libgcrypt"
> > @@ -206,158 +252,742 @@ do_install_ptest () {
> >  
> >  python populate_packages_prepend (){
> >      systemdlibdir = d.getVar("rootlibdir", True)
> > -    do_split_packages(d, systemdlibdir, '^lib(.*)\.so\.*', 'lib%s', 'Systemd %s library', extra_depends='', allow_links=True)
> > +    do_split_packages(d, systemdlibdir, '^lib(udev|gudev|systemd|nss)\.so\.*', 'lib%s', 'Systemd %s library', extra_depends='', allow_links=True)
> >  }
> > -PACKAGES_DYNAMIC += "^lib(udev|systemd).*"
> > +PACKAGES_DYNAMIC += "^lib(udev|gudev|systemd|nss).*"
> > +
> > +########################################################################
> > +# Base Packages
> > +########################################################################
> > +
> > +PACKAGES =+ "${PN}-generators-filesystems"
> > +SUMMARY_${PN}-generators-filesystems = "Unit generator for /etc/fstab"
> > +RDEPENDS_${PN}-generators-filesystems = "${PN}-services-fsck"
> > +FILES_${PN}-generators-filesystems = "\
> > +        ${rootlibexecdir}/systemd/system-generators/systemd-fstab-generator \
> > +        ${rootlibexecdir}/systemd/system-generators/systemd-gpt-auto-generator \
> > +        ${rootlibexecdir}/systemd/systemd-remount-fs \
> > +        ${systemd_unitdir}/system/local-fs.target.wants/systemd-remount-fs.service \
> > +        ${systemd_unitdir}/system/systemd-remount-fs.service \
> > +"
> >  
> > -PACKAGES =+ "${PN}-gui ${PN}-vconsole-setup ${PN}-initramfs ${PN}-analyze ${PN}-kernel-install \
> > -             ${PN}-rpm-macros ${PN}-binfmt ${PN}-pam ${PN}-zsh libgudev"
> > +PACKAGES =+ "${PN}-generators-getty"
> > +SUMMARY_${PN}-generators-getty = "Generator for enabling getty instances on the console"
> > +RDEPENDS_${PN}-generators-getty = "${PN}-services-getty"
> > +FILES_${PN}-generators-getty = "\
> > +        ${rootlibexecdir}/systemd/system-generators/systemd-getty-generator \
> > +"
> >  
> > -SYSTEMD_PACKAGES = "${PN}-binfmt"
> > -SYSTEMD_SERVICE_${PN}-binfmt = "systemd-binfmt.service"
> > +PACKAGES =+ "${PN}-tools"
> > +SUMMARY_${PN}-tools = "systemd command line tools (cgls, delta, run, analyze...)"
> > +RRECOMMENDS_${PN}-tools = "${PN}-services-base"
> > +FILES_${PN}-tools = "\
> > +        ${base_bindir}/systemd-machine-id-setup \
> > +        ${bindir}/busctl \
> > +        ${bindir}/coredumpctl \
> > +        ${bindir}/systemd-analyze \
> > +        ${bindir}/systemd-cat \
> > +        ${bindir}/systemd-cgls \
> > +        ${bindir}/systemd-cgtop \
> > +        ${bindir}/systemd-delta \
> > +        ${bindir}/systemd-detect-virt \
> > +        ${bindir}/systemd-path \
> > +        ${bindir}/systemd-run \
> > +        ${rootlibexecdir}/systemd/systemd-ac-power \
> > +        ${rootlibexecdir}/systemd/systemd-activate \
> > +        ${rootlibexecdir}/systemd/systemd-reply-password \
> > +        ${rootprefix}/bin/systemd-escape \
> > +        ${rootprefix}/bin/systemd-notify \
> > +"
> >  
> > -USERADD_PACKAGES = "${PN}"
> > -USERADD_PARAM_${PN} += "--system systemd-journal-gateway; --system systemd-timesync"
> > -GROUPADD_PARAM_${PN} = "-r lock; -r systemd-journal"
> > +########################################################################
> > +# Services Packages
> > +########################################################################
> > +
> > +PACKAGES =+ "${PN}-services-ask-password"
> > +SUMMARY_${PN}-services-ask-password = "Query the user for a system password"
> > +RRECOMMENDS_${PN}-services-ask-password = "${PN}-services-base"
> > +FILES_${PN}-services-ask-password = "\
> > +        ${rootprefix}/bin/systemd-ask-password \
> > +        ${rootprefix}/bin/systemd-tty-ask-password-agent \
> > +        ${systemd_unitdir}/system/multi-user.target.wants/systemd-ask-password-wall.path \
> > +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-ask-password-console.path \
> > +        ${systemd_unitdir}/system/systemd-ask-password-console.path \
> > +        ${systemd_unitdir}/system/systemd-ask-password-console.service \
> > +        ${systemd_unitdir}/system/systemd-ask-password-wall.path \
> > +        ${systemd_unitdir}/system/systemd-ask-password-wall.service \
> > +"
> >  
> > -FILES_${PN}-analyze = "${bindir}/systemd-analyze"
> > +PACKAGES =+ "${PN}-services-backlight"
> > +SUMMARY_${PN}-services-backlight = "Load and save the display backlight brightness at boot and shutdown"
> > +FILES_${PN}-services-backlight = "\
> > +        ${systemd_unitdir}/system/systemd-backlight@.service \
> > +        ${rootlibexecdir}/systemd/systemd-backlight \
> > +"
> >  
> > -FILES_${PN}-initramfs = "/init"
> > -RDEPENDS_${PN}-initramfs = "${PN}"
> > +PACKAGES =+ "${PN}-services-binfmt"
> > +SUMMARY_${PN}-services-binfmt = "Configure additional binary formats for executables at boot"
> > +RRECOMMENDS_${PN}-services-binfmt = "kernel-module-binfmt-misc"
> > +FILES_${PN}-services-binfmt = "\
> > +        ${sysconfdir}/binfmt.d/ \
> > +        ${exec_prefix}/lib/binfmt.d/ \
> > +        ${systemd_unitdir}/system/proc-sys-fs-binfmt_misc.automount \
> > +        ${systemd_unitdir}/system/proc-sys-fs-binfmt_misc.mount \
> > +        ${systemd_unitdir}/system/sysinit.target.wants/proc-sys-fs-binfmt_misc.automount \
> > +        ${systemd_unitdir}/system/proc-sys-fs-binfmt_misc.* \
> > +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-binfmt.service \
> > +        ${systemd_unitdir}/system/systemd-binfmt.service \
> > +        ${rootlibexecdir}/systemd/systemd-binfmt \
> > +"
> > +
> > +PACKAGES =+ "${PN}-services-bootchart"
> > +SUMMARY_${PN}-services-bootchart = "Boot performance graphing tool"
> > +CONFFILES_${PN}-services-bootchart = "${sysconfdir}/systemd/bootchart.conf"
> > +FILES_${PN}-services-bootchart = "\
> > +        ${sysconfdir}/systemd/bootchart.conf \
> > +        ${rootlibexecdir}/systemd/systemd-bootchart \
> > +"
> >  
> > -FILES_libgudev = "${libdir}/libgudev*${SOLIBS}"
> > +PACKAGES =+ "${PN}-services-coredump"
> > +SUMMARY_${PN}-services-coredump = "Log and store core dumps"
> > +RDEPENDS_${PN}-services-coredump = "${PN}-services-sysctl"
> > +CONFFILES_${PN}-services-coredump = "${sysconfdir}/systemd/coredump.conf"
> > +FILES_${PN}-services-coredump = "\
> > +        ${exec_prefix}/lib/sysctl.d/50-coredump.conf \
> > +        ${sysconfdir}/systemd/coredump.conf \
> > +        ${rootlibexecdir}/systemd/systemd-coredump \
> > +"
> >  
> > -RDEPENDS_${PN}-ptest += "perl python bash"
> > -FILES_${PN}-ptest += "${libdir}/udev/rules.d"
> > +PACKAGES =+ "${PN}-services-cryptsetup"
> > +SUMMARY_${PN}-services-cryptsetup = "Unit generator for /etc/crypttab"
> > +ALLOW_EMPTY_${PN}-services-cryptsetup = "1"
> > +FILES_${PN}-services-cryptsetup = "\
> > +        ${rootlibexecdir}/systemd/system-generators/systemd-cryptsetup-generator \
> > +        ${systemd_unitdir}/system/cryptsetup-pre.target \
> > +        ${systemd_unitdir}/system/cryptsetup.target \
> > +        ${systemd_unitdir}/system/sysinit.target.wants/cryptsetup.target \
> > +        ${rootlibexecdir}/systemd/systemd-cryptsetup \
> > +"
> > +
> > +PACKAGES =+ "${PN}-services-dbus"
> > +SUMMARY_${PN}-services-dbus = "Dbus daemon system service"
> > +# NOTE: dbus dependency will go away when kdbus is in use
> > +RDEPENDS_${PN}-services-dbus = "dbus"
> > +FILES_${PN}-services-dbus = "\
> > +        ${datadir}/dbus-1/services/org.freedesktop.systemd1.service \
> > +        ${datadir}/dbus-1/system-services/org.freedesktop.systemd1.service \
> > +        ${datadir}/dbus-1/system-services/org.freedesktop.import1.service \
> > +        ${sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf \
> > +        ${sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf \
> > +        ${systemd_unitdir}/system/sockets.target.wants/dbus.socket \
> > +        ${systemd_unitdir}/system/dbus.target.wants/dbus.socket \
> > +        ${systemd_unitdir}/system/multi-user.target.wants/dbus.service \
> > +        ${systemd_unitdir}/system/dbus.socket \
> > +        ${systemd_unitdir}/system/dbus.service \
> > +"
> > +
> > +PACKAGES =+ "${PN}-services-debug"
> > +SUMMARY_${PN}-services-debug = "Generator for enabling a runtime debug shell and masking specific units at boot"
> > +RRECOMMENDS_${PN}-services-debug = "${PN}-services-base ${PN}-tools"
> > +FILES_${PN}-services-debug = "\
> > +        ${rootlibexecdir}/systemd/system-generators/systemd-debug-generator \
> > +        ${systemd_unitdir}/system/debug-shell.service \
> > +        ${systemd_unitdir}/system/sys-kernel-config.mount \
> > +        ${systemd_unitdir}/system/sys-kernel-debug.mount \
> > +        ${systemd_unitdir}/system/sysinit.target.wants/sys-kernel-config.mount \
> > +        ${systemd_unitdir}/system/sysinit.target.wants/sys-kernel-debug.mount \
> > +"
> > +
> > +PACKAGES =+ "${PN}-services-firstboot"
> > +SUMMARY_${PN}-services-firstboot = "Initialize basic system settings on or before the first boot-up of a system"
> > +FILES_${PN}-services-firstboot = "\
> > +        ${base_bindir}/systemd-firstboot \
> > +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-firstboot.service \
> > +        ${systemd_unitdir}/system/systemd-firstboot.service \
> > +"
> > +
> > +PACKAGES =+ "${PN}-services-fsck"
> > +SUMMARY_${PN}-services-fsck = "File system checker logic"
> > +RRECOMMENDS_${PN}-services-fsck = "util-linux-fsck e2fsprogs-e2fsck"
> > +FILES_${PN}-services-fsck = "\
> > +        ${systemd_unitdir}/system/systemd-fsck-root.service \
> > +        ${systemd_unitdir}/system/systemd-fsck@.service \
> > +        ${rootlibexecdir}/systemd/systemd-fsck \
> > +"
> >  
> > -FILES_${PN}-dbg += "${libdir}/systemd/ptest/.debug"
> > +PACKAGES =+ "${PN}-services-fuse"
> > +SUMMARY_${PN}-services-fuse = "FUSE (filesystem in userspace) service"
> > +FILES_${PN}-services-fuse = "\
> > +        ${systemd_unitdir}/system/sysinit.target.wants/sys-fs-fuse-connections.mount \
> > +        ${systemd_unitdir}/system/sys-fs-fuse-connections.mount \
> > +"
> > +
> > +PACKAGES =+ "${PN}-services-getty"
> > +SUMMARY_${PN}-services-getty = "Getty service"
> > +RRECOMMENDS_${PN}-services-getty = "util-linux-agetty ${PN}-generators-getty"
> > +FILES_${PN}-services-getty = "\
> > +        ${systemd_unitdir}/system/autovt@.service \
> > +        ${systemd_unitdir}/system/console-getty.service \
> > +        ${systemd_unitdir}/system/container-getty@.service \
> > +        ${systemd_unitdir}/system/getty@.service \
> > +        ${systemd_unitdir}/system/serial-getty@.service \
> > +        ${sysconfdir}/systemd/system/getty.target.wants/ \
> > +"
> > +
> > +PACKAGES =+ "${PN}-services-hostnamed"
> > +SUMMARY_${PN}-services-hostnamed = "Host name bus mechanism"
> > +RDEPENDS_${PN}-services-hostnamed = "${PN}-services-dbus"
> > +CONFFILES_${PN}-services-hostnamed = "${sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf"
> > +FILES_${PN}-services-hostnamed = "\
> > +        ${sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf \
> > +        ${bindir}/hostnamectl \
> > +        ${systemd_unitdir}/system/busnames.target.wants/org.freedesktop.hostname1.busname \
> > +        ${systemd_unitdir}/system/dbus-org.freedesktop.hostname1.service \
> > +        ${systemd_unitdir}/system/org.freedesktop.hostname1.busname \
> > +        ${systemd_unitdir}/system/systemd-hostnamed.service \
> > +        ${rootlibexecdir}/systemd/systemd-hostnamed \
> > +        ${datadir}/dbus-1/system-services/org.freedesktop.hostname1.service \
> > +        ${datadir}/polkit-1/actions/org.freedesktop.hostname1.policy \
> > +"
> > +
> > +PACKAGES =+ "${PN}-services-journal"
> > +SUMMARY_${PN}-services-journal = "Journal (logging) service"
> > +CONFFILES_${PN}-services-journal = "${sysconfdir}/systemd/journald.conf"
> > +FILES_${PN}-services-journal = "\
> > +        ${base_bindir}/journalctl \
> > +        ${rootlibexecdir}/systemd/systemd-journald \
> > +        ${sysconfdir}/systemd/journald.conf \
> > +        ${systemd_unitdir}/system/sockets.target.wants/systemd-journald-dev-log.socket \
> > +        ${systemd_unitdir}/system/sockets.target.wants/systemd-journald.socket \
> > +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-journal-catalog-update.service \
> > +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-journal-flush.service \
> > +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-journald.service \
> > +        ${systemd_unitdir}/system/systemd-journal-catalog-update.service \
> > +        ${systemd_unitdir}/system/systemd-journal-flush.service \
> > +        ${systemd_unitdir}/system/systemd-journald-dev-log.socket \
> > +        ${systemd_unitdir}/system/systemd-journald.service \
> > +        ${systemd_unitdir}/system/systemd-journald.socket \
> > +        ${exec_prefix}/lib/systemd/catalog/ \
> > +"
> > +
> > +PACKAGES =+ "${PN}-services-ldconfig"
> > +SUMMARY_${PN}-services-ldconfig = "Service to run ldconfig after updates"
> > +FILES_${PN}-services-ldconfig = "\
> > +        ${systemd_unitdir}/system/sysinit.target.wants/ldconfig.service \
> > +        ${systemd_unitdir}/system/ldconfig.service \
> > +"
> > +
> > +PACKAGES =+ "${PN}-services-localed"
> > +SUMMARY_${PN}-services-localed = "Locale bus mechanism"
> > +RDEPENDS_${PN}-services-localed = "${PN}-services-dbus"
> > +CONFFILES_${PN}-services-localed = "${sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf"
> > +FILES_${PN}-services-localed = "\
> > +        ${sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf \
> > +        ${bindir}/localectl \
> > +        ${systemd_unitdir}/system/busnames.target.wants/org.freedesktop.locale1.busname \
> > +        ${systemd_unitdir}/system/dbus-org.freedesktop.locale1.service \
> > +        ${systemd_unitdir}/system/org.freedesktop.locale1.busname \
> > +        ${systemd_unitdir}/system/systemd-localed.service \
> > +        ${rootlibexecdir}/systemd/systemd-localed \
> > +        ${datadir}/dbus-1/system-services/org.freedesktop.locale1.service \
> > +        ${datadir}/polkit-1/actions/org.freedesktop.locale1.policy \
> > +        ${datadir}/systemd/kbd-model-map \
> > +"
> > +
> > +PACKAGES =+ "${PN}-services-logind"
> > +SUMMARY_${PN}-services-logind = "Login management service"
> > +RDEPENDS_${PN}-services-logind = "${PN}-services-dbus ${PN}-services-tmpfiles"
> > +RRECOMMENDS_${PN}-services-logind = "udev"
> > +CONFFILES_${PN}-services-logind = "\
> > +        ${sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf \
> > +        ${sysconfdir}/systemd/logind.conf \
> > +"
> > +FILES_${PN}-services-logind = "\
> > +        ${sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf \
> > +        ${sysconfdir}/systemd/logind.conf \
> > +        ${base_bindir}/loginctl \
> > +        ${base_bindir}/systemd-inhibit \
> > +        ${systemd_unitdir}/system/busnames.target.wants/org.freedesktop.login1.busname \
> > +        ${systemd_unitdir}/system/dbus-org.freedesktop.login1.service \
> > +        ${systemd_unitdir}/system/multi-user.target.wants/systemd-logind.service \
> > +        ${systemd_unitdir}/system/multi-user.target.wants/systemd-user-sessions.service \
> > +        ${systemd_unitdir}/system/org.freedesktop.login1.busname \
> > +        ${systemd_unitdir}/system/systemd-logind.service \
> > +        ${systemd_unitdir}/system/systemd-user-sessions.service \
> > +        ${systemd_unitdir}/system/user@.service \
> > +        ${rootlibexecdir}/systemd/systemd-logind \
> > +        ${rootlibexecdir}/systemd/systemd-user-sessions \
> > +        ${datadir}/dbus-1/system-services/org.freedesktop.login1.service \
> > +        ${datadir}/polkit-1/actions/org.freedesktop.login1.policy \
> > +        ${rootlibexecdir}/udev/rules.d/70-uaccess.rules \
> > +        ${rootlibexecdir}/udev/rules.d/70-power-switch.rules \
> > +        ${rootlibexecdir}/udev/rules.d/71-seat.rules \
> > +        ${rootlibexecdir}/udev/rules.d/73-seat-late.rules \
> > +"
> > +
> > +PACKAGES =+ "${PN}-services-machined"
> > +SUMMARY_${PN}-services-machined = "Virtual machine and container registration manager"
> > +RDEPENDS_${PN}-services-machined = "${PN}-services-dbus"
> > +CONFFILES_${PN}-services-machined = "${sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf"
> > +FILES_${PN}-services-machined = "\
> > +        ${sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf \
> > +        ${base_bindir}/machinectl \
> > +        ${systemd_unitdir}/system/busnames.target.wants/org.freedesktop.machine1.busname \
> > +        ${systemd_unitdir}/system/dbus-org.freedesktop.machine1.service \
> > +        ${systemd_unitdir}/system/machine.slice \
> > +        ${systemd_unitdir}/system/org.freedesktop.machine1.busname \
> > +        ${systemd_unitdir}/system/systemd-machined.service \
> > +        ${rootlibexecdir}/systemd/systemd-machined \
> > +        ${datadir}/dbus-1/system-services/org.freedesktop.machine1.service \
> > +"
> > +
> > +PACKAGES =+ "${PN}-services-modules-load"
> > +SUMMARY_${PN}-services-modules-load = "Load kernel modules at boot"
> > +FILES_${PN}-services-modules-load = "\
> > +        ${sysconfdir}/modules-load.d/ \
> > +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-modules-load.service \
> > +        ${systemd_unitdir}/system/systemd-modules-load.service \
> > +        ${rootlibexecdir}/systemd/systemd-modules-load \
> > +        ${exec_prefix}/lib/modules-load.d \
> > +"
> > +
> > +PACKAGES =+ "${PN}-services-modules-static-nodes"
> > +SUMMARY_${PN}-services-modules-static-nodes = "Create list of required static device nodes for the current kernel"
> > +RDEPENDS_${PN}-services-modules-static-nodes = "kmod ${PN}-services-tmpfiles"
> > +FILES_${PN}-services-modules-static-nodes = "\
> > +        ${systemd_unitdir}/system/sysinit.target.wants/kmod-static-nodes.service \
> > +        ${systemd_unitdir}/system/kmod-static-nodes.service \
> > +"
> > +
> > +
> > +PACKAGES =+ "${PN}-services-multi-seat-x"
> > +SUMMARY_${PN}-services-multi-seat-x = "X11 multi-seat support service"
> > +RDEPENDS_${PN}-services-multi-seat-x = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/xserver', '', d)}"
> > +FILES_${PN}-services-multi-seat-x = "\
> > +        ${rootlibexecdir}/systemd/systemd-multi-seat-x \
> > +"
> > +
> > +PACKAGES += "${PN}-services-networkd"
> > +SUMMARY_${PN}-services-networkd = "Network manager (static, DHCP, bridge...)"
> > +# NOTE: if no sysusers, then users/groups must be setup
> > +RRECOMMENDS_${PN}-services-networkd = "${PN}-services-sysusers"
> > +FILES_${PN}-services-networkd = "\
> > +        ${sysconfdir}/systemd/network/ \
> > +        ${sysconfdir}/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service \
> > +        ${sysconfdir}/systemd/system/multi-user.target.wants/systemd-networkd.service \
> > +        ${base_bindir}/networkctl \
> > +        ${rootlibexecdir}/systemd/network/80-container-host0.network \
> > +        ${rootlibexecdir}/systemd/network/80-container-ve.network \
> > +        ${rootlibexecdir}/systemd/network/99-default.link \
> > +        ${systemd_unitdir}/system/systemd-networkd-wait-online.service \
> > +        ${systemd_unitdir}/system/systemd-networkd.service \
> > +        ${rootlibexecdir}/systemd/systemd-networkd \
> > +        ${rootlibexecdir}/systemd/systemd-networkd-wait-online \
> > +        ${exec_prefix}/lib/systemd/network \
> > +        ${sysconfdir}/dbus-1/system.d/org.freedesktop.network1.conf \
> > +        ${datadir}/dbus-1/system-services/org.freedesktop.network1.service \
> > +"
> > +
> > +PACKAGES += "${PN}-services-journal-gatewayd"
> > +SUMMARY_${PN}-services-journal-gatewayd = "HTTP server for journal events"
> > +RRECOMMENDS_${PN}-services-journal-gatewayd = "${PN}-services-networkd"
> > +FILES_${PN}-services-journal-gatewayd = "\
> > +	${rootlibexecdir}/systemd/systemd-journal-gatewayd \
> > +	${rootlibexecdir}/systemd/systemd-journal-remote \
> > +	${exec_prefix}/lib/sysusers.d/systemd-remote.conf \
> > +	${exec_prefix}/lib/tmpfiles.d/systemd-remote.conf \
> > +	${sysconfdir}/systemd/journal-remote.conf \
> > +"
> > +
> > +PACKAGES =+ "${PN}-services-nspawn"
> > +SUMMARY_${PN}-services-nspawn = "Spawn a namespace container for debugging, testing and building"
> > +FILES_${PN}-services-nspawn = "\
> > +        ${systemd_unitdir}/system/systemd-nspawn@.service \
> > +        ${bindir}/systemd-nspawn \
> > +"
> > +
> > +PACKAGES =+ "${PN}-services-quota"
> > +SUMMARY_${PN}-services-quota = "File system quota checker logic"
> > +RDEPENDS_${PN}-services-quota = "quota"
> > +FILES_${PN}-services-quota = "\
> > +        ${systemd_unitdir}/system/quotaon.service \
> > +        ${systemd_unitdir}/system/systemd-quotacheck.service \
> > +        ${rootlibexecdir}/systemd/systemd-quotacheck \
> > +"
> > +
> > +PACKAGES =+ "${PN}-services-randomseed"
> > +SUMMARY_${PN}-services-randomseed = "systemd's random seed save/restore service"
> > +FILES_${PN}-services-randomseed = "\
> > +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-random-seed.service \
> > +        ${systemd_unitdir}/system/systemd-random-seed.service \
> > +        ${rootlibexecdir}/systemd/systemd-random-seed \
> > +"
> > +
> > +PACKAGES =+ "${PN}-services-readahead"
> > +SUMMARY_${PN}-services-readahead = "Load and save the system random seed at boot and shutdown"
> > +FILES_${PN}-services-readahead = "\
> > +        ${systemd_unitdir}/system/systemd-readahead-collect.service \
> > +        ${systemd_unitdir}/system/systemd-readahead-done.service \
> > +        ${systemd_unitdir}/system/systemd-readahead-done.timer \
> > +        ${systemd_unitdir}/system/systemd-readahead-drop.service \
> > +        ${systemd_unitdir}/system/systemd-readahead-replay.service \
> > +        ${rootlibexecdir}/systemd/systemd-readahead \
> > +"
> > +
> > +PACKAGES =+ "${PN}-services-rfkill"
> > +SUMMARY_${PN}-services-rfkill = "Load and save the RF kill switch state at boot and shutdown"
> > +FILES_${PN}-services-rfkill = "\
> > +        ${systemd_unitdir}/system/systemd-rfkill@.service \
> > +        ${rootlibexecdir}/systemd/systemd-rfkill \
> > +"
> > +
> > +PACKAGES =+ "${PN}-services-sleep"
> > +SUMMARY_${PN}-services-sleep = "System sleep state logic"
> > +FILES_${PN}-services-sleep = "\
> > +        ${systemd_unitdir}/system/systemd-hybrid-sleep.service \
> > +        ${systemd_unitdir}/system/systemd-suspend.service \
> > +        ${systemd_unitdir}/system/systemd-hibernate.service \
> > +        ${systemd_unitdir}/system-sleep/ \
> > +        ${rootlibexecdir}/systemd/systemd-sleep \
> > +"
> > +
> > +PACKAGES =+ "${PN}-services-sysctl"
> > +SUMMARY_${PN}-services-sysctl = "Configure kernel parameters at boot"
> > +FILES_${PN}-services-sysctl = "\
> > +        ${sysconfdir}/sysctl.d/ \
> > +        ${exec_prefix}/lib/sysctl.d/ \
> > +        ${exec_prefix}/lib/sysctl.d/50-default.conf \
> > +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-sysctl.service \
> > +        ${systemd_unitdir}/system/systemd-sysctl.service \
> > +        ${rootlibexecdir}/systemd/systemd-sysctl \
> > +"
> > +
> > +PACKAGES =+ "${PN}-services-sysusers"
> > +SUMMARY_${PN}-services-sysusers = "Allocate system users and groups"
> > +FILES_${PN}-services-sysusers = "\
> > +        ${base_bindir}/systemd-sysusers \
> > +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-sysusers.service \
> > +        ${systemd_unitdir}/system/systemd-sysusers.service \
> > +        ${exec_prefix}/lib/sysusers.d/basic.conf \
> > +        ${exec_prefix}/lib/sysusers.d/systemd.conf \
> > +"
> > +
> > +PACKAGES =+ "${PN}-services-sysvcompat"
> > +SUMMARY_${PN}-services-sysvcompat = "SYSV legacy and compatibility services"
> > +# NOTE: if no sysusers or tmpfiles, then users/groups and FS structure must be setup
> > +RRECOMMENDS_${PN}-services-sysvcompat = "${PN}-services-sysusers ${PN}-services-tmpfiles"
> > +FILES_${PN}-services-sysvcompat = "\
> > +        ${rootlibexecdir}/systemd/systemd-bus-proxyd \
> > +        ${rootlibexecdir}/systemd/systemd-socket-proxyd \
> > +        ${bindir}/systemd-stdio-bridge \
> > +        ${rootlibexecdir}/systemd/system-generators/systemd-rc-local-generator \
> > +        ${rootlibexecdir}/systemd/system-generators/systemd-sysv-generator \
> > +        ${rootlibexecdir}/systemd/systemd-initctl \
> > +        ${rootlibexecdir}/systemd/systemd-update-utmp \
> > +        ${systemd_unitdir}/system/halt-local.service \
> > +        ${systemd_unitdir}/system/rc-local.service \
> > +        ${systemd_unitdir}/system/runlevel1.target.wants/systemd-update-utmp-runlevel.service \
> > +        ${systemd_unitdir}/system/runlevel2.target.wants/systemd-update-utmp-runlevel.service \
> > +        ${systemd_unitdir}/system/runlevel3.target.wants/systemd-update-utmp-runlevel.service \
> > +        ${systemd_unitdir}/system/runlevel4.target.wants/systemd-update-utmp-runlevel.service \
> > +        ${systemd_unitdir}/system/runlevel5.target.wants/systemd-update-utmp-runlevel.service \
> > +        ${systemd_unitdir}/system/sockets.target.wants/systemd-initctl.socket \
> > +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-update-utmp.service \
> > +        ${systemd_unitdir}/system/systemd-initctl.service \
> > +        ${systemd_unitdir}/system/systemd-initctl.socket \
> > +        ${systemd_unitdir}/system/systemd-update-utmp-runlevel.service \
> > +        ${systemd_unitdir}/system/systemd-update-utmp.service \
> > +        ${exec_prefix}/lib/tmpfiles.d/legacy.conf \
> > +"
> > +
> > +PACKAGES =+ "${PN}-services-timedated"
> > +SUMMARY_${PN}-services-timedated = "Time and date bus mechanism"
> > +RDEPENDS_${PN}-services-timedated = "${PN}-services-dbus"
> > +CONFFILES_${PN}-services-timedated = "${sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf"
> > +FILES_${PN}-services-timedated = "\
> > +        ${sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf \
> > +        ${bindir}/timedatectl \
> > +        ${systemd_unitdir}/system/busnames.target.wants/org.freedesktop.timedate1.busname \
> > +        ${systemd_unitdir}/system/dbus-org.freedesktop.timedate1.service \
> > +        ${systemd_unitdir}/system/org.freedesktop.timedate1.busname \
> > +        ${systemd_unitdir}/system/systemd-timedated.service \
> > +        ${rootlibexecdir}/systemd/systemd-timedated \
> > +        ${datadir}/dbus-1/system-services/org.freedesktop.timedate1.service \
> > +        ${datadir}/polkit-1/actions/org.freedesktop.timedate1.policy \
> > +"
> > +
> > +PACKAGES =+ "${PN}-services-timesyncd"
> > +SUMMARY_${PN}-services-timesyncd = "Network Time Synchronization"
> > +# NOTE: if no sysusers, then users/groups must be setup
> > +RRECOMMENDS_${PN}-services-timesyncd = "${PN}-services-sysusers"
> > +CONFFILES_${PN}-services-timesyncd = "${sysconfdir}/systemd/timesyncd.conf"
> > +FILES_${PN}-services-timesyncd = "\
> > +        ${sysconfdir}/systemd/system/sysinit.target.wants/systemd-timesyncd.service \
> > +        ${sysconfdir}/systemd/timesyncd.conf \
> > +        ${systemd_unitdir}/system/systemd-timesyncd.service \
> > +        ${rootlibexecdir}/systemd/systemd-timesyncd \
> > +"
> > +
> > +PACKAGES =+ "${PN}-services-tmpfiles"
> > +SUMMARY_${PN}-services-tmpfiles = "Creates, deletes and cleans up volatile and temporary files and directories"
> > +FILES_${PN}-services-tmpfiles = "\
> > +        ${sysconfdir}/tmpfiles.d/ \
> > +        ${base_bindir}/systemd-tmpfiles \
> > +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-tmpfiles-setup-dev.service \
> > +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-tmpfiles-setup.service \
> > +        ${systemd_unitdir}/system/systemd-tmpfiles-clean.service \
> > +        ${systemd_unitdir}/system/systemd-tmpfiles-clean.timer \
> > +        ${systemd_unitdir}/system/systemd-tmpfiles-setup-dev.service \
> > +        ${systemd_unitdir}/system/systemd-tmpfiles-setup.service \
> > +        ${systemd_unitdir}/system/timers.target.wants/systemd-tmpfiles-clean.timer \
> > +        ${exec_prefix}/lib/tmpfiles.d/etc.conf \
> > +        ${exec_prefix}/lib/tmpfiles.d/systemd-nologin.conf \
> > +        ${exec_prefix}/lib/tmpfiles.d/systemd.conf \
> > +        ${exec_prefix}/lib/tmpfiles.d/tmp.conf \
> > +        ${exec_prefix}/lib/tmpfiles.d/var.conf \
> > +        ${exec_prefix}/lib/tmpfiles.d/00-create-volatile.conf \
> > +        ${exec_prefix}/lib/tmpfiles.d/x11.conf \
> > +"
> > +
> > +PACKAGES =+ "${PN}-services-udev"
> > +SUMMARY_${PN}-services-udev = "Device event managing daemon"
> > +RDEPENDS_${PN}-services-udev = "udev"
> > +FILES_${PN}-services-udev = "\
> > +        ${systemd_unitdir}/system/initrd-udevadm-cleanup-db.service \
> > +        ${systemd_unitdir}/system/systemd-udev-hwdb-update.service \
> > +        ${systemd_unitdir}/system/systemd-udev-settle.service \
> > +        ${systemd_unitdir}/system/systemd-udev-trigger.service \
> > +        ${systemd_unitdir}/system/systemd-udevd-control.socket \
> > +        ${systemd_unitdir}/system/systemd-udevd-kernel.socket \
> > +        ${systemd_unitdir}/system/systemd-udevd.service \
> > +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-udevd.service \
> > +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-udev-trigger.service \
> > +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-udev-hwdb-update.service \
> > +        ${systemd_unitdir}/system/sockets.target.wants/systemd-udevd-kernel.socket \
> > +        ${systemd_unitdir}/system/sockets.target.wants/systemd-udevd-control.socket \
> > +"
> > +
> > +PACKAGES =+ "${PN}-services-update"
> > +SUMMARY_${PN}-services-update = "Mark /etc and /var fully updated"
> > +FILES_${PN}-services-update = "\
> > +        ${rootlibexecdir}/systemd/system-generators/systemd-system-update-generator \
> > +        ${rootlibexecdir}/systemd/systemd-update-done \
> > +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-update-done.service \
> > +        ${systemd_unitdir}/system/systemd-update-done.service \
> > +"
> > +
> > +PACKAGES =+ "${PN}-services-vconsole"
> > +SUMMARY_${PN}-services-vconsole = "Configure the virtual console at boot"
> > +RECOMMENDS_${PN}-services-vconsole = "kbd kbd-consolefonts kbd-keymaps"
> > +FILES_${PN}-services-vconsole = "\
> > +        ${systemd_unitdir}/system/sysinit.target.wants/systemd-vconsole-setup.service \
> > +        ${systemd_unitdir}/system/systemd-vconsole-setup.service \
> > +        ${rootlibexecdir}/systemd/systemd-vconsole-setup \
> > +"
> > +
> > +########################################################################
> > +# Standard BitBake Packages
> > +########################################################################
> > +
> > +FILES_${PN}-dbg += "\
> > +        ${base_libdir}/security/.debug/ \
> > +        ${libdir}/systemd/ptest/.debug \
> > +        ${rootlibdir}/.debug \
> > +        ${systemd_unitdir}/*/.debug \
> > +        ${systemd_unitdir}/.debug \
> > +"
> >  
> >  FILES_${PN}-gui = "${bindir}/systemadm"
> >  
> > -FILES_${PN}-vconsole-setup = "${rootlibexecdir}/systemd/systemd-vconsole-setup \
> > -                              ${systemd_unitdir}/system/systemd-vconsole-setup.service \
> > -                              ${systemd_unitdir}/system/sysinit.target.wants/systemd-vconsole-setup.service"
> > +FILES_${PN}-dev += "\
> > +        ${base_libdir}/security/*.la \
> > +        ${datadir}/dbus-1/interfaces/ \
> > +        ${sysconfdir}/rpm/macros.systemd \
> > +"
> >  
> > -RDEPENDS_${PN}-kernel-install += "bash"
> > -FILES_${PN}-kernel-install = "${bindir}/kernel-install \
> > -                              ${sysconfdir}/kernel/ \
> > -                              ${exec_prefix}/lib/kernel \
> > -                             "
> > -FILES_${PN}-rpm-macros = "${exec_prefix}/lib/rpm \
> > -                         "
> > -
> > -FILES_${PN}-zsh = "${datadir}/zsh/site-functions"
> > -
> > -FILES_${PN}-binfmt = "${sysconfdir}/binfmt.d/ \
> > -                      ${exec_prefix}/lib/binfmt.d \
> > -                      ${rootlibexecdir}/systemd/systemd-binfmt \
> > -                      ${systemd_unitdir}/system/proc-sys-fs-binfmt_misc.* \
> > -                      ${systemd_unitdir}/system/systemd-binfmt.service"
> > -RRECOMMENDS_${PN}-binfmt = "kernel-module-binfmt-misc"
> > -
> > -RRECOMMENDS_${PN}-vconsole-setup = "kbd kbd-consolefonts kbd-keymaps"
> > -
> > -CONFFILES_${PN} = "${sysconfdir}/systemd/journald.conf \
> > -                ${sysconfdir}/systemd/logind.conf \
> > -                ${sysconfdir}/systemd/system.conf \
> > -                ${sysconfdir}/systemd/user.conf"
> > -
> > -FILES_${PN} = " ${base_bindir}/* \
> > -                ${datadir}/bash-completion \
> > -                ${datadir}/dbus-1/services \
> > -                ${datadir}/dbus-1/system-services \
> > -                ${datadir}/polkit-1 \
> > -                ${datadir}/${BPN} \
> > -                ${datadir}/factory \
> > -                ${sysconfdir}/bash_completion.d/ \
> > -                ${sysconfdir}/dbus-1/ \
> > -                ${sysconfdir}/machine-id \
> > -                ${sysconfdir}/modules-load.d/ \
> > -                ${sysconfdir}/pam.d/ \
> > -                ${sysconfdir}/sysctl.d/ \
> > -                ${sysconfdir}/systemd/ \
> > -                ${sysconfdir}/tmpfiles.d/ \
> > -                ${sysconfdir}/xdg/ \
> > -                ${sysconfdir}/init.d/README \
> > -                ${rootlibexecdir}/systemd/* \
> > -                ${systemd_unitdir}/* \
> > -                ${base_libdir}/security/*.so \
> > -                ${libdir}/libnss_* \
> > -                /cgroup \
> > -                ${bindir}/systemd* \
> > -                ${bindir}/busctl \
> > -                ${bindir}/localectl \
> > -                ${bindir}/hostnamectl \
> > -                ${bindir}/timedatectl \
> > -                ${bindir}/bootctl \
> > -                ${bindir}/kernel-install \
> > -                ${exec_prefix}/lib/tmpfiles.d/*.conf \
> > -                ${exec_prefix}/lib/systemd \
> > -                ${exec_prefix}/lib/modules-load.d \
> > -                ${exec_prefix}/lib/sysctl.d \
> > -                ${exec_prefix}/lib/sysusers.d \
> > -                ${localstatedir} \
> > -                /lib/udev/rules.d/70-uaccess.rules \
> > -                /lib/udev/rules.d/71-seat.rules \
> > -                /lib/udev/rules.d/73-seat-late.rules \
> > -                /lib/udev/rules.d/99-systemd.rules \
> > -               "
> > +USERADD_PACKAGES = "${PN}"
> > +USERADD_PARAM_${PN} += "--system systemd-journal-gateway; --system systemd-timesync"
> > +GROUPADD_PARAM_${PN} = "-r lock; -r systemd-journal"
> >  
> > -FILES_${PN}-dbg += "${rootlibdir}/.debug ${systemd_unitdir}/.debug ${systemd_unitdir}/*/.debug ${base_libdir}/security/.debug/"
> > -FILES_${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ ${sysconfdir}/rpm/macros.systemd"
> > +# The test cases need perl and bash to run correctly.
> > +RDEPENDS_${PN}-ptest += "perl python bash"
> > +FILES_${PN}-ptest += "\
> > +        ${libdir}/udev/rules.d \
> > +"
> >  
> > -RDEPENDS_${PN} += "kmod dbus util-linux-mount udev (= ${EXTENDPKGV})"
> > -RDEPENDS_${PN} += "volatile-binds"
> > +########################################################################
> > +# Misc Packages
> > +########################################################################
> > +
> > +PACKAGES =+ "${PN}-bash"
> > +SUMMARY_${PN}-bash = "Bash shell commands completion"
> > +FILES_${PN}-bash = "\
> > +        ${datadir}/bash-completion/completions/bootctl \
> > +        ${datadir}/bash-completion/completions/busctl \
> > +        ${datadir}/bash-completion/completions/coredumpctl \
> > +        ${datadir}/bash-completion/completions/hostnamectl \
> > +        ${datadir}/bash-completion/completions/journalctl \
> > +        ${datadir}/bash-completion/completions/kernel-install \
> > +        ${datadir}/bash-completion/completions/localectl \
> > +        ${datadir}/bash-completion/completions/loginctl \
> > +        ${datadir}/bash-completion/completions/machinectl \
> > +        ${datadir}/bash-completion/completions/systemctl \
> > +        ${datadir}/bash-completion/completions/systemd-* \
> > +        ${datadir}/bash-completion/completions/timedatectl \
> > +"
> > +
> > +PACKAGES =+ "${PN}-initramfs"
> > +SUMMARY_${PN}-initramfs = "Initramfs support"
> > +FILES_${PN}-initramfs = "/init"
> > +RDEPENDS_${PN}-initramfs = "${PN}"
> >  
> > -RRECOMMENDS_${PN} += "systemd-serialgetty systemd-compat-units udev-hwdb\
> > -                      util-linux-agetty \
> > -                      util-linux-fsck e2fsprogs-e2fsck \
> > -                      kernel-module-autofs4 kernel-module-unix kernel-module-ipv6 os-release \
> > +PACKAGES =+ "${PN}-kernel-install"
> > +SUMMARY_${PN}-kernel-install = "systemd tool to add/remove kernel and initramfs images to/from /boot"
> > +RDEPENDS_${PN}-kernel-install += "bash"
> > +FILES_${PN}-kernel-install = "\
> > +        ${bindir}/kernel-install \
> > +        ${sysconfdir}/kernel/ \
> > +        ${exec_prefix}/lib/kernel \
> >  "
> >  
> > -PACKAGES =+ "udev-dbg udev udev-hwdb"
> > +PACKAGES =+ "${PN}-pam"
> > +SUMMARY_${PN}-pam = "systemd PAM modules and configuration"
> > +FILES_${PN}-pam = "\
> > +        ${sysconfdir}/pam.d \
> > +        ${base_libdir}/security/pam_systemd.so \
> > +"
> >  
> > -FILES_udev-dbg += "/lib/udev/.debug"
> > +PACKAGES =+ "${PN}-preset"
> > +SUMMARY_${PN}-preset = "Service enablement presets"
> > +FILES_${PN}-preset = "${systemd_unitdir}/system-preset/90-systemd.preset"
> >  
> > -RPROVIDES_udev = "hotplug"
> > +PACKAGES =+ "${PN}-rpm-macros"
> > +SUMMARY_${PN}-rpm-macros = "RPM macros"
> > +FILES_${PN}-rpm-macros = "${exec_prefix}/lib/rpm \
> > +			 "
> >  
> > -RDEPENDS_udev-hwdb += "udev"
> > +PACKAGES =+ "${PN}-zsh"
> > +SUMMARY_${PN}-zsh = "Zsh shell commands completion"
> > +FILES_${PN}-zsh = "\
> > +        ${datadir}/zsh/site-functions \
> > +"
> >  
> > -FILES_udev += "${base_sbindir}/udevd \
> > -               ${rootlibexecdir}/systemd/systemd-udevd \
> > -               ${rootlibexecdir}/udev/accelerometer \
> > -               ${rootlibexecdir}/udev/ata_id \
> > -               ${rootlibexecdir}/udev/cdrom_id \
> > -               ${rootlibexecdir}/udev/collect \
> > -               ${rootlibexecdir}/udev/findkeyboards \
> > -               ${rootlibexecdir}/udev/keyboard-force-release.sh \
> > -               ${rootlibexecdir}/udev/keymap \
> > -               ${rootlibexecdir}/udev/mtd_probe \
> > -               ${rootlibexecdir}/udev/scsi_id \
> > -               ${rootlibexecdir}/udev/v4l_id \
> > -               ${rootlibexecdir}/udev/keymaps \
> > -               ${rootlibexecdir}/udev/rules.d/*.rules \
> > -               ${sysconfdir}/udev \
> > -               ${sysconfdir}/init.d/systemd-udevd \
> > -               ${systemd_unitdir}/system/*udev* \
> > -               ${systemd_unitdir}/system/*.wants/*udev* \
> > -               ${base_bindir}/udevadm \
> > -               ${datadir}/bash-completion/completions/udevadm \
> > -              "
> > -
> > -FILES_udev-hwdb = "${rootlibexecdir}/udev/hwdb.d"
> > +########################################################################
> > +# Aggregation of Split Packages
> > +########################################################################
> > +PACKAGES =+ "${PN}-services-base"
> > +SUMMARY_${PN}-services-base = "Base services aggregation"
> > +ALLOW_EMPTY_${PN}-services-base = "1"
> > +RDEPENDS_${PN}-services-base = " \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'ask-password', '${PN}-services-ask-password', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'backlight', '${PN}-services-backlight', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'binfmt', '${PN}-services-binfmt', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'dbus', '${PN}-services-dbus', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'firstboot', '${PN}-services-firstboot', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'fuse', '${PN}-services-fuse', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'quota', '${PN}-services-quota', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'rfkill', '${PN}-services-rfkill', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'timesyncd', '${PN}-services-timesyncd', '', d)}  \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'update', '${PN}-services-update', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'vconsole', '${PN}-services-vconsole', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'filesystems', '${PN}-generators-filesystems', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'preset', '${PN}-preset', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'fsck', '${PN}-services-fsck', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'journal', '${PN}-services-journal', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'modules-load', '${PN}-services-modules-load', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'randomseed', '${PN}-services-randomseed', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'sleep', '${PN}-services-sleep', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'sysctl', '${PN}-services-sysctl', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'sysusers', '${PN}-services-sysusers', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'tmpfiles', '${PN}-services-tmpfiles', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'udev', '${PN}-services-udev', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'tools', '${PN}-tools', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'bash', '${PN}-bash', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'initramfs', '${PN}-initramfs', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'kernel-install', '${PN}-kernel-install', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'rpm-macros', '${PN}-rpm-macros', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'zsh', '${PN}-zsh', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'bootchart', '${PN}-services-bootchart', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'debug', '${PN}-services-debug', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'machined', '${PN}-services-machined', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'nspawn', '${PN}-services-nspawn', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'sysvcompat', '${PN}-services-sysvcompat', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'getty', '${PN}-generators-getty', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'getty', '${PN}-services-getty', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'ldconfig', '${PN}-services-ldconfig', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'polkit', '${PN}-services-hostnamed', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'polkit', '${PN}-services-localed', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'polkit', '${PN}-services-logind', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'polkit', '${PN}-services-timedated', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PN}-pam', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'networkd', '${PN}-services-networkd', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-services-networkd', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-services-journal-gatewayd', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'cryptsetup', '${PN}-services-cryptsetup', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'gudev', 'udev-dbg', '', d)} \
> > +        ${@bb.utils.contains('PACKAGECONFIG', 'x11', '${PN}-services-multi-seat-x', '', d)} \
> > +"
> >  
> > -INITSCRIPT_PACKAGES = "udev"
> > -INITSCRIPT_NAME_udev = "systemd-udevd"
> > -INITSCRIPT_PARAMS_udev = "start 03 S ."
> > +########################################################################
> > +# Core Package
> > +########################################################################
> >  
> > -python __anonymous() {
> > -    if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
> > -        d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1")
> > -}
> > +CONFFILES_${PN} = "\
> > +        ${sysconfdir}/systemd/system.conf \
> > +        ${sysconfdir}/systemd/user.conf \
> > +"
> >  
> > +FILES_${PN} = "\
> > +        ${base_bindir}/systemctl \
> > +        ${base_bindir}/systemd-hwdb \
> > +        ${bindir}/bootctl \
> > +        ${datadir}/${BPN} \
> > +        ${datadir}/factory \
> > +        ${exec_prefix}/lib/libnss_myhostname* \
> > +        ${exec_prefix}/lib/libnss_mymachines.so.2 \
> > +        ${libdir}/systemd/user-generators/ \
> > +        ${libdir}/systemd/user/ \
> > +        ${localstatedir} \
> > +        ${rootlibexecdir}/systemd/systemd \
> > +        ${rootlibexecdir}/systemd/systemd-cgroups-agent \
> > +        ${rootlibexecdir}/systemd/systemd-shutdown \
> > +        ${rootlibexecdir}/systemd/systemd-shutdownd \
> > +        ${rootlibexecdir}/systemd/systemd-machine-id-commit \
> > +        ${rootlibexecdir}/systemd/systemd-hibernate-resume \
> > +        ${rootlibexecdir}/systemd/systemd-importd \
> > +        ${rootlibexecdir}/systemd/import-pubring.gpg \
> > +        ${rootlibexecdir}/systemd/systemd-pull \
> > +        ${sysconfdir}/init.d/README \
> > +        ${sysconfdir}/machine-id \
> > +        ${sysconfdir}/systemd/system.conf \
> > +        ${sysconfdir}/systemd/system/ \
> > +        ${sysconfdir}/systemd/user.conf \
> > +        ${sysconfdir}/systemd/user/ \
> > +        ${sysconfdir}/xdg/systemd/ \
> > +        ${sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh \
> > +        ${systemd_unitdir}/system-generators/ \
> > +        ${systemd_unitdir}/system-preset/ \
> > +        ${systemd_unitdir}/system-shutdown/ \
> > +        ${systemd_unitdir}/system/ \
> > +"
> >  # TODO:
> >  # u-a for runlevel and telinit
> > +RDEPENDS_${PN} += "kmod dbus util-linux-mount udev (= ${EXTENDPKGV})"
> > +RDEPENDS_${PN} += "volatile-binds"
> > +
> > +RRECOMMENDS_${PN} += "\
> > +        ${PN}-services-base \
> > +        kernel-module-autofs4 \
> > +        kernel-module-ipv6 \
> > +        kernel-module-unix \
> > +        util-linux-agetty \
> > +        util-linux-fsck \
> > +        e2fsprogs-e2fsck \
> > +        os-release \
> > +        udev-hwdb \
> > +        systemd-serialgetty \
> > +        systemd-compat-units \
> > +"
> >  
> >  ALTERNATIVE_${PN} = "init halt reboot shutdown poweroff runlevel"
> >  
> > @@ -385,6 +1015,41 @@ ALTERNATIVE_TARGET[runlevel] = "${base_bindir}/systemctl"
> >  ALTERNATIVE_LINK_NAME[runlevel] = "${base_sbindir}/runlevel"
> >  ALTERNATIVE_PRIORITY[runlevel] ?= "300"
> >  
> > +
> > +########################################################################
> > +# UDEV Section
> > +########################################################################
> > +
> > +PACKAGES =+ "udev-dbg"
> > +SUMMARY_udev-dbg = "Dynamic device management - Debugging files"
> > +RRECOMMENDS_udev-dbg += "${PN}-dbg"
> > +FILES_udev-dbg = "\
> > +        ${rootlibexecdir}/udev/.debug \
> > +        ${base_sbindir}/.debug/udevd \
> > +        ${base_bindir}/.debug/udevadm \
> > +        ${rootlibexecdir}/systemd/.debug/systemd-udevd \
> > +        ${base_libdir}/.debug/libudev* \
> > +        ${base_libdir}/.debug/libgudev* \
> > +        ${exec_prefix}/lib/.debug/libgudev* \
> > +"
> > +
> > +PACKAGES =+ "udev-dev"
> > +SUMMARY_udev-dev = "Dynamic device management - Development files"
> > +RRECOMMENDS_udev-dev += "${PN}-dev"
> > +FILES_udev-dev = "\
> > +        ${datadir}/pkgconfig/*udev* \
> > +        ${libdir}/pkgconfig/*udev* \
> > +        ${libdir}/lib*udev*.la \
> > +        ${includedir}/*udev* \
> > +"
> > +
> > +PACKAGES =+ "udev-hwdb"
> > +SUMMARY_udev-hwdb = "Dynamic device management - Hardware database"
> > +RDEPENDS_udev-hwdb += "udev"
> > +FILES_udev-hwdb = "\
> > +        ${rootlibexecdir}/udev/hwdb.d/ \
> > +"
> > +
> >  pkg_postinst_udev-hwdb () {
> >  	if test -n "$D"; then
> >  		${@qemu_run_binary(d, '$D', '${base_bindir}/udevadm')} hwdb --update \
> > @@ -402,6 +1067,154 @@ pkg_prerm_udev-hwdb () {
> >  	rm -f ${sysconfdir}/udev/hwdb.bin
> >  }
> >  
> > +PACKAGES =+ "udev-bash"
> > +SUMMARY_udev-bash = "Dynamic device management - Bash shell commands completion"
> > +FILES_udev-bash = "${datadir}/bash-completion/completions/udevadm"
> > +
> > +PACKAGES =+ "udev-zsh"
> > +SUMMARY_udev-zsh = "Dynamic device management - zsh shell commands completion"
> > +FILES_udev-zsh = "${datadir}/zsh/site-functions/_udevadm"
> > +
> > +
> > +########################################################################
> > +# UDEV Rules Packages
> > +# split rules that require external programs or dependencies.
> > +# those that use only builtins are not split
> > +########################################################################
> > +
> > +PACKAGES =+ "udev-rules-accelerometer"
> > +SUMMARY_udev-rules-accelerometer = "Dynamic device management - accelerometer rules"
> > +FILES_udev-rules-accelerometer = "\
> > +        ${rootlibexecdir}/udev/accelerometer \
> > +        ${rootlibexecdir}/udev/rules.d/61-accelerometer.rules \
> > +        ${rootlibexecdir}/udev/rules.d/70-touchpad.rules \
> > +"
> > +
> > +PACKAGES =+ "udev-rules-cdrom"
> > +SUMMARY_udev-rules-cdrom = "Dynamic device management - cdrom rules"
> > +FILES_udev-rules-cdrom = "\
> > +        ${rootlibexecdir}/udev/cdrom_id \
> > +        ${rootlibexecdir}/udev/rules.d/60-cdrom_id.rules \
> > +"
> > +
> > +PACKAGES =+ "udev-rules-mtd"
> > +SUMMARY_udev-rules-mtd = "Dynamic device management - mtd rules"
> > +FILES_udev-rules-mtd = "\
> > +        ${rootlibexecdir}/udev/mtd_probe \
> > +        ${rootlibexecdir}/udev/rules.d/75-probe_mtd.rules \
> > +"
> > +
> > +PACKAGES =+ "udev-rules-persistent-storage"
> > +SUMMARY_udev-rules-persistent-storage = "Dynamic device management - persistent storage rules"
> > +FILES_udev-rules-persistent-storage = "\
> > +        ${rootlibexecdir}/udev/ata_id \
> > +        ${rootlibexecdir}/udev/scsi_id \
> > +        ${rootlibexecdir}/udev/rules.d/60-persistent-storage.rules \
> > +        ${rootlibexecdir}/udev/rules.d/60-persistent-storage-tape.rules \
> > +"
> > +
> > +PACKAGES =+ "udev-rules-systemd"
> > +SUMMARY_udev-rules-systemd = "Dynamic device management - systemd rules"
> > +RDEPENDS_udev-rules-systemd = "${PN} ${PN}-services-sysctl"
> > +FILES_udev-rules-systemd = "\
> > +        ${rootlibexecdir}/udev/rules.d/99-systemd.rules \
> > +"
> > +
> > +PACKAGES =+ "udev-rules-v4l"
> > +SUMMARY_udev-rules-v4l = "Dynamic device management - v4l rules"
> > +FILES_udev-rules-v4l = "\
> > +        ${rootlibexecdir}/udev/v4l_id \
> > +        ${rootlibexecdir}/udev/rules.d/*-persistent-v4l.rules \
> > +"
> > +
> > +PACKAGES =+ "udev-rules-all"
> > +SUMMARY_udev-rules-all = "Dynamic device management - all rules aggregation"
> > +ALLOW_EMPTY_udev-rules-all = "1"
> > +RDEPENDS_udev-rules-all = "\
> > +        udev-rules-accelerometer \
> > +        udev-rules-cdrom \
> > +        udev-rules-mtd \
> > +        udev-rules-persistent-storage \
> > +        udev-rules-systemd \
> > +        udev-rules-v4l \
> > +"
> > +
> > +PACKAGES =+ "udev"
> > +SUMMARY_udev = "Dynamic device management"
> > +RPROVIDES_udev = "hotplug"
> > +PROVIDES = "udev"
> > +CONFFILES_udev = "${sysconfdir}/udev/udev.conf"
> > +RDEPENDS_udev += "${PN}-services-vconsole"
> > +FILES_udev = "\
> > +        ${base_bindir}/udevadm \
> > +        ${base_sbindir}/udevd \
> > +        ${rootlibexecdir}/systemd/systemd-udevd \
> > +        ${rootlibexecdir}/udev/collect \
> > +        ${rootlibexecdir}/udev/rules.d/42-usb-hid-pm.rules \
> > +        ${rootlibexecdir}/udev/rules.d/50-firmware.rules \
> > +        ${rootlibexecdir}/udev/rules.d/50-udev-default.rules \
> > +        ${rootlibexecdir}/udev/rules.d/60-drm.rules \
> > +        ${rootlibexecdir}/udev/rules.d/60-keyboard.rules \
> > +        ${rootlibexecdir}/udev/rules.d/60-persistent-alsa.rules \
> > +        ${rootlibexecdir}/udev/rules.d/60-persistent-input.rules \
> > +        ${rootlibexecdir}/udev/rules.d/60-persistent-serial.rules \
> > +        ${rootlibexecdir}/udev/rules.d/64-btrfs.rules \
> > +        ${rootlibexecdir}/udev/rules.d/75-net-description.rules \
> > +        ${rootlibexecdir}/udev/rules.d/75-tty-description.rules \
> > +        ${rootlibexecdir}/udev/rules.d/78-sound-card.rules \
> > +        ${rootlibexecdir}/udev/rules.d/80-drivers.rules \
> > +        ${rootlibexecdir}/udev/rules.d/80-net-setup-link.rules \
> > +        ${rootlibexecdir}/udev/rules.d/95-udev-late.rules \
> > +        ${rootlibexecdir}/udev/rules.d/70-mouse.rules \
> > +        ${rootlibexecdir}/udev/rules.d/90-vconsole.rules \
> > +        ${rootlibexecdir}/udev/rules.d/touchscreen.rules \
> > +        ${sysconfdir}/init.d/systemd-udevd \
> > +        ${sysconfdir}/udev \
> > +"
> > +
> > +RRECOMMENDS_udev = "\
> > +        udev-hwdb \
> > +        udev-rules-all \
> > +"
> > +
> > +INITSCRIPT_PACKAGES = "udev"
> > +INITSCRIPT_NAME_udev = "systemd-udevd"
> > +INITSCRIPT_PARAMS_udev = "start 03 S ."
> > +
> > +python __anonymous() {
> > +    if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
> > +        d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1")
> > +}
> > +
> > +# TODO:
> > +# u-a for runlevel and telinit
> > +
> > +ALTERNATIVE_${PN} = "init halt reboot shutdown poweroff runlevel"
> > +
> > +ALTERNATIVE_TARGET[init] = "${rootlibexecdir}/systemd/systemd"
> > +ALTERNATIVE_LINK_NAME[init] = "${base_sbindir}/init"
> > +ALTERNATIVE_PRIORITY[init] ?= "300"
> > +
> > +ALTERNATIVE_TARGET[halt] = "${base_bindir}/systemctl"
> > +ALTERNATIVE_LINK_NAME[halt] = "${base_sbindir}/halt"
> > +ALTERNATIVE_PRIORITY[halt] ?= "300"
> > +
> > +ALTERNATIVE_TARGET[reboot] = "${base_bindir}/systemctl"
> > +ALTERNATIVE_LINK_NAME[reboot] = "${base_sbindir}/reboot"
> > +ALTERNATIVE_PRIORITY[reboot] ?= "300"
> > +
> > +ALTERNATIVE_TARGET[shutdown] = "${base_bindir}/systemctl"
> > +ALTERNATIVE_LINK_NAME[shutdown] = "${base_sbindir}/shutdown"
> > +ALTERNATIVE_PRIORITY[shutdown] ?= "300"
> > +
> > +ALTERNATIVE_TARGET[poweroff] = "${base_bindir}/systemctl"
> > +ALTERNATIVE_LINK_NAME[poweroff] = "${base_sbindir}/poweroff"
> > +ALTERNATIVE_PRIORITY[poweroff] ?= "300"
> > +
> > +ALTERNATIVE_TARGET[runlevel] = "${base_bindir}/systemctl"
> > +ALTERNATIVE_LINK_NAME[runlevel] = "${base_sbindir}/runlevel"
> > +ALTERNATIVE_PRIORITY[runlevel] ?= "300"
> > +
> >  # As this recipe builds udev, respect systemd being in DISTRO_FEATURES so
> >  # that we don't build both udev and systemd in world builds.
> >  python () {
> > 
> 




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH V3 3/3] systemd: split modules into packages
  2015-05-07 22:45     ` Bottazzini, Bruno
@ 2015-05-11  6:06       ` Anders Darander
  2015-05-11 14:04         ` Bottazzini, Bruno
  0 siblings, 1 reply; 10+ messages in thread
From: Anders Darander @ 2015-05-11  6:06 UTC (permalink / raw)
  To: Bottazzini, Bruno; +Cc: openembedded-core

* Bottazzini, Bruno <bruno.bottazzini@intel.com> [150508 00:46]:

> On Qui, 2015-05-07 at 20:58 +0200, Andreas Oberritter wrote:
> > On 07.05.2015 18:40, Bruno Bottazzini wrote:
> > > +                   vconsole \
> > > +                   update \
> > > +                   timesyncd \
> > > +                   rfkill \
> > > +                   quota \
> > > +                   fuse \
> > > +                   firstboot \
> > > +                   dbus \
> > > +                   binfmt \
> > > +                   backlight \
> > > +                   ask-password \

> > I think it may be better to sort this quite long list alphabetically.

> > Are these options already enabled today? 

> Yes, it is enabled. 

> This is the default packages enabled in the current recipe.

> > Because of the new
> > packageconfig entries, I would have expected changes to EXTRA_OECONF and
> > DEPENDS, which I don't see in your patch.

> Some packages does not have EXTRA_OECONF.

> You can see what this recipe DEPENDS by looking at ${PN}-services-base.

What Andreas is asking about, is e.g. for the kmod PACKAGECONFIG:

> > > +PACKAGECONFIG[kmod] = "--enable-kmod,--disable-kmod,kmod"

Here, if kmod is enabled in PACKAGECONFIG, kmod (the 3rd parameter),
will be added to DEPENDS. Thus, you should remove kmod from the static
DEPENDS (as now it's dynamically added using PACKAGECONFIGS).

The same is likely true for a number of the other PACKAGECONFIGs that
you're adding (which, by the way is a _good_ thing to add).

Cheers,
Anders

-- 
Anders Darander
ChargeStorm AB / eStorm AB


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH V3 3/3] systemd: split modules into packages
  2015-05-11  6:06       ` Anders Darander
@ 2015-05-11 14:04         ` Bottazzini, Bruno
  0 siblings, 0 replies; 10+ messages in thread
From: Bottazzini, Bruno @ 2015-05-11 14:04 UTC (permalink / raw)
  To: Anders Darander; +Cc: openembedded-core

On Seg, 2015-05-11 at 08:06 +0200, Anders Darander wrote:
> * Bottazzini, Bruno <bruno.bottazzini@intel.com> [150508 00:46]:
> 
> > On Qui, 2015-05-07 at 20:58 +0200, Andreas Oberritter wrote:
> > > On 07.05.2015 18:40, Bruno Bottazzini wrote:
> > > > +                   vconsole \
> > > > +                   update \
> > > > +                   timesyncd \
> > > > +                   rfkill \
> > > > +                   quota \
> > > > +                   fuse \
> > > > +                   firstboot \
> > > > +                   dbus \
> > > > +                   binfmt \
> > > > +                   backlight \
> > > > +                   ask-password \
> 
> > > I think it may be better to sort this quite long list alphabetically.
> 
> > > Are these options already enabled today? 
> 
> > Yes, it is enabled. 
> 
> > This is the default packages enabled in the current recipe.
> 
> > > Because of the new
> > > packageconfig entries, I would have expected changes to EXTRA_OECONF and
> > > DEPENDS, which I don't see in your patch.
> 
> > Some packages does not have EXTRA_OECONF.
> 
> > You can see what this recipe DEPENDS by looking at ${PN}-services-base.
> 
> What Andreas is asking about, is e.g. for the kmod PACKAGECONFIG:
> 
> > > > +PACKAGECONFIG[kmod] = "--enable-kmod,--disable-kmod,kmod"
> 
> Here, if kmod is enabled in PACKAGECONFIG, kmod (the 3rd parameter),
> will be added to DEPENDS. Thus, you should remove kmod from the static
> DEPENDS (as now it's dynamically added using PACKAGECONFIGS).

You're right. I will make DEPENDS to be dynamically too.

> 
> The same is likely true for a number of the other PACKAGECONFIGs that
> you're adding (which, by the way is a _good_ thing to add).

Yeap! I will check the others

Thanks

> 
> Cheers,
> Anders
> 




^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2015-05-11 14:05 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-07 16:40 [PATCH V3 0/3] systemd: split modules into packages Bruno Bottazzini
2015-05-07 16:40 ` [PATCH V3 1/3] dbus: split tools package Bruno Bottazzini
2015-05-07 16:40 ` [PATCH V3 2/3] systemd: Verify if journal-flush.service exists Bruno Bottazzini
2015-05-07 18:49   ` Andreas Oberritter
2015-05-07 22:19     ` Bottazzini, Bruno
2015-05-07 16:40 ` [PATCH V3 3/3] systemd: split modules into packages Bruno Bottazzini
2015-05-07 18:58   ` Andreas Oberritter
2015-05-07 22:45     ` Bottazzini, Bruno
2015-05-11  6:06       ` Anders Darander
2015-05-11 14:04         ` Bottazzini, Bruno

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.