rpm/rpm-4.4.2-rpmfc-skip.patch

57 lines
1.7 KiB
Diff

--- 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@*/