Go to file
Michael Schroeder 2150865d61
Make POOL_FLAG_ADDFILEPROVIDESFILTERED behaviour more standard
Turning on POOL_FLAG_ADDFILEPROVIDESFILTERED made the lookup of
all file dependencies lazy, not only the ones required by some
dependency. This changes the way searching works and may also
slow down some use cases.

We now changed addfileprovides() to record the needed non-standard
file dependencies and only make those lazy in createwhatprovides().
2024-09-18 14:33:20 +02:00
.github/workflows github ci: make build more verbose 2022-07-13 16:17:25 +02:00
bindings Add new SOLVER_FLAG_FOCUS_NEW focus type 2024-07-09 13:06:16 +02:00
cmake/modules fix ruby calls 2015-05-05 17:27:34 +02:00
doc Add new SOLVER_FLAG_FOCUS_NEW focus type 2024-07-09 13:06:16 +02:00
examples luasolv: delete debug line 2024-03-27 14:05:11 +01:00
ext Add rpm_query_idarray query function 2024-09-16 15:43:45 +02:00
package Add changes, bump version to 0.7.30 2024-07-11 13:23:59 +02:00
src Make POOL_FLAG_ADDFILEPROVIDESFILTERED behaviour more standard 2024-09-18 14:33:20 +02:00
test Add new SOLVER_FLAG_FOCUS_NEW focus type 2024-07-09 13:06:16 +02:00
tools repo2solv: no longer use "find" to find rpms 2024-07-08 12:27:35 +02:00
win32 Update long usage in regex polyfill 2021-03-18 08:22:44 -05:00
.appveyor.yml Add MSVC compilation support with musl, enable OS X testing 2019-04-11 16:26:35 +02:00
.emacs-dirvars make it easier for me not to screw up the indenting 2008-02-22 10:08:27 +00:00
.gitignore update bindings documentation 2013-05-17 16:39:06 +02:00
.travis.yml Travis-ci: added support for ppc64le 2020-11-24 08:22:20 +00:00
CMakeLists.txt Go back to -O2 for relwithdebuginfo 2024-04-24 13:00:59 +02:00
CREDITS Add credits for the win32 port 2019-04-12 13:54:37 +02:00
INSTALL - minor text fixes and tweaks 2011-05-24 17:05:41 +02:00
LICENSE.BSD - add a license 2007-11-08 11:37:00 +00:00
NEWS Add changes, bump version to 0.7.30 2024-07-11 13:23:59 +02:00
README Minor changes for readability. 2019-12-16 23:46:32 -08:00
TODO_1.0 Add a TODO entry 2019-08-02 11:43:28 +02:00
VERSION.cmake Add changes, bump version to 0.7.30 2024-07-11 13:23:59 +02:00
libsolv.pc.in build: use GNUInstallDirs 2019-03-30 18:08:22 +01:00
libsolvext.pc.in build: use GNUInstallDirs 2019-03-30 18:08:22 +01:00

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 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

////
vim: syntax=asciidoc
////