mirror of
https://github.com/openSUSE/libsolv.git
synced 2026-02-05 12:45:46 +01:00
aba891ef741a31a687a0996d6e6f88f674a9b029
This adds support for provides of the type "product-obsoletes(name)". We translate this to "Obsoletes: product:<name>" in the generated product pseudo package. We need this because people used "Obsoletes: product:name" in the "release" package, but this is no longer allowed in newer rpm versions. Besides, the obsoletes is kind of wrong in the "release" package anyway, it belongs in the generated "product:" package.
Libsolv
=======
This is libsolv, a free package dependency solver using a satisfiability
algorithm.
The code is based on two major, but independent, blocks:
1. Using a dictionary approach to store and retrieve package and
dependency information in a fast and space efficient manner.
2. Using satisfiability, a well known and researched topic, for
resolving package dependencies.
The sat-solver code has been written to aim for the newest packages,
record the decision tree to provide introspection, and also provides
the user with suggestions on how to deal with unsolvable
problems. It also takes advantage of repository storage to
minimize memory usage.
Supported package formats:
- rpm/rpm5
- deb
- arch linux
- haiku
- apk
Supported repository formats:
- rpmmd (primary, filelists, comps, deltainfo/presto, updateinfo)
- susetags, suse product formats
- mandriva/mageia (synthesis, info, files)
- arch linux
- red carpet helix format
- haiku
- apk
Build instructions
==================
Requires: cmake 3.5 or later
mkdir build
cd build
cmake ..
make
////
vim: syntax=asciidoc
////
Description
Library for solving packages and reading repositories
http://en.opensuse.org/openSUSE:Libzypp_satsolver
Languages
C
86%
SWIG
5.3%
Perl
4.3%
CMake
3.2%
Raku
0.9%
Other
0.3%