Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH] alsa-utils: Fix error when removing unwanted udev rules
@ 2018-05-01 11:36 Mike Crowe
  2018-05-01 15:22 ` Tanu Kaskinen
  2018-05-02  8:39 ` Peter Kjellerstedt
  0 siblings, 2 replies; 6+ messages in thread
From: Mike Crowe @ 2018-05-01 11:36 UTC (permalink / raw)
  To: openembedded-core; +Cc: Mike Crowe, Peter Kjellerstedt

If alsa-utils configure is not passed a --with-udev-rules-dir option then
it defaults to using /lib/udev/rules.d. This meant that the hard-coded use
of ${D}/lib in do_install in 262e69c9c7acf0beb7bb6b96299e3c993c906434
worked correctly to remove the unwanted rules.

Subsequently, 0a4372705a030ca54ed420cdfec33d46ab93499c changed do_install
to use ${nonarch_base_libdir}, claiming to fix this in the usrmerge case.

This means that if udev is not present in PACKAGECONFIG and usrmerge is
present in DISTRO_FEATURES then the alsa-utils build system will install
the rules in ${D}/lib/udev/rules.d but do_install will attempt to remove
${D}/usr/lib, resulting in something like:

 rmdir: failed to remove '.../tmp-glibc/work/i586-oe-linux/alsa-utils/1.1.5-r0/image/usr/lib': No such file or directory

To fix this, let's just tell configure to install the rules in a specific
known location when udev is disabled. This location can then easily be
cleaned up in do_install.

Tested both with and without usrmerge in DISTRO_FEATURES.

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Cc: Phil Blundell <pb@pbcl.net>
Cc: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
---
 meta/recipes-multimedia/alsa/alsa-utils_1.1.5.bb | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/meta/recipes-multimedia/alsa/alsa-utils_1.1.5.bb b/meta/recipes-multimedia/alsa/alsa-utils_1.1.5.bb
index f2231f34f0..5561b4de3f 100644
--- a/meta/recipes-multimedia/alsa/alsa-utils_1.1.5.bb
+++ b/meta/recipes-multimedia/alsa/alsa-utils_1.1.5.bb
@@ -16,7 +16,7 @@ PACKAGECONFIG ??= "udev"
 # 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"
+PACKAGECONFIG[udev] = "--with-udev-rules-dir=`pkg-config --variable=udevdir udev`/rules.d,--with-udev-rules-dir=/unwanted/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 \
@@ -102,8 +102,8 @@ do_install() {
 	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 udev is disabled, we told configure to install the rules in /unwanted, so
+        	# we can get rid of them now.
+        	rm -rf ${D}/unwanted
 	fi
 }
-- 
2.11.0




^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-05-02 15:18 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-05-01 11:36 [PATCH] alsa-utils: Fix error when removing unwanted udev rules Mike Crowe
2018-05-01 15:22 ` Tanu Kaskinen
2018-05-02  8:39 ` Peter Kjellerstedt
2018-05-02 13:38   ` [PATCHv2] " Mike Crowe
2018-05-02 15:18     ` Peter Kjellerstedt
2018-05-02 13:40   ` [PATCH] " Mike Crowe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox