mirror of
https://git.yoctoproject.org/poky
synced 2026-04-24 21:32:12 +02:00
Systemd serial-getty is failing because dev-tty ends with timeout, systemd uses a default timeout of 90 secs that it's reached on AB's production environment due to high I/O loads (nfs). When use QEMU is used without KVM support, the machine code is executed by TCG (software code execution) that is dependent on devices layer and causes locks between TCG/Devices increasing the machine code execution time [1]. QEMU don't support configuration of device timeout always uses a default one that is 90 secs, so the next patch increases the device timeout to 240 secs [2] in order give enough time to get devices ready. It ONLY applies on QEMU machines. [YOCTO #8141] [1] http://blog.vmsplice.net/2011/03/qemu-internals-overall-architecture-and.html [2] https://bugzilla.yoctoproject.org/show_bug.cgi?id=8141#c10 (From OE-Core rev: 5196d7bacaef1076c361adaa2867be31759c1b52) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
412 lines
18 KiB
BlitzBasic
412 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"
|
|
|
|
# The gtk+ tools should get built as a separate recipe e.g. systemd-tools
|
|
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 CPP="${HOST_PREFIX}cpp ${TOOLCHAIN_OPTIONS} ${HOST_CC_ARCH}"
|
|
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")
|
|
}
|