This is the mail archive of the cygwin-apps mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [setup topic/libsolv] Does "obsoletes:" work?

On 10/23/2017 7:38 AM, Jon Turney wrote:
On 21/10/2017 21:18, Ken Brown wrote:
On 10/20/2017 6:24 PM, Ken Brown wrote:
Have you ever tested the "obsoletes:" feature of setup/libsolv?  I tried adding an "obsoletes:" line to setup.ini, and it didn't seem to have any effect.

It seems I tested it back in May, so it might well have broken since :)

Here's a very small test repo I've been using for some tests:

But yes, your patch looks like it's needed for it to work correctly...

It turns out that it *is* working (after a minor fix, attached), but not always as I expect.  Suppose A requires B and C obsoletes B.  Then the "obsoletes" statement appears to have no effect.  If I remove the dependence of A on B, then setup does propose uninstalling B and installing C.

I guess the issue is that libsolv interprets "C obsoletes B" as "uninstall B and install C", and it won't uninstall B while something requires it.

The 'targeted' vs. 'untargeted' distinction is relevant here? Perhaps we are doing the wrong one?

Maybe. I've read and re-read the discussion of this in libsolv-bindings.txt, and I'm still not sure I understand it.

But here's a simpler case where "obsoletes" isn't working as I expect. Using your test repo, in which A requires C and obsoletes B, I start with none of the packages installed. I choose B for installation (either interactively or on the command line), and B gets installed. If I now run setup a second time, A and C get installed and B gets uninstalled.

I expected A and C to be installed on the first run. I don't think this has anything to do with targeted vs. untargeted, because that distinction is only relevant for updating installed packages.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]