[OE-core] [PATCH v2 2/2] systemd: split modules into packages
Bruno Bottazzini
bruno.bottazzini at intel.com
Wed Feb 4 17:04:56 UTC 2015
It wil be able to choose what systemd module to be installed.
The final result may get smaller, if the user wanted to.
By default it will install the whole systemd which may be big.
---
meta/recipes-core/systemd/systemd_218.bb | 1059 ++++++++++++++++++++++++++----
1 file changed, 914 insertions(+), 145 deletions(-)
diff --git a/meta/recipes-core/systemd/systemd_218.bb b/meta/recipes-core/systemd/systemd_218.bb
index 87d9fe8..ef8de44 100644
--- a/meta/recipes-core/systemd/systemd_218.bb
+++ b/meta/recipes-core/systemd/systemd_218.bb
@@ -6,8 +6,6 @@ LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c \
file://LICENSE.MIT;md5=544799d0b492f119fa04641d1b8868ed"
-PROVIDES = "udev"
-
PE = "1"
DEPENDS = "kmod docbook-sgml-dtd-4.1-native intltool-native gperf-native acl readline dbus libcap libcgroup glib-2.0 qemu-native util-linux"
@@ -16,7 +14,7 @@ DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
SECTION = "base/shell"
-inherit gtk-doc useradd pkgconfig autotools perlnative update-rc.d update-alternatives qemu systemd ptest gettext
+inherit gtk-doc pkgconfig autotools perlnative update-rc.d update-alternatives qemu systemd ptest gettext
SRCREV = "820aced6f6067a6b7c57b7d36e44f64378870cbf"
@@ -165,7 +163,6 @@ rootprefix ?= "${base_prefix}"
rootlibdir ?= "${base_libdir}"
rootlibexecdir = "${rootprefix}/lib"
-# The gtk+ tools should get built as a separate recipe e.g. systemd-tools
EXTRA_OECONF = " --with-rootprefix=${rootprefix} \
--with-rootlibdir=${rootlibdir} \
${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--enable-pam', '--disable-pam', d)} \
@@ -267,169 +264,789 @@ 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|gudev|systemd|nss).*"
-PACKAGES =+ "${PN}-gui ${PN}-vconsole-setup ${PN}-initramfs ${PN}-analyze ${PN}-kernel-install \
- ${PN}-rpm-macros ${PN}-binfmt ${PN}-pam ${PN}-zsh libgudev"
+########################################################################
+# Base Packages
+########################################################################
+
+PACKAGES =+ "${PN}-generators-filesystems"
+SUMMARY_${PN}-generators-filesystems = "systemd's generator for filesystem services based on fstab and GPT"
+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 \
+"
-SYSTEMD_PACKAGES = "${PN}-binfmt"
-SYSTEMD_SERVICE_${PN}-binfmt = "systemd-binfmt.service"
+PACKAGES =+ "${PN}-generators-getty"
+SUMMARY_${PN}-generators-getty = "systemd's generator TTY services"
+RDEPENDS_${PN}-generators-getty = "${PN}-services-getty"
+FILES_${PN}-generators-getty = "\
+ ${rootlibexecdir}/systemd/system-generators/systemd-getty-generator \
+"
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} += "--system systemd-journal-gateway"
-GROUPADD_PARAM_${PN} = "-r lock; -r systemd-journal"
+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 \
+"
-FILES_${PN}-analyze = "${bindir}/systemd-analyze"
+########################################################################
+# Services Packages
+########################################################################
-FILES_${PN}-initramfs = "/init"
-RDEPENDS_${PN}-initramfs = "${PN}"
+PACKAGES =+ "${PN}-services-ask-password"
+SUMMARY_${PN}-services-ask-password = "systemd's service and tool to 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 \
+"
+
+PACKAGES =+ "${PN}-services-backlight"
+SUMMARY_${PN}-services-backlight = "systemd's backlight state save/restore service"
+FILES_${PN}-services-backlight = "\
+ ${systemd_unitdir}/system/systemd-backlight at .service \
+ ${rootlibexecdir}/systemd/systemd-backlight \
+"
+
+PACKAGES =+ "${PN}-services-binfmt"
+SUMMARY_${PN}-services-binfmt = "systemd's service to configure additional binary formats for executables"
+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/sysinit.target.wants/systemd-binfmt.service \
+ ${systemd_unitdir}/system/systemd-binfmt.service \
+ ${rootlibexecdir}/systemd/systemd-binfmt \
+"
+
+PACKAGES =+ "${PN}-services-bootchart"
+SUMMARY_${PN}-services-bootchart = "systemd's boot performance service and graphing tool"
+CONFFILES_${PN}-services-bootchart = "${sysconfdir}/systemd/bootchart.conf"
+FILES_${PN}-services-bootchart = "\
+ ${sysconfdir}/systemd/bootchart.conf \
+ ${rootlibexecdir}/systemd/systemd-bootchart \
+"
+
+PACKAGES =+ "${PN}-services-coredump"
+SUMMARY_${PN}-services-coredump = "systemd's coredump log hook and service"
+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 \
+"
+
+PACKAGES =+ "${PN}-services-cryptsetup"
+SUMMARY_${PN}-services-cryptsetup = "systemd's disk decryption service"
+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 = "systemd's 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 = "systemd's debug service"
+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 = "systemd's service to initialize basic system settings"
+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 = "systemd's filesystem check service"
+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 at .service \
+ ${rootlibexecdir}/systemd/systemd-fsck \
+"
+
+PACKAGES =+ "${PN}-services-fuse"
+SUMMARY_${PN}-services-fuse = "systemd's 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 = "systemd's getty service"
+RRECOMMENDS_${PN}-services-getty = "util-linux-agetty ${PN}-generators-getty"
+FILES_${PN}-services-getty = "\
+ ${systemd_unitdir}/system/autovt at .service \
+ ${systemd_unitdir}/system/console-getty.service \
+ ${systemd_unitdir}/system/container-getty at .service \
+ ${systemd_unitdir}/system/getty at .service \
+ ${systemd_unitdir}/system/serial-getty at .service \
+ ${sysconfdir}/systemd/system/getty.target.wants/ \
+"
+
+PACKAGES =+ "${PN}-services-hostnamed"
+SUMMARY_${PN}-services-hostnamed = "systemd's hostname management service"
+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 = "systemd's 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-journal-remote"
+SUMMARY_${PN}-services-journal-remote = "systemd's service and tools to receive journal messages over the network"
+RDEPENDS_${PN}-services-journal-remote = "${PN}-services-journal"
+# NOTE: if no sysusers or tmpfiles, then users/groups and FS structure must be setup
+RRECOMMENDS_${PN}-services-journal-remote = "${PN}-services-sysusers ${PN}-services-tmpfiles"
+CONFFILES_${PN}-services-journal-remote = "${sysconfdir}/systemd/journald-remote.conf"
+FILES_${PN}-services-journal-remote = "\
+ ${exec_prefix}/lib/sysusers.d/systemd-remote.conf \
+ ${exec_prefix}/lib/tmpfiles.d/systemd-remote.conf \
+ ${rootlibexecdir}/systemd/systemd-journal-remote \
+ ${sysconfdir}/systemd/journal-remote.conf \
+"
+
+PACKAGES =+ "${PN}-services-journal-upload"
+SUMMARY_${PN}-services-journal-upload = "systemd's service and tools to send journal messages over the network"
+RDEPENDS_${PN}-services-journal-upload = "${PN}-services-journal"
+# NOTE: if no sysusers, then users/groups must be setup
+RRECOMMENDS_${PN}-services-journal-upload = "${PN}-services-sysusers"
+CONFFILES_${PN}-services-journal-upload = "${sysconfdir}/systemd/journald-upload.conf"
+FILES_${PN}-services-journal-upload = "\
+ ${rootlibexecdir}/systemd/systemd-journal-upload \
+ ${sysconfdir}/systemd/journal-upload.conf \
+ ${systemd_unitdir}/system/systemd-journal-upload.service \
+"
+
+PACKAGES =+ "${PN}-services-ldconfig"
+SUMMARY_${PN}-services-ldconfig = "systemd's 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 = "systemd's locale management service"
+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 = "systemd's 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 at .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 = "systemd's virtual machine and container management service"
+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 \
+ ${exec_prefix}/lib/libnss_mymachines.so.2 \
+ ${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 = "systemd's kernel module loading service"
+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 = "systemd's kernel module static nodes creation service"
+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 = "systemd's 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 = "systemd's network management (static, DHCP, bridge...) service"
+# 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 \
+"
+
+PACKAGES =+ "${PN}-services-nspawn"
+SUMMARY_${PN}-services-nspawn = "systemd's namespace spawing service and tool"
+FILES_${PN}-services-nspawn = "\
+ ${systemd_unitdir}/system/systemd-nspawn at .service \
+ ${bindir}/systemd-nspawn \
+"
+
+PACKAGES =+ "${PN}-services-quota"
+SUMMARY_${PN}-services-quota = "systemd's file system quota enable and check service"
+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 \
+"
-FILES_libgudev = "${libdir}/libgudev*${SOLIBS}"
+PACKAGES =+ "${PN}-services-readahead"
+SUMMARY_${PN}-services-readahead = "systemd's disk read ahead service"
+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-resolved"
+SUMMARY_${PN}-services-resolved = "systemd's network name resolution management service"
+# NOTE: if no sysusers or tmpfiles, then users/groups and FS structure must be setup
+RRECOMMENDS_${PN}-services-resolved = "${PN}-services-dbus ${PN}-services-sysusers ${PN}-services-tmpfiles"
+CONFFILES_${PN}-services-resolved = "\
+ ${sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf \
+ ${sysconfdir}/systemd/resolved.conf \
+"
+FILES_${PN}-services-resolved = "\
+ ${sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf \
+ ${sysconfdir}/systemd/resolved.conf \
+ ${sysconfdir}/systemd/system/multi-user.target.wants/systemd-resolved.service \
+ ${exec_prefix}/lib/libnss_resolve.so.2 \
+ ${systemd_unitdir}/system/busnames.target.wants/org.freedesktop.resolve1.busname \
+ ${systemd_unitdir}/system/dbus-org.freedesktop.resolve1.service \
+ ${systemd_unitdir}/system/org.freedesktop.resolve1.busname \
+ ${systemd_unitdir}/system/systemd-resolved.service \
+ ${rootlibexecdir}/systemd/systemd-resolve-host \
+ ${rootlibexecdir}/systemd/systemd-resolved \
+ ${datadir}/dbus-1/system-services/org.freedesktop.resolve1.service \
+"
+
+PACKAGES =+ "${PN}-services-rfkill"
+SUMMARY_${PN}-services-rfkill = "systemd's rfkill state save/restore service"
+FILES_${PN}-services-rfkill = "\
+ ${systemd_unitdir}/system/systemd-rfkill at .service \
+ ${rootlibexecdir}/systemd/systemd-rfkill \
+"
+
+PACKAGES =+ "${PN}-services-sleep"
+SUMMARY_${PN}-services-sleep = "systemd's sleep, suspend and hiberate services"
+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 = "systemd's kernel parameters configuration service"
+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 = "systemd's service and tool to 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 = "systemd's SYSV legacy and compatibility service"
+# 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 = "systemd's time and date management service"
+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 = "systemd's NTP sync service"
+# 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 = "systemd's service to create, delete and clean up volatile/tmp files/dirs"
+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 = "systemd's udev services"
+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 = "systemd's post update service"
+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 = "systemd's service to configure the virtual console (keyboard/font)"
+RDEPENDS_${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}-dev += "\
+ ${base_libdir}/security/*.la \
+ ${datadir}/dbus-1/interfaces/ \
+"
# The test cases need perl and bash to run correctly.
RDEPENDS_${PN}-ptest += "perl bash"
-FILES_${PN}-ptest += "${libdir}/udev/rules.d"
-
-FILES_${PN}-dbg += "${libdir}/systemd/ptest/.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}-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}/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}/coredumpctl \
- ${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 \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${sysconfdir}/pam.d', '', d)} \
- "
+FILES_${PN}-ptest += "\
+ ${libdir}/udev/rules.d \
+"
-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"
+########################################################################
+# Misc Packages
+########################################################################
-RDEPENDS_${PN} += "kmod dbus util-linux-mount udev (= ${EXTENDPKGV})"
-RDEPENDS_${PN} += "volatile-binds"
+PACKAGES =+ "${PN}-bash"
+SUMMARY_${PN}-bash = "systemd 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 \
+"
-RRECOMMENDS_${PN} += "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}-initramfs"
+SUMMARY_${PN}-initramfs = "systemd's initramfs support"
+FILES_${PN}-initramfs = "/init"
+RDEPENDS_${PN}-initramfs = "${PN}"
+
+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 kmod"
+FILES_${PN}-kernel-install = "\
+ ${bindir}/kernel-install \
+ ${sysconfdir}/kernel/install.d/ \
+ ${exec_prefix}/lib/kernel/install.d/ \
"
-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 = "systemd's service enablement presets"
+FILES_${PN}-preset = "${systemd_unitdir}/system-preset/90-systemd.preset"
+
+PACKAGES =+ "${PN}-rpm-macros"
+SUMMARY_${PN}-rpm-macros = "systemd RPM macros"
+FILES_${PN}-rpm-macros = "${exec_prefix}/lib/rpm/macros.d/macros.systemd"
+
+PACKAGES =+ "${PN}-zsh"
+SUMMARY_${PN}-zsh = "systemd zsh shell commands completion"
+FILES_${PN}-zsh = "\
+ ${datadir}/zsh/site-functions/_bootctl \
+ ${datadir}/zsh/site-functions/_busctl \
+ ${datadir}/zsh/site-functions/_coredumpctl \
+ ${datadir}/zsh/site-functions/_hostnamectl \
+ ${datadir}/zsh/site-functions/_journalctl \
+ ${datadir}/zsh/site-functions/_kernel-install \
+ ${datadir}/zsh/site-functions/_localectl \
+ ${datadir}/zsh/site-functions/_loginctl \
+ ${datadir}/zsh/site-functions/_machinectl \
+ ${datadir}/zsh/site-functions/_sd_* \
+ ${datadir}/zsh/site-functions/_systemctl \
+ ${datadir}/zsh/site-functions/_systemd \
+ ${datadir}/zsh/site-functions/_systemd-* \
+ ${datadir}/zsh/site-functions/_timedatectl \
+"
-RPROVIDES_udev = "hotplug"
-RDEPENDS_udev-hwdb += "udev"
-
-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/4*.rules \
- ${rootlibexecdir}/udev/rules.d/5*.rules \
- ${rootlibexecdir}/udev/rules.d/6*.rules \
- ${rootlibexecdir}/udev/rules.d/70-power-switch.rules \
- ${rootlibexecdir}/udev/rules.d/75*.rules \
- ${rootlibexecdir}/udev/rules.d/78*.rules \
- ${rootlibexecdir}/udev/rules.d/8*.rules \
- ${rootlibexecdir}/udev/rules.d/95*.rules \
- ${rootlibexecdir}/udev/rules.d/70-mouse.rules \
- ${rootlibexecdir}/udev/rules.d/90-vconsole.rules \
- ${rootlibexecdir}/udev/rules.d/touchscreen.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
+########################################################################
-INITSCRIPT_PACKAGES = "udev"
-INITSCRIPT_NAME_udev = "systemd-udevd"
-INITSCRIPT_PARAMS_udev = "start 03 S ."
+PACKAGES =+ "${PN}-services-essential"
+SUMMARY_${PN}-services-essential = "systemd's essential services aggregation"
+ALLOW_EMPTY_${PN}-services-essential = "1"
+RDEPENDS_${PN}-services-essential = "\
+ ${PN}-generators-filesystems \
+ ${PN}-preset \
+ ${PN}-services-fsck \
+ ${PN}-services-journal \
+ ${PN}-services-modules-load \
+ ${PN}-services-randomseed \
+ ${PN}-services-sleep \
+ ${PN}-services-sysctl \
+ ${PN}-services-sysusers \
+ ${PN}-services-tmpfiles \
+ ${PN}-services-udev \
+ udev-rules-systemd \
+"
-python __anonymous() {
- if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
- d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1")
-}
+PACKAGES =+ "${PN}-services-base"
+SUMMARY_${PN}-services-base = "systemd's base services aggregation"
+ALLOW_EMPTY_${PN}-services-base = "1"
+RDEPENDS_${PN}-services-base = "${PN}-services-essential \
+ ${PN}-services-ask-password \
+ ${PN}-services-backlight \
+ ${PN}-services-binfmt \
+ ${PN}-services-coredump \
+ ${PN}-services-dbus \
+ ${PN}-services-firstboot \
+ ${PN}-services-fuse \
+ ${PN}-services-hostnamed \
+ ${PN}-services-ldconfig \
+ ${PN}-services-localed \
+ ${PN}-services-logind \
+ ${PN}-services-networkd \
+ ${PN}-services-quota \
+ ${PN}-services-resolved \
+ ${PN}-services-rfkill \
+ ${PN}-services-timedated \
+ ${PN}-services-timesyncd \
+ ${PN}-services-update \
+ ${PN}-services-vconsole \
+"
+
+PACKAGES =+ "${PN}-services-all"
+SUMMARY_${PN}-services-all = "systemd's all services and tools aggregation"
+ALLOW_EMPTY_${PN}-services-all = "1"
+RDEPENDS_${PN}-services-all = "${PN}-services-base \
+ ${PN}-services-bootchart \
+ ${PN}-services-cryptsetup \
+ ${PN}-services-debug \
+ ${PN}-services-journal-remote \
+ ${PN}-services-journal-upload \
+ ${PN}-services-machined \
+ ${PN}-services-nspawn \
+ ${PN}-services-sysvcompat \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${PN}-services-multi-seat-x', '', d)} \
+ ${PN}-tools \
+"
+
+
+########################################################################
+# Core Package
+########################################################################
-# TODO:
-# u-a for runlevel and telinit
+CONFFILES_${PN} = "\
+ ${sysconfdir}/machine-id \
+ ${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* \
+ ${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/ \
+ ${systemd_unitdir}/system-generators/ \
+ ${systemd_unitdir}/system-preset/ \
+ ${systemd_unitdir}/system-shutdown/ \
+ ${systemd_unitdir}/system/ \
+"
+
+#RDEPENDS_${PN} += "volatile-binds"
+
+RRECOMMENDS_${PN} += "\
+ ${PN}-services-base \
+ ${PN}-services-essential \
+ ${PN}-generators-getty \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PN}-pam', '', d)} \
+ ${PN}-services-getty \
+ ${PN}-tools \
+ kernel-module-autofs4 \
+ kernel-module-ipv6 \
+ kernel-module-unix \
+ os-release \
+ udev (= ${EXTENDPKGV}) \
+ udev-hwdb \
+"
ALTERNATIVE_${PN} = "init halt reboot shutdown poweroff runlevel"
@@ -457,6 +1074,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 \
@@ -474,6 +1126,123 @@ 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 \
+"
+
+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"
+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")
+}
+
# 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 () {
--
1.9.1
More information about the Openembedded-core
mailing list