[setup topic/libsolv] Packages contained in multiple repositories

Jon Turney jon.turney@dronecode.org.uk
Thu Oct 19 13:36:00 GMT 2017

On 18/10/2017 17:41, Achim Gratz wrote:
> Ken Brown writes:
>> In retrospect, I'm not sure this patch is right, but I'm sending it
>> anyway for the sake of discussion.  My hesitation comes from the fact
>> that libsolv might have a good reason for preferring the one it chose,
>> e.g., if we've assigned priorities to the repos.  On the other hand,
>> if we've gone to the trouble of assigning priorities, shouldn't
>> packagemeta reflect our choice?
> Extrapolating from my experience with zypper, libsolv should stick with
> the repo the installed package comes from even if some other repo has a
> newer version.

Unfortunately, we are limited by the fact that installed.db doesn't 
record which repo an installed package came from.

We map repo setup.ini release: labels to package vendor names, so we 
assume it's 'Cygwin' for an installed package (package_db.cc:115), and 
run the solver with SOLVER_FLAG_ALLOW_VENDORCHANGE on (libsolv.cc:745) 
to allow it to get upgraded by a package in the repo it actually came 
from, but we've forgotten.

I'm not overly concerned about this: we don't define what happens in 
this situation currently, and if the packages are identical, it's no 

If the packages are the same version but have different contents, you're 
asking for problems, although I guess it would be nice to do something 
defined in that situation.

More information about the Cygwin-apps mailing list