dev-util/diffoscope: drop 230, 231-r1

Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sam James
2023-01-14 23:18:28 +00:00
parent c47b1470a1
commit c02cc85d11
4 changed files with 0 additions and 436 deletions

View File

@@ -1,4 +1,2 @@
DIST diffoscope-229.tar.gz 3164192 BLAKE2B bee9fa1561ddcfde98cfa44cd6d66a28c636dbc7f3ec1f4895e91dfd3b66c039b68d53be0528b94c112552069886c3c81de4d9b9bc9038d183afdc9fdde6ddb9 SHA512 825c9c33f3088ba082ea3b998594445987558ee62b8b1fbfcded9b72a739faaa73908f8753b8772b3b1a8a43dbcfd52978265a18bdd92605defcd174884ccb23
DIST diffoscope-230.tar.gz 3164600 BLAKE2B f5ad44ff36d07fc5724895e661e0946b292146d004e97159fef1cb58ff38669702a3990740e4ea34300a9b48aeb10263aeb6bb332da3ec987c355ed5b910fedd SHA512 e025e5f95ae2fb9de466b886c58a44f64e0f654fb049bf9f035209fe7ca1fd0ccc14a382b17085c13bc9f2be0d368482d57a071a577cb87628ae7eb0060158ad
DIST diffoscope-231.tar.gz 3164686 BLAKE2B 5fe1546f63a047def4d1c9acc94360085be87460de1c106381532d937d1ad16be64749b9021caa7980a61a0dfd822ed7163e0f52bb0cab0520962b84bb184650 SHA512 544510de0790fc8f0c62030bc557f923bad6d5c39b7364e9944ebcf9bc5c1ecf2b9ecc91cf9142e54a23b1f004f53e96ed5b6f2f4637fa76cebd2ed7d0e4721d
DIST diffoscope-232.tar.gz 3164825 BLAKE2B a65ff66881cf67cdfd32eb1e14bf654c152447799415f686d774f30f7d3ec61b5de8f1caf4b3551312be7f2ab93187ea145b6bf96c7790cc3792221d621cdeb3 SHA512 7b8ae407e4e1b3c5085fa26f9477b75e3918a99b2d60498a7d939f06a3018bc5f6ca417d041a39dc769ef897a189c0dfdf6d35851b945c3e28b16f290bddb630

View File

