]> git.pld-linux.org Git - packages/rpm.git/blobdiff - rpm-double_check_file_deps.patch
- finished patch review, some patches require update (mst notableis x32)
[packages/rpm.git] / rpm-double_check_file_deps.patch
diff --git a/rpm-double_check_file_deps.patch b/rpm-double_check_file_deps.patch
deleted file mode 100644 (file)
index 58000a5..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-diff -dur rpm-5.4.12.orig/lib/rpmal.c rpm-5.4.12/lib/rpmal.c
---- rpm-5.4.12.orig/lib/rpmal.c        2012-04-15 23:20:57.000000000 +0200
-+++ rpm-5.4.12/lib/rpmal.c     2013-08-13 13:46:28.000000000 +0200
-@@ -7,6 +7,10 @@
- #include <rpmio.h>
- #include <rpmiotypes.h>               /* XXX fnpyKey */
- #include <rpmbf.h>
-+#include <rpmlog.h>
-+
-+#define _RPMFI_INTERNAL
-+#include <rpmfi.h>
- #include <rpmtag.h>
- #include <rpmtypes.h>
-@@ -38,6 +42,7 @@
-     rpmds provides;           /*!< Provides: dependencies. */
- /*@refcounted@*/ /*@null@*/
-     rpmbf bf;                 /*!< File name Bloom filter. */
-+    rpmfi fi;                 /*!< File name Bloom filter. */
-     rpmuint32_t tscolor;      /*!< Transaction color bits. */
-@@ -149,6 +154,8 @@
-       alp->provides = NULL;
-       (void)rpmbfFree(alp->bf);
-       alp->bf = NULL;
-+      (void)rpmfiFree(alp->fi);
-+      alp->fi = NULL;
-     }
-     al->list = _free(al->list);
-@@ -205,6 +212,8 @@
-     alp->provides = NULL;
-     (void)rpmbfFree(alp->bf);
-     alp->bf = NULL;
-+    (void)rpmfiFree(alp->fi);
-+    alp->fi = NULL;
-     memset(alp, 0, sizeof(*alp));     /* XXX trash and burn */
-     return;
-@@ -244,6 +253,7 @@
- /*@-assignexpose -castexpose @*/
-     alp->provides = rpmdsLink(provides, "Provides (rpmalAdd)");
-     alp->bf = rpmbfLink(rpmfiFNBF(fi));
-+    alp->fi = rpmfiLink(fi, "file list (rpmalAdd)");
- /*@=assignexpose =castexpose @*/
-     rpmalFreeIndex(al);
-@@ -350,17 +360,17 @@
- rpmalAllFileSatisfiesDepend(const rpmal al, const rpmds ds, alKey * keyp)
- {
-     fnpyKey * ret = NULL;
--    int found = 0;
-+    int found = 0, verified = 0;
-     const char * fn;
-     size_t nfn;
--    int i;
-+    int i, j;
-     if (keyp) *keyp = RPMAL_NOMATCH;
-     if (al == NULL || (fn = rpmdsN(ds)) == NULL || *fn != '/')
-       goto exit;
-     nfn = strlen(fn);
--
-+    
-     if (al->list != NULL)     /* XXX always true */
-     for (i = 0; i < al->size; i++) {
-       availablePackage alp = al->list + i;
-@@ -368,6 +378,24 @@
-       if (!rpmbfChk(alp->bf, fn, nfn))
-           continue;
-+      verified = 0;
-+      char * fifn = (char *) malloc(alp->fi->fnlen + 1);
-+      for(j=0; j<(int)alp->fi->fc; j++) {
-+              const char * dn = NULL;
-+              (void) urlPath(alp->fi->dnl[alp->fi->dil[j]], &dn);
-+              strcpy(stpcpy(fifn, dn), alp->fi->bnl[j]);
-+              if (!strcmp(fn, fifn)) {
-+                      verified = 1;
-+                      break;
-+              }
-+      }
-+      free(fifn);
-+      
-+      if (!verified) {
-+              rpmlog(RPMLOG_DEBUG, "   False positive: '%s'\n", fn);
-+              continue;
-+      }
-+        
-       rpmdsNotify(ds, _("(added files)"), 0);
-       ret = (fnpyKey *) xrealloc(ret, (found + 2) * sizeof(*ret));
This page took 0.034741 seconds and 4 git commands to generate.