Skip to contentSkip to conversation

udev and multilib changes

PATCH New Constantin Musca 1 participant 8 messages Dec 18, 2012

lore
Share & tools
lore
#0 lore raw

v2 cover udev and multilib changes

This patchset addresses the udevdir problem (some packages hardcode udevdir
to /lib/udev) by using a arch independent variable (nonarch_base_libdir). It also includes some multilib fixes. The following changes since commit 958162e96b4a4f23bca94500b5f20975633dd5c6:

bitbake: hob: use base image only if it was set (2012-12-14 17:31:31 +0000)

are available in the git repository at:

git://git.pokylinux.org/poky-contrib cmuscax/udev
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=cmuscax/udev

Constantin Musca (7):
bitbake.conf: add nonarch_base_lib variable
udev: use nonarch_base_libdir for files that don't vary by arch
alsa-utils: Pass udev-rules-dir as parameter
pcmciautils: set correct udevdir and add missing debug files
bluez: set correct udevdir
polkit: fix multilib packaging issue
psplash: enable multilib

 meta/classes/staging.bbclass                       |  4 +
 meta/conf/bitbake.conf                             |  1 +
 meta/recipes-bsp/pcmciautils/pcmciautils.inc       |  3 +-
 meta/recipes-bsp/pcmciautils/pcmciautils_018.bb    |  6 +-
 .../bluez/bluez4-4.101/fix-udev-paths.patch        | 37 +++++++++
 meta/recipes-connectivity/bluez/bluez4.inc         |  2 +
 meta/recipes-connectivity/bluez/bluez4_4.101.bb    |  7 +-
 meta/recipes-core/psplash/psplash_git.bb           | 16 ++--
 meta/recipes-core/udev/udev.inc                    |  8 +-
 meta/recipes-core/udev/udev/fix-udev-paths.patch   | 94 ++++++++++++++++++++++
 meta/recipes-core/udev/udev_182.bb                 |  2 +-
 meta/recipes-extended/polkit/polkit_0.104.bb       | 12 +--
 meta/recipes-multimedia/alsa/alsa-utils_1.0.25.bb  |  6 +-
 13 files changed, 172 insertions(+), 26 deletions(-)
 create mode 100644 meta/recipes-connectivity/bluez/bluez4-4.101/fix-udev-paths.patch
 create mode 100644 meta/recipes-core/udev/udev/fix-udev-paths.patch
Signature · 1 line
1.7.11.7
#1 lore raw

PATCH v2 1/7 bitbake.conf: add nonarch_base_lib variable

Adapt stagging.bbclass to this change

---
 meta/classes/staging.bbclass | 4 ++++
 meta/conf/bitbake.conf       | 1 +
 2 files changed, 5 insertions(+)
