forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Sam James <[email protected]>
- Loading branch information
1 parent
79201ec
commit 1961629
Showing
3 changed files
with
232 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,144 @@ | ||
# Copyright 2022-2024 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=8 | ||
|
||
DISTUTILS_USE_PEP517=setuptools | ||
PYTHON_COMPAT=( python3_{10..13} ) | ||
PYTHON_REQ_USE="ncurses" | ||
inherit distutils-r1 toolchain-funcs | ||
|
||
DESCRIPTION="Will try to get to the bottom of what makes files or directories different" | ||
HOMEPAGE="https://diffoscope.org/ https://pypi.org/project/diffoscope/" | ||
# We could use pypi, but upstream provide distribution tarballs, so let's use those. | ||
# TODO: verify-sig | ||
SRC_URI="https://diffoscope.org/archive/${P}.tar.bz2" | ||
|
||
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}] | ||
sys-apps/file[python,${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-alternatives/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? ( virtual/openssh ) | ||
tar? ( app-arch/tar ) | ||
tcpdump? ( net-analyzer/tcpdump ) | ||
zip? ( app-arch/unzip ) | ||
zlib? ( app-arch/gzip ) | ||
zstd? ( app-arch/zstd ) | ||
" | ||
|
||
# pull in optional tools for tests: | ||
# img2txt: bug #797688 | ||
# docx2txt: bug #797688 | ||
BDEPEND=" | ||
test? ( | ||
app-arch/p7zip | ||
app-text/docx2txt | ||
app-text/html2text | ||
media-libs/libcaca | ||
virtual/imagemagick-tools[jpeg] | ||
) | ||
" | ||
|
||
PATCHES=( | ||
"${FILESDIR}"/${P}-new-zipdetails.patch | ||
) | ||
|
||
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 | ||
#tests/comparators/test_elf.py::test_libmix_differences | ||
) | ||
|
||
distutils_enable_tests pytest | ||
|
||
src_test() { | ||
case $(tc-get-ptr-size) in | ||
4) | ||
EPYTEST_IGNORE+=( | ||
# Needs fixing in Perl itself (bug #934443) | ||
tests/comparators/test_epub.py | ||
tests/comparators/test_zip.py | ||
) | ||
;; | ||
*) | ||
;; | ||
esac | ||
|
||
distutils-r1_src_test | ||
} |
87 changes: 87 additions & 0 deletions
87
dev-util/diffoscope/files/diffoscope-274-new-zipdetails.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
https://salsa.debian.org/reproducible-builds/diffoscope/-/commit/e6ef110086bcb1272c37b44074fcb083ed0c9b41 | ||
|
||
From e6ef110086bcb1272c37b44074fcb083ed0c9b41 Mon Sep 17 00:00:00 2001 | ||
From: Chris Lamb <[email protected]> | ||
Date: Tue, 13 Aug 2024 11:13:17 +0100 | ||
Subject: [PATCH] Update test_zip text fixtures and definitions to support new | ||
IO::Compress changes. (Closes: Debian:#1078050) | ||
|
||
--- | ||
tests/comparators/test_zip.py | 8 +++-- | ||
tests/data/zip2_zipdetails_expected_diff | 38 ++++++++++++------------ | ||
2 files changed, 25 insertions(+), 21 deletions(-) | ||
|
||
diff --git a/tests/comparators/test_zip.py b/tests/comparators/test_zip.py | ||
index 570931ee..303b6f80 100644 | ||
--- a/tests/comparators/test_zip.py | ||
+++ b/tests/comparators/test_zip.py | ||
@@ -93,6 +93,7 @@ def test_compressed_files(differences): | ||
|
||
|
||
@skip_unless_tools_exist("zipinfo", "bsdtar", "zipdetails") | ||
+@skip_unless_tool_is_at_least("perl", io_compress_zip_version, "2.212") | ||
def test_extra_fields(differences2): | ||
assert_diff(differences2[0], "zip_bsdtar_expected_diff") | ||
assert_diff(differences2[1], "zip2_zipdetails_expected_diff") | ||
@@ -148,11 +149,14 @@ def jmod_differences(jmod1, jmod2): | ||
return jmod1.compare(jmod2).details | ||
|
||
|
||
-@skip_unless_tools_exist("zipinfo", "zipdetails") | ||
+@skip_unless_tools_exist("zipinfo", "zipdetails", "zipnote") | ||
@skip_unless_tool_is_at_least("perl", io_compress_zip_version, "2.212") | ||
def test_jmod_metadata(jmod_differences, jmod1, jmod2): | ||
+ assert jmod_differences[0].source1 == "zipinfo {}" | ||
+ assert jmod_differences[1].source1.startswith("zipnote") | ||
+ assert jmod_differences[2].source1.startswith("zipdetails") | ||
assert_diff(jmod_differences[0], "jmod_zipinfo_expected_diff") | ||
- assert_diff(jmod_differences[1], "jmod_zipdetails_expected_diff") | ||
+ assert_diff(jmod_differences[2], "jmod_zipdetails_expected_diff") | ||
|
||
|
||
def test_encrypted(encrypted_zip1, encrypted_zip2): | ||
diff --git a/tests/data/zip2_zipdetails_expected_diff b/tests/data/zip2_zipdetails_expected_diff | ||
index d764a818..291dca88 100644 | ||
--- a/tests/data/zip2_zipdetails_expected_diff | ||
+++ b/tests/data/zip2_zipdetails_expected_diff | ||
@@ -1,19 +1,19 @@ | ||
-@@ -36,16 +36,16 @@ | ||
- 0054 Uncompressed Length 000001BE | ||
- 0058 Filename Length 0008 | ||
- 005A Extra Length 001C | ||
- 005C Filename 'XXX/XXXX' | ||
- 0064 Extra ID #0001 5455 'UT: Extended Timestamp' | ||
- 0066 Length 0009 | ||
- 0068 Flags '03 mod access' | ||
--0069 Mod Time 558AB455 'Wed Jun 24 13:44:53 2015' | ||
--006D Access Time 558AB45F 'Wed Jun 24 13:45:03 2015' | ||
-+0069 Mod Time 41414141 'Fri Sep 10 05:53:05 2004' | ||
-+006D Access Time 41414141 'Fri Sep 10 05:53:05 2004' | ||
- 0071 Extra ID #0002 7875 'ux: Unix Extra Type 3' | ||
- 0073 Length 000B | ||
- 0075 Version 01 | ||
- 0076 UID Size 04 | ||
- 0077 UID 000003E8 | ||
- 007B GID Size 04 | ||
- 007C GID 000003E8 | ||
+@@ -44,16 +44,16 @@ | ||
+ # | ||
+ # WARNING: Offset 0x5C: Filename 'XXXXXXXX' | ||
+ # Zero length filename | ||
+ # | ||
+ 0064 Extra ID #1 5455 (21589) 'Extended Timestamp [UT]' | ||
+ 0066 Length 0009 (9) | ||
+ 0068 Flags 03 (3) 'Modification Access' | ||
+-0069 Modification Time 558AB455 (1435153493) 'Wed Jun 24 13:44:53 2015' | ||
+-006D Access Time 558AB45F (1435153503) 'Wed Jun 24 13:45:03 2015' | ||
++0069 Modification Time 41414141 (1094795585) 'Fri Sep 10 05:53:05 2004' | ||
++006D Access Time 41414141 (1094795585) 'Fri Sep 10 05:53:05 2004' | ||
+ 0071 Extra ID #2 7875 (30837) 'Unix Extra type 3 [ux]' | ||
+ 0073 Length 000B (11) | ||
+ 0075 Version 01 (1) | ||
+ 0076 UID Size 04 (4) | ||
+ 0077 UID 000003E8 (1000) | ||
+ 007B GID Size 04 (4) | ||
+ 007C GID 000003E8 (1000) | ||
-- | ||
GitLab |