mirror of
https://git.yoctoproject.org/poky
synced 2026-06-17 18:29:57 +00:00
06b97accfe
Recently, systemd has added a patch f00929ad622c978f8ad83590a15a765b4beecac9 where it now pokes at the system to find out the path of mount/umount tools, this caused the builds to fail because it ended up with identifying these programs from native sysroot but they were actually meant for target, this lead to boot failures due to none of mount worked because the paths are encoded into systemd binaries during build time. Correct few others while here, these are not yet detected wrongly in my build, because those binaries are not found in my native sysroot but if some one staged the native providers of these packages they will fail too. (From OE-Core rev: 9d87fbc87276673d958a65d476d06fec96add8e7) (From OE-Core rev: b30d7b1b97ffd1d44083d93ed0e572d80fcebc54) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
421 lines
18 KiB
BlitzBasic
421 lines
18 KiB
BlitzBasic
SUMMARY = "A System and service manager"
|
|
HOMEPAGE = "http://www.freedesktop.org/wiki/Software/systemd"
|
|
|
|
DESCRIPTION = "systemd is a system and service manager for Linux, compatible with \
|
|
SysV and LSB init scripts. systemd provides aggressive parallelization \
|
|
capabilities, uses socket and D-Bus activation for starting services, \
|
|
offers on-demand starting of daemons, keeps track of processes using \
|
|
Linux cgroups, supports snapshotting and restoring of the system \
|
|
state, maintains mount and automount points and implements an \
|
|
elaborate transactional dependency-based service control logic. It can \
|
|
work as a drop-in replacement for sysvinit."
|
|
|
|
LICENSE = "GPLv2 & LGPLv2.1 & MIT"
|
|
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"
|
|
|
|
SECTION = "base/shell"
|
|
|
|
inherit gtk-doc useradd pkgconfig autotools perlnative update-rc.d update-alternatives qemu systemd ptest gettext
|
|
|
|
SRCREV = "85a6fabdd3e43cfab0fc6359e9f2a9e368d4a3ed"
|
|
|
|
PV = "219-stable+git${SRCPV}"
|
|
|
|
SRC_URI = "git://github.com/systemd/systemd-stable;branch=v219-stable;protocol=git \
|
|
file://0002-shared-missing.h-fall-back-to-insecure-getenv.patch \
|
|
file://0003-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
|
|
file://0004-configure-Check-for-additional-features-that-uclibc-.patch \
|
|
file://0005-nspawn-Use-execvpe-only-when-libc-supports-it.patch \
|
|
file://0006-journal-Use-posix-fallocate-only-if-available.patch \
|
|
file://0007-util-Use-mkostemp-only-if-libc-supports-it.patch \
|
|
file://0008-util-bypass-unimplemented-_SC_PHYS_PAGES-system-conf.patch \
|
|
file://0009-sysv-generator-add-support-for-executing-scripts-und.patch \
|
|
file://0010-Make-root-s-home-directory-configurable.patch \
|
|
file://0011-systemd-user-avoid-using-system-auth.patch \
|
|
file://0012-systemd-tmpfiles.c-Honor-ordering-within-files-as-th.patch \
|
|
file://0014-Revert-rules-remove-firmware-loading-rules.patch \
|
|
file://0015-Revert-udev-remove-userspace-firmware-loading-suppor.patch \
|
|
file://tmpfiles-pam.patch \
|
|
file://0001-Revert-core-mount-add-dependencies-to-dynamically-mo.patch \
|
|
file://touchscreen.rules \
|
|
file://00-create-volatile.conf \
|
|
file://init \
|
|
file://run-ptest \
|
|
"
|
|
SRC_URI_append_qemuall = "file://qemuall_io_latency-core-device.c-Change-the-default-device-timeout-to-2.patch"
|
|
|
|
S = "${WORKDIR}/git"
|
|
|
|
SRC_URI_append_libc-uclibc = "\
|
|
file://0001-units-Prefer-getty-to-agetty-in-console-setup-system.patch \
|
|
"
|
|
LDFLAGS_append_libc-uclibc = " -lrt"
|
|
|
|
GTKDOC_DOCDIR = "${S}/docs/"
|
|
|
|
PACKAGECONFIG ??= "xz ldconfig \
|
|
${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
|
|
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)} \
|
|
${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \
|
|
"
|
|
|
|
PACKAGECONFIG[journal-upload] = "--enable-libcurl,--disable-libcurl,curl"
|
|
# Sign the journal for anti-tampering
|
|
PACKAGECONFIG[gcrypt] = "--enable-gcrypt,--disable-gcrypt,libgcrypt"
|
|
# regardless of PACKAGECONFIG, libgcrypt is always required to expand
|
|
# the AM_PATH_LIBGCRYPT autoconf macro
|
|
DEPENDS += "libgcrypt"
|
|
# Compress the journal
|
|
PACKAGECONFIG[xz] = "--enable-xz,--disable-xz,xz"
|
|
PACKAGECONFIG[cryptsetup] = "--enable-libcryptsetup,--disable-libcryptsetup,cryptsetup"
|
|
PACKAGECONFIG[microhttpd] = "--enable-microhttpd,--disable-microhttpd,libmicrohttpd"
|
|
PACKAGECONFIG[elfutils] = "--enable-elfutils,--disable-elfutils,elfutils"
|
|
PACKAGECONFIG[resolved] = "--enable-resolved,--disable-resolved"
|
|
PACKAGECONFIG[networkd] = "--enable-networkd,--disable-networkd"
|
|
PACKAGECONFIG[libidn] = "--enable-libidn,--disable-libidn,libidn"
|
|
PACKAGECONFIG[audit] = "--enable-audit,--disable-audit,audit"
|
|
PACKAGECONFIG[manpages] = "--enable-manpages,--disable-manpages,libxslt-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
|
|
PACKAGECONFIG[pam] = "--enable-pam,--disable-pam,libpam"
|
|
# Verify keymaps on locale change
|
|
PACKAGECONFIG[xkbcommon] = "--enable-xkbcommon,--disable-xkbcommon,libxkbcommon"
|
|
# Update NAT firewall rules
|
|
PACKAGECONFIG[iptc] = "--enable-libiptc,--disable-libiptc,iptables"
|
|
PACKAGECONFIG[ldconfig] = "--enable-ldconfig,--disable-ldconfig,,"
|
|
PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
|
|
PACKAGECONFIG[valgrind] = "ac_cv_header_valgrind_memcheck_h=yes ac_cv_header_valgrind_valgrind_h=yes ,ac_cv_header_valgrind_memcheck_h=no ac_cv_header_valgrind_valgrind_h=no ,valgrind"
|
|
|
|
CACHED_CONFIGUREVARS += "ac_cv_path_KILL=${base_bindir}/kill"
|
|
CACHED_CONFIGUREVARS += "ac_cv_path_KMOD=${base_bindir}/kmod"
|
|
CACHED_CONFIGUREVARS += "ac_cv_path_QUOTACHECK=${sbindir}/quotacheck"
|
|
CACHED_CONFIGUREVARS += "ac_cv_path_QUOTAON=${sbindir}/quotaon"
|
|
CACHED_CONFIGUREVARS += "ac_cv_path_SULOGIN=${base_sbindir}/sulogin"
|
|
|
|
# Helper variables to clarify locations. This mirrors the logic in systemd's
|
|
# build system.
|
|
rootprefix ?= "${base_prefix}"
|
|
rootlibdir ?= "${base_libdir}"
|
|
rootlibexecdir = "${rootprefix}/lib"
|
|
|
|
CACHED_CONFIGUREVARS_class-target = "\
|
|
ac_cv_path_MOUNT_PATH=${base_bindir}/mount \
|
|
ac_cv_path_UMOUNT_PATH=${base_bindir}/umount \
|
|
ac_cv_path_KMOD=${base_bindir}/kmod \
|
|
ac_cv_path_KILL=${base_bindir}/kill \
|
|
ac_cv_path_SULOGIN=${base_sbindir}/sulogin \
|
|
ac_cv_path_KEXEC=${sbindir}/kexec \
|
|
ac_cv_path_QUOTACHECK=${sbindir}/quotacheck \
|
|
ac_cv_path_QUOTAON=${sbindir}/quotaon \
|
|
"
|
|
|
|
EXTRA_OECONF = " --with-rootprefix=${rootprefix} \
|
|
--with-rootlibdir=${rootlibdir} \
|
|
--with-roothomedir=${ROOT_HOME} \
|
|
--disable-coredump \
|
|
--disable-introspection \
|
|
--disable-kdbus \
|
|
--enable-split-usr \
|
|
--without-python \
|
|
--with-sysvrcnd-path=${sysconfdir} \
|
|
--with-firmware-path=/lib/firmware \
|
|
"
|
|
# uclibc does not have NSS
|
|
EXTRA_OECONF_append_libc-uclibc = " --disable-myhostname "
|
|
|
|
do_configure_prepend() {
|
|
export NM="${HOST_PREFIX}gcc-nm"
|
|
export AR="${HOST_PREFIX}gcc-ar"
|
|
export RANLIB="${HOST_PREFIX}gcc-ranlib"
|
|
export KMOD="${base_bindir}/kmod"
|
|
if [ -d ${S}/units.pre_sed ] ; then
|
|
cp -r ${S}/units.pre_sed ${S}/units
|
|
else
|
|
cp -r ${S}/units ${S}/units.pre_sed
|
|
fi
|
|
sed -i '/ln --relative --help/d' ${S}/configure.ac
|
|
sed -i -e 's:\$(LN_S) --relative -f:lnr:g' ${S}/Makefile.am
|
|
sed -i -e 's:\$(LN_S) --relative:lnr:g' ${S}/Makefile.am
|
|
}
|
|
|
|
do_install() {
|
|
autotools_do_install
|
|
install -d ${D}/${base_sbindir}
|
|
# Provided by a separate recipe
|
|
rm ${D}${systemd_unitdir}/system/serial-getty* -f
|
|
|
|
# Provide support for initramfs
|
|
[ ! -e ${D}/init ] && ln -s ${rootlibexecdir}/systemd/systemd ${D}/init
|
|
[ ! -e ${D}/${base_sbindir}/udevd ] && ln -s ${rootlibexecdir}/systemd/systemd-udevd ${D}/${base_sbindir}/udevd
|
|
|
|
# Create machine-id
|
|
# 20:12 < mezcalero> koen: you have three options: a) run systemd-machine-id-setup at install time, b) have / read-only and an empty file there (for stateless) and c) boot with / writable
|
|
touch ${D}${sysconfdir}/machine-id
|
|
|
|
|
|
install -d ${D}${sysconfdir}/udev/rules.d/
|
|
install -d ${D}${sysconfdir}/tmpfiles.d
|
|
install -m 0644 ${WORKDIR}/*.rules ${D}${sysconfdir}/udev/rules.d/
|
|
|
|
install -m 0644 ${WORKDIR}/00-create-volatile.conf ${D}${sysconfdir}/tmpfiles.d/
|
|
|
|
if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then
|
|
install -d ${D}${sysconfdir}/init.d
|
|
install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/systemd-udevd
|
|
sed -i s%@UDEVD@%${rootlibexecdir}/systemd/systemd-udevd% ${D}${sysconfdir}/init.d/systemd-udevd
|
|
fi
|
|
|
|
chown root:systemd-journal ${D}/${localstatedir}/log/journal
|
|
|
|
# Delete journal README, as log can be symlinked inside volatile.
|
|
rm -f ${D}/${localstatedir}/log/README
|
|
|
|
# Create symlinks for systemd-update-utmp-runlevel.service
|
|
install -d ${D}${systemd_unitdir}/system/graphical.target.wants
|
|
install -d ${D}${systemd_unitdir}/system/multi-user.target.wants
|
|
install -d ${D}${systemd_unitdir}/system/poweroff.target.wants
|
|
install -d ${D}${systemd_unitdir}/system/reboot.target.wants
|
|
install -d ${D}${systemd_unitdir}/system/rescue.target.wants
|
|
ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/graphical.target.wants/systemd-update-utmp-runlevel.service
|
|
ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/multi-user.target.wants/systemd-update-utmp-runlevel.service
|
|
ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/poweroff.target.wants/systemd-update-utmp-runlevel.service
|
|
ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/reboot.target.wants/systemd-update-utmp-runlevel.service
|
|
ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/rescue.target.wants/systemd-update-utmp-runlevel.service
|
|
|
|
# Enable journal to forward message to syslog daemon
|
|
sed -i -e 's/.*ForwardToSyslog.*/ForwardToSyslog=yes/' ${D}${sysconfdir}/systemd/journald.conf
|
|
# this file is needed to exist if networkd is disabled but timesyncd is still in use since timesyncd checks it
|
|
# 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)}
|
|
fi
|
|
}
|
|
|
|
do_install_ptest () {
|
|
install -d ${D}${PTEST_PATH}/test
|
|
cp -rf ${S}/test/* ${D}${PTEST_PATH}/test
|
|
install -m 0755 ${B}/test-udev ${D}${PTEST_PATH}/
|
|
install -d ${D}${PTEST_PATH}/build-aux
|
|
cp ${S}/build-aux/test-driver ${D}${PTEST_PATH}/build-aux/
|
|
cp -rf ${B}/rules ${D}${PTEST_PATH}/
|
|
# This directory needs to be there for udev-test.pl to work.
|
|
install -d ${D}${libdir}/udev/rules.d
|
|
cp ${B}/Makefile ${D}${PTEST_PATH}/
|
|
cp ${S}/test/sys.tar.xz ${D}${PTEST_PATH}/test
|
|
sed -i 's/"tree"/"ls"/' ${D}${PTEST_PATH}/test/udev-test.pl
|
|
sed -i 's#${S}#${PTEST_PATH}#g' ${D}${PTEST_PATH}/Makefile
|
|
sed -i 's#${B}#${PTEST_PATH}#g' ${D}${PTEST_PATH}/Makefile
|
|
}
|
|
|
|
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)
|
|
}
|
|
PACKAGES_DYNAMIC += "^lib(udev|systemd).*"
|
|
|
|
PACKAGES =+ "${PN}-gui ${PN}-vconsole-setup ${PN}-initramfs ${PN}-analyze ${PN}-kernel-install \
|
|
${PN}-rpm-macros ${PN}-binfmt ${PN}-pam ${PN}-zsh libgudev"
|
|
|
|
SYSTEMD_PACKAGES = "${PN}-binfmt"
|
|
SYSTEMD_SERVICE_${PN}-binfmt = "systemd-binfmt.service"
|
|
|
|
USERADD_PACKAGES = "${PN}"
|
|
USERADD_PARAM_${PN} += "--system systemd-journal-gateway; --system systemd-timesync"
|
|
GROUPADD_PARAM_${PN} = "-r lock; -r systemd-journal"
|
|
|
|
FILES_${PN}-analyze = "${bindir}/systemd-analyze"
|
|
|
|
FILES_${PN}-initramfs = "/init"
|
|
RDEPENDS_${PN}-initramfs = "${PN}"
|
|
|
|
FILES_libgudev = "${libdir}/libgudev*${SOLIBS}"
|
|
|
|
RDEPENDS_${PN}-ptest += "perl python 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"
|
|
|
|
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 \
|
|
"
|
|
|
|
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"
|
|
|
|
RDEPENDS_${PN} += "kmod dbus util-linux-mount udev (= ${EXTENDPKGV})"
|
|
RDEPENDS_${PN} += "volatile-binds"
|
|
|
|
RRECOMMENDS_${PN} += "systemd-serialgetty systemd-vconsole-setup \
|
|
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 =+ "udev-dbg udev udev-hwdb"
|
|
|
|
FILES_udev-dbg += "/lib/udev/.debug"
|
|
|
|
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/*.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"
|
|
|
|
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"
|
|
|
|
pkg_postinst_udev-hwdb () {
|
|
if test -n "$D"; then
|
|
${@qemu_run_binary(d, '$D', '${base_bindir}/udevadm')} hwdb --update \
|
|
--root $D
|
|
else
|
|
udevadm hwdb --update
|
|
fi
|
|
}
|
|
|
|
pkg_prerm_udev-hwdb () {
|
|
if test -n "$D"; then
|
|
exit 1
|
|
fi
|
|
|
|
rm -f ${sysconfdir}/udev/hwdb.bin
|
|
}
|
|
|
|
# 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 () {
|
|
if not bb.utils.contains ('DISTRO_FEATURES', 'systemd', True, False, d):
|
|
raise bb.parse.SkipPackage("'systemd' not in DISTRO_FEATURES")
|
|
}
|