Gentoo Archives: gentoo-commits

From: Mike Gilbert <floppym@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/python-debian/files/, dev-python/python-debian/
Date: Tue, 09 Feb 2021 03:40:37
Message-Id: 1612841319.33b7cd31557ae4a01541d2150e1a1c389dd0d861.floppym@gentoo
1 commit: 33b7cd31557ae4a01541d2150e1a1c389dd0d861
2 Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
3 AuthorDate: Tue Feb 9 03:27:19 2021 +0000
4 Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
5 CommitDate: Tue Feb 9 03:28:39 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=33b7cd31
7
8 dev-python/python-debian: bump to 0.1.39
9
10 Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
11
12 dev-python/python-debian/Manifest | 1 +
13 .../files/0.1.39-disable-apt-pkg.patch | 146 +++++++++++++++++++++
14 .../python-debian/python-debian-0.1.39.ebuild | 37 ++++++
15 3 files changed, 184 insertions(+)
16
17 diff --git a/dev-python/python-debian/Manifest b/dev-python/python-debian/Manifest
18 index dd13908e41f..4d7fbb7f743 100644
19 --- a/dev-python/python-debian/Manifest
20 +++ b/dev-python/python-debian/Manifest
21 @@ -1 +1,2 @@
22 DIST python-debian_0.1.37.tar.xz 308568 BLAKE2B 7747ed21d3d6e06d5342ace6de83b79a93c76e44e8fd6d5738575e154f6d55dacd5dbb27d0210fac6f0a9db95b6d95b1fb9106da64ffbe7f77ec9d1a3e829d49 SHA512 0c13d6ee008bdcdfc28ac35d031a8486994a79a90d6b817349f09936c798211333604fd967bfde720fbc6b089bbec8e52b8c0977c430517e6f8c23d370fdff7c
23 +DIST python-debian_0.1.39.tar.xz 319020 BLAKE2B de38ddc6e4878404f9685a264e1198e513cb57f7bfea064e4512ee00049d007b6007ee7fea42e18bd2f12dc8132582fbea2235694b5f908c9ae5cbc830cfe98a SHA512 de29ef224a17b149dde8cf6bb4b9fe77aa1fdfc040463163fb97f7e4ed283f16af43422e26c352183fd74e9e0ff6b41a91ee18c63b5534d5c9de2ef663c8f4df
24
25 diff --git a/dev-python/python-debian/files/0.1.39-disable-apt-pkg.patch b/dev-python/python-debian/files/0.1.39-disable-apt-pkg.patch
26 new file mode 100644
27 index 00000000000..6765b2f6c3a
28 --- /dev/null
29 +++ b/dev-python/python-debian/files/0.1.39-disable-apt-pkg.patch
30 @@ -0,0 +1,146 @@
31 +From e87972d4ae499d7049338ddb0d5009b6527a93dc Mon Sep 17 00:00:00 2001
32 +From: Mike Gilbert <floppym@g.o>
33 +Date: Mon, 8 Feb 2021 22:24:33 -0500
34 +Subject: [PATCH] Disable apt_pkg support
35 +
36 +---
37 + lib/debian/deb822.py | 4 +--
38 + lib/debian/tests/test_deb822.py | 58 ---------------------------------
39 + 2 files changed, 2 insertions(+), 60 deletions(-)
40 +
41 +diff --git a/lib/debian/deb822.py b/lib/debian/deb822.py
42 +index 46cf81a..158033f 100644
43 +--- a/lib/debian/deb822.py
44 ++++ b/lib/debian/deb822.py
45 +@@ -2286,7 +2286,7 @@ class Sources(Dsc, _PkgRelationMixin):
46 + def iter_paragraphs(cls,
47 + sequence, # type: InputDataType
48 + fields=None, # type: Optional[List[str]]
49 +- use_apt_pkg=True, # type: bool
50 ++ use_apt_pkg=False, # type: bool
51 + shared_storage=False, # type: bool
52 + encoding="utf-8", # type: str
53 + strict=None, # type: Optional[Dict[str, bool]]
54 +@@ -2328,7 +2328,7 @@ class Packages(Deb822, _PkgRelationMixin, _VersionAccessorMixin):
55 + def iter_paragraphs(cls,
56 + sequence, # type: InputDataType
57 + fields=None, # type: Optional[List[str]]
58 +- use_apt_pkg=True, # type: bool
59 ++ use_apt_pkg=False, # type: bool
60 + shared_storage=False, # type: bool
61 + encoding="utf-8", # type: str
62 + strict=None, # type: Optional[Dict[str, bool]]
63 +diff --git a/lib/debian/tests/test_deb822.py b/lib/debian/tests/test_deb822.py
64 +index f386391..7fb11fa 100755
65 +--- a/lib/debian/tests/test_deb822.py
66 ++++ b/lib/debian/tests/test_deb822.py
67 +@@ -42,8 +42,6 @@ else:
68 + from StringIO import StringIO
69 + BytesIO = StringIO
70 +
71 +-import apt_pkg
72 +-
73 + from debian import deb822
74 + from debian.debian_support import Version
75 +
76 +@@ -541,11 +539,6 @@ with open("test_deb822.pickle", "wb") as fh:
77 + for d in deb822.Deb822.iter_paragraphs(text, use_apt_pkg=False):
78 + self.assertWellParsed(d, PARSED_PACKAGE)
79 +
80 +- with self.assertWarns(UserWarning):
81 +- # The StringIO is not a real file so this will raise a warning
82 +- for d in deb822.Deb822.iter_paragraphs(text, use_apt_pkg=True):
83 +- self.assertWellParsed(d, PARSED_PACKAGE)
84 +-
85 + def test_iter_paragraphs_file(self):
86 + # type: () -> None
87 + text = StringIO()
88 +@@ -564,10 +557,6 @@ with open("test_deb822.pickle", "wb") as fh:
89 + for d in deb822.Deb822.iter_paragraphs(fh, use_apt_pkg=False):
90 + self.assertWellParsed(d, PARSED_PACKAGE)
91 +
92 +- fh.seek(0)
93 +- for d in deb822.Deb822.iter_paragraphs(fh, use_apt_pkg=True):
94 +- self.assertWellParsed(d, PARSED_PACKAGE)
95 +-
96 +
97 + def test_iter_paragraphs_with_gpg(self):
98 + # type: () -> None
99 +@@ -640,12 +629,7 @@ with open("test_deb822.pickle", "wb") as fh:
100 + test_count(deb822.Deb822.iter_paragraphs, 2)
101 + test_count(deb822.Deb822.iter_paragraphs, 2, use_apt_pkg=False)
102 +
103 +- # apt_pkg used, should not split
104 +- test_count(deb822.Deb822.iter_paragraphs, 1, use_apt_pkg=True)
105 +-
106 + # Specialised iter_paragraphs force use of apt_pkg and don't split
107 +- test_count(deb822.Packages.iter_paragraphs, 1, use_apt_pkg=True)
108 +- test_count(deb822.Sources.iter_paragraphs, 1, use_apt_pkg=True)
109 + test_count(deb822.Packages.iter_paragraphs, 1, use_apt_pkg=False)
110 + test_count(deb822.Sources.iter_paragraphs, 1, use_apt_pkg=False)
111 +
112 +@@ -692,32 +676,12 @@ with open("test_deb822.pickle", "wb") as fh:
113 + s.write(b"\n")
114 + self.assertEqual(s.getvalue(), packages_content)
115 +
116 +- def test_iter_paragraphs_apt_shared_storage_packages(self):
117 +- # type: () -> None
118 +- self._test_iter_paragraphs(find_test_file("test_Packages"),
119 +- deb822.Packages,
120 +- use_apt_pkg=True, shared_storage=True)
121 +- def test_iter_paragraphs_apt_no_shared_storage_packages(self):
122 +- # type: () -> None
123 +- self._test_iter_paragraphs(find_test_file("test_Packages"),
124 +- deb822.Packages,
125 +- use_apt_pkg=True, shared_storage=False)
126 + def test_iter_paragraphs_no_apt_no_shared_storage_packages(self):
127 + # type: () -> None
128 + self._test_iter_paragraphs(find_test_file("test_Packages"),
129 + deb822.Packages,
130 + use_apt_pkg=False, shared_storage=False)
131 +
132 +- def test_iter_paragraphs_apt_shared_storage_sources(self):
133 +- # type: () -> None
134 +- self._test_iter_paragraphs(find_test_file("test_Sources"),
135 +- deb822.Sources,
136 +- use_apt_pkg=True, shared_storage=True)
137 +- def test_iter_paragraphs_apt_no_shared_storage_sources(self):
138 +- # type: () -> None
139 +- self._test_iter_paragraphs(find_test_file("test_Sources"),
140 +- deb822.Sources,
141 +- use_apt_pkg=True, shared_storage=False)
142 + def test_iter_paragraphs_no_apt_no_shared_storage_sources(self):
143 + # type: () -> None
144 + self._test_iter_paragraphs(find_test_file("test_Sources"),
145 +@@ -1091,28 +1055,6 @@ Description: python modules to work with Debian-related data formats
146 + self.assertWellParsed(paragraphs[i],
147 + PARSED_PARAGRAPHS_WITH_COMMENTS[i])
148 +
149 +- def test_iter_paragraphs_comments_use_apt_pkg(self):
150 +- # type: () -> None
151 +- """ apt_pkg does not support comments within multiline fields
152 +-
153 +- This test checks that a file with comments inside multiline fields
154 +- generates an error from the apt_pkg parser.
155 +-
156 +- See also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=750247#35
157 +- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=807351
158 +- """
159 +- try:
160 +- fd, filename = tempfile.mkstemp()
161 +- fp = os.fdopen(fd, 'wb')
162 +- fp.write(UNPARSED_PARAGRAPHS_WITH_COMMENTS.encode('utf-8'))
163 +- fp.close()
164 +-
165 +- with open_utf8(filename) as fh:
166 +- with self.assertRaises(apt_pkg.Error):
167 +- list(deb822.Deb822.iter_paragraphs(fh, use_apt_pkg=True))
168 +- finally:
169 +- os.remove(filename)
170 +-
171 + def test_iter_paragraphs_comments_native(self):
172 + # type: () -> None
173 + paragraphs = list(deb822.Deb822.iter_paragraphs(
174 +--
175 +2.30.0
176 +
177
178 diff --git a/dev-python/python-debian/python-debian-0.1.39.ebuild b/dev-python/python-debian/python-debian-0.1.39.ebuild
179 new file mode 100644
180 index 00000000000..12bcdea2319
181 --- /dev/null
182 +++ b/dev-python/python-debian/python-debian-0.1.39.ebuild
183 @@ -0,0 +1,37 @@
184 +# Copyright 2011-2021 Gentoo Authors
185 +# Distributed under the terms of the GNU General Public License v2
186 +
187 +EAPI=7
188 +PYTHON_COMPAT=( python3_{7,8,9} )
189 +
190 +inherit distutils-r1
191 +
192 +DESCRIPTION="Python modules to work with Debian-related data formats"
193 +HOMEPAGE="https://salsa.debian.org/python-debian-team/python-debian"
194 +SRC_URI="mirror://debian/pool/main/${P:0:1}/${PN}/${PN}_${PV}.tar.xz"
195 +
196 +LICENSE="GPL-2 GPL-3"
197 +SLOT="0"
198 +KEYWORDS="~amd64 ~arm ~x86"
199 +IUSE="test"
200 +RESTRICT="!test? ( test )"
201 +
202 +RDEPEND="
203 + dev-python/chardet[${PYTHON_USEDEP}]
204 + dev-python/six[${PYTHON_USEDEP}]
205 +"
206 +
207 +BDEPEND="${RDEPEND}
208 + dev-python/setuptools[${PYTHON_USEDEP}]
209 + test? ( app-arch/dpkg )
210 +"
211 +
212 +PATCHES=( "${FILESDIR}/0.1.39-disable-apt-pkg.patch" )
213 +
214 +python_compile_all() {
215 + ${EPYTHON} lib/debian/doc-debtags > README.debtags || die
216 +}
217 +
218 +python_test() {
219 + ${EPYTHON} -m unittest discover --verbose lib || die "Testing failed with ${EPYTHON}"
220 +}