interdep.c: fix the optimization ("due to repentancy") of a non-identical dep
compare_deps() was simply called with a wrong argument (an illegal value for this parameter); so it returned a meaningful result only if the compared deps were identical. (Always, since the inception in f5ed7f870a .) Example where the dep was not optimized out: Name: test-epoch-repentancy Version: 1 Release: alt1 Summary: test-epoch-repentancy License: public domain Group: Other Requires: %name-sub = %EVR Requires: foo = 1-alt1 BuildArch: noarch %description %summary %package sub Summary: sub Group: Other Requires: foo = 0:1-alt1 %description sub %summary %files %files sub %changelog * Wed Feb 27 2019 Ivan Zakharyaschev <imz@altlinux.org> 1-alt1 - initial build for ALT Linux Sisyphus. (cherry picked from commit 492396b532660f4debc46e96eb306f07a3261d66) # Conflicts: # build/interdep.c
This commit is contained in:
parent
3cec7c6d8c
commit
4bf78baf6c
@ -739,7 +739,7 @@ void pruneRDeps1(struct Req *r, Spec spec, Package pkg1, Package pkg2)
|
||||
continue;
|
||||
if (cycle && (reqFv[i] & RPMSENSE_SENSEMASK) == RPMSENSE_EQUAL)
|
||||
continue;
|
||||
dep_compare_t cmp = compare_deps(RPMTAG_REQUIRENAME,
|
||||
dep_compare_t cmp = compare_deps(RPMTAG_REQUIREFLAGS,
|
||||
provVv[j], provFv[j], reqVv[i], reqFv[i]);
|
||||
if (!(cmp == DEP_ST || cmp == DEP_EQ))
|
||||
continue;
|
||||
|
Loading…
x
Reference in New Issue
Block a user