mirror of
https://git.yoctoproject.org/poky
synced 2026-03-19 13:49:41 +01:00
update_udev_hwdb: fix multilib issue with systemd
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.
(From OE-Core rev: 74fe1b5af064f644a7d555b61527bb7d02cc30b8)
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3dba872a42c2be7d0865a30118984ab013850292)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user