Patchwork scripts/oe-pkgdata-util: find complementary packages for split packages

login
register
mail settings
Submitter Paul Eggleton
Date April 8, 2013, 4:18 p.m.
Message ID <1365437924-22949-1-git-send-email-paul.eggleton@linux.intel.com>
Download mbox | patch
Permalink /patch/47637/
State Accepted
Commit 61dfb80173f66eceab0d3bf31ffbc1fbfd4d3b51
Headers show

Comments

Paul Eggleton - April 8, 2013, 4:18 p.m.
Check after getting the original package name (e.g. undoing Debian
renaming) if there is a complementary package for that name, e.g. if
the glob is *-dev, then libudev0 -> libudev -> libudev-dev.

Fixes [YOCTO #4136].

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 scripts/oe-pkgdata-util |   13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

Patch

diff --git a/scripts/oe-pkgdata-util b/scripts/oe-pkgdata-util
index 900c27a..629b2d5 100755
--- a/scripts/oe-pkgdata-util
+++ b/scripts/oe-pkgdata-util
@@ -115,14 +115,21 @@  def glob(args):
                     if not os.path.exists(fwdfile + ".packaged"):
                         mappedpkg = ""
                 else:
-                    # That didn't work, so now get the PN, substitute that, then map in the other direction
                     revlink = revpkgdata(pkg)
                     if os.path.exists(revlink):
-                        pn = readpn(revlink)
-                        newpkg = g.replace("*", pn)
+                        # Check if we can map after undoing the package renaming (by resolving the symlink)
+                        origpkg = os.path.basename(os.readlink(revlink))
+                        newpkg = g.replace("*", origpkg)
                         fwdfile = fwdpkgdata(newpkg)
                         if os.path.exists(fwdfile):
                             mappedpkg = readrenamed(fwdfile)
+                        else:
+                            # That didn't work, so now get the PN, substitute that, then map in the other direction
+                            pn = readpn(revlink)
+                            newpkg = g.replace("*", pn)
+                            fwdfile = fwdpkgdata(newpkg)
+                            if os.path.exists(fwdfile):
+                                mappedpkg = readrenamed(fwdfile)
                         if not os.path.exists(fwdfile + ".packaged"):
                             mappedpkg = ""
                     else: