systemd: do not create machine-id

There is no reason to have an emtpy machine-id as part of the systemd
package.  Either:

i)  the filesystem is writable and the file will be created
automatically; or
ii) the filesystem is read-only, in which case the empty machine-id file
should be created as part of the read-only-rootfs tweaks.

(From OE-Core rev: 76444b63e614baea33c044851a5859f6d1e69729)

Signed-off-by: Jonas Bonn <jonas@norrbonn.se>
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Jonas Bonn
2019-05-02 22:09:40 +01:00
committed by Richard Purdie
parent 140c96d965
commit 119d310f36
4 changed files with 14 additions and 8 deletions

View File

@@ -126,6 +126,12 @@ read_only_rootfs_hook () {
${IMAGE_ROOTFS}/etc/init.d/populate-volatile.sh
fi
fi
if ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "true", "false", d)}; then
# 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 ${IMAGE_ROOTFS}${sysconfdir}/machine-id
fi
}
#

View File

@@ -7,14 +7,13 @@ DefaultTimeoutStartSec setting."
PACKAGE_ARCH = "${MACHINE_ARCH}"
CONFFILES_${PN} = "${sysconfdir}/machine-id \
${sysconfdir}/systemd/coredump.conf \
CONFFILES_${PN} = "${sysconfdir}/systemd/coredump.conf \
${sysconfdir}/systemd/journald.conf \
${sysconfdir}/systemd/logind.conf \
${sysconfdir}/systemd/system.conf \
${sysconfdir}/systemd/user.conf"
FILES_${PN} = "${sysconfdir}/machine-id ${sysconfdir}/systemd"
FILES_${PN} = "${sysconfdir}/systemd"
do_configure[noexec] = '1'
do_compile[noexec] = '1'
@@ -23,10 +22,6 @@ do_install() {
rm -rf ${D}/${sysconfdir}/systemd
install -d ${D}/${sysconfdir}/systemd
# 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 -m 0644 ${S}/src/coredump/coredump.conf ${D}${sysconfdir}/systemd/coredump.conf
install -m 0644 ${S}/src/journal/journald.conf ${D}${sysconfdir}/systemd/journald.conf

View File

@@ -0,0 +1 @@
disable *

View File

@@ -22,6 +22,7 @@ SRC_URI += "file://touchscreen.rules \
file://0003-implment-systemd-sysv-install-for-OE.patch \
file://0004-rules-whitelist-hd-devices.patch \
file://0005-rules-watch-metadata-changes-in-ide-devices.patch \
file://99-default.preset \
"
# patches needed by musl
@@ -277,7 +278,6 @@ do_install() {
fi
# conf files are handled by systemd-conf
rm -f ${D}${sysconfdir}/machine-id
rm -f ${D}${sysconfdir}/systemd/coredump.conf
rm -f ${D}${sysconfdir}/systemd/journald.conf
rm -f ${D}${sysconfdir}/systemd/logind.conf
@@ -287,6 +287,10 @@ do_install() {
# duplicate udevadm for postinst script
install -d ${D}${libexecdir}
ln ${D}${base_bindir}/udevadm ${D}${libexecdir}/${MLPREFIX}udevadm
# install default policy for presets
# https://www.freedesktop.org/wiki/Software/systemd/Preset/#howto
install -Dm 0644 ${WORKDIR}/99-default.preset ${D}${systemd_unitdir}/system-preset/99-default.preset
}