meta/classes/staging.bbclass +4 -0
index 82624cb..1a078b4 100644
@@ -50,6 +50,10 @@ sysroot_stage_dirs() {
 	then
 		sysroot_stage_libdir $from${base_libdir} $to${base_libdir}
 	fi
+	if [ -d $from${nonarch_base_libdir} ]
+	then
+		sysroot_stage_libdir $from${nonarch_base_libdir} $to${nonarch_base_libdir}
+	fi
 	sysroot_stage_dir $from${datadir} $to${datadir}
 	# We don't care about docs/info/manpages/locales
 	rm -rf $to${mandir}/ $to${docdir}/ $to${infodir}/ ${to}${datadir}/locale/
meta/conf/bitbake.conf +1 -0
index be3bfc2..a2d3abe 100644
@@ -21,6 +21,7 @@ export exec_prefix = "/usr"
 export base_bindir = "${base_prefix}/bin"
 export base_sbindir = "${base_prefix}/sbin"
 export base_libdir = "${base_prefix}/${baselib}"
+export nonarch_base_libdir = "${base_prefix}/lib"
 
 # Architecture independent paths
 export datadir = "${prefix}/share"
Signature · 1 line
1.7.11.7
#2 lore raw

PATCH v2 2/7 udev: use nonarch_base_libdir for files that don't vary by arch

In reply to Constantin Musca

fix-udev-paths.patch: added
- Adapt udev to use nonarch_base_libdir

---
 meta/recipes-core/udev/udev.inc                  |  8 +-
 meta/recipes-core/udev/udev/fix-udev-paths.patch | 94 ++++++++++++++++++++++++
 meta/recipes-core/udev/udev_182.bb               |  2 +-
 3 files changed, 100 insertions(+), 4 deletions(-)
 create mode 100644 meta/recipes-core/udev/udev/fix-udev-paths.patch
meta/recipes-core/udev/udev.inc +5 -3
index 4705b9b..0851645 100644
@@ -18,6 +18,7 @@ RDEPENDS_libudev = "${PN} (= ${EXTENDPKGV})"
 
 SRC_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \
            file://0001-Fixing-keyboard_force_release.sh-shell-script-path.patch \
+           file://fix-udev-paths.patch \
            file://run.rules \
            file://udev.rules \
            file://devfs-udev.rules \
@@ -32,7 +33,7 @@ inherit autotools pkgconfig update-rc.d
 
 # udevd/udevadm -> /sbin/, libudev.so.* -> /lib/
 sbindir = "${base_sbindir}"
-libexecdir = "${base_libdir}" 
+libexecdir = "${base_libdir}"
 EXTRA_OECONF = "--disable-introspection \
                 --with-rootlibdir=${base_libdir} \
                 --with-pci-ids-path=${datadir}/pci.ids \
@@ -41,6 +42,7 @@ EXTRA_OECONF = "--disable-introspection \
                 ac_cv_file__usr_share_misc_pci_ids=yes \
                 --sbindir=${base_sbindir} \
                 --libexecdir=${base_libdir} \
+                --with-nonarch_rootlibdir=${nonarch_base_libdir} \
                 --with-rootlibdir=${base_libdir} \
                 --with-rootprefix= \
                "
@@ -55,7 +57,7 @@ INITSCRIPT_PARAMS_udev = "start 03 S ."
 INITSCRIPT_NAME_udev-cache = "udev-cache"
 INITSCRIPT_PARAMS_udev-cache = "start 36 S ."
 
-FILES_${PN} += "${libexecdir} ${libdir}/ConsoleKit"
+FILES_${PN} += "${nonarch_base_libdir} ${libexecdir} ${libdir}/ConsoleKit"
 RRECOMMENDS_${PN} += "udev-utils"
 
 FILES_${PN}-dbg += "${libexecdir}/.debug"
@@ -72,7 +74,7 @@ FILES_libgudev-dev = "${includedir}/gudev* ${libdir}/libgudev*.so ${libdir}/libg
                      ${libdir}/libgudev*.a ${libdir}/pkgconfig/gudev*.pc"
 FILES_udev-cache = "${sysconfdir}/init.d/udev-cache ${sysconfdir}/default/udev-cache"
 
-FILES_udev-acl = "${base_libdir}/udev/udev-acl ${base_libdir}/udev/rules.d/70-acl.rules"
+FILES_udev-acl = "${base_libdir}/udev/udev-acl ${nonarch_base_libdir}/udev/rules.d/70-acl.rules"
 
 FILES_udev-utils = "${bindir}/udevinfo ${bindir}/udevtest ${base_sbindir}/udevadm"
 
meta/recipes-core/udev/udev/fix-udev-paths.patch new file +94 -0

94 lines not on this page · raw message

meta/recipes-core/udev/udev_182.bb +1 -1
index c41de9f..0ae9f8c 100644
@@ -1,6 +1,6 @@
 include udev.inc
 
-PR = "r2"
+PR = "r3"
 
 # module-init-tools from kmod_git will provide libkmod runtime
 DEPENDS += "module-init-tools"
Signature · 1 line
1.7.11.7
#3 lore raw

PATCH v2 3/7 alsa-utils: Pass udev-rules-dir as parameter

In reply to Constantin Musca

Fix the following warning:
WARNING: QA Issue: alsa-utils: Files/directories were installed but not shipped
/lib
/lib/udev
/lib/udev/rules.d
/lib/udev/rules.d/90-alsa-restore.rules

[YOCTO #3440]

---
 meta/recipes-multimedia/alsa/alsa-utils_1.0.25.bb | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
meta/recipes-multimedia/alsa/alsa-utils_1.0.25.bb +3 -3
index 597e8b6..4990eb0 100644
@@ -6,7 +6,7 @@ LICENSE = "GPLv2+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
                     file://alsactl/utils.c;beginline=1;endline=20;md5=fe9526b055e246b5558809a5ae25c0b9"
 DEPENDS = "alsa-lib ncurses libsamplerate0"
-PR = "r2"
+PR = "r3"
 
 SRC_URI = "ftp://ftp.alsa-project.org/pub/utils/alsa-utils-${PV}.tar.bz2 \
            file://ncursesfix.patch \
@@ -21,7 +21,7 @@ SRC_URI[sha256sum] = "2e676a2f634bbfe279b260e10a96f617cb72ee63c5bbf6c5f96bb61570
 # http://bugs.openembedded.org/show_bug.cgi?id=2348
 # please close bug and remove this comment when properly fixed
 #
-EXTRA_OECONF = "--disable-xmlto"
+EXTRA_OECONF = "--disable-xmlto --with-udev-rules-dir=${nonarch_base_libdir}/udev/rules.d"
 EXTRA_OECONF_append_libc-uclibc = " --disable-nls"
 
 inherit autotools gettext
@@ -61,7 +61,7 @@ FILES_alsa-utils-midi        = "${bindir}/aplaymidi ${bindir}/arecordmidi ${bind
 FILES_alsa-utils-aconnect    = "${bindir}/aconnect"
 FILES_alsa-utils-aseqnet     = "${bindir}/aseqnet"
 FILES_alsa-utils-iecset      = "${bindir}/iecset"
-FILES_alsa-utils-alsactl     = "${sbindir}/alsactl ${base_libdir}/udev/rules.d ${systemd_unitdir} ${localstatedir}/lib/alsa ${datadir}/alsa/init/"
+FILES_alsa-utils-alsactl     = "${sbindir}/alsactl ${nonarch_base_libdir}/udev/rules.d ${systemd_unitdir} ${localstatedir}/lib/alsa ${datadir}/alsa/init/"
 FILES_alsa-utils-aseqdump    = "${bindir}/aseqdump"
 FILES_alsa-utils-alsaconf    = "${sbindir}/alsaconf"
 FILES_alsa-utils-alsaloop    = "${bindir}/alsaloop"
Signature · 1 line
1.7.11.7
#4 lore raw

PATCH v2 4/7 pcmciautils: set correct udevdir and add missing debug files

In reply to Constantin Musca

Fix the following warning:
WARNING: QA Issue: pcmciautils: Files/directories were installed but not shipped
/usr/lib
/usr/lib/udev
/usr/lib/udev/pcmcia-socket-startup /usr/lib/udev/pcmcia-check-broken-cis
/usr/lib/udev/.debug
/usr/lib/udev/.debug/pcmcia-socket-startup /usr/lib/udev/.debug/pcmcia-check-broken-cis

[YOCTO #3440]

---
 meta/recipes-bsp/pcmciautils/pcmciautils.inc    | 3 ++-
 meta/recipes-bsp/pcmciautils/pcmciautils_018.bb | 6 +++---
 2 files changed, 5 insertions(+), 4 deletions(-)
meta/recipes-bsp/pcmciautils/pcmciautils.inc +2 -1
index fa35daf..80271d6 100644
@@ -16,7 +16,8 @@ export HOSTCC = "${BUILD_CC}"
 export etcdir = "${sysconfdir}"
 export sbindir = "${base_sbindir}"
 export pcmciaconfdir = "${sysconfdir}/pcmcia"
-export udevrulesdir = "${sysconfdir}/udev/rules.d"
+export udevdir = "${base_libdir}/udev"
+export udevrulesdir = "${nonarch_base_libdir}/udev/rules.d"
 export UDEV = "1"
 LD = "${CC}"
 CFLAGS =+ "-I${S}/src"
meta/recipes-bsp/pcmciautils/pcmciautils_018.bb +3 -3
index 202437a..41fd799 100644
@@ -5,7 +5,7 @@ SRC_URI += "file://makefile_fix.patch"
 SRC_URI[md5sum] = "5d85669b3440baa4532363da6caaf1b4"
 SRC_URI[sha256sum] = "79e6ae441278e178c07501d492394ed2c0326fdb66894f6d040ec811b0dc8ed5"
 
-PR = "r0"
+PR = "r1"
 
-FILES_${PN}-dbg += "${libdir}/udev/.debug"
-FILES_${PN} += "${libdir}/udev"
+FILES_${PN}-dbg += "${base_libdir}/udev/.debug"
+FILES_${PN} += "${base_libdir}/udev ${nonarch_base_libdir}/udev"
Signature · 1 line
1.7.11.7
#5 lore raw

PATCH v2 5/7 bluez: set correct udevdir

In reply to Constantin Musca

fix-udev-paths.patch: add udevdir/udevrulesdir options

Fix the following warning:
WARNING: QA Issue: bluez4: Files/directories were installed but not shipped
/lib/udev/hid2hci
/lib/udev/.debug
/lib/udev/.debug/hid2hci

[YOCTO #3438]

---
 .../bluez/bluez4-4.101/fix-udev-paths.patch        | 37 ++++++++++++++++++++++
 meta/recipes-connectivity/bluez/bluez4.inc         |  2 ++
 meta/recipes-connectivity/bluez/bluez4_4.101.bb    |  7 ++--
 3 files changed, 43 insertions(+), 3 deletions(-)
 create mode 100644 meta/recipes-connectivity/bluez/bluez4-4.101/fix-udev-paths.patch
meta/recipes-connectivity/bluez/bluez4-4.101/fix-udev-paths.patch new file +37 -0
new file mode 100644
index 0000000..8089914
@@ -0,0 +1,37 @@
+Add udevdir/udevrulesdir options
+
+Upstream-Status: Inappropriate [configuration]
+Signed-off-by: Constantin Musca <[email protected]>
+
+Index: bluez-4.101/Makefile.am
+===================================================================
+--- bluez-4.101.orig/Makefile.am
++++ bluez-4.101/Makefile.am
+@@ -395,7 +395,7 @@ EXTRA_DIST += audio/bluetooth.conf
+ include Makefile.tools
+ 
+ if DATAFILES
+-rulesdir = @UDEV_DIR@/rules.d
++rulesdir = @UDEV_RULES_DIR@
+ 
+ udev_files =
+ 
+Index: bluez-4.101/configure.ac
+===================================================================
+--- bluez-4.101.orig/configure.ac
++++ bluez-4.101/configure.ac
+@@ -61,4 +61,14 @@ if (test -n "${path_systemdunit}"); then
+ fi
+ AM_CONDITIONAL(SYSTEMD, test -n "${path_systemdunit}")
+ 
++AC_ARG_WITH([udevdir],
++    AS_HELP_STRING([--with-udevdir=DIR], [udev directory]),
++    [], [with_udevdir=/lib/udev/])
++AC_SUBST([UDEV_DIR], [$with_udevdir])
++
++AC_ARG_WITH([udevrulesdir],
++    AS_HELP_STRING([--with-udevrulesdir=DIR], [udev rules directory]),
++    [], [with_udevrulesdir=/lib/udev/rules.d])
++AC_SUBST([UDEV_RULES_DIR], [$with_udevrulesdir])
++
+ AC_OUTPUT(Makefile doc/version.xml src/bluetoothd.8 src/bluetooth.service bluez.pc)
meta/recipes-connectivity/bluez/bluez4.inc +2 -0
index 6ddd58d..bff24d3 100644
@@ -39,5 +39,7 @@ EXTRA_OECONF = "\
   --disable-cups \
   --enable-test \
   --enable-datafiles \
+  --with-udevdir=${base_libdir}/udev \
+  --with-udevrulesdir=${nonarch_base_libdir}/udev/rules.d \
 "
 
meta/recipes-connectivity/bluez/bluez4_4.101.bb +4 -3
index f1a2fe7..4225999 100644
@@ -1,9 +1,10 @@
 require bluez4.inc
 
-PR = "r3"
+PR = "r4"
 
 SRC_URI += "file://bluetooth.conf \
-            file://sbc_mmx.patch"
+            file://sbc_mmx.patch \
+            file://fix-udev-paths.patch"
 
 SRC_URI[md5sum] = "fb42cb7038c380eb0e2fa208987c96ad"
 SRC_URI[sha256sum] = "59738410ade9f0e61a13c0f77d9aaffaafe49ba9418107e4ad75fe52846f7487"
@@ -22,7 +23,7 @@ ALLOW_EMPTY_libasound-module-bluez = "1"
 PACKAGES =+ "libasound-module-bluez"
 
 FILES_libasound-module-bluez = "${libdir}/alsa-lib/lib*.so ${datadir}/alsa"
-FILES_${PN} += "${libdir}/bluetooth/plugins ${libdir}/bluetooth/plugins/*.so ${base_libdir}/udev/ ${systemd_unitdir}/ ${datadir}/dbus-1"
+FILES_${PN} += "${libdir}/bluetooth/plugins ${libdir}/bluetooth/plugins/*.so ${base_libdir}/udev/ ${nonarch_base_libdir}/udev/ ${systemd_unitdir}/ ${datadir}/dbus-1"
 FILES_${PN}-dev += "\
   ${libdir}/bluetooth/plugins/*.la \
   ${libdir}/alsa-lib/*.la \
Signature · 1 line
1.7.11.7
#6 lore raw

PATCH v2 6/7 polkit: fix multilib packaging issue

In reply to Constantin Musca

- use BPN instead of PN (PN includes MLPREFIX)
- fix the following warning:
WARNING: QA Issue: lib32-polkit: Files/directories were installed but not shipped
/usr/share/polkit-1
/usr/share/polkit-1/actions /usr/share/polkit-1/actions/org.freedesktop.policykit.policy /usr/share/polkit-1/actions/org.freedesktop.policykit.examples.pkexec.policy /usr/lib/polkit-1
/usr/lib/polkit-1/extensions /usr/lib/polkit-1/extensions/libnullbackend.so /usr/lib/polkit-1/extensions/libnullbackend.a /usr/lib/polkit-1/extensions/libnullbackend.la /usr/lib/polkit-1/extensions/.debug /usr/lib/polkit-1/extensions/.debug/libnullbackend.so

[YOCTO #3438]

---
 meta/recipes-extended/polkit/polkit_0.104.bb | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
meta/recipes-extended/polkit/polkit_0.104.bb +6 -6
index 67c375a..74b5379 100644
@@ -10,7 +10,7 @@ DEPENDS = "expat glib-2.0 intltool-native gobject-introspection-stub"
 PACKAGECONFIG = "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
 PACKAGECONFIG[pam] = "--with-authfw=pam,--with-authfw=shadow,libpam,libpam"
 
-PR = "r7"
+PR = "r8"
 
 PAM_SRC_URI = "file://polkit-1_pam.patch"
 SRC_URI = "http://hal.freedesktop.org/releases/polkit-${PV}.tar.gz \
@@ -27,12 +27,12 @@ EXTRA_OECONF = "--with-os-type=moblin --disable-man-pages --disable-introspectio
 inherit autotools gtk-doc pkgconfig
 
 do_install_append() {
-	rm -f ${D}${libdir}/${PN}-1/extensions/*.a
+	rm -f ${D}${libdir}/${BPN}-1/extensions/*.a
 }
 
-FILES_${PN} += "${libdir}/${PN}-1/extensions/*.so \
-                ${datadir}/${PN}-1/actions/* \
+FILES_${PN} += "${libdir}/${BPN}-1/extensions/*.so \
+                ${datadir}/${BPN}-1/actions/* \
                 ${datadir}/dbus-1/system-services/*"
-FILES_${PN}-dbg += "${libdir}/${PN}-1/extensions/.debug/*.so"
-FILES_${PN}-dev += "${libdir}/${PN}-1/extensions/*.la "
+FILES_${PN}-dbg += "${libdir}/${BPN}-1/extensions/.debug/*.so"
+FILES_${PN}-dev += "${libdir}/${BPN}-1/extensions/*.la "
 
Signature · 1 line
1.7.11.7
#7 lore raw

PATCH v2 7/7 psplash: enable multilib

In reply to Constantin Musca

[YOCTO #3438]

---
 meta/recipes-core/psplash/psplash_git.bb | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)
meta/recipes-core/psplash/psplash_git.bb +10 -6
index 7c033e7..9bdcb37 100644
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://psplash.h;beginline=1;endline=16;md5=840fb2356b10a85b
 
 SRCREV = "de9979aefbc56af59b4d236a4b63dd19dcdcfb53"
 PV = "0.1+git${SRCPV}"
-PR = "r5"
+PR = "r6"
 
 SRC_URI = "git://git.yoctoproject.org/${BPN};protocol=git \
            file://psplash-init \
@@ -50,13 +50,17 @@ python __anonymous() {
         d.appendVar("DEPENDS", " gdk-pixbuf-native")
 
     d.prependVar("PACKAGES", "%s " % (" ".join(pkgs)))
+    mlprefix = d.getVar('MLPREFIX', True) or ''
+    pn = d.getVar('PN', True) or ''
     for p in pkgs:
-        d.setVar("FILES_%s" % p, "${bindir}/%s" % p)
-        d.setVar("ALTERNATIVE_%s" % p, 'psplash')
-        d.setVarFlag("ALTERNATIVE_TARGET_%s" % p, 'psplash', '${bindir}/%s' % p)
-        d.appendVar("RDEPENDS_%s" % p, " ${PN}")
+        ep = '%s%s' % (mlprefix, p)
+        epsplash = '%s%s' % (mlprefix, 'psplash')
+        d.setVar("FILES_%s" % ep, "${bindir}/%s" % p)
+        d.setVar("ALTERNATIVE_%s" % ep, epsplash)
+        d.setVarFlag("ALTERNATIVE_TARGET_%s" % ep, epsplash, '${bindir}/%s' % p)
+        d.appendVar("RDEPENDS_%s" % ep, " %s" % pn)
         if p == "psplash-default":
-            d.appendVar("RRECOMMENDS_${PN}", " %s" % p)
+            d.appendVar("RRECOMMENDS_%s" % pn, " %s" % ep)
 }
 
 S = "${WORKDIR}/git"
Signature · 1 line
1.7.11.7