[PATCH setup] Finish providing support for provides: and conflicts:
Fri Jul 6 22:19:00 GMT 2018
On 7/6/2018 12:28 PM, Jon Turney wrote:
> On 23/06/2018 16:09, Ken Brown wrote:
>>> I'll try again to reproduce this, but it might be a few days until I
>>> can get to it.
>> Here's a recipe for reproducing the problem:
>> 1. Create a repository with two packages, A and B, and two versions
>> 1-1 and 2-1 of each.Â Make A-1-1 require B>=1, and make A-2-1 require
>> B>=2. The attached script does all this.
>> 2. Run setup on this repo and install A-1-1 and B-1-1.
>> 3. Run setup again.Â It will offer to update both A and B.Â Choose to
>> keep B and press 'Next'.
>> setup built from the current HEAD correctly reports the dependency
>> problem.Â But if I apply my patch, then setup doesn't report the
>> problem and lets me proceed to update A without updating B.
> Thanks very much for this testcase, it helped a lot.
> This looks like completely my fault:Â SolvableVersion::deplist()'s
> handling of dependencies with a version relation was completely bogus.
Great. I'm glad the problem turned out to have an easy fix.
> So provides() on B was always returning unversioned B, rather than
> B-1-1, so the installed B ended up with that as provides, which appears
> to be enough to satisfy a depends of B-2-1.
> (previously we'd just have the correct, implicit provide made at
> Attached patch seems to make it work.
I can confirm that it fixes my testcase.
More information about the Cygwin-apps