From 8e29a4002c7f82c9997d379dd973903454eefdc999274b968b3f0255f04755b8 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Tue, 30 Sep 2025 07:57:12 +0000 Subject: [PATCH] - update to 1.0.1: * Fix handling of empty string data given to Deb822.iter_paragraphs. * The 1.0.0 release of python-debian :) * Upload to unstable (and release to pypi). * Update typing imports to keep new mypy happy. * Handle non-UTF-8 data in gpgv output from sequoia-generated data * Permit filenames and Path objects in Deb822.iter_paragraphs() - Update to version 0.1.49 - Update to 0.1.48 - Update to 0.1.47 * Add support for zstd compression in .deb files * Extend Deb822 parser to allow underscores in the field name OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-python-debian?expand=0&rev=16 --- .gitattributes | 23 ++++ .gitignore | 1 + python-debian-0.1.52.tar.gz | 3 + python-debian-1.0.1.tar.gz | 3 + python-python-debian.changes | 221 +++++++++++++++++++++++++++++++++++ python-python-debian.spec | 72 ++++++++++++ 6 files changed, 323 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 python-debian-0.1.52.tar.gz create mode 100644 python-debian-1.0.1.tar.gz create mode 100644 python-python-debian.changes create mode 100644 python-python-debian.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/python-debian-0.1.52.tar.gz b/python-debian-0.1.52.tar.gz new file mode 100644 index 0000000..2f8638f --- /dev/null +++ b/python-debian-0.1.52.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c310e1ca618ffa9e3654f4b7abd106487067d24ef5dc706df7cb20620695de6 +size 253447 diff --git a/python-debian-1.0.1.tar.gz b/python-debian-1.0.1.tar.gz new file mode 100644 index 0000000..0f4509b --- /dev/null +++ b/python-debian-1.0.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f8cc0654cd023e548d95138580cd1deb78e96413d303573851ac95db26ab3360 +size 252989 diff --git a/python-python-debian.changes b/python-python-debian.changes new file mode 100644 index 0000000..f0c736b --- /dev/null +++ b/python-python-debian.changes @@ -0,0 +1,221 @@ +------------------------------------------------------------------- +Tue Sep 30 07:56:53 UTC 2025 - Dirk Müller + +- update to 1.0.1: + * Fix handling of empty string data given to Deb822.iter_paragraphs. + * The 1.0.0 release of python-debian :) + * Upload to unstable (and release to pypi). + * Update typing imports to keep new mypy happy. + * Handle non-UTF-8 data in gpgv output from sequoia-generated data + * Permit filenames and Path objects in Deb822.iter_paragraphs() + +------------------------------------------------------------------- +Wed Jan 22 06:03:59 UTC 2025 - Steve Kowalik + +- Update to 0.1.52: + * Add build-dependency on gpgv. + * Tweaks to match changes in Python-land tooling: + - Fix some stylistic things that the newly uploaded pylint 2.16 complains + about. + - Fix testing with wine to adapt to changes in wine packaging. + - Fix tests to work with recent changes to pip that prevent installation + outside of a venv. + - Change version generation to be PEP440 compatible to satisfy new + requirements from setuptools, python-packaging etc. This change is + needed for any uploads outside of Debian sid (derivatives, Debian + backports, Debian security/stable-updates, etc). + * Fix file extraction from DebFile for cases where the .deb is generated + from control or data tarballs without the optional entry for "." and the + "./" prefix on all members; this isn't needed for dpkg-generated packages, + but is needed for other tools such as 'cargo deb' (Closes: #1031674). + * Demote Recommends to Suggests; it is up to the calling code to know what + optional features of python-debian it is using rather than dragging in an + ever-increasing list of optional extra packages (Closes: #1029727). + * Drop shims for pre-PEP8 API after 14 years of deprecation. + * Replace setup.py and config for pylint, mypy, pytest with pyproject.toml. + * Switch package build system to use pyproject.toml. + * Relocate tests and test data out of module; they are no longer included + in the binary package or in the wheel. + * Relocate module source from 'lib' to 'src' in line with current practice. + * Change handling of package version to use setuptools_scm during + development (but not at run time). + * Update code to build pypi uploads (sdist and wheel). + * Update copyright statements throughout. + * Tweak pytest configuration for pytest 8.1.1 changes. + * Fix test suite harness that runs tests under wine. + * Update Standards-Version to 4.7.0 (no changes required). + * Fix handling of whitespace-separated file lists in Copyright files with + thanks to Lasse Collin for the suggested fix (Closes: #1062437). + * Parse source field to extract source version in .deb packages from + binNMUs (Closes: #1082838). + * Switch to from chardet to charset-normalizer and make it in the code + (demoted to Suggests), with thanks to Michal Čihař for the initial work. + * Update Standards-Version to 4.7.0 (no changes required). + * Make 'Package-List' a multiline field for Dsc objects, thanks to Philipp + Hahn for the patch (Closes: #1052154). + * Use valid SPDX identified in python package metadata. + * Fix version number to be PEP440 compliant. + * Drop debian_bundle and top-level deb822 modules after 13 years of + deprecation. + * Fix typing errors from newer mypy in deb822.PkgRelation. + * Changelog parsing speed improvements. + * Add support for file location finding (line, col) in Deb822 files. + * Change some type annotations from Python 2 to Python 3 format. + * Clean up some old Python 2 methods. + * Fixes for pylint 3.1. +- Switch to salsa tarball to run the testsuite. +- No more greedy globs in %files. + +------------------------------------------------------------------- +Sat Dec 3 21:28:19 UTC 2022 - Yogalakshmi Arunachalam + +- Update to version 0.1.49 + * Fix whitespace handling of Copyright files (Closes: #960278) + * 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. + +------------------------------------------------------------------- +Fri Oct 28 20:31:05 UTC 2022 - Yogalakshmi Arunachalam + +- Update to 0.1.48 + * Fix version bound for subscripting abc.Iterator, abc.MutableMapping + * Don't raise AmbiguousDeb822FieldKeyError in __contains__. + +------------------------------------------------------------------- +Thu Oct 6 22:19:00 UTC 2022 - Yogalakshmi Arunachalam + +- Update to 0.1.47 + Following is the changelog for deb822 before it was merged into python-debian. + * deb822.py: + - Allow Deb822 objects to be initialized with a dict containing the initial + key-value pairs. + - _multivalued class: + + Make all the multivalued dicts Deb822Dict objects, so the keys are + case-preserving, but case-insensitive + - Add a Release class, which knows about Release-file multivalued fields. + Thanks to Alexandre Fayolle. (Closes: 428540) + - Deb822Dict no longer directly subclasses dict. All of the important + methods were already implemented with userdict.DictMixin; the dict + subclass was so that Python would see a Deb822Dict instance as a dict + instance. Unfortunately, this causes confusion if you do something like + d = dict(Deb822Dict({'foo': 'bar'}) + The "Pythonic" way to check for a dictionary interface is to check for + the 'items' attribute. + * test_deb822.py: + - Add a test case for deriving a Python dict from a Deb822Dict. + * debian/control: + - Add a XS-Vcs-Bzr field + +------------------------------------------------------------------- +Mon Jul 4 13:49:00 UTC 2022 - Matej Cepl + +- Fix Homepage +- Rename package according to the Python packaging + guidelines (jsc#SLE-24672) + +------------------------------------------------------------------- +Mon Jun 27 11:39:36 UTC 2022 - Julio González Gil + +- Update to 0.1.44 (jsc#SLE-24672) + * Add support for zstd compression in .deb files + * Use logging.warning rather than warnings for data problems. + * Support for finding files (including changelog.Debian.gz) that are beyond + a symlink within the package + * Update packaging for zstd compressed .deb code + * Annotate binutils build-dep with + * Update Standards-Version to 4.6.1 + * Various improvements to the round-trip-safe deb822 parser +- Update to 0.1.43 + * Support the Files-Included field in debian/copyright + * Fix URL for API documentation in README.rst + * 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 + * RTS parser: Handle leading tabs for setting values + * RTS parser: Preserve original field case + * RTS parser: Expose str type for keys in paragraphs +- Update to 0.1.42 + * Use logging for warnings about data that's being read, rather than + the warnings module + * Fix type checks for mypy 0.910 + * Silence lintian complaint about touching the dpkg database in the + examples + * Update Standards-Version to 4.6.0 + * Add RTS parser to setup.py so that it is installed. + * Add copyright attribution for RTS parser + * RTS parser: Accept tabs as continuation line marker + * Interpretation: Preserve tab as continuation line if used + * RTS parser: Make value interpretation tokenization consistent + * RTS parser: Add interpretation for Uploaders field +- Update to 0.1.41 + * Drop use of six + * Add contextmanager to DebFile + * Added format/comment preserving deb822 parser as debian._deb822_repro. + * Add Build-Depends-Arch, Build-Conflicts-Arch to list of relationship + fields +- Update to 0.1.40 + * In debian.changelog.get_maintainer, cope with unknown UIDs + * Fix examples in code + * Numerous enhancements to the deb822.BuildInfo class + * Include portability patch for pwd module on Windows + * Drop the deb822.BuildInfo.get_debian_suite function +- Update to 0.1.39 + * Move re.compile calls out of functions + * Revert unintended renaming of Changelog.get_version/set_version + * Add a type for .buildinfo files (deb822.BuildInfo) + * Add support for SHA1-Download and SHA256-* variants in PdiffIndex class + for .diff/Index files + * Permit single-character package names in dependency relationship + specifications + * 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 + * Allow debian_support.PackageFile to accept StringIO as well as BytesIO + * Change handling of case-insensitive field names to allow Deb822 objects + to be serialised + * 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 +- Update to 0.1.38 + * 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 + * 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 +- Update to 0.1.37 + * Drop python2 support + * Update Standards-Version to 4.5.0 (no changes required) + * Add Rules-Requires-Root: no + * Parse Built-Using relationship fields + +------------------------------------------------------------------- +Thu Sep 5 12:53:52 UTC 2019 - Carmen Bianca Bakker + +- Update to 0.1.36 + * Update Standards-Version to 4.4.0 (no changes required). + * Update to debhelper-compat 12. + * Extend Deb822 parser to allow underscores in the field name + * Add accessors for Version objects from Deb822 + * Miscellaneous bug fixes. + +------------------------------------------------------------------- +Mon Nov 5 18:34:12 UTC 2018 - Matej Cepl + +- Remove superfluous devel dependency for noarch package + +------------------------------------------------------------------- +Tue Dec 19 10:50:04 UTC 2017 - carmen@carmenbianca.eu + +- Created package, version 0.1.31. diff --git a/python-python-debian.spec b/python-python-debian.spec new file mode 100644 index 0000000..81c5df6 --- /dev/null +++ b/python-python-debian.spec @@ -0,0 +1,72 @@ +# +# spec file for package python-python-debian +# +# Copyright (c) 2025 SUSE LLC and contributors +# Copyright (c) 2017 Free Software Foundation Europe e.V. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: python-python-debian +Version: 1.0.1 +Release: 0 +Summary: Debian package related modules +License: GPL-3.0-or-later +URL: https://salsa.debian.org/python-debian-team/python-debian +Source: https://salsa.debian.org/python-debian-team/python-debian/-/archive/%{version}/python-debian-%{version}.tar.gz +BuildRequires: %{python_module pip} +BuildRequires: %{python_module pytest} +BuildRequires: %{python_module setuptools_scm} +BuildRequires: %{python_module setuptools} +BuildRequires: fdupes +BuildRequires: gpg2 +BuildRequires: python-rpm-macros +Requires: python-charset-normalizer +Requires: zstd +BuildArch: noarch +Provides: python-debian = %{version}-%{release} +Obsoletes: python-debian < %{version}-%{release} +%python_subpackages + +%description +This is a collection of modules that are for dealing with Debian related +data. Currently handled are: + +* Debtags information (debian.debtags module) +* debian/changelog (debian.changelog module) +* Packages files, pdiffs (debian.debian_support module) +* Control files of single or multiple RFC822-style paragraphs, e.g. + debian/control, .changes, .dsc, Packages, Sources, Release, etc. + (debian.deb822 module) +* Raw .deb and .ar files, with (read-only) access to contained + files and meta-information + +%prep +%setup -q -n python-debian-%{version} + +%build +%pyproject_wheel + +%install +%pyproject_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} + +%check +%pytest + +%files %{python_files} +%doc README.rst +%{python_sitelib}/debian +%{python_sitelib}/python_debian-%{version}.dist-info + +%changelog