Skip to content

pulp/libsolv

 
 

Repository files navigation

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

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

Build instructions

Requires: cmake 2.8.5 or later

mkdir build
cd build
cmake ..
make

About

Library for solving packages and reading repositories

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 85.9%
  • SWIG 5.5%
  • Raku 5.0%
  • CMake 3.2%
  • C++ 0.3%
  • Python 0.1%