GNUpdate is an open source, universal package management system. What
does this mean? Well for starters, it will allow RedHat users to install
debian packages, Debian users to install RedHat packages, and so on. It
does this through the libpackman library, which provides
a single API for accessing multiple package formats and package
GNUpdate provides its own package database, composed of B+Trees,
hashtables, and index files for the various methods of searching. It is
constructed with expandability in mind. In several cases, the GNUpdate
database is faster than even the RPM database.
Users may still use their existing package database for any operation,
though some future features of GNUpdate will only work with its own
package database. An existing package database can be converted to a
GNUpdate package database by using gpkg.
GNUpdate is also capable of automatically updating packages without the
need to download them manually. It can do this from a command line tool
(gpkg), or by using the graphical GNUpdate
package manager (gnupdate). It queries online package
databases via the libpql (Package Query Language) library.
This library provides a simple interface for querying package database
servers, and can be used by any application to provide self-upgrading
One of the features that I think will be invaluable to many developers
is GNUpdate's (planned) ability to update a local CVS repository, scan
for package information files (RPM .spec files, for example), compile,
install, and then update the local database. GNUpdate will be able to do
the same with source tarballs.
Another planned feature for developers is the capability to convert
package files to other formats, providing the developer the option of
providing packages of their software to multiple Linux distributions.
This will come as a side-effect of libpackman's
multi-package access/modification abilities.
All GNUpdate libraries are licensed under the LGPL, and the GNUpdate
front-end tools and server are under the GPL.
If you plan on using one of the GNUpdate components in your project,
feel free to e-mail me at chipx86 at gnupdate dot org and
let me know about your project.