[OE-core] [PATCH] avahi: fix do_rootfs failure due to version skew

Paul Gortmaker paul.gortmaker at windriver.com
Wed Feb 11 00:17:37 UTC 2015


The following failure was observed:

error: libavahi-ui-dev-0.6.31-r11.0 requires avahi-daemon = 0.6.31-r11.0
error: libavahi-ui-dev-0.6.31-r11.0 requires libavahi-core7 = 0.6.31-r11.0
error: libavahi-ui-dev-0.6.31-r11.0 requires libavahi-client3 = 0.6.31-r11.0
ERROR: Function failed: do_rootfs
ERROR: Logfile of failure stored in: poky/build/tmp/work/intel_corei7_64-poky-linux/op3-graphical-builder/0.2-r0/temp/log.do_rootfs.8407

Investigating, one finds the following RPM versions:

op3:~/poky/build/tmp/deploy$ ls -l rpm/*core2*/libavahi*
-rw-r--r-- 2 paul paul  31487 Feb 10 13:15 rpm/core2_64/libavahi-client3-0.6.31-r11.1.core2_64.rpm
-rw-r--r-- 2 paul paul  25974 Feb 10 13:15 rpm/core2_64/libavahi-common3-0.6.31-r11.1.core2_64.rpm
-rw-r--r-- 2 paul paul  98862 Feb 10 13:15 rpm/core2_64/libavahi-core7-0.6.31-r11.1.core2_64.rpm
-rw-r--r-- 2 paul paul   9677 Feb 10 13:15 rpm/core2_64/libavahi-glib1-0.6.31-r11.1.core2_64.rpm
-rw-r--r-- 2 paul paul  22097 Feb 10 13:15 rpm/core2_64/libavahi-gobject0-0.6.31-r11.1.core2_64.rpm
-rw-r--r-- 2 paul paul 123301 Feb 10 13:16 rpm/core2_64/libavahi-ui-dbg-0.6.31-r11.0.core2_64.rpm
-rw-r--r-- 2 paul paul   8721 Feb 10 13:16 rpm/core2_64/libavahi-ui-dev-0.6.31-r11.0.core2_64.rpm
-rw-r--r-- 2 paul paul   4706 Feb 10 13:16 rpm/core2_64/libavahi-ui-doc-0.6.31-r11.0.core2_64.rpm
-rw-r--r-- 2 paul paul  71637 Feb 10 13:16 rpm/core2_64/libavahi-ui-staticdev-0.6.31-r11.0.core2_64.rpm
-rw-r--r-- 2 paul paul  11743 Feb 10 13:16 rpm/core2_64/libavahi-ui-utils-0.6.31-r11.0.core2_64.rpm
-rw-r--r-- 2 paul paul  25517 Feb 10 13:16 rpm/core2_64/libavahi-ui0-0.6.31-r11.0.core2_64.rpm
op3:~/poky/build/tmp/deploy$

Note the difference between r11.0 and r11.1 in the above listing.  That
difference causes the fail because:

op3:~/poky$ git grep EXTE meta/recipes-connectivity/avahi/
meta/recipes-connectivity/avahi/avahi.inc:RDEPENDS_${PN}-dev = "avahi-daemon (= ${EXTENDPKGV}) libavahi-core (= ${EXTENDPKGV}) libavahi-client (= ${EXTENDPKGV})"
op3:~/poky$

i.e. we require strict package version matching.  We can see why this version
mismatch happens as follows:

op3:~/poky$ git grep INC meta/recipes-connectivity/avahi/
meta/recipes-connectivity/avahi/avahi-ui_0.6.31.bb:PR = "${INC_PR}.0"
meta/recipes-connectivity/avahi/avahi.inc:INC_PR = "r11"
meta/recipes-connectivity/avahi/avahi_0.6.31.bb:PR = "${INC_PR}.1"
op3:~/poky$

Here, we change the version matching to be more relaxed by stopping at the
INC_PR value, and extending the matching to be greater or equal.

Suggested-by:  Mark Hatle <mark.hatle at windriver.com>
Signed-off-by: Paul Gortmaker <paul.gortmaker at windriver.com>
---
 meta/recipes-connectivity/avahi/avahi.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-connectivity/avahi/avahi.inc b/meta/recipes-connectivity/avahi/avahi.inc
index b060437c1242..7749386b8419 100644
--- a/meta/recipes-connectivity/avahi/avahi.inc
+++ b/meta/recipes-connectivity/avahi/avahi.inc
@@ -102,7 +102,7 @@ FILES_libavahi-glib = "${libdir}/libavahi-glib.so.*"
 FILES_libavahi-gobject = "${libdir}/libavahi-gobject.so.*"
 FILES_avahi-utils = "${bindir}/avahi-*"
 
-RDEPENDS_${PN}-dev = "avahi-daemon (= ${EXTENDPKGV}) libavahi-core (= ${EXTENDPKGV}) libavahi-client (= ${EXTENDPKGV})"
+RDEPENDS_${PN}-dev = "avahi-daemon (>= ${PKGV}-${INC_PR}) libavahi-core (>= ${PKGV}-${INC_PR}) libavahi-client (>= ${PKGV}-${INC_PR})"
 
 # uclibc has no nss
 RRECOMMENDS_avahi-daemon_append_libc-glibc = " libnss-mdns"
-- 
2.2.1




More information about the Openembedded-core mailing list