Skip to contentSkip to conversation

Bug 3440 Fixes

PATCH In review Constantin Musca 3 participants 9 messages Dec 11, 2012 – Dec 13, 2012

lore
Share & tools
lore
#0 lore raw

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
#1 lore raw

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
index 597e8b6..8f28a48 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=${base_libdir}/udev/rules.d"
 EXTRA_OECONF_append_libc-uclibc = " --disable-nls"
 
 inherit autotools gettext
Signature · 1 line
1.7.11.7
#2 lore raw

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]

---
  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
index 597e8b6..8f28a48 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 \

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 -0
  EXTRA_OECONF_append_libc-uclibc = " --disable-nls"
 
  inherit autotools gettext
#3 lore raw

Re: [PATCH 1/4] alsa-utils: Pass udev-rules-dir as parameter

In reply to Constantin Musca
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]

---
  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
index 597e8b6..8f28a48 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 \

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

#4 lore raw

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]

---
  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
index 597e8b6..8f28a48 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"

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 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

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

#5 lore raw

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]

---
  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
index 597e8b6..8f28a48 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"

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 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.

Quoted 10 lines
Quoted 2 lines

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

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

#6 lore raw

PATCH 2/4 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    | 1 +
 meta/recipes-bsp/pcmciautils/pcmciautils_018.bb | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)
meta/recipes-bsp/pcmciautils/pcmciautils.inc +1 -0
index fa35daf..0942b1f 100644
@@ -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
index 202437a..c48df94 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}-dbg += "${libdir}/udev/.debug ${sysconfdir}/udev/.debug"
 FILES_${PN} += "${libdir}/udev"
Signature · 1 line
1.7.11.7
#7 lore raw

PATCH 3/4 multilib.bbclass: fix do_package_qa_multilib

In reply to Constantin Musca

The 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
index b379754..09c08ed 100644
@@ -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
#8 lore raw

PATCH 4/4 package.bbclass: prepend MLPREFIX to LOCALEBASEPN

In reply to Constantin Musca

We 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
index 993ce98..3f7e7bf 100644
@@ -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