]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commit
update_udev_hwdb: fix multilib issue with systemd
authorKai Kang <kai.kang@windriver.com>
Fri, 15 Apr 2022 14:38:03 +0000 (22:38 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 19 Apr 2022 13:14:01 +0000 (14:14 +0100)
commit3dba872a42c2be7d0865a30118984ab013850292
tree6c28edf4abefcdf419acc8cf2a0a52eba02f002b
parent6148ac9bc5d3e0d0ffdbbd6695acd96ca1836b78
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.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-core/systemd/systemd_250.4.bb
meta/recipes-core/udev/eudev_3.2.10.bb
scripts/postinst-intercepts/update_udev_hwdb