@@ -1,120 +0,0 @@
# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9..11} )
PYTHON_REQ_USE="ncurses"
inherit distutils-r1
DESCRIPTION="Will try to get to the bottom of what makes files or directories different"
HOMEPAGE="https://diffoscope.org/ https://pypi.org/project/diffoscope/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc64 ~x86"
IUSE="acl binutils bzip2 libcaca colord cpio +diff docx dtc e2fsprogs file
find gettext gif gpg haskell hdf5 hex imagemagick iso java llvm lzma
mono opendocument pascal pdf postscript R rpm sqlite squashfs
ssh tar test tcpdump zip zlib zstd"
RESTRICT="!test? ( test )"
RDEPEND="
dev-python/python-magic[${PYTHON_USEDEP}]
dev-python/libarchive-c[${PYTHON_USEDEP}]
dev-python/distro[${PYTHON_USEDEP}]
dev-python/tlsh[${PYTHON_USEDEP}]
acl? ( sys-apps/acl )
binutils? ( sys-devel/binutils )
bzip2? ( app-arch/bzip2 )
libcaca? ( media-libs/libcaca )
colord? ( x11-misc/colord )
cpio? ( app-arch/cpio )
diff? ( sys-apps/diffutils )
docx? ( app-text/docx2txt )
dtc? ( sys-apps/dtc )
e2fsprogs? ( sys-fs/e2fsprogs )
file? ( sys-apps/file )
find? ( sys-apps/findutils )
gettext? ( sys-devel/gettext )
gif? ( media-libs/giflib )
gpg? ( app-crypt/gnupg )
haskell? ( dev-lang/ghc )
hdf5? ( sci-libs/hdf5 )
hex? ( app-editors/vim-core )
imagemagick? ( media-gfx/imagemagick )
iso? ( app-cdr/cdrtools )
java? ( virtual/jdk )
llvm? ( sys-devel/llvm )
lzma? ( app-arch/xz-utils )
mono? ( dev-lang/mono )
opendocument? ( app-text/odt2txt )
pascal? ( dev-lang/fpc )
pdf? (
app-text/pdftk
app-text/poppler
dev-python/PyPDF2[${PYTHON_USEDEP}]
)
postscript? ( app-text/ghostscript-gpl )
R? ( dev-lang/R )
rpm? ( app-arch/rpm )
sqlite? ( dev-db/sqlite:3 )
squashfs? ( sys-fs/squashfs-tools )
ssh? ( net-misc/openssh )
tar? ( app-arch/tar )
tcpdump? ( net-analyzer/tcpdump )
zip? ( app-arch/unzip )
zlib? ( app-arch/gzip )
zstd? ( app-arch/zstd )
"
# Presence of filemagic's magic.py breaks imports
# of dev-python/python-magic: bug #716482
RDEPEND+=" !dev-python/filemagic"
# pull in optional tools for tests:
# img2txt: bug #797688
# docx2txt: bug #797688
BDEPEND="
test? (
app-text/docx2txt
app-text/html2text
media-libs/libcaca
virtual/imagemagick-tools[jpeg]
)
"
EPYTEST_DESELECT=(
# Test seems to use different tarball
tests/test_presenters.py::test_text_proper_indentation
# Needs triage
tests/comparators/test_binary.py::test_with_compare_details_and_tool_not_found
tests/comparators/test_rlib.py::test_item3_deflate_llvm_bitcode
tests/comparators/test_gif.py::test_has_visuals
# img2txt based failures, bug #797688
tests/comparators/test_ico_image.py::test_diff
tests/comparators/test_ico_image.py::test_diff_meta
tests/comparators/test_ico_image.py::test_diff_meta2
tests/comparators/test_ico_image.py::test_has_visuals
tests/comparators/test_jpeg_image.py::test_diff
tests/comparators/test_jpeg_image.py::test_compare_non_existing
tests/comparators/test_jpeg_image.py::test_diff_meta
tests/comparators/test_jpeg_image.py::test_has_visuals
# docx2txt based falures, bug #797688
tests/comparators/test_docx.py::test_diff
# Formatting
tests/test_source.py::test_code_is_black_clean
# Fails on ZFS
tests/test_main.py::test_non_unicode_filename
# Fails on (unreleased) LLVM 16 with minor difference
tests/comparators/test_macho.py::test_llvm_diff
)
distutils_enable_tests pytest

View File

