debian.bbclass: call auto_libname in reverse sorted AUTO_LIBNAME_PKGS
authorMartin Jansa <Martin.Jansa@gmail.com>
Tue, 15 Feb 2011 09:35:58 +0000 (10:35 +0100)
committerMartin Jansa <Martin.Jansa@gmail.com>
Sun, 20 Feb 2011 23:29:08 +0000 (00:29 +0100)
* see comment for reason why we need this
* more info:
  http://lists.linuxtogo.org/pipermail/openembedded-devel/2011-February/029877.html

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
classes/debian.bbclass

index 1a2c7da..7cdb6d2 100644 (file)
@@ -101,7 +101,13 @@ python debian_package_name_hook () {
                                        if newpkg != pkg:
                                                bb.data.setVar('PKG_' + pkg, newpkg, d)
 
-       for pkg in (bb.data.getVar('AUTO_LIBNAME_PKGS', d, 1) or "").split():
+       # reversed sort is needed when some package is substring of another
+       # ie in ncurses we get without reverse sort: 
+       # DEBUG: LIBNAMES: pkgname libtic5 devname libtic pkg ncurses-libtic orig_pkg ncurses-libtic debian_pn None newpkg libtic5
+       # and later
+       # DEBUG: LIBNAMES: pkgname libtic5 devname libtic pkg ncurses-libticw orig_pkg ncurses-libtic debian_pn None newpkg libticw
+       # so we need to handle ncurses-libticw->libticw5 before ncurses-libtic->libtic5
+       for pkg in sorted((bb.data.getVar('AUTO_LIBNAME_PKGS', d, 1) or "").split(), reverse=True):
                auto_libname(packages, pkg)
 }