libopkg: pkg_hash: prefer original packages to satisfy dependencies
authorMatthias Schiffer <mschiffer@universe-factory.net>
Sat, 13 Mar 2021 01:00:40 +0000 (02:00 +0100)
committerDaniel Golle <daniel@makrotopia.org>
Mon, 15 Mar 2021 00:27:38 +0000 (00:27 +0000)
commit5936c4f9660248284e8a9b040ea3153d3ea888de
tree54ffa5d729297aefda2e0de11e4decbdf7c95857
parentd3a63b327383a2ac1a8f925a58a2f6a7808f5181
libopkg: pkg_hash: prefer original packages to satisfy dependencies

When one package "provides" another non-virtual package, prefer to use
the original package instead of the providing package.

Example:

Consider packages "foo" and "bar", where "foo" provides "bar".
The current code will sort all candidates by name and use the last entry
by default, so "foo" would be used to satisfy a dependency on "bar".
Change the logic to prefer the actual package "bar" in this case.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
libopkg/pkg_hash.c