macOS
brew install libsolvlocal Homebrew formula metadata
sudo port install libsolvMacPorts ports tree · devel/libsolv/Portfile · source: api.github.com
brew
Library for solving packages and reading repositories. Version 0.7.39 via Homebrew; verified 2026-05-28.
install
brew install libsolvlocal Homebrew formula metadata
sudo port install libsolvMacPorts ports tree · devel/libsolv/Portfile · source: api.github.com
sudo apt install libsolv-devDebian stable package indexes · libsolv-dev · source: deb.debian.org
sudo dnf install libsolvFedora Rawhide package metadata · libsolv · source: dl.fedoraproject.org
nix profile install nixpkgs#libsolvnixpkgs package indexes · pkgs/by-name/li/libsolv/package.nix · source: api.github.com
sudo pacman -S libsolvArch Linux sync databases · libsolv · source: geo.mirror.pkgbuild.com
sudo zypper install libsolv-demoopenSUSE Tumbleweed package metadata · libsolv-demo · source: download.opensuse.org
overview
Library for solving packages and reading repositories
history
libsolv is openSUSE's package dependency solver and repository metadata library built around a SAT-solving model. It matters to package-manager culture because it turned dependency resolution into a reusable library with compact repository storage, solver introspection, and support for multiple package formats.
The libsolv history page says the project started in May 2007 when the zypp team considered database-backed installation speedups. Michael Schroeder instead pursued compact dictionary storage for package strings and relations, creating the solv repository format.
During SUSE Hack Week at the end of June 2007, Schroeder adapted ideas from MiniSAT for package dependency solving. By October 2007 the solver was being integrated into libzypp, and in January 2008 the new solver became the default for libzypp.
libsolv began inside the openSUSE/libzypp/YaST world, but its format readers made it useful beyond RPM repositories. The GitHub README lists support for rpm/rpm5, deb, Arch Linux, Haiku, and apk packages, plus repository formats such as rpmmd, susetags, Mandriva/Mageia synthesis, Arch repositories, and apk indexes.
The package ships a library plus many conversion and inspection tools such as rpmdb2solv, repomdxml2solv, archrepo2solv, deb2solv, dumpsolv, mergesolv, installcheck, and testsolv. Packagers use it to transform repository metadata into solv files and to test dependency closure or upgrade behavior.
libsolv is one of the clearest examples of SAT solving escaping theory and becoming normal package-manager plumbing. It is interesting to package nerds because it exposes dependency conflicts, weak dependencies, repository storage, and multi-format metadata as inspectable artifacts rather than opaque package-manager behavior.
security posture
library-like package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
appdata2solv | cli | global executable | |
archpkgs2solv | cli | global executable | |
archrepo2solv | cli | global executable | |
comps2solv | cli | global executable | |
conda2solv | cli | global executable | |
deb2solv | cli | global executable | |
deltainfoxml2solv | cli | global executable | |
dumpsolv | cli | global executable | |
helix2solv | cli | global executable | |
installcheck | cli | global executable | |
mdk2solv | cli | global executable | |
mergesolv | cli | global executable | |
repo2solv | cli | global executable | |
repomdxml2solv | cli | global executable | |
rpmdb2solv | cli | global executable | |
rpmmd2solv | cli | global executable | |
rpms2solv | cli | global executable | |
susetags2solv | cli | global executable | |
testsolv | cli | global executable | |
updateinfoxml2solv | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/openSUSE/libsolv
install metadata
| Package key | brew:libsolv |
|---|---|
| Version | 0.7.39 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/libsolv |
| Homepage | https://github.com/openSUSE/libsolv |
| Repository | https://github.com/openSUSE/libsolv |
| Upstream docs | https://github.com/openSUSE/libsolv#readme |
| License | BSD-3-Clause |
| Source archive | https://github.com/openSUSE/libsolv/archive/refs/tags/0.7.39.tar.gz |
| Last updated | 2026-05-28T12:56:01Z |
| Pulse | updated |
| Dependencies | rpm, xz, zstd |
| Build dependencies | cmake |
| Uses from macOS | bzip2, expat |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | libsolv |
| Version Scheme | 0 |
| Revision | 0 |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
libsolv-dev 0.7.32-1
dependency solver using a satisfiability algorithm (development files)
https://github.com/openSUSE/libsolv
sudo apt install libsolv-devlibsolv-doc 0.7.32-1
dependency solver using a satisfiablility algorithm (documentation files)
https://github.com/openSUSE/libsolv
sudo apt install libsolv-doclibsolv-perl 0.7.32-1
dependency solver using a satisfiability algorithm (Perl bindings)
https://github.com/openSUSE/libsolv
sudo apt install libsolv-perllibsolv-tools 0.7.32-1
dependency solver using a satisfiability algorithm (command-line tools)
https://github.com/openSUSE/libsolv
sudo apt install libsolv-toolslibsolv1 0.7.32-1
dependency solver using a satisfiability algorithm (shared library)
https://github.com/openSUSE/libsolv
sudo apt install libsolv1libsolvext-dev 0.7.32-1
dependency solver using a satisfiability algorithm (ext development files)
https://github.com/openSUSE/libsolv
sudo apt install libsolvext-devlibsolvext1 0.7.32-1
dependency solver using a satisfiability algorithm (extensions)
https://github.com/openSUSE/libsolv
sudo apt install libsolvext1python3-solv 0.7.32-1
dependency solver using a satisfiability algorithm (Python3 bindings)
https://github.com/openSUSE/libsolv
sudo apt install python3-solvlibsolv
nix profile install nixpkgs#libsolvlibsolv-dev 0.7.28-1build2
dependency solver using a satisfiability algorithm (development files)
https://github.com/openSUSE/libsolv
sudo apt install libsolv-devlibsolv-doc 0.7.28-1build2
dependency solver using a satisfiablility algorithm (documentation files)
https://github.com/openSUSE/libsolv
sudo apt install libsolv-doclibsolv-perl 0.7.28-1build2
dependency solver using a satisfiability algorithm (Perl bindings)
https://github.com/openSUSE/libsolv
sudo apt install libsolv-perllibsolv-tools 0.7.28-1build2
dependency solver using a satisfiability algorithm (command-line tools)
https://github.com/openSUSE/libsolv
sudo apt install libsolv-toolslibsolv1 0.7.28-1build2
dependency solver using a satisfiability algorithm (shared library)
https://github.com/openSUSE/libsolv
sudo apt install libsolv1libsolvext-dev 0.7.28-1build2
dependency solver using a satisfiability algorithm (ext development files)
https://github.com/openSUSE/libsolv
sudo apt install libsolvext-devlibsolvext1 0.7.28-1build2
dependency solver using a satisfiability algorithm (extensions)
https://github.com/openSUSE/libsolv
sudo apt install libsolvext1source trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.