summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core
diff options
context:
space:
mode:
authorKai Kang <kai.kang@windriver.com>2018-10-18 04:18:05 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-10-25 14:53:44 +0100
commit60bdb3d6a18e2d136df3590f04df55a9a3a045f9 (patch)
treedde0e2b9614812c5922d9c17a90a6e09a1066436 /meta/recipes-core
parent8e4c03744cfa8cc559682ebf7074643216dd2b9d (diff)
downloadpoky-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.bb13
-rw-r--r--meta/recipes-core/udev/eudev_3.2.5.bb11
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} () {
570PACKAGE_WRITE_DEPS += "qemu-native" 575PACKAGE_WRITE_DEPS += "qemu-native"
571pkg_postinst_udev-hwdb () { 576pkg_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
55do_install_prepend_class-target () { 59do_install_prepend_class-target () {
@@ -81,12 +85,7 @@ RPROVIDES_eudev-hwdb += "udev-hwdb"
81PACKAGE_WRITE_DEPS += "qemu-native" 85PACKAGE_WRITE_DEPS += "qemu-native"
82pkg_postinst_eudev-hwdb () { 86pkg_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