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] Packages contained in multiple repositories


On 10/19/2017 9:36 AM, Jon Turney wrote:
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 problem.

Here's a situation where I think it might be a problem: fixup_source_package_ids only considers packageversions that are registered in packagedb. If libsolv later selects a packageversion from a different repo and the user has requested the source, it might not be found.

Ken


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