[OE-core] [PATCH] alsa-utils: Install and delete from the same udev-rules-dir

Ola x Nilsson ola.x.nilsson at axis.com
Thu Sep 21 14:56:14 UTC 2017


The --with-udev-rules-dir option used with udev is exactly what the
configure script uses, so there is no need for it.
On the other hand, if we do not have an udev.pc file we should tell
alsa-utils where to install the rules so we know where they should be
deleted from.

Signed-off-by: Ola x Nilsson <olani at axis.com>
---
 meta/recipes-multimedia/alsa/alsa-utils_1.1.4.bb | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/meta/recipes-multimedia/alsa/alsa-utils_1.1.4.bb b/meta/recipes-multimedia/alsa/alsa-utils_1.1.4.bb
index c8f4b861bd..7fc6c29a61 100644
--- a/meta/recipes-multimedia/alsa/alsa-utils_1.1.4.bb
+++ b/meta/recipes-multimedia/alsa/alsa-utils_1.1.4.bb
@@ -9,14 +9,17 @@ DEPENDS = "alsa-lib ncurses libsamplerate0"
 
 PACKAGECONFIG ??= "udev"
 
+udevdir = "${nonarch_base_libdir}/udev"
+
 # alsabat can be built also without fftw support (with reduced functionality).
 # It would be better to always enable alsabat, but provide an option for
 # enabling/disabling fftw. The configure script doesn't support that, however
 # (at least in any obvious way), so for now we only support alsabat with fftw
 # or no alsabat at all.
 PACKAGECONFIG[bat] = "--enable-bat,--disable-bat,fftwf"
-
-PACKAGECONFIG[udev] = "--with-udev-rules-dir=`pkg-config --variable=udevdir udev`/rules.d,,udev"
+# The udev-rules dir is taken from udev.pc.  Set the dir explicitly
+# when udev is not in our DEPENDS.
+PACKAGECONFIG[udev] = ",--with-udev-rules-dir=${udevdir}/rules.d,udev"
 PACKAGECONFIG[manpages] = "--enable-xmlto, --disable-xmlto, xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
 
 SRC_URI = "ftp://ftp.alsa-project.org/pub/utils/alsa-utils-${PV}.tar.bz2 \
@@ -101,9 +104,13 @@ do_install() {
 	rm ${D}${sbindir}/alsa-info.sh
 	rm -f ${D}${sbindir}/alsabat-test.sh
 
-	if ${@bb.utils.contains('PACKAGECONFIG', 'udev', 'false', 'true', d)}; then
-		# This is where alsa-utils will install its rules if we don't tell it anything else.
-		rm -rf ${D}${nonarch_base_libdir}/udev
-		rmdir --ignore-fail-on-non-empty ${D}${nonarch_base_libdir}
+	if [ "${@bb.utils.filter('PACKAGECONFIG', 'udev', d)}" ]; then
+		# This is where alsa-utils installs if there is an udev.pc file
+		udevdir=$(pkg-config --variable=udevdir udev)
+	else
+		# This is where we told alsa-utils to install the rules
+		udevdir=${udevdir}
 	fi
+	rm -rf ${D}$udevdir
+	rmdir --ignore-fail-on-non-empty ${D}${udevdir%/*}
 }
-- 
2.11.0




More information about the Openembedded-core mailing list