From 100e3c9b75c17299ea8eaac94c94c078412b0800 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Thu, 12 Apr 2012 16:21:23 -0500 Subject: rpm: Ensure that we check both providename and filepaths In lib/rpmts.c we need to make sure to look for missing dependencies, such as /bin/sh, in both the providename and filepaths DB. Previously the system would key off an initial '/' and only look in the filepaths DB. This causes problems when a package such as "bash", has a Provides: /bin/sh. (From OE-Core rev: 08fb526c42e85c89135960344745e878c5fb633a) Signed-off-by: Mark Hatle Signed-off-by: Richard Purdie --- meta/recipes-devtools/rpm/rpm/rpm-resolvedep.patch | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 meta/recipes-devtools/rpm/rpm/rpm-resolvedep.patch (limited to 'meta/recipes-devtools/rpm/rpm/rpm-resolvedep.patch') diff --git a/meta/recipes-devtools/rpm/rpm/rpm-resolvedep.patch b/meta/recipes-devtools/rpm/rpm/rpm-resolvedep.patch new file mode 100644 index 0000000000..8c01a30651 --- /dev/null +++ b/meta/recipes-devtools/rpm/rpm/rpm-resolvedep.patch @@ -0,0 +1,36 @@ +lib/rpmts.c: Ensure that we check both providename and filepaths + +When looking up a missing dependencies, such as /bin/sh, we need to lookup +in both the providename and filepaths DB, not just the filepaths DB. + +Signed-off-by: Mark Hatle + +--- rpm-5.4.0.orig/lib/rpmts.c 2010-12-27 16:08:25.000000000 -0600 ++++ rpm-5.4.0/lib/rpmts.c 2012-04-12 15:01:12.990184067 -0500 +@@ -403,8 +403,8 @@ + if (sdb == NULL) + continue; + +- /* Look for a matching Provides: in suggested universe. */ +- rpmtag = (*keyp == '/' ? RPMTAG_FILEPATHS : RPMTAG_PROVIDENAME); ++ rpmtag = RPMTAG_PROVIDENAME; ++ do { + mi = rpmmiInit(sdb, rpmtag, keyp, keylen); + while ((h = rpmmiNext(mi)) != NULL) { + size_t hnamelen; +@@ -439,6 +439,15 @@ + bhnamelen = hnamelen; + } + mi = rpmmiFree(mi); ++ ++ if (bh == NULL && *keyp == '/' && rpmtag == RPMTAG_PROVIDENAME) { ++ rpmtag = RPMTAG_FILEPATHS; ++ continue; ++ } ++ ++ break; ++ } while (1); ++ + } + + /* Is there a suggested resolution? */ -- cgit v1.2.3-54-g00ecf