Today, I am opening the source code for APT2. APT2 is a LGPL-2.1+ licensed, multi-distribution[1], package management solution consisting of a library (apt-2.0) and a command-line frontend (capt); both implemented in C. The Advanced Package Tool library is a library for package manager development in C. Building upon GLib; it features a GVariant-based cache that provides fast access to all information needed to perform common package management operations, parsers for Debian control files, abstraction of system-specific parts, and more. The capt tool is the command-line front-end to the library. It is an all-in-one tool similar to capt. For now, only basic things are available such as parsers for control files and configuration, pinning, the cache, version comparison, and a few other things. For pinning; APT2 supports by-source-package pins, expressions (regular and glob()-like) in all fields (except for Pin-Priority, of course); all in all, the same superset cupt has. Missing things includes downloaders, solvers, package management (APT<->dpkg bridge), source package in the cache, bindings, graphical frontend (gapt; most probably written in Vala), and dburrow's wishlist (configuration writing, multi-layered configuration). And multi-arch handling is not finalized, either. You should not confuse this APT2 with the previous attempt last year. Last year's attempt was written in Vala and used an SQLite 3 database and was considered to be too slow. Furthermore, it required gobject-2.0 which is not very speedy either. Things on the near, easy TODO list: * Converting Apt*Iter to array-like objects; much better from a multi-threaded point of view. * Group dependencies into OR-groups * Only allow a single thread (of all threads in the system) to lock AptSystem (currently it's per-process) Getting it: git clone git://git.debian.org/git/users/jak/apt2.git API reference: http://people.debian.org/~jak/apt2-doc/ IRC: #apt2 on OFTC Special thanks for ideas and concept reviews: * Daniel Burrows <dburrows@debian.org> * Luca Bruno <lethalman88@gmail.com> Notes: 1. multi-distribution: In theory; in practice, only a Debian system exists. -- Julian Andres Klode - Debian Developer, Ubuntu Member See http://wiki.debian.org/JulianAndresKlode and http://jak-linux.org/.
Attachment:
signature.asc
Description: This is a digitally signed message part