diff options
author | 2023-08-03 16:33:41 +0600 | |
---|---|---|
committer | 2023-08-03 16:33:41 +0600 | |
commit | 70faa8e9a0ff3cba74b4f753e257d56b768fcbd2 (patch) | |
tree | 3a49460715f7319d100e0cc9c1a278758500c7c8 /NEWS | |
download | aptdaemon-70faa8e9a0ff3cba74b4f753e257d56b768fcbd2.tar.gz aptdaemon-70faa8e9a0ff3cba74b4f753e257d56b768fcbd2.zip |
Import Upstream version 1.1.1+bzr982
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 717 |
1 files changed, 717 insertions, 0 deletions
@@ -0,0 +1,717 @@ +VERSION 1.1.1 - released on Mon Aug 12 06:33:46 2013 + + * Bug Fixes: + + - Export aptdaemon.progress.Daemon(Fork|Lintian)Progress correctly + - Make sure to not remove transactions from the D-Bus more than once + - Fix release script to not add a white space when releasing a new version + - Fix white space in release version + - Fix supported PackageKit roles (add remove_packages and install_files) + + +VERSION 1.1 - released on Tue Jul 16 06:57:38 2013 + + * Enhancements: + + - Migrate to the PackageKit 0.8 D-Bus interface including several + bug and behavior fixes. Futhermore add support for more transaction + roles, see API Changes. + - Run the daemon in the tests always with debugging information + - Use a colored log output on the console + - Add a test to check if installing from a CDrom works after the + transaction has failed + - Configuration file conflict prompts now default to replace old + configuration + + * API Changes: + + - Update to the PackageKit 0.8 system D-Bus interface + - Add support for the PackageKit RepairSystem and InstallFiles transaction + - Add support for CanAuthorize by mapping PackageKit privileges to the + coresponding aptdaemon ones + - Make us of the ItemProgress singal to report package download progress + - Add the ARCH and NOT_ARCH filter + - Report the correct package id for download/install progress reports + by caching the ids + + * Bug Fixes: + + - Fix backwards compatibility for GLib.io_add_watch() + - Ensure that the default filesystem encoding is always set by defaulting + to C.UTF-8. Thanks Michael (LP: #1058038) + - Catch a random exception while resizing GTK3 dialogs (LP: #898851) + +VERSION 1.0 - released on Sun Mar 10 14:37:49 2013 + + * Enhancements: + + - Python3 support and run the daemon with Python3 by default + + - Make use of apt.auth instead of softwareproperties.AptAuth + + - Support installing trusted packages from whitelisted repositories with + a separate PolicyKit privilege. Ubuntu installs those packages + without any confirmation + + - Support more PackageKit transactions (InstallSignature, RepoEnable) + + - Use lintian profiles instead of tag files (separat profiles for Debian + and Ubuntu are available). Thanks to Niels Thykier. + + - The client prefers the GOBject introspectable GLib instead of the + Python gobject module + + - Allow to update saved credentials if a repository is re-added + + - Comply to the PEP8 coding standards + + - Port to latest PyGObject API (>3.7.2) + + * API changes: + + - aptdaemon.test.TestCase has now a start_keyserver() method to fake + a GnuPG key server + + - aptdaemon.errors has got two new transaction error enums + ERROR_AUTH_FAILED and ERROR_NOT_AUTHORIZED + + - If the authorization to run a transaction fails the transaction + itself will fail instead of only the run() call + + - gtk(3)widgtes: Remove the AptMessageDialog since we don't support + non fatal messages at all + + * Bug fixes: + + - Report blocked updates if the dependency system is broken (LP: #932581) + - Fix transaction status message if the package status is + unknown (LP: #900982) + - Restore compatibility with Python2, which doesn't have urllib.parse + - Several fixes for the test suite (LP: #1050799) + - Fix package file list handling in PK GetFiles() + - Fix parsing process cmdlines with special characters (LP: #1044900) + - Fix translations if running in a non-C locale (LP: #1034806) + - Fix unicode-hanlding in error messages (LP: LP: #846044) + - Fix handling of multiline comments in the APT configuration system + - Don't change the automatically installed flag of packages during + upgrade (LP: #1078544) - Thanks Daniel Hartwig + - Fix installing of local packages that have conflicts (LP: #750958) + - Don't fail if we want to remove a package without any candidate + when simulating a transaction + - Fix formating of config file diffs (LP: #1120322) - Thanks Barry Warsaw + - Fix setting the AllowCancel instead of the Speed PackageKit transaction + property + - Set default values of PK transaction property with a defined type + - Report a failed authorization correctly to PK client + - Allow repositories to have a dot in the release name + - Set a sensible default size for the details in GTK2 error dialogs + - Set the GTK dialog details section insensitive if there aren't + any details to show + - Fix some typos and formattings in the man page (LP: #1112492) + Thanks to Ansgar Burchardt + + +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 compatibility 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) + + +CHANGES (0.43) + + * Enhancements: + + - If there are unsatisiefied dependencies show more details like + apt-get does + - Allow distributions to ship different lintian tag files (fatal and + non-fatal ones) - adds a depedency on lsb_release + - No longer take queued transactions into account to simulate + transactions (future status). The multi arch support adds to much + complexity. + - Automatically switch to non-interactive mode if the controlling terminal + of the client isn't available anymore + - Verify package names specified in aptdaemon DBus calls + + * API changes: + + - aptdaemon.gtkwidgets.AptProgressDialog.run() is now deferable, + LP #626798 + + * Bug fixes: + + - Wait for the lock after dpkg has been executed instead of failing + LP #698170, #665572 + - Don't overwrite DBusException.args in TransactionFailed leading to + empty error messages + - Fix policykit translations by dropping the gettext domain field from the + policy definitions, LP #690270 + - Fix installing local packages which are not yet known to the cache + - Fix use of required_version in the gt3widgets, thanks pitti + - Fix the client add_repository call, thanks mvo + - Stop processing a transaction in the client if there has been an error + - Adapt gtkwidgets.AptProgressDialog.run() to latest API using + the sync() method of the transaction + - Call waitpid after reading the output from lintian, LP# 724859 + - Allow package names containing an architecture separated by ":", + LP #750941 + - gtkwidgets.AptProgressDialog.run() should call Transaction.sync() if + attach is True. Missing adoption to API changes. + - Don't segfault if we cannot read the status of the process holding a + lock - fixes LP #745517 + - Fix UnicodeDecodeErrors, LP #724735, #745261, #742051, #749505, #707490, + #707490, #708964, #747037 and #706572 + - Fix logging of Finished signals + + +CHANGES (0.42): + + - IMPORTANT SECURTIY FIX, see CVE-2011-0725 + http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=2011-0725 + https://bugs.launchpad.net/ubuntu/+source/aptdaemon/+bug/722228 + + The UpdateCachePartially method allows to specify an alternative + sources.list snippet to only update the repositories specified in the + corresponding configuration file. + + Aptdaemon did not restrict the path to the sources.list.d directory and + allowed to inject packages from malicious sources specified in a custom + sources.list and even to read every file on the system. + + +CHANGES (0.41): + + - Greatly enhanced test suite by moving to unittest2, allowing to perform + package operations in a chroot and running tests on a local session dbus: + "dbus-launch unit2 discover" + - Improved error reporting + - Improved open progress. Thanks to mvo! + - Use sudo to run linitian as the user of the transaction + - Several bug fixes + +* General API changes: + + - Fix: Emit the properties and signals with the documentated static types. + +* gtk3widgets Python module: + + - There is now a gtk3widgets module which uses GTK 3.0 and pygobject (with + introspection). gtk3-demo.py is a corresponding port of gtk-demo.py. + +* org.debian.apt.transaction D-Bus interface + + - The sizes in the ProgressDownload are now of type long - following the API + changes in APT. Therefor the signature of the ProgressDownload struct + changed to "ssxxs". + + +API CHANGES 0.40: + +* General: + + - Checks .deb files with lintian before installing + - Apport integration provides additional information on exceptions + - Uses gettext domains in policy files + +* org.debian.aptdaemon D-Bus interface: + + - Allow to specify the to be installed/removed version of package. The package + name and version are separated by "=", e.g. "xterm=258-1". + + - API BREAK: The CommitPackage method has got a new argument to downgrade + packages. + You have to specify the version of the to be downgraded packages. + + - API BREAK: The InstallFile method now takes an additional argument force to + allow installing package files which violate the Debian/Ubuntu policy. + + - Authentication for actions has been moved to the + org.debian.aptdaemon.transaction.Run(). This allows to simulate actions + without having to authenticate for it. + + - Add a new transaction based action Clean() which allows to remove + cached downloaded package files. + + - Add a new transaction based action Reconfigure() which allows to reconfigure + already installed packages using debconf. + + - Add writable property PopConParticipation to control the participation + in the package popularity contest. + + - Add writable properties AutoUpdateInterval, AutoDownload, AutoCleanInterval + and UnattendedUpgrade to control the behavior of the APT cron job. + +* console client: + + - Add a --details option to show the version number of to be changed packages + + - Add --clean, --reconfigure and --priority option + +* defer modules: + + - Moved to a separate project python-defer + +* enums module: + + - Add ERROR_UNREADABLE_PACKAGE_FILE and ERROR_INVALID_PACKAGE_FILE to provide + finer error messages + +* client module: + + - The return value of wait=True in an async call is now the exit state of + the transaction instead of the Transaction instance. It behaves now + as documented and in the same way as sync calls. + + - Add AptClient.clean(), see changes in the D-Bus interface + + - Add AptClient.reconfigure(), see changes in the D-Bus interface + +* PolicyKit privileges: + + - Add a new org.debian.apt.clean privilege for removing downloaded + package files. It is granted by default to all active sessions. + + - Add org.debian.apt.change-config privilege for changing the APT + configuration. + + +API CHANGES 0.33 + +* org.debian.apt D-Bus interface + + - Make AddRepository() and EnableDistroComponent() transaction based. + + - Add a new UpdateCachePartially() method which allows to only update + the repositories from a given sources.list snippet. + + +* org.debian.apt.transaction D-Bus interface + + - Add a RunAfter() method to chain transactions. + + - Add an Unauthenticated property to the transaction. + + +* client Python module + + - Adapt to changes in the D-Bus interfaces. + + +* enums Python module + + - Add new role enums ROLE_ADD_REPOSITORY and ROLE_ENABLE_DISTOR_COMP. + + +* policykit1 Python module + + - Raise an AuthorizationFailed exception in a non-interactive check if the + user could obtain the privilege in interactive-mode (is_challenged) + + +* errors Python module + + - Make the AuthorizationFailed error an inheritance of NotAuthorizedError + + +* PolicyKit1: + + - Allow every active user to update the cache + - Merge install-packages, remove-packages and fix privilege into a new + install-or-remove-packages one + - Merge add- and remove-vendor-key privileges into change-repository one + - Remove upgrade-system in favour of upgrade-packages + - Allow set-proxy and cancel-foreign only by auth_admin + + +API CHANGES 0.32 + +* PolicyKit1: + + - Add a new privilege org.debian.apt.set-proxy which allows to set an http + proxy server for a transaction. Currently every active user is allowed to + set a proxy for his or her transactions. + + +* entry points: + + - Add modify_cache_before and modify_cache_after entry point which make + it possible for plugins to modify the to be installed or removed packages + of a transaction. See README.Plugins for further details. + + +* client Python module: + + - Allow to convert all methods into Deferreds by using the deferable_function + decorator, see below for more details. + + - Add a downloads attribute to AptTransaction. It contains a dictionary of all + processed downloads. The key is the uri of the download. The value is a + tuple of status enum, short description, full size, downloaded size and a + status/error message + + - Add a progress-download-changed signal to AptTransaction which is emitted + when a download progress information changed, see above. + + - Implement the wait arguement in the AptClient methods which are transaction + based. If True the transaction will be started immediately and the method + call will return when the transaction is finished. + + - Add add_vendor_key_from_keyserver method, see AddVendorKeyFromKeyserver + + +* enums Python module: + + - Add a set of DOWNLOAD_* status enumerations. + + - Fix value of STATUS_DOWNLOADING: from status-downloadgin to + status-downloading + + +* defer Python module: + + - Add inline_callbacks and return_value functions which allow to write + async code in a sync way. Works like the inlineCallbacks decorator from + the Twisted framework. + + - Add deferable decorator which adds a defer attribute to the + decorated function and returns a Deferred instance. The callback of the + Deferred will be passed as reply_handler argument and the errback as the + error_handler argument to the decorated function. + + +* gtkwidgets Python module: + + - Add to the AptConfirmDialog two methods which allow to override the rendered + objects and icons: map_package and render_package_icon + + - Add AptDownloadsView class, which allows to show the sub progress of each + download + + - Rename AptTerminalExpander to AptDetailsExpander and add a terminal + attribute to the __init__ call, since the expander now also shows + the download sub-progresses. + + - AptProgressWindow now sets the proxy and debconf frontend during the + run call instead of during the set_transaction call. + + +* org.debian.aptdaemon.transaction D-Bus interface: + + - Add a ProgressDownload property. It contains the last download progress + information that was recieved from APT. It is an array of uri, status enum, + short description, full size, downloaded size and an error/status message. + + - Add AddVendorKeyFromKeyserver method to download and use a GnuPG which + is used for authenticating packages. + + +API CHANGES 0.31 + +* client Python module: + + - Add AptClient.enable_distro_component method, see EnableDistroComponent + + +* org.debian.aptdaemon D-Bus interface: + + - Add EnableDistroComponent method which enables a component for all distro + repositories, e.g. main or universe + + +API CHANGES 0.30 + +* client Python module: + + - Change order of error_handler and reply_handler in the AptTransaction.run + method to be in sync with the other methods + + - Add the dependencies, download and space attribute and the corresponding + *-changed signal to AptTransaction, see interface changes below + + - Add a new AptTransaction.simulate() method, see interface changes below + + - The AptDaemonError stored in client.AptTransaction.error was replaced by + a errors.TransactionFailed error. The APtDaemonError has been removed + from the client module. + + - The DBus exception will be converted to native ones which are shared + with the daemon. E.g. The DBusException with the error name + "org.debian.apt.TransactionRoleAlreadySet" will be a + TransactionRoleAlreadySet instance instead. This makes error handling + easier since you can use try/except without having to compare the + _dbus_error_name attributes. + + +* errors Python modules: + + - Rename APTDError to AptDaemonError because of readabilty + + - Add convert_dbus_exception decorator which converts DBus exception + raised in a function to native ones. Also takes asynchrous calls + into account. + + - Move NotAuthorizedError from policykit1 to the errors module + + +* enums Python module: + + - Use strings instead of integers for STATUS_*, EXIT_*, ROLE_* and ERROR_* + enum. See interface changes for additional information + + - Add new enum EXIT_UNFINISHED + + +* org.debian.aptdaemon.transaction D-Bus interface: + + - The Exit, Status, Role and Error property and the Finished signal now + use strings for the enums. This helps to make debugging a lot easier. + + - Add Simulate method which calculates the dependencies, the download size + and the to be used disk space of the transaction. Furthermore it raises + a "org.debian.aptdaemon.errors.TransactionFailed" if the transaction + could not be performed. + + The Simulate call also takes all previously queued or currently running + transactions into account. So you can simulate the removal a package + if the installation of it is still in the queue. + + - Add new properties Dependencies, Download and Space, see above. + + +API CHANGES 0.20 + +You don't have to request a transaction, set it up and call the whished action +on it aynmore. Instead you call the action, e.g. UpdateCache, on the daemon +interface which will return the id of a newly created transaction. After settingit up you have to call its Run method. + +* org.debian.aptdaemon D-Bus interface: + + - Add InstallPackages, InstallFile, RemovePackages, CommitPackages, + UpgradePackages, UpgradeSystem, AddVendorKey, RemoveVendorKey, UpdateCache + method. Each method creates a new transaction and returns its tid. + + - Remove RequestTransaction method + + - Add new FixIncompleteInstall method which basically runs dpkg --configure -a + + - Add a new FixBrokenDepends method wich tries to correct dependencies + + +* org.debian.aptdaemon.transaction D-Bus interface: + + - Remove InstallPackages, InstallFile, RemovePackages, CommitPackages, + UpgradePackages, UpgradeSystem, AddVendorKey, RemoveVendorKey, UpdateCache + method. They are now part of the org.debian.aptdaemon interface. + + - Add a Run method which queues the transaction. + + - Add PropertyChanged signal - should be used instead of the deprecated + signals. Signal matchers are quite limited on the system bus by default. + + - Add ProgressDetails, RequiredMedium, ConfigFilePrompt, ExitState, Error, + Locale, AllowUnauthenticated, Terminal, DebconfSocket, Packages, + MetaData and RemoveObsoletedDepends properties. + + The Packages property keeps a lists of packages which should be installed, + reinstalled, removed, purged or upgraded. Currently this doesn't work for + UpgradeSystem. + + The MetaData property allows clients to store additional meta data in the + transaction. See man page org.debian.apt.transaction(7) for the format. + + - Rename the AllowCancel property to Cancellable and the AllowTerminal one + to TerminalAttached - helps to make a difference between allowing + from the client and daemon side e.g. AllowUnauthenticated. + + - Remove Message signal and the concept of having non-critical fail states + on the daemon side. The decision is up to the client e.g. if a system + could not be fully updated. + + - Remove the Role, Status, AllowCancel, AllowTerminal, StatusDetails, + Progress, ProgressDetails signal - PropertyChanged signal should be used + instead. + + - Remove the Attach method - GetAll on the properties interface + should be used instead. + + - Rename property ConfigFilePrompt to ConfigFileConflict and the method + AnswerConfigFilePrompt to ResolveConfigFileConflict + + +* client Python module: + + - The exit_handler was removed from the AptDaemonClient methods, instead it + now supports (reply|error)_handlers to call the method asynchronously and + furthermore a wait statement to return after the method is complete. + + - Add public attributes to the Transaction class and remove get_* helpers: + + role, error (stores an AptDaemonError instance), error_code, error_message, + exit_state, cancellable, term_attached, required_medium, + config_file_prompt, status, status_details, progress, progress_details, + paused, remove_obsoleted_depends + + The properties are automatically updated by the PropertyChanged signal + matcher. + + - Rename GObject signals of the Transaction class: + + - role -> role-changed + - status -> status-changed + - allow-cancel -> cancellable-changed + - allow-terminal -> terminal-attached-changed + - status -> status-changed + - status-details -> status-details-changed + - progress -> progress-changed + - progress-details -> progress-details-changed + - config-file-prompt -> config-file-conflict + + - Rename method config_file_prompt_answer to resolve_config_file_conflict + + - Add GObject signals to the Transaction class: + + - meta-data-changed + - paused + - resumed + - locale-changed + - allow-unauthenticated-changed + - remove-obsoleted-depends-changed + - debconf-socket-changed + + - The methods Transaction.set_(locale|allow_unauthenticated|data| + debconf_socket|remove_obsoleted_depends) reply with the transaction + instance if called async. This makes queing much easier. + + - Remove messages attribute from the Transaction class, see above + + - Remove Transaction.attach method in favour of a new sync method which uses + the GetAll method on the D-Bus properties interface. + + - Add set_meta_data method which accepts pairs of key=value + + +* PyGTK widgtes: + + - On the one hand the run method of AptProgressDialog doesn't provide a way + to wait until the transaction is done anymore (by iterating on pending gtk + events), but on the other hand it now allows to show an error dialog if + required (show_error argument) or to close the progress window + automatically when the transaction is finished (close_on_finished arguement). + + - Rename AptConfigFilePromptDialog to AptConfigFileConflictDialog |