Aptdaemon allows non-root users to perform package management tasks, e.g. refreshing the cache, upgrading the system, installing or removing software packages.
Currently it comes with the following main features:
- Programming language independent D-Bus interface, which allows to write clients in several languages
- Transaction based design which allows to queue actions
- The daemon runs only if required (D-Bus activation)
Fine grained privilege management using PolicyKit, e.g. allowing all desktop user to query for updates without entering a password
- Support for media changes during installation from DVD/CDROM
- Support for debconf (Debian's package configuration system)
- Support for config file conflicts handling
- Support for attaching a terminal to the underlying dpkg call
- Command line client aptdcon
- Python GTK widgets to monitor and control a running transaction
Aptdaemon was inspired by PackageKit which doesn't allow a tight integration into Debian/Ubuntu by policy: Running transaction are not allowed to be paused. This makes the use of debconf or resolving config file conflicts impossible. It would be much better to improve PackageKit until it is useful for Debian than to put aptdaemon into Debian.
Aptdaemon is hosted at Launchpad: http://www.launchpad.net/aptdaemon The main development happens in the lp:aptdaemon bzr branch.