Skip to content

Commit

Permalink
udev-extraconf: fix some systemd automount issues
Browse files Browse the repository at this point in the history
The '.include' syntax has been dropped from latest systemd releases,
we need drop the systemd-udevd.service here, introduce a postinst
function to add "MountFlags=shared" to systemd-udevd.service.

Also lsblk binary is being called in mount.sh automount_systemd
function, add it to RDEPENDS.

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
  • Loading branch information
liuming50 authored and rpurdie committed Jun 27, 2022
1 parent 12755e3 commit 356520d
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 11 deletions.
3 changes: 0 additions & 3 deletions meta/recipes-core/udev/udev-extraconf/systemd-udevd.service

This file was deleted.

20 changes: 12 additions & 8 deletions meta/recipes-core/udev/udev-extraconf_1.1.bb
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ SRC_URI = " \
file://autonet.rules \
file://network.sh \
file://localextra.rules \
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'file://systemd-udevd.service', '', d)} \
"

S = "${WORKDIR}"
Expand All @@ -36,16 +35,21 @@ do_install() {
sed -i 's|@MOUNT_BASE@|${MOUNT_BASE}|g' ${D}${sysconfdir}/udev/scripts/mount.sh

install -m 0755 ${WORKDIR}/network.sh ${D}${sysconfdir}/udev/scripts
}

pkg_postinst:${PN} () {
if [ -e $D${systemd_unitdir}/system/systemd-udevd.service ]; then
sed -i "/\[Service\]/aMountFlags=shared" $D${systemd_unitdir}/system/systemd-udevd.service
fi
}

if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
install -d ${D}${sysconfdir}/systemd/system
install ${WORKDIR}/systemd-udevd.service ${D}${sysconfdir}/systemd/system/systemd-udevd.service
sed -i 's|@systemd_unitdir@|${systemd_unitdir}|g' ${D}${sysconfdir}/systemd/system/systemd-udevd.service
fi
pkg_postrm:${PN} () {
if [ -e $D${systemd_unitdir}/system/systemd-udevd.service ]; then
sed -i "/MountFlags=shared/d" $D${systemd_unitdir}/system/systemd-udevd.service
fi
}

FILES:${PN} = "${sysconfdir}/udev ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${sysconfdir}/systemd/system/systemd-udevd.service', '', d)}"
RDEPENDS:${PN} = "udev util-linux-blkid"
RDEPENDS:${PN} = "udev util-linux-blkid ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'util-linux-lsblk', '', d)}"
CONFFILES:${PN} = "${sysconfdir}/udev/mount.ignorelist"

# to replace udev-extra-rules from meta-oe
Expand Down

0 comments on commit 356520d

Please sign in to comment.