Skip to content

openSUSE/libsolv

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
May 5, 2015 17:27
February 12, 2023 15:27
November 8, 2007 11:37
December 16, 2019 23:46
August 2, 2019 11:43

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