Hawkey, a new Package Management API
Summary
Hawkey is a package management library built on top of libsolv.
Owner
- Name: Aleš Kozumplík
- Email: akozumpl@redhat.com
Current status
- Targeted release: Fedora 18
- Last updated: 2012-06-04
- Percentage of completion: 40%
Detailed Description
hawkey is a library allowing clients to query and resolve dependnecies of RPM packages based on the current state of RPMDB and yum repositories. While a superset of the functionality itself is available in yum, the new API promises to bring unification, fewer restrictions on clients' implementation language (yum API is in Python) and eventually performance improvements.
The API version of hawkey in Fedora 18 will not be final one, it will more be to demonstrate the concepts of the library. Projects needing depsolving in Fedora will be encouraged to start experimenting and reporting bugs and missing features.
Benefit to Fedora
- easier bindings to other languages than Python
- concise, clear package management API
- better performance (through utilizing libsolv)
The potential API consumer:
- dnf (the next generation yum)
- release engineering tools
- PackageKit
- graphical package management tools
- Anaconda
Scope
Including libsolv in Fedora
This is a library for fast dependencies resolving created and maintained by SUSE. The rpms are in Fedora already, we will need to rebase the package as needed.
hawkey package
Including documentation for the API.
How To Test
Unit tests for both C and Python bindings are included.
User Experience
None visible (hawkey is a new library).
Dependencies
Hawkey is a new library and will be only depnded on by DNF (the new package manger based off yum).
Contingency Plan
None necessary, yum and it's API will still be available.