python-debian (0.1.49) unstable; urgency=medium [ Debian Janitor ] * Update lintian override info to new format on line 1. [ Niels Thykier ] * Fix whitespace handling of Copyright files (Closes: #960278) [ Stuart Prescott ] * Make python-debian (more) portable (Closes: #1011937) - Tweak tests to be portable to other platforms - Adapt tests so that skipping optional tests can be prevented if needed - Add other platforms to CI to test portability * Switch tests to use more pytest features. * Updates for newer mypy and pylint. * Add Debian 14 'forky' to the list of known releases. -- Stuart Prescott Sun, 20 Nov 2022 11:30:33 +1100 python-debian (0.1.48) unstable; urgency=medium [ Anders Kaseorg ] * Fix version bound for subscripting abc.Iterator, abc.MutableMapping. Closes: #1018822 [ Jelmer Vernooij ] * Don't raise AmbiguousDeb822FieldKeyError in __contains__. -- Jelmer Vernooij Mon, 03 Oct 2022 05:19:42 +0100 python-debian (0.1.47) unstable; urgency=medium * copyright: Allow duplicate fields when strict=False. * copyright: Fix regression, raise NotMachineReadableError for files that clearly don't use DEP5. Closes: #1017836 -- Jelmer Vernooij Sat, 27 Aug 2022 14:23:48 +0100 python-debian (0.1.46) unstable; urgency=medium * Copyright.add_files_paragraph(): Append after the last existing files paragraph. * RTS parser: Fix removing and then re-adding a paragraph. -- Jelmer Vernooij Fri, 08 Jul 2022 17:51:18 +0100 python-debian (0.1.45) unstable; urgency=medium [ Jelmer Vernooij ] * Add Deb822FileElement.remove method. * RTS parser: don't add trailing whitespace when setting field values that start with a newline. Closes: #1013485 * RTS parser: Add Deb822FileElement.remove(). [ Niels Thykier ] * RTS parser: minor performance improvements (~5%). * RTS parser: Stop preserving lack of newlines at EOF. Closes: #998715 * Add substvars module for handling substvars. * copyright: Use RTS parser. * Provide `DpkgArchTable` class as a subset of `Dpkg::Arch`. Closes: #771058 -- Jelmer Vernooij Tue, 05 Jul 2022 16:35:04 +0100 python-debian (0.1.44) unstable; urgency=medium [ Simon Chopin ] * Add support for zstd compression in .deb files (LP: #1923845) with thanks also to Athos Ribeiro and Quirin Pamp for contributions to this feature. [ Jelmer Vernooij ] * Use logging.warning rather than warnings for data problems. [ Stuart Prescott ] * Support for finding files (including changelog.Debian.gz) that are beyond a symlink within the package (Closes: #875305). * Update packaging for zstd compressed .deb code. * Annotate binutils build-dep with . * Update Standards-Version to 4.6.1 (no changes required). [ Niels Thykier ] * Various improvements to the round-trip-safe deb822 parser. -- Stuart Prescott Sun, 29 May 2022 12:06:57 +1000 python-debian (0.1.43) unstable; urgency=medium [ Jelmer Vernooij ] * Support the Files-Included field in debian/copyright. [ Stuart Prescott ] * Always run both mypy and pylint on CI. * Fix URL for API documentation in README.rst (Closes: #995442). * RTS parser: minor documentation fixes. * Declare minimum Python version of 3.5 for most modules except the RTS parser. Add CI testing with Python 3.5 (Closes: #997857). [ Niels Thykier ] * RTS parser: Handle leading tabs for setting values (Closes: #996785). * RTS parser: Preserve original field case (Closes: #996784). * RTS parser: Expose str type for keys in paragraphs (Closes: #996783). -- Stuart Prescott Sun, 16 Jan 2022 13:03:02 +1100 python-debian (0.1.42) unstable; urgency=medium "The Hitchhiker's Guide to the Galaxy" release. [ Jelmer Vernooij ] * Use logging for warnings about data that's being read, rather than the warnings module. [ Stuart Prescott ] * Fix type checks for mypy 0.910 * Refactor CI code to be less repetitive. * Fix autopkgtest invocation of py.test. * Silence lintian complaint about touching the dpkg database in the examples. * Update Standards-Version to 4.6.0 (no changes required). * Add RTS parser to setup.py so that it is installed. * Add copyright attribution for RTS parser. [ Niels Thykier ] * RTS parser: Accept tabs as continuation line marker. Closes: #994854 * Interpretation: Preserve tab as continuation line if used * CI: Always build docs; only publish it for master * RTS parser: Make value interpretation tokenization consistent * RTS parser: Add interpretation for Uploaders field -- Stuart Prescott Mon, 18 Oct 2021 17:12:47 +1100 python-debian (0.1.41) experimental; urgency=medium [ Stuart Prescott ] * Drop some old python version checks (Closes: #986550) * Skip tests that use apt_pkg if unavailable * Run tests in absense of recommended packages * Drop use of six. * Drop old version constraints in autopkgtest tests * Generate .deb packages for tests on-demand * Add contextmanager to DebFile * Fix sphinx _static config [ Niels Thykier ] * Added format/comment preserving deb822 parser as debian._deb822_repro. * CI: Add coverage reports * Use py.test for running tests [ Jelmer Vernooij ] * Add Build-Depends-Arch, Build-Conflicts-Arch to list of relationship fields. Closes: #985492 -- Jelmer Vernooij Sat, 18 Sep 2021 22:36:23 +0100 python-debian (0.1.40) experimental; urgency=medium [ Jelmer Vernooij ] * In debian.changelog.get_maintainer, cope with unknown UIDs. Closes: #980385 [ Niels Thykier ] * Add some doctest SKIP markers to the code (MR!45). * Fix examples in code (MR!41, MR!43). [ Frédéric Pierret ] * Numerous enhancements to the deb822.BuildInfo class (MR!40). [ Stuart Prescott ] * Update annotations for mypy 0.8.00. * Include portability patch for pwd module on Windows from MR!38, with thanks to Ryan Pavlik for the report and Carmen Bianca Bakker for the implementation. * Drop the deb822.BuildInfo.get_debian_suite function. * Stop testing with Python 2.7. [ Debian Janitor ] * Remove constraints unnecessary since stretch: + Build-Depends: Drop versioned constraint on binutils. -- Stuart Prescott Mon, 28 Jun 2021 18:09:46 +1000 python-debian (0.1.39) unstable; urgency=medium [ Stuart Prescott ] * Move re.compile calls out of functions (Closes: #971960). * Revert unintended renaming of Changelog.get_version/set_version (Closes: #975910). * Add a type for .buildinfo files (deb822.BuildInfo) (Closes: #875306). * Add support for SHA1-Download and SHA256-* variants in PdiffIndex class for .diff/Index files (Closes: #970824). * Permit single-character package names in dependency relationship specifications (Closes: #977355). * Silence deprecation warnings in the test suite. * Test that UserWarning is emitted in tests where it should be. * Update Standards-Version to 4.5.1 (no changes required). * Update to debhelper-compat (= 13). * Update examples to use #!/usr/bin/python3. * Fix tabs vs spaces in examples. * Provide accessor for source package version for binary packages (Closes: #934273). [ Jose Luis Rivero ] * Allow debian_support.PackageFile to accept StringIO as well as BytesIO. [ Ansgar ] * Change handling of case-insensitive field names to allow Deb822 objects to be serialised (Closes: #975915). [ Jelmer Vernooij ] * Add myself to uploaders. [ Johannes 'josch' Schauer ] * Add SHA265 support to handling of pdiffs. * Add support for additional headers for merged pdiffs to PDiffIndex. * Allow debian_support.patches_from_ed_script to consume both bytes and str. -- Stuart Prescott Sat, 19 Dec 2020 11:59:40 +1100 python-debian (0.1.38) unstable; urgency=medium [ Jelmer Vernooij ] * Add a debian.watch module for parsing watch files. * Prevent stripping of last newline in initial lines before changelog files. * Add a Copyright.files_excluded field. * Allow specifying allow_missing_author when reserializing changelog entries. [ Stuart Prescott ] * Fix CI error from typeshed. * Add lots more type annotations to the code. * Enable mypy and pylint in the CI pipeline for merge requests. [ Dato Simó ] * Remove myself from Uploaders. -- Stuart Prescott Sun, 04 Oct 2020 15:09:46 +1100 python-debian (0.1.37) unstable; urgency=medium [ Sandro Tosi ] * Drop python2 support; Closes: #937691 * lib/debian/doc-debtags - run using python3 [ Stuart Prescott ] * Update Standards-Version to 4.5.0 (no changes required). * Add Rules-Requires-Root: no. * Test with all supported Python 3 interpreters at build time, not only in the autopkgtest tests. * Include the version of the interpreter in the test output. * Update from pylint3 to pylint. * Fix some pylint warnings. * Include pylint and mypy checks for merge requests on salsa. * Add additional metadata to setup.py, with thanks to Konrad Weihmann for the suggestion. [ Colin Watson ] * Parse Built-Using relationship fields. [ Michael Hudson-Doyle ] * Run tests with 'supported' not 'installed' Python 3 interpreters. -- Stuart Prescott Sat, 11 Apr 2020 17:54:43 +1000 python-debian (0.1.36) unstable; urgency=medium * Support streams without a filename in ArMember, with thanks to Matthias Dellweg for the patch. * Update autopkgtest variables in tests. * Update Standards-Version to 4.4.0 (no changes required). * Update to debhelper-compat 12. * Update type annotations for newer mpypy. -- Stuart Prescott Sun, 01 Sep 2019 23:50:42 +1000 python-debian (0.1.35) unstable; urgency=medium [ Stuart Prescott ] * Fix decode error when using debian_support.PackageFile by allowing the caller to specify an encoding, defaulting to UTF-8 (Closes: #928655). * Remove needs-recommends from autopkgtest definitions. [ Jan Teske ] * Fix overwriting of names in importing abc.Mapping and typing.Mapping. [ Jelmer Vernooij ] * Correctly raise NotMachineReadableError when no format is set. -- Stuart Prescott Thu, 30 May 2019 00:23:06 +1000 python-debian (0.1.34) unstable; urgency=medium [ Jelmer Vernooij ] * Fix typo in changelog.py documentation. [ Stuart Prescott ] * Fix "DeprecationWarning" regarding the move of ABCs from collections to collections.abc, with thanks to Jakub Wilk for the report (Closes: #914737). * Add accessors for Version objects from Deb822 (Closes: #901651). * Issue warnings if calling code requested use of python-apt for processing a Deb822 file but that request could not be honoured (see: #913274). * Make internal parser match python-apt in strictness when dealing with Packages and Sources files (Closes: #913274). * Update Standards-Version to 4.3.0 (no changes required). -- Stuart Prescott Fri, 18 Jan 2019 01:14:54 +1100 python-debian (0.1.33) unstable; urgency=medium * Switch to salsa.debian.org URLs for homepage, source location etc. * Bump to debhelper compat 11 (no changes required). * Update standards-version to 4.2.0 (no changes required). * Enable the test suite as a CI pipeline on salsa.debian.org. * Enable building of API documentation using sphinx. * Publish the API documentation via salsa. * Fix up various rst issues in documentation and move around docs so that they can be included in the sphinx output (Closes: #894214). * Fix handling of http vs https in copyright-format/1.0 parser. * Add Python 2 compatible type annotation comments throughout. * Considerable code polish based on pylint and mypy. -- Stuart Prescott Sun, 19 Aug 2018 17:19:11 +1000 python-debian (0.1.32) unstable; urgency=medium * Fix regexps that are invalid escape sequences with Python 3.6, with thanks to Ville Skyttä for the patch (Closes: #878434). * Fix spelling errors, with thanks to Ville Skyttä for the patch (Closes: #878435). * Add additional documentation about how python-apt is used, with thanks to Matthieu Caneill for the patch (Closes: #862058). * Extend Deb822 parser to allow underscores in the field name, with thanks to Gerhard Poul for the patch. * Update Vcs fields to point to salsa.debian.org, with thanks to John Wright for doing the migration. * Update Standards-Version to 4.1.3 (no changes required). -- Stuart Prescott Sat, 17 Feb 2018 16:37:18 +1100 python-debian (0.1.31) unstable; urgency=medium * Fix codename for 'rex' release, With thanks to Philipp Hahn for the report and patch (Closes: #863724). * Include archqual in the deb822.PkgRelation.str output, with thanks to Maximiliano Curia for the report and patch (Closes: #868249). * Use unittest rather than nose for test suite discovery (Closes: #851324). * Update Standards-Version to 4.1.0 (no changes required). * Use dpkg's pkg-info.mk to get package version in d/rules. * Add debian/HACKING with some notes about the package. -- Stuart Prescott Sun, 24 Sep 2017 12:38:37 +1000 python-debian (0.1.30) unstable; urgency=medium * Add missing chardet dependency in setup.py.in (Closes: #838695, #841071). * Add stretch, buster and bullseye to known releases (Closes: #849058). * Allow iter_paragraphs to accept bytes under Python 3 (Closes: #833375). * Don't suppress ChangelogParseError in strict mode when reading in a changelog via the constructor (Closes: #844026). * Add experimental API for ftp-master archive removals data (Closes: #473793). -- Stuart Prescott Wed, 25 Jan 2017 12:18:27 +1100 python-debian (0.1.29) unstable; urgency=medium * Fix handling of gpgv output from gnupg 2 (Closes: #782904). * Explain what type was passed when raising the TypeError, with thanks to Chris Lamb for the patch (Closes: #833363). * Include examples and extra docs in python3-debian package (Closes: #833368). -- Stuart Prescott Thu, 18 Aug 2016 23:27:48 +1000 python-debian (0.1.28) unstable; urgency=medium * Change comment handling code in test suite to fix building with updated apt packages, with thanks to Neil Williams and Barry Warsaw for the patches (Closes: #807351). * Add support for uncompressed control.tar deb member (Closes: #761298). * Bump standards-version to 3.9.8 (no changes required). * Update Vcs URLs to https ones. * Remove support for broken timezone names from changelog parsing, with thanks to Guillem Jover for the patch (Closes: #792415). * Allow changelog entries to be accessed by sequence number or by version string (Closes: #634849). -- Stuart Prescott Wed, 15 Jun 2016 00:45:45 +1000 python-debian (0.1.27) unstable; urgency=medium * Tighten whitespace handling in GPG Armor Header lines, with thanks to Guillem Jover for the patch (Closes: #782276). -- Stuart Prescott Wed, 15 Apr 2015 00:53:27 +1000 python-debian (0.1.26) unstable; urgency=medium * Fix FTBFS with binutils >= 2.25-6 by turning off determinism in ar archives when building archives in the test suite, thanks to Dmitry Shachnev for the patch (Closes: #781543). * Require binutils >= 2.23 for building and in the autopkgtest tests to ensure that ar understands the option to suppress determinism. -- Stuart Prescott Sat, 04 Apr 2015 00:39:02 +1100 python-debian (0.1.25) unstable; urgency=medium * deb822: More encoding gymnastics to support parsing signed files opened in text mode (Closes: #764380). -- John Wright Tue, 21 Oct 2014 22:32:26 -0700 python-debian (0.1.24) unstable; urgency=medium * copyright module: make Copyright objects iterable * debian_support.list_releases(): update release list (Closes: #758027) -- Stefano Zacchiroli Wed, 01 Oct 2014 16:41:15 +0200 python-debian (0.1.23) unstable; urgency=medium [ Stuart Prescott ] * Add sha512 sums to Release and Sources (Closes: #732599). * Use warnings rather than stderr in PkgRelation (Closes: #712513). * Expose the list of bugs closed by a changelog entry; thanks to Jelmer Vernooi and Stefano Rivera for patches (Closes: #634848). * Add support for .deb with uncompressed data.tar member (Closes: #718355). * Prefer the internal parser rather than apt's TagFile for processing deb822 files unless explicitly called to process Packages or Sources files: - prevents paragraph parsing truncating on comments (Closes: #743174). - fix parsing of paragraphs when separated by more whitespace than just a newline (Closes: #655988). (Finally fixing interactions with devscripts' wrap-and-sort!) * Parse foreign architecture (package:any) relationships and also other multi-arch related relationships (Closes: #670679) * Parse build-profiles syntax. [ John Wright ] * Fix a GPG validation bug. With some trailing whitespace, the code could be tricked into validating a signature, but using the bogus data after the signed section (Closes: #695932). * Drop support for python2.5. (This allows us to do fewer import hacks in deb822, and probably other modules as well.) * Add a deb822.RestrictedWrapper class, for exposing read-only access to a Deb822 instance's field values as strings, while restricting write access to some fields, which are exposed via properties. * deb822.Deb822Dict.dump: Add a text_mode parameter for dumping to file(-like) objects that assume text/unicode input. * Add a copyright module, for parsing machine-readable debian/copyright files (Closes: #671485). * Make deb822 tests hermetic with respect to debian-keyring updates (Closes: #760488). -- John Wright Wed, 10 Sep 2014 23:18:38 -0700 python-debian (0.1.22) unstable; urgency=low [ John Wright ] * Acknowledge NMUs. (Thanks for your work, Colin and Fathi!) * arfile.ArFile.extractfile: Return a matching member even if it is not the first one in the archive. Thanks to Mika Eloranta for the report and patch. (Closes: #689313) * deb822.Deb822.iter_paragraphs: Actually work with string input. Thanks to Stefano Rivera for the patch. (Closes: #647455) [ Stuart Prescott ] * Add myself to Uploaders. * Change Vcs-* URLs to canonical locations. * Switch build system to short form dh and pybuild. * Use nose to run test suite. * Add autopkgtest test suite. [ John Wright ] * python_support: Avoid hashlib dependency, using the built-in _sha or _sha1 module (depending on Python version) instead. That way we don't link in OpenSSL, which has an incompatible license. (Closes: 747031) -- John Wright Wed, 11 Jun 2014 02:25:21 -0700 python-debian (0.1.21+nmu3) unstable; urgency=medium * Non-maintainer upload. * Add support for xz-compressed packages. (Closes: #506861) * Byte-compile python modules for python3-debian. (Closes: #709935) -- Fathi Boudra Tue, 29 Apr 2014 20:32:47 +0300 python-debian (0.1.21+nmu2) unstable; urgency=low * Non-maintainer upload. * In Python 2, restore Deb822Dict.has_key method for compatibility. (Closes: #686731) -- Colin Watson Wed, 05 Sep 2012 11:28:58 +0100 python-debian (0.1.21+nmu1) unstable; urgency=low * Non-maintainer upload. * Port to Python 3. (Closes: #625509) -- Colin Watson Wed, 22 Aug 2012 16:27:05 +0100 python-debian (0.1.21) unstable; urgency=low [ Tshepang Lekhonkhobe ] * test_changelog.py: Close open files. (Closes: #625672) [ John Wright ] * deb822: Allow ':' as the first character of a value. (Closes: #597249) * deb822: Avoid dumping unparseable data. (Closes: #597120) * Clean up deb822.GpgInfo implementation: - Change several @staticmethod decorated methods to @classmethod, since they call the class constructor. - from_sequence now can accept both sequences of newline-terminated strings and the output of str.splitlines(). - from_file now actually calls the from_sequence method. (Closes: #627058) - from_sequence now makes a copy of the initial args list before extending it. (Closes: #627060) - Keyrings are no longer checked for accessibility, since gpgv can accept keyring arguments that are under the GnuPG home directory, regardless of the current directory. (Closes: #627063) * deb822.Deb822.gpg_info takes an optional keyrings argument. * deb822: Don't interpret lines starting with '#'. (Closes: #632306) [ Colin Watson ] * Use dh_python2 instead of python-support. (Closes: #631392) -- John Wright Wed, 03 Aug 2011 23:07:17 -0700 python-debian (0.1.20) unstable; urgency=low * Fix FTBFS, caused by referring to apt_pkg in a test with no python-apt Build-Depends. (Closes: #623011) * changelog: Implement __unicode__ in ChangeBlock and Changelog. (Closes: #561805) -- John Wright Sun, 17 Apr 2011 17:37:44 -0700 python-debian (0.1.19) unstable; urgency=low * debian_support.BaseVersion: Disallow ':' in upstream version if there is no epoch. Original patch by Steve Kowalik. (Closes: #619997) -- John Wright Fri, 15 Apr 2011 02:05:45 -0700 python-debian (0.1.18+nmu1) unstable; urgency=low * Non-maintainer upload. * Migrate to new python-apt API (Closes: #604544) -- Julian Andres Klode Tue, 05 Apr 2011 11:02:08 +0200 python-debian (0.1.18) unstable; urgency=low * Support installation together with older versions of python-apt. Original patch by Jelmer Vernooij. (Closes: #590805) -- John Wright Wed, 04 Aug 2010 01:16:52 -0700 python-debian (0.1.17) unstable; urgency=low [ James Westby ] * Use os.path.normpath to hide python version differences [ John Wright ] * test_deb822.py: Make test_gpg_info more robust (Closes: #582878) * deb822: Use chardet to try to detect character encodings as necessary - This is only used when the specified encoding doesn't work. It's mainly useful for files containing multiple deb822 paragraphs with mixed encodings, like etch's Sources file. (Closes: #586021) -- John Wright Sun, 25 Jul 2010 02:07:11 -0700 python-debian (0.1.16) unstable; urgency=low * debian_support: Be more careful in case apt_pkg is not available - If apt_pkg is not available, AptPkgVersion now raises NotImplementedError on any initialization attempt - test_debian_support.py now doesn't try to test AptPkgVersion if apt_pkg is not available * test_deb822.py: Don't test gpg info if debian-keyring is not available (Closes: #573934) * Use the warnings system to report deprecation warnings (Closes: #573945) * Change examples and control file to refer to debian instead of debian_bundle -- John Wright Mon, 15 Mar 2010 20:02:17 -0600 python-debian (0.1.15) unstable; urgency=low [ John Wright ] * deb822: Don't ignore leading newlines on field data with apt_pkg (Closes: #466753) * changelog: Consistently parse different types of inputs. The previous implementation added extra newlines when given a file object as input, rather than the result of str.splitlines(). (Closes: #539316) * deb822: Faster non-shared storage by keeping a TagFile object around for each Deb822 object yielded [ Stefano Zacchiroli ] * make debian_support.Version hashable, patch from Piotr Ożarowski (Closes: #543223) [ Filippo Giunchedi ] * changelog: add iterator over changelog blocks (Closes: #539334) * changelog: split tests into tests/test_changelog.py for consistency [ John Wright ] * deb822: Use the apt_pkg.TagFile class instead of apt_pkg.ParseTagFile() (Closes: #552190) * test_deb822.py: Update to support new gpg "SIG_ID" algorithm * deb822: Better support for non-ascii values. Deb822 objects now always contain unicode objects instead of strings. Use the encoding argument to Deb822's initializer and its iter_paragraphs class method if the encoding of a file you are reading in is not utf-8. (The dump method also takes an encoding argument, if you wish the output not to be utf-8-encoded.) (Closes: #495272) * Use the apt_pkg.TagFile iterator interface instead of hacking its offset. As of python-apt version 0.7.94, that interface doesn't use shared storage. (Closes: #571470) * debian_support: Add a native python Version class, based on Raphael Hertzog's DpkgVersion class in the PTS (Closes: #562257, #573009) [ Jelmer Vernooij ] * Remove unused imports in the debfile and debtags modules [ John Wright ] * changelog: Use debian_support.Version directly * Deprecate the 'debian_bundle' package in favor of a new 'debian' package (Closes: #570210) * debian_support: split tests into tests/test_debian_support.py for consistency * Convert to "3.0 (native)" source format and update Standards-Version to 3.8.4 (no changes necessary) -- John Wright Sun, 14 Mar 2010 05:04:50 -0600 python-debian (0.1.14) unstable; urgency=low [ Stefano Zacchiroli ] * setup.py.in: switch to setuptools, which are able to generate eggs; add matching build-dep on python-setuptools (Closes: #525694) * examples/deb822/: add new example render-dctrl, to render packages in a dctrl-tools pipeline (using Markdown as long description syntax) * deb822: use __new__ to sub-class strings for case-insensitiveness; former approach is deprecated with python 2.6. Thanks to Loïc Minier for the patch. (Closes: #524061) [ Filippo Giunchedi ] * deb822: parse also Binary as PkgRelation, thus add .binary attribute [ Muharem Hrnjadovic ] * fixed changelog parser exception raised when dealing with empty changelog files (LP: #400589). -- Stefano Zacchiroli Sat, 18 Jul 2009 21:26:40 +0200 python-debian (0.1.13) unstable; urgency=low [ John Wright ] * deb822: Correctly handle deletion of keys that only exist in a pre-parsed dictionary [ Stefano Zacchiroli ] * change naming convention to match PEP 8, with backward compatibility (and deprecation warnings) for all old names. Thanks to Ben Finney for the patch. (Closes: #489722) * Switch from "sha" module to "hashlib": fix a deprecation warning of Python 2.6. As a consequence, update pyversions to require a minimum of Python 2.5, which is available also in stable now. (Closes: #518427) * debian_support.PackageFile: allow for stanza separators made of tabs and spaces in addition to newlines (Closes: #501927) * bump Standards-Version to 3.8.1 (no changes needed) -- Stefano Zacchiroli Tue, 07 Apr 2009 10:21:04 +0200 python-debian (0.1.12) unstable; urgency=low [ Filippo Giunchedi ] * Add initial support to deb822 for gpg signature checking (Closes: #485829) * Suggest gpgv for signature checking [ Stefano Zacchiroli ] * deb822: add support for pretty printing structured inter-package relationships (and relevant tests) * debfile: add support for .tar.bz2 parts contained in .deb packages, and relative regression test. Thanks to Cameron Dale and Tom Parker. (Closes: #462859). [ John Wright ] * deb822: allow the use of unicode objects in __getitem__ * changelog: fix the "topline" regular expression to match the one in dpkg's Dpkg/Changelog/Debian.pm so that it allows '.' and '+' in the distribution field * deb822: Add a use_apt_pkg parameter to Deb822.iter_paragraphs. Now, callers can set use_apt_pkg=True and shared_storage=False (now the default) in order to take advantage of apt_pkg's speed and still be able to use values across iterations. (Closes: #504413) -- John Wright Wed, 05 Nov 2008 16:03:40 -0700 python-debian (0.1.11) unstable; urgency=low [ James Westby ] * Allow urgency=HIGH and other words made of capital letters there, see fuse's changelog. * Allow any number of spaces before "urgency" in the header line of a changelog, see lvm2's changelog in Ubuntu. * Overhaul the parsing code to follow that used by dpkg-parsechangelog.py, making it much more robust. - There is now a "strict" option to turn warnings in to errors. It is on by default. * The file parameter in the changelog can now be a file-like object, to save reading a file to a string first. Thanks to Tilman Koschnick. (Closes: #487797) [ John Wright ] * debian/control: - Fix a typo in the Description field (Closes: #483688) * debian_bundle/deb822.py: Checksums-Sha1 and Checksums-Sha256 don't have section or priority subfields (Closes: #487902) [ Stefano Zacchiroli ] * debian_bundle/deb822.py: add support for "parsed" dependencies and other inter-package relationships. See examples/deb822/depgraph for sample usage * examples/deb822/ add new example "depgraph" * tests/test_deb822.py: add tests for inter-package relationships * debian_bundle/debfile.py: add has_key (same implementation of __contains__) to better emulate dictionary containers * minor revamp of README pointing to deb822.py for Packages parsing and mentioning debfile.py * debian/control: - fix Vcs-* fields to point to the new git repository (bzr is gone) * bump Standards-Version to 3.8.0, no changes needed though profit of the possibility of wrapping Uploaders in debian/control [ Filippo Giunchedi ] * Add test case for changes file with checksums (see #487902) -- Stefano Zacchiroli Wed, 06 Aug 2008 23:48:38 -0300 python-debian (0.1.10) unstable; urgency=low * debian_bundle/deb822.py, tests/test_deb822.py: - Do not cache _CaseInsensitiveString objects, since it causes case preservation issues under certain circumstances (Closes: #473254) - Add a test case * debian_bundle/deb822.py: - Add support for fixed-length subfields in multivalued fields. I updated the Release and PdiffIndex classes to use this. The default behavior for Release is that of apt-ftparchive, just because it's simpler. Changing the behavior to resemble dak requires simply setting the size_field_behavior attribute to 'dak'. (Ideally, deb822 would detect which behavior to use if given an actual Release file as input, but this is not implemented yet.) (Closes: #473259) - Add support for Checksums-{Sha1,Sha256} multivalued fields in Dsc and Changes classes * debian/control: - "python" --> "Python" in the Description field - Change the section to "python" -- John Wright Wed, 30 Apr 2008 23:58:24 -0600 python-debian (0.1.9) unstable; urgency=low * Promote python-apt from Suggests to Recommends. (Closes: #462845) -- Adeodato Simó Wed, 06 Feb 2008 15:36:02 +0100 python-debian (0.1.8) unstable; urgency=low [ Filippo Giunchedi ] * Move tests to a separate subdirectory. [ Stefano Zacchiroli ] * Add examples dir for deb822 with a simple example. [ Adeodato Simó ] * Sync debian_support.py with the latest version from the secure-testing repository. Note that this removes support for version comparison without apt_pkg. (Our copy was modified in 0.1.2 to *accept* ~ in version strings, but comparison without apt_pkg was already broken by then.) Also, undo the change introduced for #431087, since we shouldn't be keeping incompatible versions of debian_support.py around, plus the desired functionality in that bug report is best provided by the deb822 module. (Closes: #457697, #457854) * While rewriting the grep-maintainer example to use deb822.Packages to accommodate the above change, make it cope with stanzas without a maintainer field as well. (Closes: #457855) * Fix dump() method of deb822._multivalued. (Closes: #457929) * Small improvements to the exception handling in the grep-maintainer example. * Bump Standards-Version to 3.7.3 (no changes needed). -- Adeodato Simó Fri, 28 Dec 2007 19:46:13 +0100 python-debian (0.1.7) unstable; urgency=low [ John Wright ] * debian_bundle/deb822.py, debian_bundle/test_deb822.py - Bug fix: Allow fields with blank (empty string) values. Previously, these were parsed fine, but if you tried to dump the resulting Deb822 object, you'd get an IndexError (because of how we handled fields whose values start with newlines). Added a test case. - Fix the copy method of Deb822Dict so that it returns an object of the same type, rather than explicitly instantiating Deb822Dict (so that subclasses like Deb822 can directly use the copy method and have it "just work"). Added a test case. [ Stefano Zacchiroli ] * debian/control - mention the debfile module in the long description - promote Vcs-Bzr to a real field, now that dpkg supports it -- John Wright Tue, 27 Nov 2007 16:25:33 -0700 python-debian (0.1.6) unstable; urgency=low [ Stefano Zacchiroli ] * debfile.py - bugfix: make md5sums top-level method acts as a proxy instead of returning a method - bugfix: use readlines() to iterate over the md5sums file since direct iteration on files is available only in python >= 2.5 (closes: #438804) - bugfix: support spaces in filenames when accessing md5sums; thanks to Romain Francoise for the patch (closes: #438909) [ John Wright ] * debian/pyversions: - Since there are some Python 2.4-isms in this package, support only Python >= 2.4, rather than all versions (Closes: #438920) -- Stefano Zacchiroli Sat, 08 Sep 2007 10:12:20 +0200 python-debian (0.1.5) unstable; urgency=low [ Stefano Zacchiroli ] * debfile.py - do not fail if extra ar members exist in a .deb, according to deb(5) extra ar members should be ignored (Closes: #438486). Also add the corresponding regression test to test_debfile.py - support both the (buggy) file naming scheme for TarFile of python << 2.5 (e.g. "control") and of python >= 2.5 (e.g. "./control"). In addition, enable users to specify file members in three equivalent formats: "file", "./file", and "/file" (Closes: #438603) * deb822.py - add a deprecation warning (printed on stderr) when accessing the module as a top-level one; it should be rather used as "debian_bundle.deb822" [ John Wright ] * examples/debfile/ar, examples/debfile/changelog_head, examples/debfile/dpkg-info, examples/debfile/extract_cron: - Fix ImportError caused by importing modules as if they were top-level modules, rather than modules in the debian_bundle package (Closes: #438428) -- Stefano Zacchiroli Sun, 19 Aug 2007 09:38:20 +0200 python-debian (0.1.4) unstable; urgency=low [ James Westby ] * changelog.py - Add allow_empty_author option to changelog to allow the author line to have no information. [ Stefano Zacchiroli ] * debian/control - joining the team: add myself as an uploader - add Vcs-Bzr field pointing to our Bzr repository on bzr.debian.org * arfile.py / debfile.py - new modules implementing (read-only) dpkg-deb like access to .deb packages; when possible, access to information contained in .deb is made available via other debian_bundle classes (e.g. Changelog, Deb822, ...) - code contributed by Stefano Zacchiroli and Filippo Giunchedi - corresponding examples in examples/debfile * debian_support.py - yield dictionaries instead of tuples in Packages parsing and normalize to lower case 822 field names (Closes: #431087) - no longer require a space after a ':' in RFC 822 fields; fix bogus parse errors of Packages-like file with PackageFile() class * examples/ - added grep-maintainer example to show the Packages parsing API [ John Wright ] * debian_bundle/deb822.py, debian_bundle/test_deb822.py, deb822.py: - Import latest version of deb822, and create a "dummy" top-level module for compatibility - For multiline fields that start with a newline (e.g. Files in a .dsc, MD5Sum in Release files), the line with the "Field:" should not end in trailing whitespace. Fixed and added test cases. * setup.py: - The version wasn't getting updated, so I've renamed it to setup.py.in, and added a __CHANGELOG_VERSION__ placeholder * debian/rules: - Generate generate setup.py from setup.py.in, filling in the version information from debian/changelog - No longer delete deb822 files * debian/control: - Add myself as an uploader - Add Provides, Conflicts, and Replaces fields for python-deb822 - When describing features, mention which modules they are implemented in * HISTORY.deb822, debian/docs: - Install old changelog for deb822 as /usr/share/doc/python-debian/HISTORY.deb822 * debian_bundle/changelog.py: - Accept numbers, '+', and '.' in the distribution field, to match dpkg's behavior -- John Wright Sun, 5 Aug 2007 00:41:24 -0600 python-debian (0.1.3) unstable; urgency=low [ James Westby ] * changelog.py - Add max_blocks parameter to Changelog constructor. This limits the number of blocks that will be parsed to that number. If you only need the latest entry then pass max_blocks=1 and you will only have one block. This is also useful to avoid trying to parse old changelog entries that don't follow the current format. (Closes: #429357) [ Reinhard Tartler ] * debian_bundle/changelog.py: don't fail if a changelog block is not parseable. Just return all changelog blocks we've been able to parse so far. (Closes: #429299) -- James Westby Sun, 17 Jun 2007 13:25:20 +0100 python-debian (0.1.2) unstable; urgency=low [ James Westby ] * debian_support.py - Support ~ in version numbers when python-apt is not installed. * Turn on the testsuites of changelog.py, and debtags.py in the build. * debtags.py - Rename with to with_ to avoid a warning on python2.5 as with will be a keyword in 2.6. (Closes: #409333) * Suggest python-apt and mention why in the README. [Reinhard Tartler] * Fix the regex matching the end line of a debian/changelog. Using improved regex contributed by Francois-Denis Gonthier, thanks! (Closes: #410880) * disable python_support.py testrun, it is missing in the branch. * add myself to uploaders. -- Reinhard Tartler Thu, 14 Jun 2007 19:54:13 +0100 python-debian (0.1.1) unstable; urgency=low [ John Wright ] * changelog.py: - Version class: + Subclass debian_support.Version, for rich comparison + Changing any attribute now automatically updates any other affected attribute (i.e. changing full_version will update all of the other attributes; changing debian_version will update full_version) - Changelog class: + Many "getter" and "setter" methods were replaced with properties (so they appear as regular object attributes). Most set_* methods remain for compatibility, and they're the actual set methods for the properties anyway. Please see README.changelog. + You can now assign a string to the version attribute, and it will be coerced into a Version object [ James Westby ] * changelog.py: - Added a method to write the changelog to an open file. - Allow single digit day with no extra space in the endline of a changelog. Hopefully this wont allow things to be parsed that will be rejected by the more important tools. It does allow more files to be parsed and used, and I'm not entirely sure what is right. - Allow uppercase characters in the version number when parsing changelogs. Thanks to Jelmer Vernooij for the report and the fix. * README.changelog: - Update the documentation to reflect the changes mentioned above * Add debian/NEWS to warn of the API changes. [ Enrico Zini ] * debtags.py: - Added various methods after the work on the inferrer of tag relationships - Added tagminer and pkgwalk examples -- James Westby Tue, 30 Jan 2007 20:56:44 +0000 python-debian (0.1.0) experimental; urgency=low * Initial release. (Closes: #381599) -- James Westby Tue, 15 Aug 2006 18:57:57 +0100