What’s New In python-apt 1.0¶
Python-Apt 1.0 fixes several issues and use of deprecated methods. Most importantly, it introduces large file support
New features¶
apt_pkg.AcquireFilecan now take a hash string that is not an md5 value, using the new hash argument.A new a
apt_pkg.TagFile.close()method was addedapt_pkg.TagFileis now a context managerThe high-level cache class,
apt.cache.Cacheand it’s companionapt.cache.FilteredCachenow support package names with special architecture qualifiers such as :all and :native.The method
apt.cache.Cache.connect2()allows connecting callbacks on cache changes that take the cache as their first argument, reducing the potential for reference cycles.The property
apt.package.Version.is_installedwas added.The properties
apt.package.BaseDependency.installed_target_versionsandapt.package.Dependency.installed_target_versionswere added.The property
apt.Dependency.rawtypewas added to give the raw type of a dependency, such as ‘Depends’.The attribute
apt_pkg.Dependency.comp_type_deband the propertyapt.Dependency.relation_debwere added, they return a Debian-style comparison operator instead of a mathematical-style one.A new filter for filtered caches is provided,
apt.cache.InstalledFilter.
Backward-incompatible changes¶
apt.Versionnow compares package names in addition to version only when checking for equality. This was broken previously.
Deprecated¶
The following features are deprecated, starting with this release:
The section member of
apt_pkg.PackageThe files member of of
apt_pkg.SourceRecordsThe md5 argument to
apt_pkg.AcquireFile, it is replaced by the hash argument.The method
apt.cache.Cache.connect()has been deprecated. It is replaced byapt.cache.Cache.connect2()which is more flexible and less prone to reference cycles.The attribute
apt_pkg.AcquireItem.modehas been replaced byapt_pkg.AcquireItem.active_subprocessThe class
apt_pkg.IndexRecordshas been deprecated and will be removed in the next release.
Removed¶
The module
apt.progress.gtk2has been removed. There were no users in the Debian archive, its last update was in 2013, and it was buggy already. Apart from that, it suggested that it is OK to run a graphical application as root, and used the unmaintained GTK+ 2 version.Therefore, there is no replacement, please use PackageKit or aptdaemon for installation in graphical environments.
The attribute
apt_pkg.Package.autowas not set anymore, and thus removed.
Maintenance¶
The classes
apt.cache.Cacheandapt.cache.FilteredCacheno longer store cyclic references to/between them. This fixes a huge issue, because a cache can have tens of open file descriptors, causing the maximum of file descriptors to be reached easily.apt_instnow supports ar and tar archives that are larger than 4 GiBVarious smaller bug fixes