From Fedora Project Wiki
Line 72: Line 72:
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this feature depends?  In other words, completion of another feature owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel feature)? -->
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this feature depends?  In other words, completion of another feature owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel feature)? -->


Hawkey is a new library and will be only depnded on by DNF (the new package manger based off yum).
Hawkey is a new library and will be only depended on by DNF (the new package manger based off yum).


== Contingency Plan ==
== Contingency Plan ==

Revision as of 00:40, 16 June 2012


Hawkey, a new Package Management API

Summary

Hawkey is a package management library built on top of libsolv.

Owner

Current status

  • Targeted release: Fedora 18
  • Last updated: 2012-06-16
  • Percentage of completion: 40%


Detailed Description

hawkey is a library allowing clients to query and resolve dependencies 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 depended on by DNF (the new package manger based off yum).

Contingency Plan

None necessary, yum and it's API will still be available.

Documentation

Release Notes

Comments and Discussion