From Fedora Project Wiki
(Moved to FeatureReadyForFesco, ticket #867)
(Feature has been merged to DNF one, moving back to FeaturePageIncomplete state.)
 
(3 intermediate revisions by 2 users not shown)
Line 8: Line 8:
== Summary ==
== Summary ==


Hawkey is a package management library built on top of [https://github.com/openSUSE/libsolv libsolv].
Hawkey is a package management library built on top of [https://github.com/openSUSE/libsolv libsolv].  
 
{{admon/note|Note that this feature has been merged into [[Features/DNF]]. Also see [https://fedorahosted.org/fesco/ticket/867 the FESCo ticket]. }}


== Owner ==
== Owner ==
Line 23: Line 25:
== Detailed Description ==
== Detailed Description ==


[https://github.com/akozumpl/hawkey 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.
[https://github.com/akozumpl/hawkey 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.
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.
Line 72: Line 74:
<!-- 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 ==
Line 88: Line 90:
== Comments and Discussion ==
== Comments and Discussion ==


[[Category:FeatureReadyForFesco]]
[[Category:FeaturePageIncomplete]]
<!-- When your feature page is completed and ready for review -->
<!-- When your feature page is completed and ready for review -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->

Latest revision as of 13:42, 12 July 2012


Hawkey, a new Package Management API

Summary

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

Note that this feature has been merged into Features/DNF. Also see the FESCo ticket.

Owner

Current status

  • Targeted release: Fedora 18
  • Last updated: 2012-07-12
  • 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