teknoraver / rpms / rpm

Forked from rpms/rpm 4 months ago
Clone
Blob Blame History Raw
--- rpm-4.4.2/build/rpmfc.c.skip	2006-05-04 14:38:26.000000000 -0400
+++ rpm-4.4.2/build/rpmfc.c	2006-05-04 14:45:10.000000000 -0400
@@ -722,11 +722,13 @@
 #endif
           t++;
           /* Add to package dependencies. */
-          ds = rpmdsSingle(RPMTAG_REQUIRENAME,
+          if (!fc->skipReq) {
+              ds = rpmdsSingle(RPMTAG_REQUIRENAME,
                            buf, "", RPMSENSE_FIND_REQUIRES);
-          rpmdsMerge(&fc->requires, ds);
-          rpmfcSaveArg(&fc->ddict, rpmfcFileDep(t, fc->ix, ds));
-          ds = rpmdsFree(ds);
+              rpmdsMerge(&fc->requires, ds);
+              rpmfcSaveArg(&fc->ddict, rpmfcFileDep(t, fc->ix, ds));
+              ds = rpmdsFree(ds);
+          }
           break;
       }
     }
@@ -1187,6 +1189,7 @@
     int ix;
     int i;
     int xx;
+    int skipping;
 
     /* Generate package and per-file dependencies. */
     for (fc->ix = 0; fc->fn[fc->ix] != NULL; fc->ix++) {
@@ -1234,15 +1237,18 @@
 	Flags = strtol(se, NULL, 16);
 
 	dix = -1;
+        skipping = 0;
 	switch (deptype) {
 	default:
 	    /*@switchbreak@*/ break;
 	case 'P':	
+            skipping = fc->skipProv;
 	    ds = rpmdsSingle(RPMTAG_PROVIDENAME, N, EVR, Flags);
 	    dix = rpmdsFind(fc->provides, ds);
 	    ds = rpmdsFree(ds);
 	    /*@switchbreak@*/ break;
 	case 'R':
+            skipping = fc->skipReq;
 	    ds = rpmdsSingle(RPMTAG_REQUIRENAME, N, EVR, Flags);
 	    dix = rpmdsFind(fc->requires, ds);
 	    ds = rpmdsFree(ds);
@@ -1264,7 +1270,7 @@
 	    previx = ix;
 	    xx = argiAdd(&fc->fddictx, ix, argiCount(fc->ddictx)-1);
 	}
-	if (fc->fddictn && fc->fddictn->vals)
+	if (fc->fddictn && fc->fddictn->vals && !skipping)
 	    fc->fddictn->vals[ix]++;
     }
 /*@=boundswrite@*/