This is the TODO list for the GNUpdate project. Since the back-end is
the top priority at the moment, this list covers only that. Soon, when
more progress on the back-end is made, the front-end TODO will be
Add a graphical GTK2 front-end
Add a comprex tool for working with multiple archive formats
Add a graphical KDE front-end
Add expression parsing.
Add verbose output when extracting an entire package.
Add support for hard links and symlinks.
Enable input scheme support.
Add support for atime on fsnodes
Possibly add hashtables to directories.
Write wrapper APIs:
Allow packages to replace other packages.
Add epoch support to packages.
Add alternate dependency support in depcheck.c
Add a roll-back, or undo, feature for package installation/removal. Do this by rolling up a package of what is currently on the system, archiving it, and installing the new one. This should be optional in a config file.
Add support for lists of supported archs to dependencies, and a flag to specify if the list represents allowed archs or disallowed archs.
Add support for prpms (Patches RPMs)
Provide callback functionality for querying about specific actions. This should allow the program using libpackman to query the user for certain actions.
Add package writing and source package compilation.
Add support for hybrid packages (source AND binary packages)
Process ~/.gnupdate/packman/ config files.
Check periodically for updated package/database modules. (May not be worth it)
Debian Package Module:
Add support for [arch] and [!arch] in dependency lines.
Add a Slackware .tgz package module.
Write a CVS package module
Add an information-only RDF-based package module for storing information about individual packages (but not the package data)