diff options
author | Kai Kang <kai.kang@windriver.com> | 2018-10-18 04:18:05 -0400 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-10-25 14:53:44 +0100 |
commit | 60bdb3d6a18e2d136df3590f04df55a9a3a045f9 (patch) | |
tree | dde0e2b9614812c5922d9c17a90a6e09a1066436 /meta/recipes-core | |
parent | 8e4c03744cfa8cc559682ebf7074643216dd2b9d (diff) | |
download | poky-60bdb3d6a18e2d136df3590f04df55a9a3a045f9.tar.gz |
udev-hwdb: fix postinstall scripts failures when multilib enabled
When multilib is enabled and both udev-hwdb and ${MLPREFIX}udev-hwdb are
installed to image, it fails to run one of their postinstall scripts
that they both call ${base_bindir}/udevadm with same user mode qemu.
Duplicate udevadm and add postinst-intercept update_udev_hwdb to fix the
failures.
(From OE-Core rev: d6b737a31a8842cdc770b05e28503c81a691d10d)
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core')
-rw-r--r-- | meta/recipes-core/systemd/systemd_239.bb | 13 | ||||
-rw-r--r-- | meta/recipes-core/udev/eudev_3.2.5.bb | 11 |
2 files changed, 11 insertions, 13 deletions
diff --git a/meta/recipes-core/systemd/systemd_239.bb b/meta/recipes-core/systemd/systemd_239.bb index bc16407e09..acdce5cee7 100644 --- a/meta/recipes-core/systemd/systemd_239.bb +++ b/meta/recipes-core/systemd/systemd_239.bb | |||
@@ -282,6 +282,10 @@ do_install() { | |||
282 | rm -f ${D}${sysconfdir}/systemd/logind.conf | 282 | rm -f ${D}${sysconfdir}/systemd/logind.conf |
283 | rm -f ${D}${sysconfdir}/systemd/system.conf | 283 | rm -f ${D}${sysconfdir}/systemd/system.conf |
284 | rm -f ${D}${sysconfdir}/systemd/user.conf | 284 | rm -f ${D}${sysconfdir}/systemd/user.conf |
285 | |||
286 | # duplicate udevadm for postinst script | ||
287 | install -d ${D}${libexecdir} | ||
288 | ln ${D}${base_bindir}/udevadm ${D}${libexecdir}/${MLPREFIX}udevadm | ||
285 | } | 289 | } |
286 | 290 | ||
287 | 291 | ||
@@ -532,6 +536,7 @@ FILES_udev += "${base_sbindir}/udevd \ | |||
532 | ${systemd_unitdir}/system/*udev* \ | 536 | ${systemd_unitdir}/system/*udev* \ |
533 | ${systemd_unitdir}/system/*.wants/*udev* \ | 537 | ${systemd_unitdir}/system/*.wants/*udev* \ |
534 | ${base_bindir}/udevadm \ | 538 | ${base_bindir}/udevadm \ |
539 | ${libexecdir}/${MLPREFIX}udevadm \ | ||
535 | ${datadir}/bash-completion/completions/udevadm \ | 540 | ${datadir}/bash-completion/completions/udevadm \ |
536 | " | 541 | " |
537 | 542 | ||
@@ -570,13 +575,7 @@ pkg_prerm_${PN} () { | |||
570 | PACKAGE_WRITE_DEPS += "qemu-native" | 575 | PACKAGE_WRITE_DEPS += "qemu-native" |
571 | pkg_postinst_udev-hwdb () { | 576 | pkg_postinst_udev-hwdb () { |
572 | if test -n "$D"; then | 577 | if test -n "$D"; then |
573 | if ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'true','false', d)}; then | 578 | $INTERCEPT_DIR/postinst_intercept update_udev_hwdb ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX} |
574 | ${@qemu_run_binary(d, '$D', '${base_bindir}/udevadm')} hwdb --update \ | ||
575 | --root $D | ||
576 | chown root:root $D${sysconfdir}/udev/hwdb.bin | ||
577 | else | ||
578 | $INTERCEPT_DIR/postinst_intercept delay_to_first_boot ${PKG} mlprefix=${MLPREFIX} | ||
579 | fi | ||
580 | else | 579 | else |
581 | udevadm hwdb --update | 580 | udevadm hwdb --update |
582 | fi | 581 | fi |
diff --git a/meta/recipes-core/udev/eudev_3.2.5.bb b/meta/recipes-core/udev/eudev_3.2.5.bb index efd62c6495..592dd8f22a 100644 --- a/meta/recipes-core/udev/eudev_3.2.5.bb +++ b/meta/recipes-core/udev/eudev_3.2.5.bb | |||
@@ -50,6 +50,10 @@ do_install_append() { | |||
50 | 50 | ||
51 | # hid2hci has moved to bluez4. removed in udev as of version 169 | 51 | # hid2hci has moved to bluez4. removed in udev as of version 169 |
52 | rm -f ${D}${base_libdir}/udev/hid2hci | 52 | rm -f ${D}${base_libdir}/udev/hid2hci |
53 | |||
54 | # duplicate udevadm for postinst script | ||
55 | install -d ${D}${libexecdir} | ||
56 | ln ${D}${bindir}/udevadm ${D}${libexecdir}/${MLPREFIX}udevadm | ||
53 | } | 57 | } |
54 | 58 | ||
55 | do_install_prepend_class-target () { | 59 | do_install_prepend_class-target () { |
@@ -81,12 +85,7 @@ RPROVIDES_eudev-hwdb += "udev-hwdb" | |||
81 | PACKAGE_WRITE_DEPS += "qemu-native" | 85 | PACKAGE_WRITE_DEPS += "qemu-native" |
82 | pkg_postinst_eudev-hwdb () { | 86 | pkg_postinst_eudev-hwdb () { |
83 | if test -n "$D"; then | 87 | if test -n "$D"; then |
84 | if ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'true','false', d)}; then | 88 | $INTERCEPT_DIR/postinst_intercept update_udev_hwdb ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX} |
85 | ${@qemu_run_binary(d, '$D', '${bindir}/udevadm')} hwdb --update --root $D | ||
86 | chown root:root $D${sysconfdir}/udev/hwdb.bin | ||
87 | else | ||
88 | $INTERCEPT_DIR/postinst_intercept delay_to_first_boot ${PKG} mlprefix=${MLPREFIX} | ||
89 | fi | ||
90 | else | 89 | else |
91 | udevadm hwdb --update | 90 | udevadm hwdb --update |
92 | fi | 91 | fi |