A new release of the Ubuntu Cloud Images for stable Ubuntu release 21.04 (Hirsute Hippo) is available at [1]. These new images superseded the existing images [2]. Images are available for download or immediate use on EC2 via publish AMI ids. Users who wish to update their existing installations can do so with: 'sudo apt-get update && sudo apt-get dist-upgrade && sudo reboot'. The following packages have been updated. Please see the full changelogs for a complete listing of changes: * apport: 2.20.11-0ubuntu65 => 2.20.11-0ubuntu65.1 * glib2.0: 2.68.0-1 => 2.68.1-1~ubuntu21.04.1 * isc-dhcp: 4.4.1-2.2ubuntu6 => 4.4.1-2.2ubuntu6.1 * libx11: 2:1.7.0-2build2 => 2:1.7.0-2ubuntu0.1 * linux-meta: 5.11.0.17.18 => 5.11.0.18.19 * linux-signed: 5.11.0-17.18 => 5.11.0-18.19 * lz4: 1.9.3-1build1 => 1.9.3-1ubuntu0.1 * - one typo [2to => 2to3], one broken link [pep8.py link] * pam: 1.3.1-5ubuntu6 => 1.3.1-5ubuntu6.21.04.1 * python3.9: 3.9.4-1 => 3.9.5-3~21.04 * python3-stdlib-extensions: 3.9.4-0ubuntu1 => 3.9.5-0ubuntu3~21.04 * python-apt: 2.1.7ubuntu2 => 2.2.0~ubuntu0.21.04.1 * sosreport: 4.1-1ubuntu1 => 4.1-1ubuntu1.1 * ubuntu-advantage-tools: 26.2 => 27.0.2~21.04.1 * ubuntu-release-upgrader: 1:21.04.11 => 1:21.04.12 * udisks2: 2.9.2-1 => 2.9.2-1ubuntu1 * update-notifier: 3.192.40.1 => 3.192.40.2 The following is a complete changelog for this image. new: {'linux-modules-5.11.0-18-generic': '5.11.0-18.19', 'linux-headers-5.11.0-18-generic': '5.11.0-18.19', 'distro-info': '1.0', 'linux-headers-5.11.0-18': '5.11.0-18.19'} removed: {'linux-headers-5.11.0-17': '5.11.0-17.18', 'linux-modules-5.11.0-17-generic': '5.11.0-17.18', 'linux-headers-5.11.0-17-generic': '5.11.0-17.18'} changed: ['apport', 'isc-dhcp-client', 'isc-dhcp-common', 'libglib2.0-0:amd64', 'libglib2.0-bin', 'libglib2.0-data', 'liblz4-1:amd64', 'libpam-modules-bin', 'libpam-modules:amd64', 'libpam-runtime', 'libpam0g:amd64', 'libpython3.9-minimal:amd64', 'libpython3.9-stdlib:amd64', 'libpython3.9:amd64', 'libudisks2-0:amd64', 'libx11-6:amd64', 'libx11-data', 'linux-headers-generic', 'linux-headers-virtual', 'linux-image-5.11.0-18-generic', 'linux-image-virtual', 'linux-virtual', 'lz4', 'python-apt-common', 'python3-apport', 'python3-apt', 'python3-distupgrade', 'python3-distutils', 'python3-gdbm:amd64', 'python3-lib2to3', 'python3-problem-report', 'python3.9', 'python3.9-minimal', 'sosreport', 'ubuntu-advantage-tools', 'ubuntu-release-upgrader-core', 'udisks2', 'update-notifier-common'] new snaps: {} removed snaps: {} changed snaps: ['core18', 'lxd', 'snapd'] ==== apport: 2.20.11-0ubuntu65 => 2.20.11-0ubuntu65.1 ==== ==== apport python3-apport python3-problem-report * SECURITY UPDATE: Multiple arbitrary file reads (LP: #1917904) - apport/hookutils.py: don't follow symlinks and make sure the file isn't a FIFO in read_file(). - test/test_hookutils.py: added symlink tests. - CVE-2021-32547, CVE-2021-32548, CVE-2021-32549, CVE-2021-32550, CVE-2021-32551, CVE-2021-32552, CVE-2021-32553, CVE-2021-32554, CVE-2021-32555 * SECURITY UPDATE: info disclosure via modified config files spoofing (LP: #1917904) - backends/packaging-apt-dpkg.py: properly terminate arguments in get_modified_conffiles. - CVE-2021-32556 * SECURITY UPDATE: arbitrary file write (LP: #1917904) - data/whoopsie-upload-all: don't follow symlinks and make sure the file isn't a FIFO in process_report(). - CVE-2021-32557 ==== glib2.0: 2.68.0-1 => 2.68.1-1~ubuntu21.04.1 ==== ==== libglib2.0-0:amd64 libglib2.0-bin libglib2.0-data * debian/{control,gbp.conf}: Update branch refs for hirsute * Backport from Debian to hirsute for SRU (LP: #1928001) * New upstream stable release * d/tests/run-with-locales: Avoid FTBFS with locales-all installed ==== isc-dhcp: 4.4.1-2.2ubuntu6 => 4.4.1-2.2ubuntu6.1 ==== ==== isc-dhcp-client isc-dhcp-common * SECURITY UPDATE: DoS via incorrect option information parsing - debian/patches/CVE-2021-25217.patch: fix parsing in common/parse.c. - CVE-2021-25217 ==== libx11: 2:1.7.0-2build2 => 2:1.7.0-2ubuntu0.1 ==== ==== libx11-6:amd64 libx11-data * SECURITY UPDATE: extra X protocol requests via unchecked string lengths - debian/patches/CVE-2021-31535.patch: reject strings longer than USHRT_MAX before sending them on the wire in src/Font.c, src/FontInfo.c, src/FontNames.c, src/GetColor.c, src/LoadFont.c, src/LookupCol.c, src/ParseCol.c, src/QuExt.c, src/SetFPath.c, src/SetHints.c, src/StNColor.c, src/StName.c . - CVE-2021-31535 ==== linux-meta: 5.11.0.17.18 => 5.11.0.18.19 ==== ==== linux-headers-generic linux-headers-virtual linux-image-virtual linux-virtual * Bump ABI 5.11.0-18 * Packaging resync (LP: #1786013) - [Packaging] resync debian/dkms-versions from main package ==== linux-signed: 5.11.0-17.18 => 5.11.0-18.19 ==== ==== linux-image-5.11.0-18-generic * Master version: 5.11.0-18.19 ==== lz4: 1.9.3-1build1 => 1.9.3-1ubuntu0.1 ==== ==== liblz4-1:amd64 lz4 * SECURITY UPDATE: memory corruption due to an integer overflow bug - debian/patches/0005-CVE-2021-3520.patch: check outputSize in lib/lz4.c. - CVE-2021-3520 ==== pam: 1.3.1-5ubuntu6 => 1.3.1-5ubuntu6.21.04.1 ==== ==== libpam-modules-bin libpam-modules:amd64 libpam-runtime libpam0g:amd64 * Backport pam_faillock module from pam 1.4.0 (LP: #1927796) - debian/patches-applied/add_pam_faillock.patch: add module. - debian/patches-applied/pam_faillock_create_directory: create dir before creating file in modules/pam_faillock/faillock.c. - debian/rules: set execute permissions on pam_faillock test. - debian/libpam-modules-bin.install: install faillock binary and man page. ==== python-apt: 2.1.7ubuntu2 => 2.2.0~ubuntu0.21.04.1 ==== ==== python-apt-common python3-apt * Upload to hirsute; changes since 2.1.7ubuntu2: - Annotate test dependencies with (Closes: #980719) - Mirror list updates - debfile: Pass `Name` instead of `Binary` to ExtractTar. Passing the binary causes it to fail trying to find the `false` compressor when a binary for a given compressor is not installed. (LP: #1926437) - debian/gbp.conf: Branch name is main [ Helmut Grohne ] * Annotate test dependencies with (Closes: #980719) [ Julian Andres Klode ] * debian/rules: Re-enable PIE hardening * Mirror list updates * debfile: Pass `Name` instead of `Binary` to ExtractTar. Passing the binary causes it to fail trying to find the `false` compressor when a binary for a given compressor is not installed. (LP: #1926437) * debian/gbp.conf: Branch name is main * SECURITY UPDATE: various memory and file descriptor leaks (LP: #1899193) - python/arfile.cc, python/generic.h, python/tag.cc, python/tarfile.cc: fix file descriptor and memory leaks - python/apt_instmodule.cc, python/apt_instmodule.h, python/arfile.h: Avoid reference cycle with control,data members in apt_inst.DebFile objects - tests/test_cve_2020_27351.py: Test cases for DebFile (others not easily testable) * Regression fixes for the updates merged too: - arfile.cc: Fix segmentation fault when opening fd, track lifetime correctly (Closes: #977000) - arfile: Regression: Collect file<->deb/ar reference cycles [ Julian Andres Klode ] * Rename Cdrom and Disc to Installation medium (LP: #1849406) * hashes: Release GIL while hashing stuff [ Niels Thykier ] * Correct error message in hashes.cc * Do not require hardcoding release names in distro info, cleanup Debian and Ubuntu (LP: #1727470) * Debian: use -security instead of /updates for >= 11 [ Debian Janitor ] * Trim trailing whitespace. * Wrap long lines in changelog entries: 1.9.9, 1.7.0~alpha1, 1.1.0~alpha1, 0.9.4, 0.9.3.4. * Update standards version to 4.5.0, no changes needed. [ Dave Jones ] * Fix ftbfs with sphinx 3.x (Closes: #963655) [ Julian Andres Klode ] * Make pycodestyle happy * Pacify mypy 0.790 for NotImplemented returns * gitlab-ci: Pull debian:unstable, not ubuntu:focal * data/templates/Ubuntu.info.in: Add groovy (LP: #1874880) * Use pybuild to split out -dbg stuff, avoid .install/.files (Closes: #958118) * Remove Python 2 and old pyflakes hacks * Make python-apt-dev depend on python3-apt, not python-apt [ Gordon Ball ] * Use pyflakes3 instead of (python 2) pyflakes [ Julian Andres Klode ] * Stop building for Python 2 (Closes: #937579) * Remove Python 2 autopkgtests [ Valters Jansons ] * aptsources: Allow non-existent `source.list` file [ Julian Andres Klode ] * Workaround mypy 0.770 * whatsnew: Move 1.9 development series to 2.0 * Update mirror lists * Add redundant python{,3}-all build depends for lintian [ Simon Poirier ] * Decode locale-encoded descriptions. * Improve type annotations for apt_pkg.TagFile and apt_pkg.TagSection. Thanks to Stuart Prescott for the report that object was ... wrong * Break broken kthresher and apt-xapian-index versions [ Julian Andres Klode ] * Upload to unstable [ Dan Streetman ] * distinfo: correct subprocess usage * sourceslist: in __find() rstrip / from uri when comparing * test: add test to verify identical entries except trailing slash are considered equal * Fix build against apt 1.9.11 (Index -> MapPointer) * debian/tests/run-tests: Use py{3,}versions -s, not py{,3}versions -r; fixes regression in autopkgtest due to stderr output. [ dann frazier ] * Drop remaining references to pep8 [ Dan Streetman ] * when comparing SourceEntries, rstrip '/' from uris [ Julian Andres Klode ] * gitlab-ci: pull from focal * Use debhelper-compat (= 12) instead of debian/compat 9 * Use pybuild for building * gitlab-ci.yml: Publish html doc build by package, do not rebuild * Correctly install dbg variants of modules for python 3.8 * gitlab-ci: Add daily built apt PPA * Switch from removed Summation classes to Hashes class * policy: Add set_priority(PackageFile, int) * policy: If no candidate version could be found, return None. This used to return an invalid Version object, pointing to 0, leading to crashes. [ Dan Ryan ] * Add conditional import guards in `setup.py` * Migrate build and install to `setuptools` * Remove -Wstrict-prototypes compiler flag [ Marc Deslauriers ] * SECURITY REGRESSION: crash with ubuntu-release-upgrader (LP: #1860606) - apt/cache.py: make allow_unauthenticated argument to fetch_archives() optional. [ Julian Andres Klode ] * Really bump aptdaemon break (to 1.1.1+bzr982-0ubuntu31) * SECURITY UPDATE: Check that repository is trusted before downloading files from it (LP: #1858973) - apt/cache.py: Add checks to fetch_archives() and commit() - apt/package.py: Add checks to fetch_binary() and fetch_source() - CVE-2019-15796 * To work around the new checks, the parameter allow_unauthenticated=True can be passed to the functions. It defaults to the value of the APT::Get::AllowUnauthenticated option. - Bump Breaks aptdaemon (<< 1.1.1+bzr982-0ubuntu21.2), as it will have to set that parameter after having done validation. * Revert "apt.Cache: cache apt.package.Origin objects by id" * InstallProgress: Move set_inheritable into if pid == 0 [ Dave Jones ] * aptsources: Fix comment handling in add (regression from 1.9.1) * SECURITY UPDATE: Check that we have trusted hashes when downloading in fetch_binary() / fetch_source() (1.9.1 regression) (Closes: #946597) [ Julian Andres Klode ] * Install type information according to PEP561 * Temporarily perform CI on eoan only * Adjust to mypy 0.710 * doc/examples: Convert to Python 3 * Convert all shebangs to python3 * gitlab-ci: Run 3 separate test stages * pep8: Fix overindent issues * ./doc/examples/dependant-pkgs.py: Make it work again * Fix segmentation fault for apt_pkg.Cache.policy * test_policy: Fix pyflakes issue * apt.Cache: cache apt.package.Origin objects by id * Adjust for PY_SSIZE_T_CLEAN (Closes: #944091) * Turn InstallProgress into a context manager to avoid leaking files * AcquireFile: Remove md5 parameter * AcquireFile: Accept HashStringList in hash parameter * apt/package.py: Use all hashes when fetching packages * Remove leftover MD5 use in Version.fetch_binary() (Closes: #944696) * Fix type hints * typehinting: Override TagSection.get() * debian/control: Rules-Requires-Root: no, Standards-Version upgrade * Update po template * Fix pre-build script to actually work in Python 3 * Run the pre-build script * lintian fixes - fix typo in changelog error - remove use of extra priority - override uses-dpkg-database-directly for the root location switching magic * Remove spurious python-debian test dependency (see bug #937579) * Build-Depend on pycodestyle, not pep8 [ Raphal Hertzog ] * Add Kali templates [ Colomban Wendling ] * Fix InstallProgress for installing .deb files on Python >= 3.4 * Add a test case for checking the communication with dpkg works [ Michael Vogt ] * apt, python: make `mypy --strict` clean [ Matthias Klose ] * data/templates/Ubuntu.info.in: Add focal [ Dave Jones ] * Don't duplicate disabled sources during add() (LP: #1311056) * python/pkgsrcrecords.cc: Improve readability of ...BuildDepends * Port to APT 1.9.0; incompatible changes: - Remove install_protect() methods - Remove Package.section attributes - Remove apt_pkg.rewrite_section() - Remove unnecessary sptr includes - apt_pkg.Hashes: remove md5, sha1, sha256 members - Port install progress to APT::Progress::PackageManagerProgressFd - apt_pkg.SourceRecords: Set md5 to None in tuple compat - Remove apt_pkg.Policy(: Package) variant - Remove Policy.get_match() method - Add apt_pkg.TagSection.write() method - apt_pkg.Hashes: + Make comparable + add hashvalue attribute - debian/control: Bump libapt-pkg-dev b-d to 1.9.0~ * data/templates/Ubuntu.info.in: Add Eoan Ermine * Bug fixes: - apt_pkg.TagRemove: Terminate keyword list array in constructor - apt_pkg.HashStringList: Avoid nullptr dereference on no result * SECURITY UPDATE: Check that repository is trusted before downloading files from it (LP: #1858973) - apt/cache.py: Add checks to fetch_archives() and commit() - apt/package.py: Add checks to fetch_binary() and fetch_source() - CVE-2019-15796 * SECURITY UPDATE: Do not use MD5 for verifying downloadeds (Closes: #944696) (#LP: #1858972) - apt/package.py: Use all hashes when fetching packages, and check that we have trusted hashes when downloading - CVE-2019-15795 * To work around the new checks, the parameter allow_unauthenticated=True can be passed to the functions. It defaults to the value of the APT::Get::AllowUnauthenticated option. - Bump Breaks aptdaemon (<< 1.1.1+bzr982-0ubuntu21.2), as it will have to set that parameter after having done validation. * Automatic changes and fixes for external regressions: - Adjustments to test suite and CI to fix CI regressions - Automatic mirror list update - d/tests/control: Add "Restrictions: allow-stderr" (Closes: #947794) * apt.Cache: Fix (un)locking in various places - Fix (un)locking of archives (Closes: #922416) - Use explicit, more safe locking in update() * Update mirror lists * test_aptsources: Fix test if current distribution does not exist * Add a init_defaults() method to apt_pkg.Policy * Document what's new in 1.8 * python/arfile.cc: Fix FTBFS due to copying of FileFd * Revert "debian/rules: Build with pybuild" * Adjust typing for mypy 0.660 [ Julian Andres Klode ] * templates: Add Ubuntu 19.04 'Disco Dingo' * travis: Disable CI on debian:stretch and ubuntu:bionic * Switch to python3-distutils-extra from python2 one * Drop unnecessary python3-distutils build-depend workaround * debian/rules: Build with pybuild * travis: Test on disco [ Jeremy Bicha ] * data/templates/Debian.info.in: Add Buster and Bullseye (Closes: #919613, #919615) * Fix escaping in regular expressions and ignore some pep8 warnings * as usual; updated mirror lists * Release to unstable * Fix __iter__ yielding different Packages than __getitem__ * apt.Cache: Reinstate locks in a finally / run dpkg inside try * travis: Run tests on ubuntu:cosmic too * Revert "debian/control: Drop obsolete Python-Versions fields" * Accept Version objects in apt_pkg.Policy.get_priority(), deprecate Package * Return correct pin in apt.package.Version.policy_priority * typehinting: apt_pkg.PackageFile is not an iterable * Introduce frontend locking * Convert apt.Cache.commit and apt_pkg.DepCache.commit to FE lock * gitlab-ci: Set DEBIAN_FRONTEND=noninteractive * Add more extensive test cases for cache remapping * Do not override __hash__ in apt.package.Package (LP: #1780099) * debian/python-apt.docs: README is README.md since some time * apt.Cache: Avoid unnecessary double weakref checks for __getitem__ * apt.Cache: Use weakref.setdefault to find existing Package objects * debian/control: Point to salsa instead of anonscm * debian/control: Drop obsolete Python-Versions fields * Switch to python3-sphinx [ Julian Andres Klode ] * data/templates/Ubuntu.info.in: Add cosmic cuttlefish template * apt.Cache: Fix error in apt.Package caching * apt: Correctly annotate Optional types * apt: Fix typing error related to apt_pkg * tests/test_pep484.py: Check everything * Correctly handle missing candidate in Package.get_changelog * types: Don't make apt_pkg.Cache a dict, and fix apt.Cache.__contains__ * apt.package.Dependency: Fix __init__ type annotation * Add all possible annotations that were FIXME * Various type fixes * Fix some more type annotations for apt_pkg, complete apt.utils typing * apt.Cache: Remap objects when reopening cache (LP: #1773316) * apt_pkg.DepCache: Raise CacheMismatchError if argument belongs to diff. cache * apt.Cache: Complete types * Completely type apt.progress * typehinting: Add missing type hints for unattended-upgrades * Complete typing for apt.auth * apt.debfile: Avoid exception in replaces_real_pkg for no-candidate packages * apt.debfile.DebPackage: Handle no-candidate package in _maybe_append_multiarch_suffix * Completely type apt.debfile * utils/get_debian_mirrors.py: Get data from salsa * apt.package: Add almost complete typing * tests/test_pep484.py: Pass --strict --implicit-optional to mypy * apt.Cache: Introduce fix_broken() binding * Add support for custom fields to apt_pkg.PackageRecords * Introduce gitlab ci * Document whatsnew in 1.6 and 1.7 * apt.Cache: Keep / Re-establish the system lock in commit() * apt.Cache: Keep archive locked during commit()/ in fetch_archives() [ Evgeni Golov ] * fix SourceRecordsFile class reference * Final release, no further changes. * Revert change to make apt.Cache subclass of dict * Fix get_changelog() to correctly decode non-unicode changelogs * Try to work around memory corruption in PackageRecords.*_hash * apt/auth.py: Protect against race with gpg when removing tmpdir (Closes: #871585) * Document Architecture: all handling in Package.{fullname,architecture()} (Closes: #863193) * python/tag.cc: Fix invalid read in TagFileNext * Raise ValueError if objects passed to DepCache are from different cache (LP: #1737441) * DepCache: Check that candidate we are setting belongs to package * debian/gbp.conf: Default branch is master now * Add some weird python3-distutils build-depends (Closes: #893837) * Document apt_pkg.SourceRecordsFile [ Michael Vogt ] * add info how to run the tests * Fix the remaining pep8 erorrs * README: add intro how to use python-apt with mypy * tests/old: update to py3 * apt: make Version.fetch_binary() less noisy * README: make markdown and add info about building/testing * apt: add support for pep484 (type hints) * fix tests * python: add pkgsrcrecord.Files.{hashes,size,path,type} getters * python: stop using deprecated hash access (and drive by indent fixes) [ Julian Andres Klode ] * pkgsrcrecords: Fix off-by-one error in OR group handling * data/templates/Ubuntu.info.in: Add bionic template * apt/cache.py: Fix pep8 * Switch travis to use Docker based tests * tests: Make test_sourcerecords.py more reliable * apt.auth: Fix check of fingerprint length * data/templates/Ubuntu.info.in: Add artful template * Debian template: Adopt MatchUri to match base, switch BaseUri to CDN (Closes: #859672) * Update translation template [ Julian Andres Klode ] * templates: Debian: Add stretch * Skip os-release test for now (Closes: #851039) [ Martin Pitt ] * data/templates/Ubuntu.info.in: Add zesty template [ Harald Sitter ] * add fancy os-release support to pick up its ID_LIKE feature [ Julian Andres Klode ] * Add optional 'architecture' argument to parse_src_depends() * Allow keyword arguments for parse_depends() and parse_src_depends() * Migrate python-apt priority from standard to optional * Bump version number, we require APT 1.4 series for the architecture thing above. * apt.auth: Set APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE NOTE: apt.auth is about to be deprecated, do not use it. It will be removed in a later version. * Fix gpg breakage (Closes: #835465) - Use --fixed-list-mode for apt-key gpg invocations. Thanks to Daniel Kahn Gillmor for the initial patch - test_auth: Normalize public key blocks before comparing - Adjust dependencies for apt.auth on gnupg and dirmngr - Work around broken debfile multiarch test cases * Fix test failures causing FTBFS (Closes: #830995) - tests/test_lp659438.py: Set allow-insecure - tests: Completely reset config environment in setUp [ Adam Conrad ] * data/templates/Ubuntu.info.in: Add Yakkety Yak (16.10) template [ Julian Andres Klode ] * Set allow-unauthenticated for our local sources * Update Vcs-Git and Vcs-Browser fields to https * copyright: Update to copyright-format 1.0 * Drop the XS-Testsuite control field, not needed anymore * copyright: Remove nonexisting files * Bump Standards-Version to 3.9.8 * Build with full hardening enabled * Fix typo classes reported by lintian * rules: Do not use pie [ Julian Andres Klode ] * tests/test_all.py: Only use test files starting with test_ * tests: Rename test_pep8 to testmanual_pep8 * pre-build.sh: Run PEP8 check * apt/README.apt: Drop it, we cannot pretend unstable API anymore * depcache: Call SetLog() and GetLock on Acquire instead of Setup * Fix regression from previous commit WRT Py_None reference count * pkgsrcrecords: Use Files2 instead of Files, part1: Size * Introduce apt_pkg.HashStringList() * pkgrecords: Use hashes instead of deprecated MD5Hash and friends * whatsnew: 1.1: Document HashStringList and PackageRecords changes * hashstring: Constify where possible * Drop deprecated uses of Hashes, add hashes attribute * HashStringList: Check for negative index, fix signed vs unsigned * acquire: Call SetLog() instead of Setup() * apt_pkg: Deprecate rewrite_section * arfile, tarfile: Decode member names using filesystem encoding (Closes: #806596) * CppPyString: Use an const std::string reference instead of value * Make Safe_FromString an overloaded version of CppPyString * Use CppPyString instead of PyString_FromString everywhere * Drop compat macros for python2 (< 2.6) * Drop deprecation-ignore macros, use APT ones instead * Use CppPyPath for returning (hopefully) all paths * apt_inst: Do not mention deprecated functions, except for porting (Closes: #807103) * control: Suggest apt, so reportbug reports apt version * Drop binding for SmartTargetPkg() (Closes: #791345) * debfile: Mention dpkg --add-architecture when arch is wrong (Closes: #725720) * Introduce apt_pkg.Error class replacing SystemError * CppPyObject_NEW: Make template variadic * Revert "CppPyObject_NEW: Make template variadic" * Add apt_pkg.Tag and subclasses (one per kind of tag) * TagSection: Check for NUL bytes in the tag section input * python-apt-common: Drop python | python3 depends (Closes: #812099) * apt.Cache: Provide get() [ Felix Dietrich ] * doc: Fix typo (Closes: #807105) * Use print function from __future__ in examples (Closes: #807104) [ Brian Murray ] * Fix typo regarding upgradeable packages. * Upload to unstable [ Michael Vogt ] * Do not show pulse progress when the output is not a tty * Fix build-dependencies parsing from debian/control * Print the failed function name in PyPkgManager::res() [ Julian Andres Klode ] * test_paths.py: Catch the IndexRecords warning * Release 1.0.1 * changelog: Fix up the uploader name and close Barry's bug * doc: tutorials: contribution: Rewrite for git and other changes (Closes: #802084) * Build with cleaner headers * Use pkgCache::Version::No instead of pkgCache::Version::None * apt.utils: Support parsing InRelease files (LP: #1503979) Thanks to Brian Murray for the initial patch. * apt.utils: Open the release files using a 'with' statement [ Jakub Wilk ] * apt/debfile.py: Fix typo * apt/debfile.py: Fix typo [ Martin Pitt ] * ./data/templates/Ubuntu.info.in: Add Xenial template. * doc/source/examples/apt-cdrom.py: Fix PEP-8 errors. [ Michael Schaller ] * apt.Cache: Add Cache._rawpkg_to_pkg method to consolidate duplicated code * apt.Version: Compare against package name and version (if available) * apt/package.py: Add target_versions method to [Base]Dependency * Add helpers/filters for installed packages/versions [ Julian Andres Klode ] * Document the new additions in 1.0 * doc/source/conf.py: Do not set html_style, broken with recent sphinx * Merge 1.0.0 * Keep apt_pkg.IndexRecords dropped * Fix a typo in a member access. [ Michael Vogt ] * apt/debfile.py: use apt_pkg.open_maybe_clear_signed_file() when opening a .dsc file [ Julian Andres Klode ] * Drop apt_pkg.IndexRecords, it has been dropped in experimental * Support APT_PKG_MAJOR >= 5 * test_paths: Drop the indexrecord test * Fix pep8 1.6.2 issues * setup.py: Pass -std=c++11 and -Wno-write-strings to the compiler * Convert from SPtr and SPtrArray to unique_ptr and array * Replace pkgDistUpgrade and friend with APT::Upgrade::Upgrade * AcquireItem: Deprecate mode and introduce active_subprocess [ John R. Lenton ] * Discard stderr when calling system-image-cli (LP: #267935) [ Michael Vogt ] * Do not show pulse progress when the output is not a tty * Fix build-dependencies parsing from debian/control [ Julian Andres Klode ] * test_paths.py: Catch the IndexRecords warning (Closes: #800624) [ Julian Andres Klode ] * Fix pep8 1.6.2 issues * setup.py: Pass -std=c++11 and -Wno-write-strings to the compiler * Convert from SPtr and SPtrArray to unique_ptr and array * Replace pkgDistUpgrade and friend with APT::Upgrade::Upgrade * AcquireItem: Deprecate mode and introduce active_subprocess * APT 1.1: Fix a typo in a member access. * Deprecate IndexRecords * Document the new additions in 1.0 * doc/source/conf.py: Do not set html_style, broken with recent sphinx * Revert the temporary build-deps on APT 1.0.10 and the new gcc, as they are not needed anymore. [ John R. Lenton ] * Discard stderr when calling system-image-cli (LP: #267935) [ Michael Schaller ] * apt.Cache: Add Cache._rawpkg_to_pkg method to consolidate duplicated code * apt.Version: Compare against package name and version (if available) * apt/package.py: Add target_versions method to [Base]Dependency * Add helpers/filters for installed packages/versions [ Michael Vogt ] * fix py3 issue with auto .gz decompression and add test * updated for the gcc5 transition [ Julian Andres Klode ] * doc/source/conf.py: Reproducibility: Set html_last_updated_fmt = None [ Michael Schaller ] * BaseDependency.__repr__: Replace pre_depend with rawtype * apt/package.py: Add rawtype property to Dependency class * Add dependency comparison (aka. relation) type in Debian notation * apt/package.py: Add missing __str__ and __repr__ methods * doc/source/library/apt_pkg.rst: Remove trailing whitespace * apt_pkg.Dependency.all_targets: Fix the documentation [ Barry Warsaw ] * python-apt: Python 3.5 and PEP 479 support (Closes: #792606) * tests/test_paths.py: Catch and assert the DeprecationWarning * setup.py: If no version is in the environment, return None * doc/source/library/apt_pkg.rst: Fix an example from old API to new API * apt.cache.FilteredCache: Fix multi-arch package lookups * apt.Cache: Introduce a connect2() callback connector * Break the FilteredCache <-> Cache reference cycle * apt.Cache: Issue a RuntimeWarning in connect() * doc: whatsnew: Document what's new in beta3 * debian/control: Build-Depend on apt (>= 1.0.9.4) for Files2() * Handle the symlink to directory transition correctly (Closes: #788571) [ Julian Andres Klode ] * tests/test_tagfile.py: Close files we opened to prevent leakage (Closes: #785337) * doc/source/c++/api.rst: Upgrade syntax to use the new domain stuff * doc/source/library/apt_pkg.rst: Fix indentation (Closes: #736119) * sphinx docs: Fix remaining instances of old C syntax to use domains * python/cache.cc: Handle deprecation of pkgCache::PkgIterator::Section() * doc: Prepare for 1.0 release * TagFile: Provide close() and context manager (Closes: #748922) * doc: Document apt_pkg.TagFile additions * doc: templates: layout: Remove invalid icon links * debian/control: Build-Depend on dh-python * Do not link documentation from Architecture: all to Architecture: any * Use ${python:Depends} and friends for the debug packages * apt.debfile: Fix splitting of multi-lines Binary fields in dsc files (Closes: #751770) * Remove apt.progress.gtk2 * apt_pkg.Package: Drop the unset 'auto' attribute (Closes: #565364) * Update POTFILES.in and the pot * apt/cache.py: Work around a cyclic reference from Cache to its methods (Closes: #745487) * apt/debfile.py: Arch-qualify in compare_to_version_in_cache() (Closes: #750189) * apt.package: Only reference Launchpad for missing changelogs on Ubuntu (Closes: #781270) * apt/cache.py: Support :all and other special architecture specifies * apt/debfile: Stop special-casing all when looking for a package in the cache * apt/debfile.py: Allow downgrading packages in check() with a parameter (Closes: #613974) * Acquire: Document that items may have transient errors on run() success (Closes: #680997) * Large file support (Closes: #742885) - python/arfile.cc: Do not allow files larger than SIZE_MAX to be mapped - python/arfile.cc: LFS: Use long long instead of long for file sizes - python/tarfile.cc: LFS: Handle too large file * setup.py: Translate version number from Debian to PEP0440 (LP: #1445949) [ Michael Vogt ] * apt_pkg.rst: improve documentation for AcquireFile() hash and add sha512 to the documentation * rename "md5" keyword argument in AcquireFile() to "hash" and add backward compatiblity * Fix apt.Package.installed_files for multi-arch packages (LP: #1313699) [ von ] * Remove the "-Wstrict-prototypes" compiler option (Closes: #785261) * Set Standards-Version to 3.9.6 (Closes: #785431) * Fix indentation and docstring problems (Closes: #784910) [ Michael Schaller ] * Fixed docstring of BaseDependency.version property. * Improved docstring of the Version.get_dependencies method. [ Michael Vogt ] * add apt_pkg.sha512sum() * Add binding for apt_pkg.maybe_open_clear_signed_file() * apt/debfile.py: use apt_pkg.open_maybe_clear_signed_file() when opening a .dsc file * Update doc/example/action.py for py3 and latest API (closes: #782335) * Add MULTI_ARCH_NO constant and deprecate MULTI_ARCH_NONE (closes: #782802) * Fix dead links in python-apt documentation (Closes: #779426) [ Martin Pitt ] * ./data/templates/Ubuntu.info.in: Add Wily template. Don't copy extras.u.c. stanza as that's gone since 15.04. [ von ] * Update the print_uris.py example to use the new API (Closes: #779217) [ Colin Watson ] * Add template for the "Ubuntu-RTM" derived distribution. * Detect whether a system is running Ubuntu-RTM by way of "system-image-cli -i". Not perfect but close enough. [ Julian Andres Klode ] * Embed changelog entry date and time instead of build date and time (Closes: #762674) [ Michael Vogt ] * python/tarfile.cc: use long long in Process() for APT >= 4.14 * Merged UbuntuRTMDistribution detection from ubuntu * Add Ubuntu 15.04 (Vivid Vervet) to the template * python/tag.cc: ensure that the final \n is there when duplicating section data * apt/debfile.py: - Stop reading after the "Format" stanza in a .dsc file - Add support for apt.debfile.DscSrcPackage.filelist - Read all tags from a dsc file and improve tests * fix tests when gnupg is < 1.4.18 * update python-apt.pot [ Michael Vogt ] * fix another pep8 failure [ Julian Andres Klode ] * doc/source/tutorials/apt-get.rst: Remove -s from --print-uris invocation (LP: #1308670) [ Mauricio Faria de Oliveira ] * tests/test_pep8.py: --ignore E129 too (fix FTBFS with pep8 >= 1.5) * tests/test_auth.py: update for gnupg 1.4.18 (Closes: #755342) * pep8 fixes to fix autopkgtest failure with the most recent pep8 package * Include "Blankon" template (Closes: #747498) * Add apt_pkg.SourceRecords.step() to step through all SrcRecords * debian/control: - update build-dependency for libapt-pkg-dev to 1.0.4 for pkgSourceRecords::Step() [ Johannes Schauer ] * Add support for build profiles (Closes: 744243) [ Michael Vogt ] * debian/control: - update build-depends on libapt-pkg-dev for build-profile support * data/templates/Ubuntu.info.in: - add ubuntu utopic * utils/get_ubuntu_mirrors.py: Drop, its unused and broken * doc/source/conf.py: Do not use 'u' and 'r' prefixes together * tests: Drop some more Python 2.6 cruft * debian/control: Drop X{B,S}-Python-Version and use X-Python-Version * debian/pycompat: Drop, it's not used anymore * python/tag.cc: Ignore missing 'encoding' attribute in file objects * apt/package.py: Do not shadow _ * python/progress.cc: Fix InstallProgress to set child_pid (LP: #1177720) * python/progress.cc: Remove invalid checks for mixedCase methods * utils/get_*_mirrors*.py: Ensure failure if no mirrors were read * utils/get_*_mirrors*.py: Use sys.stderr.write instead of print * Support all compressors for data.tar/control.tar (Closes: #718330) * Revert "aptsources/sourceslist.py: ensure that our sources are opened with UTF-8" (Closes: #742118) [ Steve Langasek ] * aptsources/sourceslist.py: ensure that our sources are opened with UTF-8 encoding, regardless of the current locale, and handle the sources lines as Unicode internally for consistency between python2 and python3. LP: #1069019. [ Brian Murray ] * Fix pep8 error. * Revert "* apt/cache.py:" (rootdir change) (Closes: #741251) (LP: #1288171) We cannot reset the configuration when rootdir is specified in apt.Cache(). This reopens: #728274. * debian/rules: Do not run dh_sphinxdoc -a * doc/source/conf.py: Python 3 support * debian/rules: Use dh_sphinxdoc integration * utils/doclint.py: Drop, not working anymore. * python/generic.h: Fix MkPyNumber to work if char is unsigned. * data: Add Tanglu distribution information * debian/python3-apt-dbg.files: Fix pattern for kFreeBSD * tests/test_policy.py: Disable, uses system state (FTBFS on ppc64) * tests/data/aptsources/sources.list.testDistribution: Add tanglu * tests/test_policy.py: Fix comment to conform to PEP8 [ Michael Vogt ] * apt/cache.py: - when using apt.Cache(rootdir=/some/dir) only read the APT configuration from this rootdir instead of /etc (closes: #728274) * make pep8 test part of the unittests * add pyflakes test * add .travis.yml & update python3 dependency to 3.3 [ Barry Warsaw ] * debian/tests/control: Add python-all and python3-all as Depends for the autopkgtests so all the supported Python versions are pulled in. (closes: #734500) [ Michael Schaller] * apt/cache.py: - Fixed PEP8 issues - Fixed pyflakes issue: Removed unused local variable 'transient' * apt/package.py: - Fixed PEP8 issues - Fixed pyflakes issue: Removed unused import 'warnings' - Improved readability and documentation of BaseDependency.__dstr(). [ Julian Andres Klode ] * apt/cache.py: Call os.path.abspath() on a supplied rootdir (LP: #792295) * apt/package.py: Fix BaseDependency.__dstr.__ne__() * apt/package.py: Pass an apt_pkg.Dependency to BaseDependency * tests: Add back test_hashsums from old and update * Style fixes: - Style fix: Do not use "is True" / "is False" - debian/control: Replace a tab with spaces - tests/test_deps.py: Remove an invalid blank line * Use a single code base for Python 2 and 3 - Use print_function everywhere - Drop support for Python 2.6 - tests: Remove checks for Python older than 2.7 * Documentation fixes: - apt, doc: Fix the list of comp_type values - Unify list of comparison type values everywhere * Static analysis fixes: - (cppcheck) python/pkgmanager.cc: Do not create temporary CppPyRef * Packaging changes: - debian/README.source: Drop it, it's useless bzr - debian/gbp.conf: Set sign-tags = True - debian/control: Set Standards-Version to 3.9.5 - debian/control: Drop python-{unittest2,debian} build deps * data/templates/Ubuntu.info.in: It's 'Tahr', not 'Thar' * data/templates/Debian.info.in: Add jessie * data/templates/Debian.info.in: Change wheezy version from 7.0 to 7 * python/*.cc: Get rid of the easy-to-replace deprecated APT functions * python/{depcache.cc,string.cc}: Ignore deprecation warnings for some calls * python/depcache.cc: Add more error handling to PkgDepCacheCommit * python/cache.cc: Remove a check for an unsigned long value < 0 * python/arfile.cc: (C++11) Explicitly cast unsigned long to time_t in {} * python/apt_instmodule.cc: Make RETURN(x) be return on Python 2 * python/policy.cc: (scan-build): Fix a dead assignment * python/progress.cc: (scan-build): Fix some uninitialized values * debian: Upgrade to debhelper 9 (and dpkg-buildflags) * debian/python-apt-doc.links: Replace bundled underscore.js by symlink * po: Update the template [ Michael Vogt ] * some fixes from the "coverity" scan * merge from Ubuntu: - data/templates/Ubuntu.info.in: add "Saucy Salamander" to - debian/control: add "Multi-Arch: allowed" [ Julian Andres Klode ] * Completely remove all old-API support code * Accept bytes object for file names (Closes: #680971) * aptsources/sourceslist.py - Document correct use of uniq and hide it using __all__ (Closes: #723815) - Correctly parse multiple options (LP: #1103200) * python/apt_pkgmodule.cc: - Fix documentation of version_compare (Closes: #680891) * python/cache.cc: - Set NoDelete=true when creating Policy, fixes segfault in destructor * apt/package.py: - Add a Package.has_config_files property (Closes: #712749) * tests: - Do not set dir::etc::sourceparts to /tmp * apt, aptsources: - Only call init_config() if not already initialized (Closes: #686403) * apt/debfile.py: - Pass strip_multi_arch=False to parse_depends. Patch by Michael, tests derived from the ones provided by the reporter. Closes: #717859. Closes: #717861. * doc/source/examples/dpkg-info.py: - Use apt_inst.DebFile (Closes: #671784) * doc/examples/*.py: - Update examples to the new API (Closes: #639022) * tests/old/*.py: - Update to new API as well * data/templates/Ubuntu.info.in: - Add "Trusty Thar" * debian/control: - Set Standards-Version to 3.9.4 [ Jeremy Bicha ] * data/templates/Ubuntu.info.in: add 'devel' series (Closes: #722961) [ Jakub Wilk ] * python-apt: formatting error in library/index.rst (Closes: #692484) [ Daniel Hartwig ] * apt/package.py: - mark_upgrade misuses FromUser to set auto-installed (Closes: #686726) [ Michael Vogt ] * debian/control: - updated Vcs field to point to http://git.debian.org/git/apt/python-apt.git * replace .bzr-builddeb/default.conf with debian/gbp.conf [ Julian Andres Klode ] * Update the Vcs fields to use Vcs-Git with git protocol, and gitweb for Vcs-Browser [ Colin Watson ] * add support for "key in apt.debfile.DebPackage" (closes: #710541) * upload previous experimental upload to sid * apt/package.py: - export codename in apt.package.Origin as well (closes: #703401) [ Michael Vogt ] * python/tag.cc: - make TagSecString_FromStringAndSize, TagSecString_FromString static, thanks to jcristau * python/cache.cc: - add "Codename" to PackageFile object * add dep8 style autopkgtest support * build fixes for python3.3 * data/templates/Ubuntu.info.in: - add raring * tests/test_all.py, aptsources/distro.py: - python2.6 compat fixes [ Jason Conti ] * lp:~jconti/python-apt/closeable-cache: - add apt.Cache.close() method [ Martin Pitt ] * tests/*.py: Do not prepend None to sys.path, Python 3.3 redeems that with an unintelligible crash. * tests/test_auth.py: In test_add_key_from_server_mitm(), show the exception if it does not match the expectation, so that this becomes possible to debug. * aptsources/distro.py: Replace the deprecated getiterator() ElementTree method with iter(), to avoid raising a PendingDeprecationWarning. * tests/test_auth.py: Temporarily disable $http_proxy for the tests, as gnupg does not get along with proxies (LP #789049) [ Colin Watson ] * tests/test_apt_cache.py, tests/test_lp659438.py, tests/test_progress.py: - Clear out APT::Update::Post-Invoke and APT::Update::Post-Invoke-Success in tests that call cache.update to avoid pollution from the host system. * tests/test_auth.py: - Discard stderr from gpg. - Try successive keyserver ports if 19191 is already in use. * aptsources/distinfo.py, aptsources/distro.py, aptsources/sourceslist.py, tests/test_apt_cache.py, tests/test_debfile_multiarch.py: - Use logging.warning rather than the deprecated logging.warn. * tests/test_debfile_multiarch.py: - Don't log warnings when skipping tests; the resulting stderr output causes autopkgtest to fail. * tests/test_all.py: - Write general test status output to stdout, not stderr. * tests/test_aptsources.py: - Clean up file object in test_enable_component. * tests/test_lp659438.py: - Add an Architecture: line to the test Packages file so that apt doesn't get upset with it. * data/templates/Ubuntu.info.in: - Fix descriptions of quantal and raring. [ David Prvot ] * po/no.po: Remove useless translation (superseded by nb.po) [ Julian Andres Klode ] * apt/package.py: Try both filenames for package file lists (Closes: #700715) * python/tag.cc: - make TagSecString_FromStringAndSize, TagSecString_FromString static, thanks to jcristau * tests/test_lp659438.py: - fix missing architecture to make the tests pass again during build with the latest apt [ Program translation updates ] * po/pl.po: Polish (Micha Kuach) (closes: #684308) * po/da.po: Danish (Joe Hansen) (closes: #689827) [ Michael Vogt ] * merged lp:~sampo555/python-apt/fix_1042916 reuse existing but disabled sources.list entries instead of duplicating them. Thanks to "sampo555", LP: #1042916 * lp:~mvo/python-apt/fix-debfile-crash: - fix crash on missing candidates in the multiarch check * lp:~mvo/python-apt/recv-key-lp1016643: - Only support long (v4) keyids when downloading keys and check the keys fingerprint before importing. This avoids man-in-the-middle attacks (LP: #1016643) * consolidate tests/test_lp1030278.py into the new tests/test_size_to_str.py * apt/auth.py: - support importing long keyids with leading 0x and mixed case * debian/control: - build-depend on python-unittest2 to get "with TestCase.assertRaises" support in python2.6 [ Barry Warsaw ] * python/string.cc, tests/test_lp1030278.py: Fix StrSizeToStr() so that 1) it first checks for PyLong-ness so that in Python 3 on i386, it will be able to convert larger numbers (via doubles rather than ints); 2) before doing the conversions through the apt API, check to see if a Python exception occurred, e.g. OverflowError, and return an error condition in that case instead of masking it. (LP: #1030278) [ James Hunt ] * python/cache.cc: PkgCacheGetIsMultiArch(): Return calculated value rather than a random one. * lp:~jamesodhunt/python-apt/test-for-size_to_str: - add test for size_to_str() to help with finding LP: #1030278 [ Translation updates ] * po/es.po: Spanish translation updated by Omar Campagne (closes: #679285) * po/ja.po: Japanese translation updated by Kenshi Muto (closes: #679652) [ Jakub Wilk ] * Fix typos: the the -> the (closes: #679432) [ Julian Andres Klode ] * apt/auth.py: - Do not merge stdout and stderr (Closes: #678706) - Forward stderr from apt-key to our stderr if non-empty [ Michael Vogt ] * debian/control: - add build-dep for apt (>= 0.9.6) to make test_auth.py test work reliable [ Julian Andres Klode ] * apt/auth.py: - Use tempfile.NamedTemporaryFile to create temporary file - Use Popen.communicate() instead of stdin, stdout * tests/fakeroot-apt-key: - exec apt-key, otherwise we ignore the return value * debian/control: - Build-depend on fakeroot, needed for the apt.auth tests * data/templates/Debian.info.in: - Add wheezy - Add wheezy-updates as Recommended Updates - Order wheezy-proposed-updates after wheezy/updates and wheezy-updates * po: - Fixup the translations for wheezy again [ Michael Vogt ] * python/cache.cc: - ensure that pkgApplyStatus is called when the cache is opened (thanks to Sebastian Heinlein for finding this bug), LP: #659438 [ Stphane Graber ] * data/templates/Ubuntu.info.in: - add quantal [ Steve Langasek ] * utils/get_ubuntu_mirrors_from_lp.py: move this script to python3 * pre-build.sh: call dpkg-checkbuilddeps with the list of our source-build-dependencies; this may save someone else an hour down the line scratching their head over gratuitous test-suite failures... [ Sebastian Heinlein ] * lp:~glatzor/python-apt/auth: - this is a port of the software-properties AptAuth module to python-apt with some cleanups. It provides a wrapper API for the apt-key command [ David Prvot ] * po/*.po: update PO files against current POT file * po/be.po: Belarusian translation by Viktar Siarheichyk (closes: #678286) * po/de.po: German translation updated by Holger Wansing (closes: #677916) * po/el.po: Greek translation updated by Thomas Vasileiou (closes: #677331) * po/en_GB.po: Remove useless file <20120610190618.GA1387@burratino> * po/eo.po: Esperanto translation by Kristjan Schmidt and Michael Moroni * po/fi.po: Finnish translation updated by Timo Jyrinki * po/fr.po: French translation updated (closes: #567765) * po/hu.po: Hungarian translation updated by Gabor Kelemen * po/id.po: Indonesian translation by Andika Triwidada (closes: #676960) * po/nl.po: Dutch translation updated by Jeroen Schot (closes: #652335) * po/pt_BR.po: Brazilian translation updated by Srgio Cipolla * po/ru.po: incomplete Russian translation updated by Andrey * po/sk.po: Slovak translation updated by Ivan Masr (closes: #676973) * po/sl.po: Slovenian translation updated by Matej Urbani * po/sr.po: incomplete Serbian translation updated by Nikola Nenadic * po/tl.po: Tagalog translation updated by Ariel S. Betan * po/am.po po/br.po po/et.po po/eu.po po/fa.po po/fur.po po/hi.po po/mr.po po/ms.po po/nn.po po/pa.po po/ps.po po/qu.po po/rw.po po/ta.po po/ur.po po/xh.po: remove useless (empty) translations [ Julian Andres Klode ] * Merge patch from Colin Watson to handle non-UTF8 tag files in Python 3, by using bytes instead of str when requested; and document this in the RST documentation (Closes: #656288) * debian/control: - Drop Recommends on python2.6 (Closes: #645970) - Replace xz-lzma Recommends by xz-utils (Closes: #677934) * python/configuration.cc: - Handle the use of "del" on configuration values. Those are represented by calling the setter with NULL, which we did not handle before, causing a segmentation fault (Closes: #661062) * python/tag.cc: - Correctly handle file descriptor 0 aka stdin (Closes: #669458) * python/acquire.cc: - Use pkgAcquire::Setup() to setup the acquire class and handle errors from this (Closes: #629624) * debian/control: - Set Standards-Version to 3.9.3 * utils/get_ubuntu_mirrors_from_lp.py: - Revert move to Python 3, python3-feedparser is not in the archive yet * tests: - Fix new tests from Sebastian to work with Python 2.6 [ Michael Vogt ] * doc/examples/build-deps.py: - update the build-deps.py example to use the apt API more * add support for apt_pkg.Policy.get_priority(PkgFileIterator) * apt/debfile.py: - use apt_inst for reading the control_filelist * debian/control: - remove no longer needed dependency on python-debian * tests/test_tagfile.py: - add test for apt_pkg.TagFile() both for compressed/uncompressed files * python/tag.cc, tests/test_tagfile.py: - add support a filename argument in apt_pkg.TagFile() (in addition to the file object currently supported) * apt/package.py: - if there is no Version.uri return None * apt/cache.py: - fix _have_multi_arch flag (thanks to Sebastian Heinlein) * build against apt 0.9.0 [Julian Andres Klode ] * python/apt_pkgmodule.cc: - Fix apt_pkg.Dependency.TYPE_RECOMMENDS, had Suggests value previously * tests/test_apt_cache.py: - fix tests on kfreebsd/ia64 * apt/debfile.py: - fix crash in dep multiarch handling [ Steve Langasek ] * Don't leak file descriptors. [ Colin Watson ] * aptsources/*.py, setup.py: Make aptsources modules work directly in either Python 2 or 3, and exclude the "future" 2to3 fixer so that 2to3 doesn't need to modify them. This makes life a little easier for the strange tricks update-manager plays with its dist-upgrader tarball. [ Alexey Feldgendler ] * handle architecture-specific conflicts correctly (LP: #829138) [ Michael Vogt ] * lp:~mvo/python-apt/debfile-multiarch: - add multiarch support to the debfile.py code * tests/test_apt_cache.py: - add additional check if provides test can actually be run [ Michael Vogt ] * merged from ubuntu: - use logging instead of print - update distro template Ubuntu.info.in - add xz compression support * po/python-apt.pot: - refreshed * po/pt_BR.po: - updated, thanks to Sergio Cipolla (closes: #628398) * po/da.po: - updated, thanks to Joe Dalton (closes: #631309) * po/sr.po: - updated, thanks to Nikola Nenadic (closes: #638308) * python/apt_pkgmodule.cc: - add apt_pkg.get_architectures() call * apt/cache.py: - remove "print" when creating dirs in apt.Cache(rootdir=dir), thanks to Martin Pitt - add __lt__ to apt.Package so that sort() sorts by name on list of package objects * debian/control: - add recommends to xz-lzma to ensure we have the unlzma command * apt/cache.py: - set Dir::bin::dpkg if a alternate rootdir is given (LP: #885895) * build fixes for the apt in experimental * apt/debfile.py: - raise error when accessing require_changes and missing_deps without calling check() before, thanks to Tshepang Lekhonkhobe (closes: #624379) * apt/package.py: - add new "suggests" property, thanks to Christop Groth - allow Dependency object to be iteratable, this allows to write code like: for or_dep_group in pkg.candidate.dependencies: for dep in or_dep_group: do_something() (thanks to Christop Groth) * apt/progress/base.py: - write exception text to stderr to avoid hidding exceptions like "pre-configure failed" from libapt (thanks to Jean-Baptiste Lallement) [ Tshepang Lekhonkhobe ] * rm usage of camelcase in cache.py doc (closes: #626617) * grammar fix in the cache.py doc (closes: #626610) [ Nikola Pavlovi ] * fixed a typo, changed "Open Source software" to "free and open-source software" (LP: #500940) [ Julian Andres Klode ] * Breaks: debsecan (<< 0.4.15) [not only << 0.4.14] (Closes: #629512) [ Michael Vogt ] * python/arfile.cc: - use APT::Configuration::getCompressionTypes() instead of duplicating the supported methods here * tests/test_debfile.py: - add test for raise on unknown data.tar.xxx * tests/test_aptsources_ports.py, tests/test_aptsources.py: - use tmpdir during the tests to fix test failure with apt from experimental * tests/test_apt_cache.py: - fix test by providing proper fixture data - fix test if sources.list is not readable (as is the case on some PPA buildds) * apt/package.py: - fix py3 compatiblity with print * tests/test_all.py: - skip all tests if sources.list is not readable (as is the case on some builds) - packages in marked_install state can also be auto-removable * add concept of "ParentComponent" for e.g. ubuntu/multiverse that needs universe enabled as well (plus add test) * apt/progress/gtk2.py: - update to the latest vte API for child-exited (LP: #865388) * Upload to unstable [ Julian Andres Klode ] * Increase Breaks for update-notifier to 0.99.3debian9 * utils/get_debian_mirrors.py: Adjust for new Alioth SCM urls * debian/control: Standards-Version 3.9.2 * Fix Lintian overrides * Fix spelling errors reported by Lintian (sep[a->e]rated, overrid[d]en) * po/urd.po: Remove, ur.po is the correct file * debian/source/format: Add, set it to "3.0 (native)" [ Tshepang Lekhonkhobe ] * Fix get_changelog in Python 3 (Closes: #626532) * apt/package.py: fix a few typos [formated->formatted] (Closes: #597054) * doc/source/tutorials/contributing.rst: minor improvements (Closes: #625225) - one typo [2to => 2to3], one broken link [pep8.py link] [ Translation updates ] * Esperanto (Closes: #626430) * apt_pkg: Add OrderList, wanted for mancoosi (Closes: #623485) * apt_pkg: Add subclassing fun to PackageManager, for #623485 as well * apt.cache: Emit change signals in ProblemResolver * apt.Cache: Add a _changes_count member for later use [ Stphane Graber ] * Update enable_component to also apply to -src entries (LP: #758732) [ Julian Andres Klode ] * apt_pkg: Add apt_pkg.Version.multi_arch and friends * aptsources: Parse multi-arch sources.list files correctly * aptsources: Allow insertion of new multi-arch entries * aptsources: Various cleanup work * all: Fix all instances of ResourceWarning about unclosed files * tests/test_apt_cache.py: Use assertTrue() instead of assert_() * apt_pkg: Raise error when parse_commandline gets empty argv (LP: #707416) * apt_pkg: Fix time_to_str, time_rfc1123 to accept more correct values (time_to_str accepts unsigned long, time_rfc1123 long long, y2k31-correct). * apt.progress: Use long for ETA, natural type for size (LP: #377375) * aptsources/sourceslist.py: s/aptsource.py/sourceslist.py/ (LP: #309603) * doc/examples: Add example on how to get architecture names (LP: #194374) * apt_pkg: Fix unsigned/long-vs-int issues (LP: #610820) * apt.cache: Document that update() may need an open() (Closes: #622342) * apt.cache: Add a fetch_archives() method (Closes: #622347) * doc: Fix a minor formatting error, patch by Jakub Wilk (Closes: #608914) * apt.package: Add 'tasks' to Version, improve doc (Closes: #619574) * doc: Fix documentation of BaseDependency.relation (Closes: #607031) * Disable the old-style API, and break all packages using it * Add an 'is_multi_arch' attribute to apt_pkg.Cache * Add apt_pkg.Group class, wrapping pkgCache::GrpIterator * Change apt_pkg.Cache() so that passing None for 'progress' results in no progress output * Support (name, arch) tuples in apt_pkg.Cache mappings, wrapping FindPkg() with two string parameters. * Introduce apt_pkg.Cache.groups and apt_pkg.Cache.group_count * Fix debian/rules to work correctly with tilde in version number [ Barry Warsaw ] * PyFetchProgress::Pulse(): When ignoring a false return value from PyArg_Parse() after running the simple callback pulse(), there can be an exception on the stack, which must be cleared. (LP: #711225) [ Michael Vogt ] * python/arfile.cc, apt/debfile.py: - add support for .xz archives * tests/test_debfile.py: - add test for xz compression * update priority of python3-apt to match the archive [ Julian Andres Klode ] * python/cache.cc: - Add Package.get_fullname() and Package.architecture * apt/cache.py, apt/package.py: - Add architecture property to apt.Package (LP: #703472) - Change apt.Package.name to use get_fullname(pretty=True) (LP: #740072) * tests/test_debfile.py: - Disable multi-arch for the test, it fails when run via test_all.py - Fix mixed tab/spaces indentation in xz test * tests/test_apt_cache.py: - Package records 'Package' field now corresponds to shortname * debian/python3-apt-dbg.install - Do not try to install old-style debugging files. * debian/rules: - Support the nocheck build option and ignore test failures on hurd (Closes: #610448) - Move Python 3 debug files before installing other files (Closes: #619528) [ Scott Kitterman ] * Removed ${python:Breaks} - No longer used in dh_python2 * apt/progress/text.py: - only run ioctl for termios.TIOCGWINSZ if the fd is a tty * apt/debfile.py, tests/test_debfile.py: - strip "./" from _get_content and add tests, this fixes a control file extraction bug in gdebi * python/depcache.cc: - when using the actiongroup as a contextmanager incref/decref on enter and leave. this should fix the instablity issues that aptdaemon runs into (LP: #691134) * debian/python3-apt.install: - fix py3 extension module install location (thanks to Barry) * python/depcache.cc: - provide bindings for new libapt SetCandidateRelease() * debian/control: - require new libapt-pkg-dev SetCandidateRelease() * py3 compatible exception handline * debian/control: - bump minimal python version to >= 2.6 * python/apt_pkgmodule.cc: - strip multiarch by default in RealParseDepends - add optional parameter to allow parse_depends() to keep the multiarch parameter * tests/test_deps.py: - add test forapt_pkg.parse_depends(strip_multiarch=True) [ Julian Andres Klode ] * python/generic.h: Fix a memory leak (leaking on every unicode string). * debian/control: add Replaces to python-apt-common, python3-apt; to avoid file conflicts with files previously in python-apt (Closes: #605136). [ Michael Vogt ] * python/generic.h: - set Object to NULL in CppDeallocPtr * python/depcache.cc: - don't run "actiongroup.release()" if the object was already deallocated * tests/test_apt_cache.py: - fix tests to work if apt compressed indexes are enabled * Final 0.7.100 release; targeted at Squeeze. * apt/debfile.py: - Replace (undocumented) use of python-debian debfile.DebFile API with the equivalent apt_inst.DebFile API (Closes: #603043) * apt/package.py: - Fix docstring of Package.mark_delete() (Closes: #599042) * doc: - Various documentation updates. - The C++ API/ABI is stable now. * po - Update sl.po (Closes: #603359) [ Piotr Ozarowski ] * Use dh_python3 to handle Python 3 files - bump minimum required versions of python-central and python3-all-dev - add new python3-apt, python3-apt-bdg and python-common binary packages * Replace python-central with dh_python2 [ Michael Vogt ] * python/acquire.cc: - return long long when calling TotalNeeded(), FetchNeeded() and PartialPresent() from pkgAcquire(). This follows the change in libapt. * apt/debfile.py: - add missing init for _installed_conflicts (LP: #618597) * add "provides" property to the apt.Version objects * apt/debfile.py: - fix error when reading binary content and add regresion test * merged patch from Samuel Lidn Borell to fix crash if there utf8 in the control file (LP: #624290) and add test * apt/cache.py: - add "sources_list" parameter to cache.update() to force updating a single sources.list entry only * debian/control: - add missing build-depends on python-debian (needed to run the tests for apt.debfile.DebPackage() * data/templates/Ubuntu.info.in: - add extras.ubuntu.com and archvie.canonical.com to the templates * aptsources/distinfo.py, aptsources/distro.py: - support non-official templates (like extras.ubuntu.com) * fix return type of DebSize() and UsrSize(), thanks to Sebastian Heinlein, LP: #642936 * merge fix from Steven Chamberlain for crash in unattended-upgrades, many many thanks (closes: #596408) * python/acquire-item.cc: - fix two more int -> long long change to follow the changes from libapt - do use PyString_FromFormat(), in python versions below 2.7 it does not support long long (%llu), use strprintf() from libapt instead [ Kiwinote ] * apt/debfile: - don't fail if we conflict with the pkgs we are reinstalling * tests/test_apt_cache.py: - Do not insert ".." into sys.path, fixes FTBFS [ Julian Andres Klode ] * python/tag.cc: - Support gzip compression for control files (Closes: #383617), requires APT (>> 0.7.26~exp10) to work. * doc/conf.py: - Correctly handle non-digit characters in version (ignore everything after them). * python/apt_pkgmodule.cc: - Bind pkgAcquire::Item::StatTransientNetworkError (Closes: #589010) * doc/library/apt_pkg.rst: - Document Configuration.dump(). * debian/control: - Adapt to new Python 3 handling (Closes: #593042) - Build-depend on APT >= 0.8 to get gzip compression enabled (optional, can be reverted for backports) - Set Standards-Version to 3.9.1 [ Michael Vogt ] * python/configuration.cc: - add binding for the "dump()" method to configruation objects * apt/debfile.py: - fix crash in DscFile handling and add regression test * po/pt_BR.po: - updated, thanks to Sergio Cipolla (Closes: #593754) * tests/test_debfile.py: - properly setup fixture data to make debfile test pass (closes: #588796) [ Michael Vogt ] * data/templates/gNewSense.info.in, data/templates/gNewSense.mirrors: - add gNewSense template and mirrors, thanks to Karl Goetz * data/templates/Ubuntu.info.in, data/templates/Ubuntu.mirrors: - updated for Ubuntu maverick * doc/source/conf.py: - do not fail on non-digits in the version number * utils/get_debian_mirrors.py: - ignore mirrors without a county * apt/cache.py: - add new "dpkg_journal_dirty" property that can be used to detect a interrupted dpkg (the famous "E: dpkg was interrupted, you must manually run 'dpkg --configure -a'") * merged lp:~kiwinote/python-apt/merge-gdebi-changes, this port the DebPackage class fixes from gdebi into python-apt so that gdebi can use the class from python-apt directly * apt/debfile.py: - check if the debfiles provides are in conflict with the systems packages - fix py3 compatibility * tests/test_debs/*.deb, tests/test_debfile.py: - add automatic test based on the test debs from gdebi * python/progress.cc: - deal with missing return value from the acquire progress in pulse() [ Martin Pitt ] * tests/test_apt_cache.py: Test accessing the record of all packages during iteration. This both ensures that it's well-formatted and structured, and also that accessing it does not take an inordinate amount of time. This exposes a severe performance problem when using gzip compressed package indexes. * apt/cache.py: When iterating over the cache, do so sorted by package name. With this we read the the package lists linearly if we need to access the package records, instead of having to do thousands of random seeks; the latter is disastrous if we use compressed package indexes, and slower than necessary for uncompressed indexes. [ Julian Andres Klode ] * Re-enable Python 3 support for latest python-default changes (hack). [ Julian Andres Klode ] * apt/cache.py: - Make Cache.get_changes() much (~35x) faster (Closes: #578074). - Make Cache.req_reinstall_pkgs much faster as well. - Make Cache.get_providing_packages() about 1000 times faster. - Use has_versions and has_provides from apt_pkg.Package where possible. * apt/package.py: - Decode using utf-8 in installed_files (LP: #407953). - Fix fetch_source() to work when source name = binary name (LP: #552400). - Merge a patch from Sebastian Heinlein to make get_changelog() only check sources where source version >= binary version (Closes: #581831). - Add Version.source_version and enhance Sebastian's patch to make use of it, in order to find the best changelog for the package. * python: - Return bool instead of int to Python where possible, looks better. - Document every class, function, property. * python/cache.cc: - Check that 2nd argument to Cache.update() really is a SourceList object. - Fix PackageFile.not_automatic to use NotAutomatic instead of NotSource. - Add Package.has_versions to see which packages have at least one version, and Package.has_provides for provides. - Add rich compare methods to the Version object. * python/generic.cc: - Fix a memory leak when using old attribute names. - Map ArchiveURI property to archive_uri * python/progress.cc: - Do not pass arguments to InstallProgress.wait_child(). * doc: - Update the long documentation. * debian/control: - Change priority to standard, keep -doc and -dev on optional. * utils/migrate-0.8.py: - Open files in universal newline support and pass filename to ast.parse. - Add has_key to the list of deprecated functions. - Don't abort if parsing failed. - do not require files to end in .py if they are passed on the command line or if they contain python somewhere in the shebang line. [ Michael Vogt ] * apt/cache.py: - make cache open silent by default (use apt.progress.base.OpProgress) * tests/data/aptsources_ports/sources.list: - fix ports test-data * tests/test_apt_cache.py: - add simple test for basic cache/dependency iteration * Revert 0.7.93.3 and just set APT::Architecture to i386 for test_aptsources; fixes FTBFS on powerpc. * Pass --exclude=migrate-0.8.py to dh_pycentral; in order to not depend on python2.6; but recommend python2.6. * Use dh_link instead of ln for python-apt-doc (Closes: #573523). * Pass --link-doc=python-apt to dh_installdocs. * Install examples to python-apt-doc instead of python-apt. * tests/test_all.py: Write information header to stderr, not stdout. * Build documentation only when needed (when building python-apt-doc). * Move documentation into python-apt-doc (Closes: #572617) * Build documentation only once on the default Python version. * python/acquire-item.cc: - Add AcquireItem.partialsize member. * python/apt_pkgmodule.cc: - Treat '>>' and '>', '<<' and '<' as identical in check_dep (LP: #535667). * python/generic.cc: - Map UntranslatedDepType to dep_type_untranslated. * python/tag.cc: - Hack the TagFile iterator to not use shared storage (Closes: #572596): Scan once, duplicate the section data, and scan again. * apt/package.py: - Create a string class BaseDependency.__dstr which makes '>' equal to '>>' and '<' equal to '<<' (compatibility). - Use the binary package version in Version.fetch_source() if the source version is not specified (i.e. in the normal case). - Always return unicode strings in Package.get_changelog (Closes: #572998). * apt/progress/text.py: - Drop InstallProgress, it's useless to keep this alias around. * apt/progress/old.py: - Let the new method call the old one; e.g. status_update() now calls self.statusUpdate(). This improves compatibility for sub classes. * Merge with Ubuntu: - util/get_ubuntu_mirrors_from_lp.py: + rewritten to use +archivemirrors-rss and feedburner - pre-build.sh: update ubuntu mirrors on bzr-buildpackage (and also do this for Debian mirrors) - add break for packagekit-backend-apt (<= 0.4.8-0ubuntu4) * tests: - test_deps: Add tests for apt_pkg.CheckDep, apt_pkg.check_dep, apt_pkg.parse_depends and apt_pkg.parse_src_depends. * tests/data/aptsources/sources.list.testDistribution: - change one mirror which is not on the mirror list anymore. * utils/get_debian_mirrors.py: - Parse Mirrors.masterlist instead of the HTML web page. * utils/get_ubuntu_mirrors_from_lp.py: - Sort the mirror list of each country. * data/templates/Ubuntu.info.in: - Use generic MirrorsFile key instead of per-architecture ones in order to fix FTBFS on !amd64 !i386 (Closes: #571752) [ Julian Andres Klode ] * Fix some places where the old API was still used: - apt/utils.py: Completely ported, previous one was old-API from Ubuntu. - apt/cache.py: Use the new progress classes instead of the old ones. - apt/package.py: Various smaller issues fixed, probably caused by merge. * utils/migrate-0.8.py: - Improve C++ parsing and add apt.progress.old to the modules, reduces false positives. - Ship the list of deprecated things in the apt_pkg and apt_inst modules inside the script itself, so we don't have to parse the source code anymore. * python: - Handle deprecated attributes and methods in the tp_gettattro slot, this allows us to easily warn if a deprecated function is used. * python/tagfile.cc: - Implement the iterator protocol in TagFile. * python/cache.cc: - Implement Cache.__len__() and Cache.__contains__() (Closes: #571443). * data/templates/Debian.info.in: - Replace the MatchURI with one that really matches something. * aptsources/distro.py: - Call lsb_release with -idrc instead of --all. * tests: - Fix aptsources tests to use local data files if available. - test_all.py: Use local modules instead of system ones if possible. * data/templates/*.in: Switch MirrorsFile to relative filenames. - setup.py: Copy the mirror lists to the build directory - aptsources/distinfo.py: Support relative filenames for MirrorsFile. * debian/rules: - Run tests during build time. * debian/python-apt.install: - Install utils/migrate-0.8.py to /usr/share/python-apt/. [ Michael Vogt ] * apt/cache.py: - call install_progress.startUpdate()/finishUpdate() to keep compatibility with older code * apt/progress/base.py: - restore "self.statusfd, self.writefd" type, provide additional self.status_stream and self.write_stream file like objects * python/progress.cc: - try to call compatibility functions first, then new functions [ Julian Andres Klode ] * Fix reference counting for old progress classes (Closes: #566370). * apt/cache.py: - Fix Cache.update() to not raise errors on successful updates. * python/progress.cc: - Fix some threading issues (add some missing PyCbObj_BEGIN_ALLOW_THREADS) * python/acquire-item.cc: - Support items without an owner set. * python/tarfile.cc: - When extracting, only allocate a new buffer if the old one was too small. - Do not segfault if TarFile.go() is called without a member name. - Clone all pkgDirStream::Item's so apt_pkg.TarMember object can be used outside of the callback function passed to go(). - If only one member is requested, extract just that one. * Drop the segfault prevention measures from the Acquire code, as they fail to work. A replacement will be added once destruction callbacks are added in APT. * Merge the CppOwnedPyObject C++ class into CppPyObject. * Remove inline functions from the C++ API, export them instead. * Localization - de.po: Update against new template * python/arfile.cc: - Handle the case where ararchive_new returns NULL in debfile_new. * apt/progress/base.py: - select.error objects do not have an errno attribute (Closes: #568005) * doc/client-example.cc: Update against the new API. * Fix typos of separated in multiple files (reported by lintian). * debian/control: - Make python-apt-dev depend on ${misc:Depends} and recommend python-dev. - Set Standards-Version to 3.8.4. [ Michael Vogt ] * apt/utils.py: - add some misc utils like get_release_filename_for_pkg() [ Julian Andres Klode ] * Merge debian-sid and debian-experimental. * Add a tutorial on how to do things which are possible with apt-get, like apt-get --print-uris update (cf. #551164). * Build for Python 2.5, 2.6 and 3.1; 2.6 and 3.1 hit unstable on Jan 16. - Use DH_PYCENTRAL=nomove for now because include-links seems broken * Merge lp:~forest-bond/python-apt/cache-is-virtual-package-catch-key-error - Return False in Cache.is_virtual_package if the package does not exist. * Make all class-level constants have uppercase names. * Rewrite apt.progress.gtk2 documentation by hand and drop python-gtk2 build-time dependency. * aptsources: - Make all classes subclasses of object. - distro.py: Support Python 3, decode lsb_release results using utf-8. * apt/progress/base.py: - Fix some parsing of dpkg status fd. * apt/progress/text.py: - Replace one print statement with a .write() call. * Rename apt_pkg.PackageIndexFile to apt_pkg.IndexFile. [ Colin Watson ] * apt/progress/__init__.py: - Fix InstallProgress.updateInterface() to cope with read() returning 0 on non-blocking file descriptors (LP: #491027). [ Michael Vogt ] * apt/cache.py: - improved docstring for the cache - add "enhances" property * data/templates/Ubuntu.info.in: - add lucid * python/cache.cc: - add UntranslatedDepType attribute to DependencyType - add DepTypeEnum that returns a value from {DepDepends, DepPreDepends, ...} * python/apt_pkgmodule.cc: - add DepDpkgBreaks, DepEnhances constants * doc/source/apt_pkg/{cache.rst, index.rst}: - update documentation as well * New features: - Provide a C++ API in the package python-apt-dev (Closes: #334923). - Add apt_pkg.HashString and apt_pkg.IndexRecords (Closes: #456141). - Add apt_pkg.Policy class (Closes: #382725). - Add apt_pkg.Hashes class. - Allow types providing __new__() to be subclassed. - Add apt_pkg.DepCache.mark_auto() and apt.Package.mark_auto() methods to mark a package as automatically installed. - Make AcquireFile a subclass of AcquireItem, thus inheriting attributes. - New progress handling in apt.progress.base and apt.progress.text. Still missing Qt4 progress handlers. - Classes in apt_inst (Closes: #536096) + You can now use apt_inst.DebFile.data to access the data.tar.* member regardless of its compression (LP: #44493) * Unification of dependency handling: - apt_pkg.parse_[src_]depends() now use CompType instead of CompTypeDeb (i.e. < instead of <<) to match the interface of Version.depends_list_str - apt_pkg.SourceRecords.build_depends matches exactly the interface of Version.depends_list_str just with different keys (e.g. Build-Depends). + Closes: #468123 - there is no need anymore for binding CompType or CompTypeDeb, because we don't return integer values for CompType anymore. * Bugfixes: - Delete pointers correctly, fixing memory leaks (LP: #370149). - Drop open() and close() in apt_pkg.Cache as they cause segfaults. - Raise ValueError in AcquireItem if the Acquire process is shut down instead of segfaulting. * Other stuff: - Merge releases 0.7.10.4 - 0.7.12.1 from unstable. - Merge Configuration,ConfigurationPtr,ConfigurationSub into one type. - Simplify the whole build process by using a single setup.py. - The documentation has been restructured and enhanced with tutorials. - Only recommend lsb-release instead of depending on it. Default to Debian unstable if lsb_release is not available. [ Julian Andres Klode ] * Rename where needed according to PEP 8 conventions (Closes: #481061) * Where possible, derive apt.package.Record from collections.Mapping. * ActionGroups can be used as a context manager for the 'with' statement. * utils/migrate-0.8.py: Helper to check Python code for deprecated functions, attributes,etc. Has to be run from the python-apt source tree, but can be used for all Python code using python-apt. * debian/control: Only recommend libjs-jquery (Closes: #527543). [ Stefano Zacchiroli ] * debian/python-apt.doc-base: register the documentation with the doc-base system (Closes: #525134) [ Sebastian Heinlein ] * apt/package.py: Add Package.get_version() which returns a Version instance for the given version string or None (Closes: #523998) * Introduce support for Python 3 (Closes: #523645) * Support the 'in' operator (e.g. "k in d") in Configuration{,Ptr,Sub} objects (e.g. apt_pkg.Config) and in TagSections (apt_pkg.ParseSection()) * Replace support for file objects with a more generic support for any object providing a fileno() method and for file descriptors (integers). * Add support for the Breaks fields * Only create Package objects when they are requested, do not keep them in a dict. Saves 10MB for 25,000 packages on my machine. * apt/package.py: Allow to set the candidate of a package (Closes: #523997) - Support assignments to the 'candidate' property of Package objects. - Initial patch by Sebastian Heinlein [ Michael Vogt ] * po/zh_CN.po: - updated, thanks to Feng Chao * python/progress.cc: - if the mediaChange() does not return anything or is not implemented send "false" to libapt [ Julian Andres Klode ] * apt/package.py: Fix dictionary access of VersionList, patch by Sebastian Heinlein (Closes: #554895). [ Michael Vogt ] * apt/cache.py: - add actiongroup() method (backport from 0.7.92) - re-work the logic in commit() to fail if installArchives() returns a unexpected result * apt/progress/__init__.py: - catch exceptions in pm.DoInstall() [ Sebastian Heinlein ] * apt/package.py: - Export if a package is an essential one (Closes: #543428) [ Julian Andres Klode ] * python/depcache.cc: - Make ActionGroups context managers so apt.Cache.actiongroup() has the same behavior as in 0.7.92 * apt/cache.py: - Add raiseOnError option to Cache.update() (Closes: #545474) * apt/package.py: - Use the source version instead of the binary version in fetch_source(). * apt/progress/__init__.py: - Correctly ignore ECHILD by checking before EINTR (Closes: #546007) * apt/cache.py: - Convert argument to str in __getitem__() (Closes: #542965). * apt/package.py: - Fix Version.get_dependencies() to not ignore the arguments. [ Michael Vogt ] * apt/package.py: - add "recommends" property * apt/cache.py, python/cache.cc: - add optional pulseInterval option to "update()" [ Sebastian Heinlein ] * apt/cache.py: - Fix the (inst|keep|broken|del)_count attributes (Closes: #542773). [ Julian Andres Klode ] * apt/package.py: - Introduce Version.get_dependencies() which takes one or more types of dependencies and returns a list of Dependency objects. - Do not mark the package as manually installed on upgrade (Closes: #542699) - Add Package.is_now_broken and Package.is_inst_broken. * apt/cache.py: - Introduce ProblemResolver class (Closes: #542705) * python/pkgsrcrecords.cc: - Fix spelling error (begining should be beginning). * po: - Update template and the translations de.po, fr.po (Closes: #467120), ja.po (Closes: #454293). * debian/control: - Update Standards-Version to 3.8.3. * debian/rules: - Build with DH_PYCENTRAL=include-links instead of nomove. * apt/debfile.py: - Fix missing space in message (Closes: #539704) * apt/package.py: - Add missing argument to Version.__le__() and Version.__ge__() * debian/control: - Do not build-depend on python-gtk2 and python-vte on kfreebsd-*. * setup.py: - Always build documentation, even if python-gtk2 is not installed. [ Julian Andres Klode ] * python/cache.cc: - Support Breaks, Enhances dependency types (Closes: #416247) * debian/control: - Only recommend libjs-jquery (Closes: #527543) - Build-depend on libapt-pkg-dev (>= 0.7.22~) - Update Standards-Version to 3.8.2 * apt/cache.py: - Correctly handle rootdir on second and later invocations of open(), by calling InitSystem again. (LP: #320665). - Provide broken_count, delete_count, install_count, keep_count properties (Closes: #532338) - Only create Package objects when they are requested, do not keep them in a dict. Saves 10MB for 25,000 packages on my machine. * apt/package.py: - Allow to set the candidate of a package (Closes: #523997) + Support assignments to the 'candidate' property of Package objects. + Initial patch by Sebastian Heinlein - Make comparisons of Version object more robust. - Return VersionList objects in Package.versions, which are sequences and also provide features of mappings. (partial API BREAK) + Allows to get a specific version (Closes: #523998) * apt/progress/__init__.py: - Do not break out of InstallProgress.waitChild()'s loop just because it is hitting EINTR, but only on child exit or on ECHILD. * Use debhelper 7 instead of CDBS [ Stefano Zacchiroli ] * debian/python-apt.doc-base: register the documentation with the doc-base system (Closes: #525134) [ Sebastian Heinlein ] * apt/progress.py: Extract the package name from the status message (Closes: #532660) [ Stephan Peijnik ] * apt/progress/__init__.py: - Exception handling fixes in InstallProgress class. [ Michael Vogt ] * python/tag.cc: - merge patch from John Wright that adds FindRaw method (closes: #538723) [ Julian Andres Klode ] * data/templates/Debian.info.in: Squeeze will be 6.0, not 5.1 [ Stephan Peijnik ] * apt/progress/__init__.py: - add update_status_full() that takes file_size/partial_size as additional callback arguments - add pulse_items() that takes a addtional "items" tuple that gives the user full access to the individual items that are fetched * python/progress.cc: - low level code for update_status_full and pulse_items() - better threading support [ Michael Vogt ] * aptsources/distro.py: - fix indent error that causes incorrect sources.list additons (LP: #372224) * python/progress.cc: - fix crash in RunSimpleCallback() * apt/cache.py: - when the cache is run with a alternative rootdir, create required dirs/files automatically [ Michael Vogt ] * data/templates/Ubuntu.info.in: - updated for the new ubuntu karmic version * data/templates/Debian.info.in: - add squeeze [ Otavio Salvador ] * utils/get_debian_mirrors.py: updated to support current mirror page. * Update Debian mirrors. (Closes: #518071) * apt/package.py: Handle cases where no candidate is available, by returning None in the candidate property. (Closes: #523801) * apt/package.py: Handle cases where no candidate is available and one of the deprecated properties (e.g. candidateVersion) is requested. (Closes: #523801) * setup.py, debian/rules: Support version in setup.py again by getting the value from the variable DEBVER (defined in debian/rules), falling back to None. * Fix FTBFS with python-debian (>= 0.1.13) on Python 2.4 by not using it to get a version number in setup.py (Closes: #523473) * apt/package.py: - (Package.candidateRecord): Fix missing 'd' in 'record' - (DeprecatedProperty.__get__): Only warn when used on objects, this makes it easier to use e.g. pydoc,sphinx,pychecker. * Build-Depend on python-debian, use it to get version number from changelog * Depend on libjs-jquery, and remove internal copy (Closes: #521532) * apt/package.py: - Introduce Version.{uri,uris,fetch_binary()} * debian/control: - Remove mdz from Uploaders (Closes: #521477), add myself. - Update Standards-Version to 3.8.1 - Use ${binary:Version} instead of ${Source-Version} - Fix spelling error: python -> Python * debian/copyright: Switch to machine-interpretable copyright * Fix documentation building - doc/source/conf.py: Only include directories for current python version. - debian/control: Build-Depend on python-gtk2, python-vte. - setup.py: If pygtk can not be imported, do not build the documentation. * Breaks: debdelta (<< 0.28~) to avoid more problems due to the internal API changes from 0.7.9. [ Julian Andres Klode ] * apt/gtk/widgets.py: - Handle older versions of python-gobject which do not ship glib * apt/package.py: Introduce the Version class - Deprecate Package.candidate*() and Package.installed*(), except for installedFiles. - Provide Version.get_source() (LP: #118788) - Provide Package.versions (Closes: #513236) * apt/progress/: New package, replaces apt.progress and apt.gtk - apt/progress/gtk2.py: Moved here from apt/gtk/widgets.py - apt/progress/__init__.py: Move here from apt/progress.py * doc/source/*: Improve the documentation - Document more attributes and functions of apt_pkg (they are all listed) [ Michael Vogt ] * aptsources/distro.py: - use iso_3166.xml instead of iso_3166.tab - fix incorrect indent * debian/control: - add Recommends to iso-codes (for iso_3166.xml) * apt/package.py: - make sure to set the defaulttimeout back to the original value (in getChangelog(), LP: #314212) Closes: #513315 * apt/cache.py: - when setting a alternative rootdir, read the config from it as well * python/configuration.cc, python/apt_pkgmodule.cc: - add apt_pkg.ReadConfigDir() * python/cache.cc, tests/getcache_mem_corruption.py: - test if progress objects have the right methods and raise error if not (thanks to Emanuele Rocca) closes: #497049 * apt/package.py: - avoid uneeded interal references in the Package objects * aptsources/sourceslist.py: - fix bug in invalid lines detection (LP: #324614) [ Julian Andres Klode ] * apt/*.py: - Almost complete cleanup of the code - Remove inconsistent use of tabs and spaces (Closes: #505443) - Improved documentation * apt/debfile.py: - Drop get*() methods, as they are deprecated and were never in a stable release - Make DscSrcPackage working * apt/gtk/widgets.py: - Fix the code and document the signals * Introduce new documentation build with Sphinx - Contains style Guide (Closes: #481562) - debian/rules: Build the documentation here - setup.py: Remove pydoc building and add new docs. - debian/examples: Include examples from documentation - debian/python-apt.docs: + Change html/ to build/doc/html. + Add build/doc/text for the text-only documentation * setup.py: - Only create build/data when building, not all the time - Remove build/mo and build/data on clean -a * debian/control: - Remove the Conflicts on python2.3-apt, python2.4-apt, as they are only needed for oldstable (sarge) - Build-Depend on python-sphinx (>= 0.5) * aptsources/distinfo.py: - Allow @ in mirror urls (Closes: #478171) (LP: #223097) * Merge Ben Finney's whitespace changes (Closes: #481563) * Merge Ben Finney's do not use has_key() (Closes: #481878) * Do not use deprecated form of raise statement (Closes: #494259) * Add support for PkgRecords.SHA256Hash (Closes: #456113) [ Michael Vogt ] * apt/package.py: - fix bug in candidateInstalledSize property * aptsources/distinfo.py: - fix too restrictive mirror url check * aptsources/distro.py: - only add nearest_server and server to the mirrors if they are defined * Merged python-apt consolidation branch by Sebastian Heinlein (many thanks) * apt/cache.py: - new method "isVirtualPackage()" - new method "getProvidingPackages()" - new method "getRequiredDownload()" - new method "additionalRequiredSpace()" * apt/debfile.py: - move a lot of the gdebi code into this file, this provides interfaces for querrying and installing .deb files and .dsc files * apt/package.py: - better description parsing - new method "installedFiles()" - new method "getChangelog()" * apt/gtk/widgets.py: - new gobject GOpProgress - new gobject GFetchProgress - new gobject GInstallProgress - new gobject GDpkgInstallProgress - new widget GtkAptProgress * doc/examples/gui-inst.py: - updated to use the new widgets * debian/control: - add suggests for python-gtk2 and python-vte * setup.py: - build html/ help of the apt and aptsources modules into /usr/share/doc/python-apt/html * apt/__init__.py: - remove the future warning [ Michael Vogt ] * python/cache.cc: - fix crash if Ver.PriorityType() returns NULL - fix GetCandidateVer() reporting incorrect versions after SetCandidateVer() was used. Thanks to Julian Andres Klode for the test-case (LP: #237372) * python/apt_instmodule.cc: - do not change working dir in debExtractArchive() (LP: #184093) * apt/cache.py: - support "in" in apt.Cache() (LP: #251587) * apt/package.py: - do not return None in sourcePackageName (LP: #123062) * python/progress.cc: - when pulse() does not return a boolean assume "true" (thanks to Martin Pitt for telling me about the problem) * python/apt_pkgmodule.cc: - add "SelState{Unknown,Install,Hold,DeInstall,Purge}" constants * aptsources/__init__.py, aptsources/distinfo.py: - run apt_pkg.init() when aptsources gets imported and not the distinfo function - fix detection of cdrom sources and add test for it * python/metaindex.cc - fix crash when incorrect attribute is given * data/templates/Ubuntu.info.in: - updated * aptsources/distro.py: - add parameter to get_distro() to make unit testing easier * tests/test_aptsources_ports.py: - add test for arch specific handling (when sub arch is on a different mirror than "main" arches) [ Julian Andres Klode ] * python/acquire.cc (GetPkgAcqFile): Support DestDir and DestFilename. * Non-maintainer upload. * data/templates/Debian.info.in: Set the BaseURI to security.debian.org for lenny/updates, etch/updates and sarge/updates. (Closes: #503237) * data/templates/Debian.info.in: - add 'lenny' template info (closes: #476364) * aptsources/distinfo.py: - fix template matching for arch specific code (LP: #244093) [ Emanuele Rocca ] * data/templates/Debian.info.in: - s/MatchUri/MatchURI/. Thanks, Gustavo Noronha Silva (closes: #487673) * python/cache.cc: - Throw an exception rather than segfaulting when GetCache() is called before InitSystem() (closes: #369147) * doc/examples/config.py: - Fix config.py --help (closes: #257007) [ Michael Vogt ] * python/apt_pkgmodule.cc: - fix bug in hashsum calculation when the original string contains \0 charackters (thanks to Celso Providelo and Ryan Hass for the test-case) LP: #243630 * tests/test_hashsums.py: - add tests for the hashsum code * apt/package.py: - add "isAutoRemovable()" method * python/pkgsrcrecords.cc: - add "Record" attribute to the PkgSrcRecord to access the full source record * debian/rules: - remove the arch-build target, we have bzr-builddeb now * apt/cache.py: - add "memonly" option to apt.Cache() to force python-apt to not touch the pkgcache.bin file (this works around a possible race condition in the pkgcache.bin handling) * data/templates/Ubuntu.info.in: - added ubuntu 'intrepid' * debian/README.source: - added (basic) documentation how to build python-apt * aptsources/distinfo.py: - support arch specific BaseURI, MatchURI and MirrosFile fields in the distinfo template * debian/control: - move bzr branch to bzr.debian.org and update Vcs-Bzr * use the new ListUpdate() code * add example in doc/examples/update.py * python/pkgrecords.cc: - export the Homepage field * python/tar.cc: - fix .lzma extraction (thanks to bigjools) * python/sourcelist.cc: - support GetIndexes() GetAll argument to implement something like --print-uris * python/apt_pkgmodule.cc: - add InstState{Ok,ReInstReq,Hold,HoldReInstReq} constants * apt/cache.py: - add reqReinstallPkgs property that lists all packages in ReInstReq or HoldReInstReq * apt/debfile.py: - added wrapper around apt_inst.debExtract() - support dictionary like access * apt/package.py: - fix apt.package.Dependency.relation initialization * python/apt_instmodule.cc: - added arCheckMember() - fix typo * aptsources/distro.py: - throw NoDistroTemplateException if not distribution template can be found * python/string.cc: - fix overflow in SizeToStr() * python/metaindex.cc: - added support for the metaIndex objects * python/sourceslist.cc: - support new "List" attribute that returns the list of metaIndex source entries * python/depcache.cc: - be more threading friendly * python/tag.cc - support "None" as default in ParseSection(control).get(field, default), LP: #44470 * python/progress.cc: - fix refcount problem in OpProgress - fix refcount problem in FetchProgress - fix refcount problem in CdromProgress * apt/README.apt: - fix typo (thanks to Thomas Schoepf, closes: #387787) * po/fr.po: - merge update, thanks to Christian Perrier (closes: #435918) * data/templates/: - update templates * NMU * Fix version to not use CPU and OS since it's not available on APT anymore (closes: #435653, #435674) * apt/package.py: - added Record class that can be accessed like a dictionary and return it in candidateRecord and installedRecord (thanks to Alexander Sack for discussing this with me) * doc/examples/records.py: - added example how to use the new Records class * apt/cache.py: - throw FetchCancelleException, FetchFailedException, LockFailedException exceptions when something goes wrong * aptsources/distro.py: - generalized some code, bringing it into the Distribution class, and wrote some missing methods for the DebianDistribution one (thanks to Gustavo Noronha Silva) * debian/control: - updated for python-distutils-extra (>= 1.9.0) * debian/python-apt.install: - fix i18n files * python/indexfile.cc: - increase str buffer in PackageIndexFileRepr * build against the new apt * support for new "aptsources" pythn module (thanks to Sebastian Heinlein) * merged support for translated package descriptions * merged support for automatic removal of unused dependencies * merged http://glatzor.de/bzr/python-apt/sebi: - this means that the new aptsources modules is available * support translated pacakge descriptions * support automatic dependency information * python/apt_pkgmodule.cc: - added pkgCache::State::PkgCurrentState enums * python/pkgrecords.cc: - added SourceVer * apt/cdrom.py: - better cdrom handling support * apt/package.py: - added candidateDependencies, installedDependencies - SizeToString supports PyLong too - support pkg.architecture - support candidateRecord, installedRecord * apt/cache.py: - fix rootdir * apt/cdrom.py: - fix bug in cdrom mountpoint handling * python/generic.h: - fix incorrect use of PyMem_DEL(), use pyObject_DEL() instead. This fixes a nasty segfault with python2.5 (lp: 63226) * python/pkgrecords.cc: - export SHA1Hash() as well * debian/rules: Remove dh_python call. * apt/progress.cc: - protect against not-parsable strings send from dpkg (lp: 68553) * python/pkgmanager.cc: - fix typo (closes: #382853) * debian/control: - tightend dependency (closes: #383478) * apt/progress.py: - use os._exit() in the child (lp: #53298) - use select() when checking for statusfd (lp: #53282) * acknoledge NMU (closes: #378048, #373512) * python/apt_pkgmodule.cc: - fix missing docstring (closes: #368907), Thanks to Josh Triplett * make it build against python2.5 * python/progress.cc: - fix memleak (lp: #43096) [ Michael Vogt ] * doc/examples/print_uris.py: - added a example to show how the indexfile.ArchiveURI() can be used with binary packages * python/apt_pkgmodule.cc: - export sha256 generation [ Otavio Salvador ] * apt/cache.py: - fix commit doc string to also cite the open related callbacks - allow change of rootdir for APT database loading - add dh_installexamples in package building Closes: #376014 * python/depcache.cc: - "IsGarbage()" method added (to support auto-mark) * Non-maintainer upload. * Add ${shlibs:Depends} and ${misc:Depends} (Closes: #377615). * Non-maintainer upload. * Call dh_pycentral and dh_python before dh_installdeb, to make sure the dh_pycentral snippets are put into the maintainer scripts; patch from Sam Morris. (Closes: #376416) * Non-maintainer upload. * Update for the new Python policy. Closes: #373512 * apt/progress.py: - initialize FetchProgress.eta with the correct type - strip the staus str before passing it to InstallProgress.statusChanged() - added InstallProgress.statusChange(pkg, percent, status) - make DumbInstallProgress a new-style class (thanks to kamion for the suggestions) - fix various pychecker warnings * apt/cache.py: - return useful values on Cache.update() - Release locks on failure (thanks to Colin Watson) - fix various pychecker warnings * apt/package.py: - fix various pychecker warnings - check if looupRecords succeeded - fix bug in the return statement of _downloadable() * python/srcrecords.cc: - add "Restart" method - don't run auto "Restart" before performing a Lookup - fix the initalization (no need to pass a PkgCacheType to the records) - added "Index" attribute * python/indexfile.cc: - added ArchiveURI() method * Non-maintainer upload. * debian/control: + Replaces: python-apt (<< 0.6.11), instead of Conflicts which is not correct here. (closes: #308586). * memleak fixed when pkgCache objects are deallocated * typos fixed (thanks to Gustavo Franco) * pkgRecords.Record added to get raw record data * python/cache.cc: "key" in pkgCache::VerIterator.DependsList[key] is no longer locale specific but always english * added GetPkgAcqFile to queue individual file downloads with the system (dosn't make use of the improved pkgAcqFile yet) * added SourceList.GetIndexes() * rewrote apt.cache.update() to use the improved aquire interface * apt/ API change: apt.Package.candidateOrigin returns a list of origins now instead of a single one * apt_pkg.Cdrom.Add() returns a boolean now, CdromProgress has totalSteps * added support for pkgIndexFile and added SourcesList.FindIndex() * added "trusted" to the Origin class * rewrote cache.Commit() and make it raise proper Exception if stuff goes wrong * fix a invalid return from cache.commit(), fail if a download failed * apt.Package.candidateOrigin returns a class now * added pkgAcquire, pkgPackageManager and a example (acquire.py) * tightend build-dependencies for new apt and the c++ transition * doc/examples/build-deps.py: - fixed/improved (thanks to Martin Michlmayr, closes: #321507) * apt_pkg.Cache.Update() does no longer reopen the cache (this is the job of the caller now) * python/srcrecords.cc: - support for "srcrecords.Files" added - always run "Restart" before performing a Lookup * export locking via: GetLock(),PkgSystem{Lock,UnLock} * apt/cache.py: - added __iter__ to make "for pkg in apt.Cache:" stuff possible * support for depcache added * support for the PkgProblemResolver added * support for PkgSrcRecord.BuildDepends added * support for cdrom handling (add, ident) added * support for progress reporting from operations added (e.g. OpProgress, FetchProgress, InstallProgress, CdromProgress) * added tests/ directory with various tests for the code * native apt/ python directory added that contains a more pythonic interface to apt_pkg * made the apt/ python code PEP08 conform * python exceptions return the apt error message now (thanks to Chris Halls for the patch) * rebuild against the latest apt (c++ transition) * rebuild against the latest apt * Greek0@gmx.net--2005-main/python-apt--debian--0.6: - python2.{3,4}-apt conflicts with python-apt (<< 0.6.11) (closes: #308586) (closes ubuntu: #11380) * added a tests/ directory * added tests/pkgsrcrecords.py that will check if the pkgsrcrecords interface does not segfault * new native python "apt" interface that hides the details of apt_pkg * fixed some reference count problems in the depcache and pkgsrcrecords code * DepCache.Init() is never called implicit now * merged with python-apt tree from Greek0@gmx.net--2005-main * return "None" in GetCandidateVer() if no Candidate is found * DepCache.ReadPinFile() added * Fixed a bug in DepCache.Upgrade() * Fix build-depends, somehow lost in merge * Target hoary this time * Restore Ubuntu changes - Build python 2.4 as default, add python2.3-apt - Typo fix (Ubuntu #4677) * Merge michael.vogt@ubuntu.com--2005/python-apt--pkgDepCache--0 - Basic depcache API (Ubuntu #6889) * Update to work with apt 0.5.32 (bzip2 deb support) * Recompile with apt 0.5 * Fix broken object initialization in sourcelist.cc and srcrecords.cc (Closes: #215792) * Adjust build-depends to build with python2.3. No other changes. * This seems to break the new source package support, probably because the new source package support is buggy. * Add myself to Uploaders so that bugs don't get tagged as NMU-fixed anymore * Initial support for working with source packages (Closes: #199716) * DepIterator::GlobOr increments the iterator; don't increment it again. This caused every other dependency to be skipped (Closes: #195805) * Avoid a null pointer dereference when calling keys() on an empty configuration (Closes: #149380) * Rebuild with apt 0.5.5 * Parse /var/lib/dpkg/status in examples/tagfile.py, so that it works out of the box (Closes: #175340) * Rebuild with apt 0.5.4.9 (libapt-pkg-libc6.3-5-3.3) * Fix for memory leak with TmpGetCache. Closes: #151489 * Include additional examples from Moshe Zadka Closes: #150091, #152048 * Rebuild for python2.2, which is now the default version Closes: #158460 * No CVS directories in source tarball Closes: #157773 * #include in python/generic.h so that we can build on ia64, which uses g++-2.96 (Closes: #137467) * Fix g++-3.0 compilation issues (Closes: #134020) * Add apt-utils to build-depends, since libapt-pkg-dev doesn't pull it in. This should allow python-apt to be autobuilt more readily. * Initial release. * Initial packaging by Jason Gunthorpe, et al. ==== python3-stdlib-extensions: 3.9.4-0ubuntu1 => 3.9.5-0ubuntu3~21.04 ==== ==== python3-distutils python3-gdbm:amd64 python3-lib2to3 * SRU: LP: #1899159: Backport Python 3.9.5 to 21.04. * When building 3.10 for releases newer than Debian 11 (bullseye) or Ubuntu 21.04 (hirsute), build the _dbm extension using gdbm, and include it in the python3-gdbm package. * Relax dependency on python3-defaults. * Update 3.10 extensions and modules to the 3.9.10 beta1 snapshot. * Update 3.9 extensions and modules to the 3.9.5 release (no changes). * Update 3.8 extensions and modules to the 3.8.10 release (no changes). * python3-distutils, python3-lib2to3: Breaks the stdlib (<< 3.10.0~b1). * Refresh patches. ==== python3.9: 3.9.4-1 => 3.9.5-3~21.04 ==== ==== libpython3.9-minimal:amd64 libpython3.9-stdlib:amd64 libpython3.9:amd64 python3.9 python3.9-minimal * SRU: LP: #1899159: Backport Python 3.9.5 to 21.04. * Tighten python3-tk autopkg test dependency. * Try to detect whether python3-venv is missing (Stefano Rivera). Closes: #977887. * Re-add the dependency on libdb-dev. With Python 3.10, building the _dbm extension using libgdbm-compat-dev, and moving the _dbm extension into the python3-gdbm package. * Call python with -S when checking the minimal set of modules. * Python 3.9.5 release. * Refresh patches. * Drop the unused build dependency on libdb-dev. ==== sosreport: 4.1-1ubuntu1 => 4.1-1ubuntu1.1 ==== ==== sosreport * d/p/0003-ubuntu-policy-fix-upload.patch: - Fix sos archive upload to UA Canonical server (LP: #1923209) ==== ubuntu-advantage-tools: 26.2 => 27.0.2~21.04.1 ==== ==== ubuntu-advantage-tools * Backport to Hirsute * d/control: - order build-depends alternatives newer first (LP: #1926949) - apt-hook: do not attempt to package go APT JSON hook on some architectures (GH: #1603) (LP: #1927886, LP: #1927795) * Bug-fix release 27.0.2: build failures on riscv64 and powerpc - apt-hook: refactor json hook messaging to be dry - tests: fix subp ls error case for powerpc builds - jenkinsfile: add --resolve-alternatives for trusty builds - amend changelog: add omitted apt-hook message for 27.0.1 stanza * Add .gitignore and cleanup ignored directory .pytest_cache * apt-hook: mitigate failures with true * New upstream release 27.0: - [redacted: actually landed in 27.0.1] apt-hook: mitigate failures with true - messages: add optional (s) to apt messaging to include singular/plural pkgs - apt-hook: avoid reporting and counting duplicate package names (GH: #1578) - fix: don't say reboot required when unnecessary (LP: #1926183) - test: uncomment additional xenial upgrade tests * New upstream beta3 release: - config: avoid tracebacks on invalid features value in uaclient.conf (GH: #1564) - apt-hook: new json hook for security update counts - Remove redundant messaging from uaclient * d/control: - add distro-info dependency - add new debianutils dependency - add optional dh-systemd | debhelper (>= 13.3) to fallback on hirsute and later when dh-systemd is not present * d/rules: enable and start ua-messaging.timer on package install * d/postinst: - configure esm on any LTS release avoid beta services - configure esm-infra when is_active_esm and apps on LTS - xenial enable unauthenticated apt source for apps/infra * New upstream release 27.0~beta: - apt-hook: + adapt hook to process separate message templates + esm-apps and esm-infra pkg counts not mutually-exclusive + print static messages on apt upgrade/dist-upgrade (GH: #1546) - config: create settings_overrides on config (GH: #1507) - docs: add entry for uploading new version to ppa - esm: + add pin never when disabling esm-infra/apps on xenial + enable infra when EOL LTS and apps on all LTS (GH: #1558) - fips: add notice when installing over old fips - fix: + add links to ubuntu.com/gcp/aws in messaging when on non-PRO + add notice to reboot operation on ua fix + do not prompt user for beta services (GH: #1544) + notify users if reboot is required (GH: #1476) + update how the expired token logic works + wrap output greater than 80 chars (GH: #1487) - lib: fix notice handling on reboot script - messages + provide static message files for use in APT and MOTD + update_ua_messages on attach/detach/disable - mypy: add lib/ dir for coverage - status: do not remove notices on non-root call (GH: #1518) - subp: separate % format strings when logging (GH: #1520) - systemd: add ua-messaging.timer to update ua MOTD and APT msgs - update-motd.d: add conditional hooks for motd to source ua messages - util: add is_lts and is_active_esm funtions to support ESM - test + add integration tests asserting esm-apps setup due to postinst + manual test script for xenial upgrade + trusty and xenial infra and apps disabled in pkg install - behave: use unaltered cloud images unsetting UACLIENT_BEHAVE_PPA - jenkins: make lint and style stage run sequentially * d/*: prefix all the debhelper conf files with the package name * d/control: - add Rules-Requires-Root: no - bump Standards-Version to 4.5.1 - make ubuntu-advantage-pro Architecture: all * d/lintian-overrides: - override maintainer-script-calls-service - package-supports-alternative-init-but-no-init.d-script * d/postinst: move the u-a-pro note to a config script * d/ubuntu-advantage-tools.templates: suggest the use of apt * New upstream release 27.0~beta: - apt: add retry for apt-helper command (GH: #1431) - cli: drop subcommand repeated help output, fix enable & refresh (GH: #1440) - config: + allow parsing yaml delivered from env values + environment variable support for feature overrides (GH: #1395) + create config to add extra params to security url - docs: + add ppas and fix typos + use Ubuntu Pro not Ubuntu PRO + add stop "." punctuation to messages (GH: #1320) - fips: fix FIPS message when disable operation fails - fix: + add basic UASecurityClient to which queries CVE and USNs + add security_url to config + check if service is enabled during ua fix (GH: #1462) + closer representation of cve and usn responses + filter usns by cve details (GH: #1470) + fix regex to be more permissive and strict + get_cve_affected_source_packages_status won't list not-affected (GH: #1467) + handle other package status when running ua fix (GH: #1435) + improve error message for ua fix (GH: #1420) + install pkg fixes when they are on standard pocket (GH: #1401) + move timeout and retries to security client only + only prompt for subscription attach for UA-related pkg updates + parse all related USNS to a given CVE when fixing + parse full API responses for related CVEs and USNs + prefer USN.release_packages binary pkg versions to CVE src ver (GH: #1436) + prompt for new ua token when expired one is used (GH: #1475) + prompt to emit pro suggestion on pro_clouds if unattached (GH: #1386) + prompt to enable service during ua fix (GH: #1455) + provide related CVE URLs instead of USNs (GH: #1456) + raise errors when source_link is null or unexpected format + show packages that were not fixed in the output + update output for released packages in ua fix (GH: #1438) + update message for invalid issue in ua fix (GH: #1433) + use pocket values from USNs (GH: #1439) - logs: emit error response on API errors and redact sensitive logs (GH: #1424) - serviceclient: add 10 second timeout and two retries to API calls (GH: #1374) - util: + add error prompts on invalid selection + add timeout to readurl - tests: + Add disable_auto_attach config to all test PRO vms + add merge_usn_released_binary_package_versions tests + add unittest coverage for override_usn_release_package_status + drop traceback checks on fips integration tests + refactor integration tests for ua fix cmd + run status wait before detach in PRO tests + use ssh to run commands on lxd containers - jenkins: archiveArtifacts can only reference paths within workspace * d/control: add new debianutils dependency * New upstream release 26.3 - util: improve is_container check for chroot - cli: pass assume_yes param to services on detach (GH: #1530) ==== ubuntu-release-upgrader: 1:21.04.11 => 1:21.04.12 ==== ==== python3-distupgrade ubuntu-release-upgrader-core * DistUpgrade/DevelReleaseAnnouncement: remove warning regarding upgrading to hirsute. * DistUpgradeQuirks.py: add in a method for reading the system vendor out of DMI information which then can be used to block upgrades. (LP: #1929449) * DistUpgradeQuirks.py: If the system vendor is Apple do not allow release upgrades to 21.04 for the time being. (LP: #1929449) * DistUpgradeFetcherCore.py: when upgrading with the text view display the release announcement in the terminal. (LP: #1925529) * tests/test_dist_upgrade_fetcher_core.py: do not display the release announcement during the test. * tests/test_sources_list.py: switch from precise to focal and precise was removed from the archive. * Run pre-build.sh: updating mirrors, demotions, and translations. ==== udisks2: 2.9.2-1 => 2.9.2-1ubuntu1 ==== ==== libudisks2-0:amd64 udisks2 * debian/patches/git_dosfstools_4.2.patch: * debian/patches/git_dosfstools_4.2-reread_part.patch: - cherrypick commits to improve the compatibility with dosfstools 4.2 fix the formatting of vfat devices (lp: #1925822) * debian/patches/git_exfatprogs_compat.patch: - create exfat filesystems in a way that is compatible with exfatprogs (lp: #1924888) ==== update-notifier: 3.192.40.1 => 3.192.40.2 ==== ==== update-notifier-common [ Dan Bungert ] * Address segfault regression in the 3.192.40 update (LP: #1926298) related to hook command path lookup -- [1] http://cloud-images.ubuntu.com/releases/hirsute/release-20210603/ [2] http://cloud-images.ubuntu.com/releases/hirsute/release-20210513/