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