Skip to content
Library for solving packages and reading repositories
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bindings
cmake/modules
doc bindings: Add pool.whatmatchessolvable() Feb 13, 2019
examples Fix: Be sure that NONBLOCK is set Dec 11, 2018
ext
package
src Add DISTTYPE_CONDA and implement version comparison Mar 21, 2019
test Add testcase for last commit Jan 15, 2019
tools
.emacs-dirvars make it easier for me not to screw up the indenting Feb 22, 2008
.gitignore
.travis.yml
CMakeLists.txt Add DISTTYPE_CONDA and implement version comparison Mar 21, 2019
CREDITS add DISTTYPE_HAIKU, some small fixes Apr 16, 2013
INSTALL - minor text fixes and tweaks May 24, 2011
LICENSE.BSD
NEWS
README Tweak README Nov 30, 2018
TODO_1.0 Bindings: make Selection-flags an attribute Oct 24, 2018
VERSION.cmake
libsolv.pc.in Split libsolvext into it's own pkg-config file Feb 9, 2017
libsolvext.pc.in Split libsolvext into it's own pkg-config file Feb 9, 2017

README

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 allows to provide the user with suggestions on how to deal with unsolvable problems. It also takes advantage of the 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.4.x

mkdir build
cd build
cmake ..
make
You can’t perform that action at this time.