CHANGES (0.45):
* Enhancements:
- Support multiarch package names like apt-get, e.g. xterm:amd64
- Store the transaction role and sender in apt's history log
- Freeze (copy) the dpkg status file during a dpkg call to allow
simulating other transactions with the frozen dpkg status
- Share WhatProvides plugins with the Python APT PackageKit backend
- Allow to install global license keys, see below
- Add compatibilty for py-gobject 3.0 to the client module by switching
to gobject from introspection repository
- Add an apport package hook which collects information on every
unhandled crash to make solving bugs easier
- Avoid creating an apport crash report for valid DBusExceptions that
are send to the client (subclasses of AptDaemonError)
- Only create an apport crash report if it is enabled and aptdaemon
was started as a system service
- Improve error reporting in the case of DBus type conversions
- Unset the apt-listbugs frontend in non-interactive mode
- Replace the backported unittest2 framework by the native one of
Python 2.7 and Nose to collect the tests
- Speedup transaction start time by not marking changes in the cache
twice (at simulate and install time)
* API changes:
- what-provides plugin: Share this plugin with the Python APT backend
of PackageKit to allow other packages to specify providers for
mod aliases, GStreamer codecs or language support
- get-license-key plugin: Add this new plugin which gets the uid,
the package name, a json oauth token identifieng the customer
and a server name to retrieve a license key and the path to store it to
- org.debian.apt D-Bus interface:
o Add new AddLicenseKey method which allows to place a license key
file at the loaction specified in the record/control field
LicenseKeyPath of the corresponding package.
o Add the RebootRequired property. Should be quite self-explanatory
- org.debian.apt.transaction D-Bus interface:
o The Download and Space properties are now of type Int64
(signed 64-bit integer)
o The elapsed time, total and done bytes in the ProgressDetails property
are now of type Int64 (signed 64-bit integer). Furthermore the speed
is a now Double.
- org.freedesktop.PackageKit D-Bus interface: Initial implmentation
- org.freedesktop.PackageKit.transaction D-Bus interface: Initial
implementaion
- aptdaemon.client:
o New AptClient.add_license_key method
o Rename Transaction.disconnect() to Transaction._disconnect_from_dbus()
- aptdaemon.enums:
o Add enums for package states (e.g. PKG_INSTALLING or
PKG_CONFIGURING) and a corresponding description mapping function
get_package_status_from_enum()
o Add ERROR_NOT_SUPPORTED to indicate that a feature isn't yet implemented
* Add ERROR_SYSTEM_ALREADY_UPTODATE to indicate that there isn't any
need to upgrade the system
o Add STATUS_DOWNLOADING_REPO to indicate that the information of
available packages is downloaded from the repositories
- aptdaemon.errors:
o Add a new TransactionAlreadySimulating() error which gets emitted
if a transaction should be simulated but a simulation is already
performed currently
- aptdaemon.gtk3widgets.AptProgressDialog.run() is now deferable,
LP #819328
- aptdaemon.test.Chroot now has got new methods to handle faked cdrom
repositories: add_cdrom_repository(), mount_cdrom() and unmount_cdrom()
* Bug fixes:
- Fix untranslated status messages during installation, LP #641262
- Fix an error in the string decoding helper method
- Fix detection of a failed lintian check by convert the exit status
correctly
- Fix remaining watch_lock refactoring issues, LP #759023 and LP#764422
Thanks to Robert Roth!
- Catch a broken cache in the simulate method, LP #694505
- Queued transaction should show as waiting and not as running, LP #702442
- Catch broken and really large install sizes specified in third party
packages which result in an overflow error, LP #758837
- Fix argument handling in wait_for_lock call, LP #763642
- Map the dpkg disappear status, LP #762210
- Don't fail if the master_fd was already closed and the io callback is
still in the loop, LP #753928
- Convert messages of AptDaemonErrors to unicode, LP #761386
- Don't leak file descriptors during locking, LP #742935
- Handle interrupt signals correctly in the forked child
- Make sure to quit the forked child correctly on errors
- Fix cdrom test case
- Avoid apport crash reports for dpkg failures, LP# 799982
- Use apt_pkg.version_compare to detect already upt-to-date packages
instead of simple string comparison
- Fix --downgrade option of aptdcon
- Fix not supported errors in pkcompat
- Fix cancelling transactions
- Sync all properties of a transaction in the client before emitting
the finished signal (LP#747172)
- Fixes to piping the terminal (LP #733090)