Bug 3440 Fixes
cover Bug 3440 Fixes
This represents a set of fixes for multilib warnings.
[YOCTO #3440]
The following changes since commit c607095894cab60493ddfc4b967b0325e1c313b4:
bitbake: Revert "BBHandler: Ensure parser state engine is correctly reset for new parsing" (2012-12-07 18:09:01 +0000)
are available in the git repository at:
git://git.pokylinux.org/poky-contrib cmuscax/multilib_warn
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=cmuscax/multilib_warn
Constantin Musca (4):
alsa-utils: Pass udev-rules-dir as parameter
pcmciautils: set correct udevdir and add missing debug files multilib.bbclass: fix do_package_qa_multilib package.bbclass: prepend MLPREFIX to LOCALEBASEPN
meta/classes/multilib.bbclass | 4 +++- meta/classes/package.bbclass | 2 +- meta/recipes-bsp/pcmciautils/pcmciautils.inc | 1 + meta/recipes-bsp/pcmciautils/pcmciautils_018.bb | 4 ++-- meta/recipes-multimedia/alsa/alsa-utils_1.0.25.bb | 4 ++-- 5 files changed, 9 insertions(+), 6 deletions(-)
Signature · 1 line
1.7.11.7
PATCH 1/4 alsa-utils: Pass udev-rules-dir as parameter
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 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
meta/recipes-multimedia/alsa/alsa-utils_1.0.25.bb +2 -2
@@ -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=${base_libdir}/udev/rules.d" EXTRA_OECONF_append_libc-uclibc = " --disable-nls" inherit autotools gettext
Signature · 1 line
1.7.11.7
Re: [PATCH 1/4] alsa-utils: Pass udev-rules-dir as parameter
Quoted 28 lines · 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]
Signed-off-by Constantin Musca <[email protected]>--- meta/recipes-multimedia/alsa/alsa-utils_1.0.25.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)meta/recipes-multimedia/alsa/alsa-utils_1.0.25.bb +1
-1@@ -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 \
meta/recipes-multimedia/alsa/alsa-utils_1.0.25.bb SRC_URI[sha256sum] = "2e676a2f634bbfe279b260e10a96f617cb72ee63c5bbf6c5f96bb61570 · line 24
Quoted 5 lines
meta/recipes-multimedia/alsa/alsa-utils_1.0.25.bb +1
-1@@ -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=${base_libdir}/udev/rules.d"
Here you have udev rules going into $base_libdir/udev and in the next patch its put into $sysconfdir, can you verify the correct location.
Sau!
Quoted 4 lines
meta/recipes-multimedia/alsa/alsa-utils_1.0.25.bb +0
-0EXTRA_OECONF_append_libc-uclibc = " --disable-nls" inherit autotools gettext
Re: [PATCH 1/4] alsa-utils: Pass udev-rules-dir as parameter
In reply to Constantin MuscaQuoted 28 lines · 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]
Signed-off-by Constantin Musca<[email protected]>--- meta/recipes-multimedia/alsa/alsa-utils_1.0.25.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)meta/recipes-multimedia/alsa/alsa-utils_1.0.25.bb +1
-1@@ -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 \
meta/recipes-multimedia/alsa/alsa-utils_1.0.25.bb SRC_URI[sha256sum] = "2e676a2f634bbfe279b260e10a96f617cb72ee63c5bbf6c5f96bb61570 · line 27
Quoted 8 lines
meta/recipes-multimedia/alsa/alsa-utils_1.0.25.bb +1
-1@@ -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=${base_libdir}/udev/rules.d" EXTRA_OECONF_append_libc-uclibc = " --disable-nls" inherit autotools gettext
Hi Musca,
Another bug is related to the udev rules directory. It's similar to this one.
https://bugzilla.yoctoproject.org/show_bug.cgi?id=2804
(You could also use 'udev' to filter the message in oe-core list to see the previous discussions on this topic.) It seems alsa-utils does not seem to be the only package that hardcodes its udev-rules-dir. Besides, udev cannot start properly if installed under /lib64.
#!/bin/sh
### BEGIN INIT INFO
# Provides: udev
# Required-Start: mountvirtfs
# Required-Stop:
# Default-Start: S
# Default-Stop:
# Short-Description: Start udevd, populate /dev and load drivers. ### END INIT INFO
export TZ=/etc/localtime
[ -d /sys/class ] || exit 1
[ -r /proc/mounts ] || exit 1
[ -x /lib/udev/udevd ] || exit 1
[ -f /etc/default/udev-cache ] && . /etc/default/udev-cache [ -f /etc/udev/udev.conf ] && . /etc/udev/udev.conf
The question here is:
Whether we should always install udev under /lib or patch all packages that hardcodes udev-rules-dir to be under '/lib'. Maybe there are other better approaches?
Please have a look at these and let me know your opinions.
Thanks a lot,
Chen Qi
Re: [PATCH 1/4] alsa-utils: Pass udev-rules-dir as parameter
Quoted 67 lines · ChenQi
Quoted 34 lines · 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]
Signed-off-by Constantin Musca<[email protected]>--- meta/recipes-multimedia/alsa/alsa-utils_1.0.25.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)meta/recipes-multimedia/alsa/alsa-utils_1.0.25.bb +0
-0@@ -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"meta/recipes-multimedia/alsa/alsa-utils_1.0.25.bb +1
-1-PR = "r2" +PR = "r3" SRC_URI ="ftp://ftp.alsa-project.org/pub/utils/alsa-utils-${PV}.tar.bz2 \ file://ncursesfix.patch \meta/recipes-multimedia/alsa/alsa-utils_1.0.25.bb +0
-0@@ -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 #meta/recipes-multimedia/alsa/alsa-utils_1.0.25.bb SRC_URI[sha256sum] = "2e676a2f634bbfe279b260e10a96f617cb72ee63c5bbf6c5f96bb61570 · line 27
Quoted 6 lines
meta/recipes-multimedia/alsa/alsa-utils_1.0.25.bb +1
-2-EXTRA_OECONF = "--disable-xmlto" +EXTRA_OECONF = "--disable-xmlto --with-udev-rules-dir=${base_libdir}/udev/rules.d" EXTRA_OECONF_append_libc-uclibc = " --disable-nls" inherit autotools gettextHi Musca,
Another bug is related to the udev rules directory. It's similar to this one.
https://bugzilla.yoctoproject.org/show_bug.cgi?id=2804
(You could also use 'udev' to filter the message in oe-core list to see the previous discussions on this topic.) It seems alsa-utils does not seem to be the only package that hardcodes its udev-rules-dir. Besides, udev cannot start properly if installed under /lib64.#!/bin/sh
### BEGIN INIT INFO
# Provides: udev
# Required-Start: mountvirtfs
# Required-Stop:
# Default-Start: S
# Default-Stop:
# Short-Description: Start udevd, populate /dev and load drivers. ### END INIT INFOexport TZ=/etc/localtime
[ -d
/sys/class] || exit 1
[ -r/proc/mounts] || exit 1
[ -x/lib/udev/udevd] || exit 1
[ -f/etc/default/udev-cache] && ./etc/default/udev-cache[ -f/etc/udev/udev.conf] && ./etc/udev/udev.conf
Quoted 7 lines
The question here is:
Whether we should always install udev under /lib or patch all packages that hardcodes udev-rules-dir to be under '/lib'. Maybe there are other better approaches?Please have a look at these and let me know your opinions.
Thanks a lot,
Chen Qi
I think the best solution is to patch all packages that hardcode the udev-rules-dir path to use ${base_libdir}/udev/rules.d (this is the standard path). udev doesn't start properly if installed under /lib64 because the init script hardcodes the udevd path (/lib/udev/udevd). If everybody is ok with this, I will send another patch for pcmciautils which sets udevdir to ${base_libdir}/udev/.
Cheers,
Constantin
Re: [PATCH 1/4] alsa-utils: Pass udev-rules-dir as parameter
Quoted 74 lines · Constantin Musca
Quoted 73 lines · ChenQi
Quoted 35 lines · 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]
Signed-off-by Constantin Musca<[email protected]>--- meta/recipes-multimedia/alsa/alsa-utils_1.0.25.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)meta/recipes-multimedia/alsa/alsa-utils_1.0.25.bb +0
-0@@ -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"
meta/recipes-multimedia/alsa/alsa-utils_1.0.25.bb +1
-1-PR = "r2" +PR = "r3" SRC_URI ="ftp://ftp.alsa-project.org/pub/utils/alsa-utils-${PV}.tar.bz2 \ file://ncursesfix.patch \meta/recipes-multimedia/alsa/alsa-utils_1.0.25.bb +0
-0@@ -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 #meta/recipes-multimedia/alsa/alsa-utils_1.0.25.bb SRC_URI[sha256sum] = "2e676a2f634bbfe279b260e10a96f617cb72ee63c5bbf6c5f96bb61570 · line 27
Quoted 6 lines
meta/recipes-multimedia/alsa/alsa-utils_1.0.25.bb +1
-2-EXTRA_OECONF = "--disable-xmlto" +EXTRA_OECONF = "--disable-xmlto --with-udev-rules-dir=${base_libdir}/udev/rules.d" EXTRA_OECONF_append_libc-uclibc = " --disable-nls" inherit autotools gettextHi Musca,
Another bug is related to the udev rules directory. It's similar to this one.
https://bugzilla.yoctoproject.org/show_bug.cgi?id=2804
(You could also use 'udev' to filter the message in oe-core list to see the previous discussions on this topic.) It seems alsa-utils does not seem to be the only package that hardcodes its udev-rules-dir. Besides, udev cannot start properly if installed under /lib64.#!/bin/sh
### BEGIN INIT INFO
# Provides: udev
# Required-Start: mountvirtfs
# Required-Stop:
# Default-Start: S
# Default-Stop:
# Short-Description: Start udevd, populate /dev and load drivers. ### END INIT INFOexport TZ=/etc/localtime
[ -d
/sys/class] || exit 1
[ -r/proc/mounts] || exit 1
[ -x/lib/udev/udevd] || exit 1
[ -f/etc/default/udev-cache] && ./etc/default/udev-cache[ -f/etc/udev/udev.conf] && ./etc/udev/udev.confThe question here is:
Whether we should always install udev under /lib or patch all packages that hardcodes udev-rules-dir to be under '/lib'. Maybe there are other better approaches?Please have a look at these and let me know your opinions.
Quoted 10 lines
Quoted 2 lines
Thanks a lot,
Chen QiI think the best solution is to patch all packages that hardcode the udev-rules-dir path to use ${base_libdir}/udev/rules.d (this is the standard path). udev doesn't start properly if installed under /lib64 because the init script hardcodes the udevd path (
/lib/udev/udevd). If everybody is ok with this, I will send another patch for pcmciautils which sets udevdir to ${base_libdir}/udev/.Cheers,
Constantin
Hi Richard,
Could you please have a look at this?
You gave me some suggestions on a similar problem before (mdadm udev-rules-dir problem, bug#2804). As the same problem is encountered in other packages, I have to ask:
Are we going to take the approach of fixing every package that hardcodes udev-rules-dir, as suggested by Constantin?
Thanks,
Chen Qi
PATCH 2/4 pcmciautils: set correct udevdir and add missing debug files
In reply to Constantin MuscaFix 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 | 1 + meta/recipes-bsp/pcmciautils/pcmciautils_018.bb | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-)
meta/recipes-bsp/pcmciautils/pcmciautils.inc +1 -0
@@ -16,6 +16,7 @@ export HOSTCC = "${BUILD_CC}" export etcdir = "${sysconfdir}" export sbindir = "${base_sbindir}" export pcmciaconfdir = "${sysconfdir}/pcmcia" +export udevdir = "${sysconfdir}/udev" export udevrulesdir = "${sysconfdir}/udev/rules.d" export UDEV = "1" LD = "${CC}"
meta/recipes-bsp/pcmciautils/pcmciautils_018.bb +2 -2
@@ -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}-dbg += "${libdir}/udev/.debug ${sysconfdir}/udev/.debug" FILES_${PN} += "${libdir}/udev"
Signature · 1 line
1.7.11.7
PATCH 3/4 multilib.bbclass: fix do_package_qa_multilib
In reply to Constantin MuscaThe packages which start with "rtld" are ok
[YOCTO #3440]
--- meta/classes/multilib.bbclass | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
meta/classes/multilib.bbclass +3 -1
@@ -101,7 +101,9 @@ python do_package_qa_multilib() { for i in values: if i.startswith('virtual/'): i = i[len('virtual/'):] - if (not i.startswith('kernel-module')) and (not i.startswith(mlprefix)) and (not 'cross-canadian' in i) and (not i.startswith("nativesdk-")): + if (not i.startswith('kernel-module')) and (not i.startswith(mlprefix)) and \ + (not 'cross-canadian' in i) and (not i.startswith("nativesdk-")) and \ + (not i.startswith("rtld")): candidates.append(i) if len(candidates) > 0: bb.warn("Multilib QA Issue: %s package %s - suspicious values '%s' in %s"
Signature · 1 line
1.7.11.7
PATCH 4/4 package.bbclass: prepend MLPREFIX to LOCALEBASEPN
In reply to Constantin MuscaWe need to prepend MLPREFIX to LOCALEBASEPN in order to fully enable multilib
[YOCTO #3440]
--- meta/classes/package.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/classes/package.bbclass +1 -1
@@ -432,7 +432,7 @@ python package_do_split_locales() { return dvar = d.getVar('PKGD', True) - pn = d.getVar('LOCALEBASEPN', True) + pn = "%s%s" % (d.getVar('MLPREFIX', True) or "", d.getVar('LOCALEBASEPN', True)) if pn + '-locale' in packages: packages.remove(pn + '-locale')
Signature · 1 line
1.7.11.7