diff options
author | jbj <devnull@localhost> | 1999-09-20 13:23:46 +0000 |
---|---|---|
committer | jbj <devnull@localhost> | 1999-09-20 13:23:46 +0000 |
commit | aa8b92fedffeed174157fee39090dcb78611ac5a (patch) | |
tree | 1b1850763fcf963e3c9551d74a57aa5aec6fe5b1 /lib | |
parent | 86aa4396e54fd9b56590fb1af56079154f54b7ed (diff) | |
download | librpm-tizen-aa8b92fedffeed174157fee39090dcb78611ac5a.tar.gz librpm-tizen-aa8b92fedffeed174157fee39090dcb78611ac5a.tar.bz2 librpm-tizen-aa8b92fedffeed174157fee39090dcb78611ac5a.zip |
Skip provides along for the ride.
CVS patchset: 3308
CVS date: 1999/09/20 13:23:46
Diffstat (limited to 'lib')
-rw-r--r-- | lib/depends.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/depends.c b/lib/depends.c index 93e5e9567..87f61e44c 100644 --- a/lib/depends.c +++ b/lib/depends.c @@ -335,6 +335,7 @@ static int rangesOverlap(const char *AName, const char *AEVR, int AFlags, parseEVR(bEVR, &bE, &bV, &bR); /* Compare {A,B} [epoch:]version[-release] */ + sense = 0; if (aE && *aE && bE && *bE) sense = rpmvercmp(aE, bE); else if (aE && *aE) @@ -692,8 +693,14 @@ static /*@exposed@*/ struct availablePackage * alSatisfiesDepend(struct availabl } break; case IET_PROVIDES: for (i = 0; i < p->providesCount; i++) { - const char *proEVR = (p->providesEVR ? p->providesEVR[i] : NULL); - int proFlags = (p->provideFlags ? p->provideFlags[i] : 0); + const char *proEVR; + int proFlags; + + /* Filter out provides that came along for the ride. */ + if (strcmp(p->provides[i], keyName)) continue; + + proEVR = (p->providesEVR ? p->providesEVR[i] : NULL); + proFlags = (p->provideFlags ? p->provideFlags[i] : 0); rc = rangesOverlap(p->provides[i], proEVR, proFlags, keyName, keyEVR, keyFlags); if (rc) break; |