57 lines
1.7 KiB
Diff
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@*/
|