https://github.com/prefix-dev/resolvo-rpm
Resolver for RPM packages
https://github.com/prefix-dev/resolvo-rpm
Last synced: 12 months ago
JSON representation
Resolver for RPM packages
- Host: GitHub
- URL: https://github.com/prefix-dev/resolvo-rpm
- Owner: prefix-dev
- Created: 2023-11-11T10:54:15.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-11-14T09:47:49.000Z (over 2 years ago)
- Last Synced: 2025-03-28T10:11:39.771Z (12 months ago)
- Language: Rust
- Size: 30.3 KB
- Stars: 14
- Watchers: 5
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# resolvo-rpm
This project downloads repodata from a yum/dnf/rpm repository and tries to resolve for the packages the user requests.
It uses the [`resolvo`](https://github.com/mamba-org/resolvo) crate to do the actual SAT resolution (instead of `libsolv`).
## Usage
```
$ cargo run --release -- curl
Resolved:
- basesystem=11
- bash=5.2.15
- ca-certificates=2023.2.60
- coreutils-common=9.1
- coreutils=9.1
- curl=7.87.0
...
```
### Shortcomings
This is currently just an initial proof of concept. We're hoping that the community will help us figure some things out.
- [ ] Handle `suggests` properly. Currently can only be disabled globally with `--disable-suggests` but should be iteratively removed if they conflict with other packages.
- [ ] Handle `recommends` properly. Not handled at all.
- [ ] Handle `conflicts` properly. This should be fairly straightforward as we have this capability in resolvo.
- [ ] Handle `obsoletes` properly. Not handled at all.
- [ ] Try to actually install packages using `rpm-rs`.
- [ ] Store repodata in a better cache or load only what we need as repodata loading is somewhat slow right now.
There is also this open issue to track some of the ideas in `resolvo`: https://github.com/mamba-org/resolvo/issues/1