@@ -1,124 +0,0 @@
# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9..11} )
PYTHON_REQ_USE="ncurses"
inherit distutils-r1
DESCRIPTION="Will try to get to the bottom of what makes files or directories different"
HOMEPAGE="https://diffoscope.org/ https://pypi.org/project/diffoscope/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc64 ~x86"
IUSE="acl binutils bzip2 libcaca colord cpio +diff docx dtc e2fsprogs file
find gettext gif gpg haskell hdf5 hex imagemagick iso java llvm lzma
mono opendocument pascal pdf postscript R rpm sqlite squashfs
ssh tar test tcpdump zip zlib zstd"
RESTRICT="!test? ( test )"
RDEPEND="
dev-python/python-magic[${PYTHON_USEDEP}]
dev-python/libarchive-c[${PYTHON_USEDEP}]
dev-python/distro[${PYTHON_USEDEP}]
dev-python/tlsh[${PYTHON_USEDEP}]
acl? ( sys-apps/acl )
binutils? ( sys-devel/binutils )
bzip2? ( app-arch/bzip2 )
libcaca? ( media-libs/libcaca )
colord? ( x11-misc/colord )
cpio? ( app-arch/cpio )
diff? ( sys-apps/diffutils )
docx? ( app-text/docx2txt )
dtc? ( sys-apps/dtc )
e2fsprogs? ( sys-fs/e2fsprogs )
file? ( sys-apps/file )
find? ( sys-apps/findutils )
gettext? ( sys-devel/gettext )
gif? ( media-libs/giflib )
gpg? ( app-crypt/gnupg )
haskell? ( dev-lang/ghc )
hdf5? ( sci-libs/hdf5 )
hex? ( app-editors/vim-core )
imagemagick? ( media-gfx/imagemagick )
iso? ( app-cdr/cdrtools )
java? ( virtual/jdk )
llvm? ( sys-devel/llvm )
lzma? ( app-arch/xz-utils )
mono? ( dev-lang/mono )
opendocument? ( app-text/odt2txt )
pascal? ( dev-lang/fpc )
pdf? (
app-text/pdftk
app-text/poppler
dev-python/pypdf[${PYTHON_USEDEP}]
)
postscript? ( app-text/ghostscript-gpl )
R? ( dev-lang/R )
rpm? ( app-arch/rpm )
sqlite? ( dev-db/sqlite:3 )
squashfs? ( sys-fs/squashfs-tools )
ssh? ( net-misc/openssh )
tar? ( app-arch/tar )
tcpdump? ( net-analyzer/tcpdump )
zip? ( app-arch/unzip )
zlib? ( app-arch/gzip )
zstd? ( app-arch/zstd )
"
# Presence of filemagic's magic.py breaks imports
# of dev-python/python-magic: bug #716482
RDEPEND+=" !dev-python/filemagic"
# pull in optional tools for tests:
# img2txt: bug #797688
# docx2txt: bug #797688
BDEPEND="
test? (
app-text/docx2txt
app-text/html2text
media-libs/libcaca
virtual/imagemagick-tools[jpeg]
)
"
EPYTEST_DESELECT=(
# Test seems to use different tarball
tests/test_presenters.py::test_text_proper_indentation
# Needs triage
tests/comparators/test_binary.py::test_with_compare_details_and_tool_not_found
tests/comparators/test_rlib.py::test_item3_deflate_llvm_bitcode
tests/comparators/test_gif.py::test_has_visuals
# img2txt based failures, bug #797688
tests/comparators/test_ico_image.py::test_diff
tests/comparators/test_ico_image.py::test_diff_meta
tests/comparators/test_ico_image.py::test_diff_meta2
tests/comparators/test_ico_image.py::test_has_visuals
tests/comparators/test_jpeg_image.py::test_diff
tests/comparators/test_jpeg_image.py::test_compare_non_existing
tests/comparators/test_jpeg_image.py::test_diff_meta
tests/comparators/test_jpeg_image.py::test_has_visuals
# docx2txt based falures, bug #797688
tests/comparators/test_docx.py::test_diff
# Formatting
tests/test_source.py::test_code_is_black_clean
# Fails on ZFS
tests/test_main.py::test_non_unicode_filename
# Fails on (unreleased) LLVM 16 with minor difference
tests/comparators/test_macho.py::test_llvm_diff
)
PATCHES=(
"${FILESDIR}"/${PN}-231-pypdf.patch
)
distutils_enable_tests pytest

View File

