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.

Upstream-Status: Submitted [RPM5 maintainer]

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>

Index: rpm-5.4.14/lib/rpmts.c
===================================================================
--- rpm-5.4.14.orig/lib/rpmts.c
+++ rpm-5.4.14/lib/rpmts.c
@@ -410,8 +410,8 @@ fprintf(stderr, "--> %s(%p,%p,%p)\n", __
 	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;
@@ -446,6 +446,15 @@ fprintf(stderr, "--> %s(%p,%p,%p)\n", __
 	    bhnamelen = hnamelen;
 	}
 	mi = rpmmiFree(mi);
+
+	if (bh == NULL && *keyp == '/' && rpmtag == RPMTAG_PROVIDENAME) {
+	   rpmtag = RPMTAG_FILEPATHS;
+	   continue;
+        }
+
+        break;
+      } while (1);
+
     }
 
     /* Is there a suggested resolution? */
