summaryrefslogtreecommitdiff
path: root/dev-python/python-debian
diff options
context:
space:
mode:
authorPalica <palica+gitlab@liguros.net>2020-06-23 22:35:08 +0200
committerPalica <palica+gitlab@liguros.net>2020-06-23 22:35:08 +0200
commitecdac123787b96ce6649f0f91da12ea6458cc2b1 (patch)
treeb89c74d9e6fe6e8aebc4c77bcbeb4ab73214127d /dev-python/python-debian
parent1be72aa41cf41dedadeecf59dca9f01de6381f5e (diff)
downloadbaldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.gz
baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.xz
baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.zip
Updating liguros repo
Diffstat (limited to 'dev-python/python-debian')
-rw-r--r--dev-python/python-debian/Manifest1
-rw-r--r--dev-python/python-debian/files/0.1.36-disable-apt-pkg.patch140
-rw-r--r--dev-python/python-debian/metadata.xml13
-rw-r--r--dev-python/python-debian/python-debian-0.1.36.ebuild40
4 files changed, 194 insertions, 0 deletions
diff --git a/dev-python/python-debian/Manifest b/dev-python/python-debian/Manifest
new file mode 100644
index 000000000000..753a3e481852
--- /dev/null
+++ b/dev-python/python-debian/Manifest
@@ -0,0 +1 @@
+DIST python-debian_0.1.36.tar.xz 308364 BLAKE2B 1cc7e2844db8143a3a4cc4f59c4bbb90bb90ab024b2524335d8ab69947ffe8c64b2b41a54a5d199cd287a3d6b6a0173c75be708af9aedfeb871e354ac1873528 SHA512 3f2ca6d86f6b6d383a1628021a77d19b562b0c409d204dba4de6968d2cdd2c8fb4aa882429fa1ce6af5361352f7a51b339c481dd47937cb103a08132379d77c5
diff --git a/dev-python/python-debian/files/0.1.36-disable-apt-pkg.patch b/dev-python/python-debian/files/0.1.36-disable-apt-pkg.patch
new file mode 100644
index 000000000000..b497986b6dab
--- /dev/null
+++ b/dev-python/python-debian/files/0.1.36-disable-apt-pkg.patch
@@ -0,0 +1,140 @@
+From 76b7c4e7d16e8f792323f8d14ebdb1678d9d12b0 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Sat, 30 Nov 2019 23:18:05 -0500
+Subject: [PATCH] Disable apt_pkg support
+
+---
+ lib/debian/deb822.py | 4 +--
+ lib/debian/tests/test_deb822.py | 53 ---------------------------------
+ 2 files changed, 2 insertions(+), 55 deletions(-)
+
+diff --git a/lib/debian/deb822.py b/lib/debian/deb822.py
+index c679f4b..2e85956 100644
+--- a/lib/debian/deb822.py
++++ b/lib/debian/deb822.py
+@@ -1913,7 +1913,7 @@ class Sources(Dsc, _PkgRelationMixin):
+ def iter_paragraphs(cls,
+ sequence, # type: IterableInputDataType
+ fields=None, # type: Optional[List[str]]
+- use_apt_pkg=True, # type: bool
++ use_apt_pkg=False, # type: bool
+ shared_storage=False, # type: bool
+ encoding="utf-8", # type: str
+ strict=None, # type: Optional[Dict]
+@@ -1955,7 +1955,7 @@ class Packages(Deb822, _PkgRelationMixin, _VersionAccessorMixin):
+ def iter_paragraphs(cls,
+ sequence, # type: IterableInputDataType
+ fields=None, # type: Optional[List[str]]
+- use_apt_pkg=True, # type: bool
++ use_apt_pkg=False, # type: bool
+ shared_storage=False, # type: bool
+ encoding="utf-8", # type: str
+ strict=None, # type: Optional[Dict]
+diff --git a/lib/debian/tests/test_deb822.py b/lib/debian/tests/test_deb822.py
+index 7101727..64a724c 100755
+--- a/lib/debian/tests/test_deb822.py
++++ b/lib/debian/tests/test_deb822.py
+@@ -40,8 +40,6 @@ else:
+ from StringIO import StringIO
+ BytesIO = StringIO
+
+-import apt_pkg #type: ignore
+-
+ from debian import deb822
+ from debian.debian_support import Version
+
+@@ -465,11 +463,6 @@ class TestDeb822(unittest.TestCase):
+ for d in deb822.Deb822.iter_paragraphs(text, use_apt_pkg=False):
+ self.assertWellParsed(d, PARSED_PACKAGE)
+
+- with self.assertWarns(UserWarning):
+- # The StringIO is not a real file so this will raise a warning
+- for d in deb822.Deb822.iter_paragraphs(text, use_apt_pkg=True):
+- self.assertWellParsed(d, PARSED_PACKAGE)
+-
+ def test_iter_paragraphs_file(self):
+ text = StringIO()
+ text.write(UNPARSED_PACKAGE)
+@@ -487,10 +480,6 @@ class TestDeb822(unittest.TestCase):
+ for d in deb822.Deb822.iter_paragraphs(fh, use_apt_pkg=False):
+ self.assertWellParsed(d, PARSED_PACKAGE)
+
+- fh.seek(0)
+- for d in deb822.Deb822.iter_paragraphs(fh, use_apt_pkg=True):
+- self.assertWellParsed(d, PARSED_PACKAGE)
+-
+
+ def test_iter_paragraphs_with_gpg(self):
+ for string in GPG_SIGNED:
+@@ -556,12 +545,7 @@ class TestDeb822(unittest.TestCase):
+ test_count(deb822.Deb822.iter_paragraphs, 2)
+ test_count(deb822.Deb822.iter_paragraphs, 2, use_apt_pkg=False)
+
+- # apt_pkg used, should not split
+- test_count(deb822.Deb822.iter_paragraphs, 1, use_apt_pkg=True)
+-
+ # Specialised iter_paragraphs force use of apt_pkg and don't split
+- test_count(deb822.Packages.iter_paragraphs, 1, use_apt_pkg=True)
+- test_count(deb822.Sources.iter_paragraphs, 1, use_apt_pkg=True)
+ test_count(deb822.Packages.iter_paragraphs, 1, use_apt_pkg=False)
+ test_count(deb822.Sources.iter_paragraphs, 1, use_apt_pkg=False)
+
+@@ -607,27 +591,11 @@ class TestDeb822(unittest.TestCase):
+ s.write(b"\n")
+ self.assertEqual(s.getvalue(), packages_content)
+
+- def test_iter_paragraphs_apt_shared_storage_packages(self):
+- self._test_iter_paragraphs(find_test_file("test_Packages"),
+- deb822.Packages,
+- use_apt_pkg=True, shared_storage=True)
+- def test_iter_paragraphs_apt_no_shared_storage_packages(self):
+- self._test_iter_paragraphs(find_test_file("test_Packages"),
+- deb822.Packages,
+- use_apt_pkg=True, shared_storage=False)
+ def test_iter_paragraphs_no_apt_no_shared_storage_packages(self):
+ self._test_iter_paragraphs(find_test_file("test_Packages"),
+ deb822.Packages,
+ use_apt_pkg=False, shared_storage=False)
+
+- def test_iter_paragraphs_apt_shared_storage_sources(self):
+- self._test_iter_paragraphs(find_test_file("test_Sources"),
+- deb822.Sources,
+- use_apt_pkg=True, shared_storage=True)
+- def test_iter_paragraphs_apt_no_shared_storage_sources(self):
+- self._test_iter_paragraphs(find_test_file("test_Sources"),
+- deb822.Sources,
+- use_apt_pkg=True, shared_storage=False)
+ def test_iter_paragraphs_no_apt_no_shared_storage_sources(self):
+ self._test_iter_paragraphs(find_test_file("test_Sources"),
+ deb822.Sources,
+@@ -973,27 +941,6 @@ Description: python modules to work with Debian-related data formats
+ self.assertWellParsed(paragraphs[i],
+ PARSED_PARAGRAPHS_WITH_COMMENTS[i])
+
+- def test_iter_paragraphs_comments_use_apt_pkg(self):
+- """ apt_pkg does not support comments within multiline fields
+-
+- This test checks that a file with comments inside multiline fields
+- generates an error from the apt_pkg parser.
+-
+- See also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=750247#35
+- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=807351
+- """
+- try:
+- fd, filename = tempfile.mkstemp()
+- fp = os.fdopen(fd, 'wb')
+- fp.write(UNPARSED_PARAGRAPHS_WITH_COMMENTS.encode('utf-8'))
+- fp.close()
+-
+- with open_utf8(filename) as fh:
+- with self.assertRaises(apt_pkg.Error):
+- list(deb822.Deb822.iter_paragraphs(fh, use_apt_pkg=True))
+- finally:
+- os.remove(filename)
+-
+ def test_iter_paragraphs_comments_native(self):
+ paragraphs = list(deb822.Deb822.iter_paragraphs(
+ UNPARSED_PARAGRAPHS_WITH_COMMENTS.splitlines(), use_apt_pkg=False))
+--
+2.24.0
+
diff --git a/dev-python/python-debian/metadata.xml b/dev-python/python-debian/metadata.xml
new file mode 100644
index 000000000000..a193458e1fd2
--- /dev/null
+++ b/dev-python/python-debian/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>floppym@gentoo.org</email>
+ <name>Mike Gilbert</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-python/python-debian/python-debian-0.1.36.ebuild b/dev-python/python-debian/python-debian-0.1.36.ebuild
new file mode 100644
index 000000000000..78fab194385a
--- /dev/null
+++ b/dev-python/python-debian/python-debian-0.1.36.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{6,7,8} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python modules to work with Debian-related data formats"
+HOMEPAGE="https://packages.debian.org/sid/python-debian"
+SRC_URI="mirror://debian/pool/main/${P:0:1}/${PN}/${PN}_${PV}.tar.xz"
+
+LICENSE="GPL-2 GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+
+BDEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ app-arch/dpkg
+ $(python_gen_cond_dep 'dev-python/unittest2[${PYTHON_USEDEP}]' -2)
+ )
+"
+
+PATCHES=( "${FILESDIR}/0.1.36-disable-apt-pkg.patch" )
+
+python_compile_all() {
+ ${EPYTHON} lib/debian/doc-debtags > README.debtags || die
+}
+
+python_test() {
+ ${EPYTHON} -m unittest discover --verbose lib || die "Testing failed with ${EPYTHON}"
+}