@@ -1,190 +0,0 @@
https://salsa.debian.org/reproducible-builds/diffoscope/-/commit/6aed2e5320b5d412f0f81a36dd493ae4bd7c3ff4
https://bugs.gentoo.org/889250
From 6aed2e5320b5d412f0f81a36dd493ae4bd7c3ff4 Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Mon, 9 Jan 2023 04:05:09 +0000
Subject: [PATCH] Support PyPDF version 3.
pypdf upstream has renamed the package from PyPDF2 to pypdf. This patch
supporst the new pypdf version while keeping compatibility for older PyPDF2,
adjusting to API changes.
Signed-off-by: Chris Lamb <lamby@debian.org>
--- a/diffoscope.egg-info/requires.txt
+++ b/diffoscope.egg-info/requires.txt
@@ -11,7 +11,7 @@ binwalk
defusedxml
guestfs
jsondiff
-pypdf2
+pypdf
python-debian
pyxattr
rpm-python
--- a/diffoscope/comparators/pdf.py
+++ b/diffoscope/comparators/pdf.py
@@ -34,17 +34,23 @@ from .utils.command import Command
logger = logging.getLogger(__name__)
try:
- import PyPDF2
+ try:
+ import pypdf
+ except ImportError:
+ import PyPDF2
try:
- # PyPDF 2.x
- from PyPDF2.errors import PdfReadError
+ from pypdf.errors import PdfReadError
except ImportError:
- # PyPDF 1.x
- from PyPDF2.utils import PdfReadError
+ try:
+ # PyPDF 2.x
+ from PyPDF2.errors import PdfReadError
+ except ImportError:
+ # PyPDF 1.x
+ from PyPDF2.utils import PdfReadError
except ImportError: # noqa
- python_module_missing("PyPDF2")
+ python_module_missing("pypdf")
PyPDF2 = None
@@ -68,10 +74,10 @@ class PdfFile(File):
xs = []
if PyPDF2 is None:
- pkg = get_package_provider("pypdf2")
+ pkg = get_package_provider("pypdf")
infix = f" from the '{pkg}' package " if pkg else " "
self.add_comment(
- f"Installing the 'PyPDF2' Python module{infix}may produce a better output."
+ f"Installing the 'pypdf' Python module{infix}may produce a better output."
)
else:
difference = Difference.from_text(
@@ -119,7 +125,7 @@ class PdfFile(File):
return "\n".join(xs)
except PdfReadError as e:
- msg = f"Could not extract PyPDF2 metadata from {os.path.basename(file.name)}: {e}"
+ msg = f"Could not extract pypdf metadata from {os.path.basename(file.name)}: {e}"
self.add_comment(msg)
logger.error(msg)
return ""
@@ -142,7 +148,7 @@ class PdfFile(File):
return "\n".join(xs)
except PdfReadError as e:
- msg = f"Could not extract PyPDF2 annotations from {os.path.basename(file.name)}: {e}"
+ msg = f"Could not extract pypdf annotations from {os.path.basename(file.name)}: {e}"
file.add_comment(msg)
logger.error(msg)
return ""
--- a/setup.py
+++ b/setup.py
@@ -66,7 +66,7 @@ setup(
"guestfs",
"jsondiff",
"python-debian",
- "pypdf2",
+ "pypdf",
"pyxattr",
"rpm-python",
"tlsh",
--- a/tests/comparators/test_pdf.py
+++ b/tests/comparators/test_pdf.py
@@ -70,7 +70,7 @@ def differences_metadata(pdf1, pdf1a):
@skip_unless_tools_exist("pdftotext")
-@skip_unless_module_exists("PyPDF2")
+@skip_unless_module_exists("pypdf")
def test_metadata(differences_metadata):
assert_diff(differences_metadata[0], "pdf_metadata_expected_diff")
@@ -81,7 +81,7 @@ def differences_annotations(pdf3, pdf4):
@skip_unless_tools_exist("pdftotext")
-@skip_unless_module_exists("PyPDF2")
+@skip_unless_module_exists("pypdf")
def test_annotations(differences_annotations):
with open("tests/data/pdf_annotations_expected_diff", "w") as f:
f.write(differences_annotations[0].unified_diff)
--- a/diffoscope/comparators/pdf.py
+++ b/diffoscope/comparators/pdf.py
@@ -38,6 +38,7 @@ try:
import pypdf
except ImportError:
import PyPDF2
+ pypdf = PyPDF2
try:
from pypdf.errors import PdfReadError
@@ -51,7 +52,7 @@ try:
except ImportError: # noqa
python_module_missing("pypdf")
- PyPDF2 = None
+ pypdf = None
class Pdftotext(Command):
@@ -73,7 +74,7 @@ class PdfFile(File):
def compare_details(self, other, source=None):
xs = []
- if PyPDF2 is None:
+ if pypdf is None:
pkg = get_package_provider("pypdf")
infix = f" from the '{pkg}' package " if pkg else " "
self.add_comment(
@@ -113,7 +114,7 @@ class PdfFile(File):
def dump_pypdf2_metadata(self, file):
try:
- pdf = PyPDF2.PdfFileReader(file.path)
+ pdf = pypdf.PdfReader(file.path)
document_info = pdf.getDocumentInfo()
if document_info is None:
@@ -133,10 +133,10 @@ class PdfFile(File):
def dump_pypdf2_annotations(self, file):
try:
- pdf = PyPDF2.PdfFileReader(file.path)
+ pdf = pypdf.PdfReader(file.path)
xs = []
- for x in range(pdf.getNumPages()):
+ for x in range(len(pdf.pages)):
page = pdf.getPage(x)
try:
--- a/diffoscope/comparators/pdf.py
+++ b/diffoscope/comparators/pdf.py
@@ -115,7 +115,7 @@ class PdfFile(File):
def dump_pypdf2_metadata(self, file):
try:
pdf = pypdf.PdfReader(file.path)
- document_info = pdf.getDocumentInfo()
+ document_info = pdf.metadata
if document_info is None:
return ""
--- a/diffoscope/comparators/pdf.py
+++ b/diffoscope/comparators/pdf.py
@@ -137,7 +137,7 @@ class PdfFile(File):
xs = []
for x in range(len(pdf.pages)):
- page = pdf.getPage(x)
+ page = pdf.pages[x]
try:
for annot in page["/Annots"]: