From: Kai Kang <[email protected]>
It duplicates udevadm in systemd recipe to make it could run
update_udev_hwdb with multilib enabled. Since systemd last update,
it deploys a shared library libsystemd-shared-250.so in /lib/systemd/.
The library will be overwritten when multilib enabled. Then if both
udev-hwdb and lib32-udev-hwdb are installed, it fails to run the
multilib version postinstall intercept update_udev_hwdb:
|
/path/to/build/tmp-glibc/work/intel_x86_64-wrs-linux/wrlinux-image-small/1.0-r1/rootfs/usr/libexec/lib32-udevadm:
error while loading shared libraries: libsystemd-shared-250.so: wrong ELF
class: ELFCLASS64
`udevadm hwdb --update` just concatenates .hwdb files in dirs
/etc/udev/hwdb.d and /lib/udev/hwdb.d. The output file hwdb.bin is
identical with the one created by lib32-udevadm. So do NOT duplicate
lib32-udevadm in systemd and eudev. And update intercept script
update_udev_hwdb that re-run udevadm with same arch qemuwrapper if run
${binprefix}qemuwrapper failed.
Signed-off-by: Kai Kang <[email protected]>
Signed-off-by: Richard Purdie <[email protected]>
(cherry picked from commit 3dba872a42c2be7d0865a30118984ab013850292)
Signed-off-by: Steve Sakoman <[email protected]>
---
meta/recipes-core/systemd/systemd_250.4.bb | 5 -----
meta/recipes-core/udev/eudev_3.2.10.bb | 4 ----
scripts/postinst-intercepts/update_udev_hwdb | 5 ++++-
3 files changed, 4 insertions(+), 10 deletions(-)
diff --git a/meta/recipes-core/systemd/systemd_250.4.bb
b/meta/recipes-core/systemd/systemd_250.4.bb
index 2b346113b5..15e2185dff 100644
--- a/meta/recipes-core/systemd/systemd_250.4.bb
+++ b/meta/recipes-core/systemd/systemd_250.4.bb
@@ -337,10 +337,6 @@ do_install() {
# create link for existing udev rules
ln -s ${base_bindir}/udevadm ${D}${base_sbindir}/udevadm
- # 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
@@ -718,7 +714,6 @@ FILES:udev += "${base_sbindir}/udevd \
${base_bindir}/systemd-hwdb \
${base_bindir}/udevadm \
${base_sbindir}/udevadm \
- ${libexecdir}/${MLPREFIX}udevadm \
${datadir}/bash-completion/completions/udevadm \
${systemd_system_unitdir}/systemd-hwdb-update.service \
"
diff --git a/meta/recipes-core/udev/eudev_3.2.10.bb
b/meta/recipes-core/udev/eudev_3.2.10.bb
index dec16be046..ccc66ae131 100644
--- a/meta/recipes-core/udev/eudev_3.2.10.bb
+++ b/meta/recipes-core/udev/eudev_3.2.10.bb
@@ -51,10 +51,6 @@ do_install:append() {
# hid2hci has moved to bluez4. removed in udev as of version 169
rm -f ${D}${base_libdir}/udev/hid2hci
-
- # duplicate udevadm for postinst script
- install -d ${D}${libexecdir}
- ln ${D}${bindir}/udevadm ${D}${libexecdir}/${MLPREFIX}udevadm
}
do_install:prepend:class-target () {
diff --git a/scripts/postinst-intercepts/update_udev_hwdb
b/scripts/postinst-intercepts/update_udev_hwdb
index 8076b8ae6f..8b3f5de791 100644
--- a/scripts/postinst-intercepts/update_udev_hwdb
+++ b/scripts/postinst-intercepts/update_udev_hwdb
@@ -9,14 +9,17 @@ case "${PREFERRED_PROVIDER_udev}" in
systemd)
UDEV_EXTRA_ARGS="--usr"
UDEVLIBDIR="${rootlibexecdir}"
+ UDEVADM="${base_bindir}/udevadm"
;;
*)
UDEV_EXTRA_ARGS=""
UDEVLIBDIR="${sysconfdir}"
+ UDEVADM="${bindir}/udevadm"
;;
esac
rm -f $D${UDEVLIBDIR}/udev/hwdb.bin
-PSEUDO_UNLOAD=1 ${binprefix}qemuwrapper -L $D
$D${libexecdir}/${binprefix}udevadm hwdb --update --root $D ${UDEV_EXTRA_ARGS}
+PSEUDO_UNLOAD=1 ${binprefix}qemuwrapper -L $D $D${UDEVADM} hwdb --update
--root $D ${UDEV_EXTRA_ARGS} ||
+ PSEUDO_UNLOAD=1 qemuwrapper -L $D $D${UDEVADM} hwdb --update --root $D
${UDEV_EXTRA_ARGS}
chown root:root $D${UDEVLIBDIR}/udev/hwdb.bin
--
2.25.1
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#164686):
https://lists.openembedded.org/g/openembedded-core/message/164686
Mute This Topic: https://lists.openembedded.org/mt/90584546/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-