diff options
author | Michael Schroeder <mls@suse.de> | 2014-03-25 11:21:32 +0100 |
---|---|---|
committer | Michael Schroeder <mls@suse.de> | 2014-03-25 11:21:32 +0100 |
commit | a9d2523ba9c53490d28a0c164ede5a779aedd365 (patch) | |
tree | e349eec928c4ef05020474b4ca604ea93a0c4ec9 /src | |
parent | e2331156dd25864d53862e7077de65ad08238e54 (diff) | |
download | libsolv-a9d2523ba9c53490d28a0c164ede5a779aedd365.tar.gz libsolv-a9d2523ba9c53490d28a0c164ede5a779aedd365.tar.bz2 libsolv-a9d2523ba9c53490d28a0c164ede5a779aedd365.zip |
Don't put -SYSTEMSOLVABLE into conflicts
Diffstat (limited to 'src')
-rw-r--r-- | src/rules.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/rules.c b/src/rules.c index bce12f4..ae4d9c0 100644 --- a/src/rules.c +++ b/src/rules.c @@ -902,7 +902,7 @@ solver_addrpmrulesforsolvable(Solver *solv, Solvable *s, Map *m) p = -makemultiversionconflict(solv, p, con); } /* rule: -n|-p: either solvable _or_ provider of conflict */ - addrpmrule(solv, -n, -p, SOLVER_RULE_RPM_PACKAGE_CONFLICT, con); + addrpmrule(solv, -n, p == SYSTEMSOLVABLE ? 0 : -p, SOLVER_RULE_RPM_PACKAGE_CONFLICT, con); } } } @@ -2434,6 +2434,9 @@ addrpmruleinfo(Solver *solv, Id p, Id d, int type, Id dep) if (p != op || w2 != ow2) return; } + /* should use a different type instead */ + if (type == SOLVER_RULE_RPM_PACKAGE_CONFLICT && !w2) + w2 = -SYSTEMSOLVABLE; } /* yep, rule matches. record info */ queue_push(solv->ruleinfoq, type); |