openSUSE/libsolv

Library for solving packages and reading repositories

Owned by SUSE

View on GitHub ↗Jump to charts ↓Open shareable report →

openSUSE/libsolv has 600+ stars and 150+ forks on GitHub, is written in C, and was last pushed on Oct 12, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 2 hours ago
Added to GitGenius on October 12th, 2026
Created on July 29th, 2011
Open Issues & Pull Requests: 102 (+0)
GitHub issues: Enabled
Number of forks: 179
Total Stargazers: 610 (+0)
Total Subscribers: 29 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 2.8 hours
Mean response time: 19.1 days
90th percentile: 76.1 days
Tracked items: 14

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 9
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 372 days
Stale 30+ days: 8
Stale 90+ days: 8

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

Libsolv is a package dependency solver library that uses satisfiability algorithms to resolve complex package relationships across multiple Linux distributions and package management systems.

The tool addresses the core problem of determining which package versions can coexist in a system without violating dependency constraints. It employs a two-part approach: a dictionary-based storage system that efficiently indexes package and dependency metadata, and a satisfiability solver that applies well-researched algorithmic techniques to find valid package combinations. The solver records its decision tree to allow introspection into how it reached conclusions, and when dependencies cannot be satisfied, it generates suggestions to help users understand and resolve the conflict.

Libsolv is designed for package managers and distribution maintainers who need robust dependency resolution. It supports a broad range of package formats including rpm, deb, Arch Linux packages, Haiku, and apk, along with corresponding repository formats from each ecosystem. This multi-format support makes it suitable for projects that must work across different Linux distributions or package management systems. The library prioritizes finding the newest available packages and minimizes memory consumption by leveraging repository storage structures directly rather than loading everything into memory.

The project maintains steady development activity with regular commits addressing bug fixes and feature improvements. Work spans across core solver logic, support for additional package and repository formats, and enhancements to the decision-making process. The codebase receives ongoing maintenance to handle edge cases in dependency resolution and to optimize performance for large repository datasets.