SHA256
1
0
forked from pool/diffoscope

- update to 272:

* Move away from using DSA OpenSSH keys in tests; support has
    been removed in OpenSSH 9.8p1.
  * Move to assert_diff helper in test_openssh_pub_key.py
  * Update tests to support zipdetails version 4.004 shipped with
    Perl 5.40.
  * Drop apktool from Build-Depends; we can still test our APK
    code via autopkgtests. (Closes: #1071410)
  * Fix tests for 7zip version 24.05.
  * Add a versioned dependency for at least version 5.4.5 for the
    xz tests; they fail under (at least xz 5.2.8).
  * Relax Chris' versioned xz test dependency (5.4.5) to also
    allow version 5.4.1.
  * Include "xz --verbose --verbose" (ie. double --verbose)
    output, not just the single --verbose. (Closes: #1069329)
  * Only include "xz --list" output if the xz has no other
    differences.
  * Use "xz --list" to supplement the output when comparing .xz
    archives; essential when some underlying metadata differs.
  * Actually append the xz --list after the container
    differences, as it simplifies tests and the output.
  * Maintain an in-header boolean state to determine whether to
    drop from-file/to-file lines. This fixes an issue where HTML
    differences were being inadvertendly neglected.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/diffoscope?expand=0&rev=96
This commit is contained in:
Dirk Mueller 2024-07-09 13:23:11 +00:00 committed by Git OBS Bridge
commit 6793951e87
7 changed files with 2704 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -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

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

3
diffoscope-272.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:10574313c7f048ff9af2a67351bc18b6f96f6e61af7750aba19f64b3ccdb2a78
size 3155265

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEwv5L0nHBObhsUz5GHpU+J9QxHlgFAmaIADgACgkQHpU+J9Qx
HljVSA//Ul9b0grmlcq4lrrCh7LEH7vvKunRd86po031QcWxZDUkzTM8XqHcOG2Y
48AJC+KdTGzzB7xPUDlRO7m7XBBG5AisOL3E9pfF3uzoaMD99INfyPdfJ7Fjo4K6
Q/W7n2kiCzUls9FiwrwXgFlrbsYADPnJnSesjg/d52TA3+pzK1ACaDVvYDbUVSTd
lHO6tzqyyaqqSgepDpP+zzfPgmtf+EwrRDfLxA+IXjggeq7TgpFCPwvoeMo5a3Ee
oXmAHQC+YynDHcY83yuXQ0u2FWs64UP3Gigasa/4gClxx4h2lI4jVBWgKWagu9xT
dOehAl2RRLZT4rgicGiOKjvmnpqu9JMjLrBltPz10MzlgXZFvLZDPI+hB9FD0aBi
e+iGdmqxN75Wvo2utK41wKYKM5B7lZwtQGDBfcnScJezRKXbSz6P2ZIRI9rW1RS3
UqZUrYjrs7RoPHbSy4RGRPINExpFhckDuEFyR10Q0BojGgAdZEqap9v7HwN4hjav
xMhP5OuhsuRfNKbBSvEe+e+PicgvH6Ywkb/ucOBBbGaBAwZ2V76+/5zf8+17eRSP
w5cClu2M8tlLt3MXl/++Qs7y6f2L5NME++7FijE6qr0mF7If+c1HyZPYUzLY4UJO
aiqR5H0365rz6f9fLW2WLrui8cpS+Db/OMPQ6CTw9cjWdjqLdS4=
=EHMm
-----END PGP SIGNATURE-----

2435
diffoscope.changes Normal file

File diff suppressed because it is too large Load Diff

76
diffoscope.keyring Normal file
View File

@ -0,0 +1,76 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
xNfR
=qega
-----END PGP PUBLIC KEY BLOCK-----

150
diffoscope.spec Normal file
View File

@ -0,0 +1,150 @@
#
# spec file for package diffoscope
#
# Copyright (c) 2024 SUSE LLC
#
# 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: diffoscope
Version: 272
Release: 0
Summary: In-depth comparison of files, archives, and directories
License: GPL-3.0-or-later
Group: Development/Languages/Python
URL: https://diffoscope.org/
Source0: https://diffoscope.org/archive/diffoscope-%{version}.tar.bz2
Source1: https://diffoscope.org/archive/diffoscope-%{version}.tar.bz2.asc
Source2: diffoscope.keyring
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildRequires: python3-base >= 3.7
BuildRequires: python3-curses
BuildRequires: python3-libarchive-c
BuildRequires: python3-pytest
BuildRequires: python3-python-magic
BuildRequires: python3-setuptools
Requires: python3-curses
Requires: python3-libarchive-c
Requires: python3-python-magic
Requires: python3-setuptools
Requires(post): update-alternatives
Requires(postun): update-alternatives
# Tools required for proper function of this program
# in extras_require
Recommends: python3-distro
Recommends: python3-argcomplete
Recommends: python3-defusedxml
Recommends: python3-jsondiff
Recommends: python3-progressbar
# for getfacl
Suggests: acl
# for ar, readelf, objcopy and objdump
Suggests: binutils
Suggests: bzip2
# for img2txt
Suggests: caca-utils
# for isoinfo
Suggests: cdrkit-cdrtools-compat
# for cbfstool
Suggests: coreboot-utils
# for stat
Suggests: coreutils
Suggests: cpio
# for cmp and diff
Suggests: diffutils
# for lsattr
Suggests: e2fsprogs
# for ppudump
Suggests: fpc
# for msgunfmt
Suggests: gettext-tools
# for ghc
Suggests: ghc-compiler
Suggests: gzip
# for pedump
Suggests: mono-devel
Suggests: pdftk
# for pdftotext
Suggests: poppler-tools
# for RPM unpacking
Suggests: python3-rpm
Suggests: sqlite3
# for unsquashfs
Suggests: squashfs
# for zipinfo
Suggests: unzip
# for xxd
Suggests: vim
Suggests: xz
# currently missing:
# enjarify, javap, lipo, otool, showttf, sng
BuildArch: noarch
%description
diffoscope will try to get to the bottom of what makes files or
directories different. It will recursively unpack archives of many kinds
and transform various binary formats into more human readable form to
compare them. It can compare two tarballs, ISO images, or PDF just as
easily.
It can be scripted through error codes, and a report can be produced
with the detected differences. The report can be text or HTML.
When no type of report has been selected, diffoscope defaults
to write a text report on the standard output.
diffoscope is developed as part of the `“reproducible builds” Debian
project <https://wiki.debian.org/ReproducibleBuilds>`_.
It is meant to be able to quickly understand why two builds of the same
package produce different outputs. diffoscope was previously named
debbindiff.
%prep
%autosetup -p1
sed -i '0,/#!\/usr\/bin\/env/ d' diffoscope/main.py
%build
%python3_build
%install
%python3_install
%fdupes %{buildroot}%{python3_sitelib}/
mv %{buildroot}%{_bindir}/diffoscope %{buildroot}%{_bindir}/diffoscope-%{py3_ver}
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
ln -s -f %{_sysconfdir}/alternatives/diffoscope %{buildroot}%{_bindir}/diffoscope
touch %{buildroot}%{_sysconfdir}/alternatives/diffoscope
%post
%{_sbindir}/update-alternatives --install \
%{_bindir}/diffoscope diffoscope %{_bindir}/diffoscope-%{py3_ver} 10
%postun
if [ "$1" = 0 ] ; then
%{_sbindir}/update-alternatives --remove diffoscope %{_bindir}/diffoscope-%{py3_ver}
fi
%check
# test_identification https://salsa.debian.org/reproducible-builds/diffoscope/-/issues/98
# comparators/test_python/test_diff https://salsa.debian.org/reproducible-builds/diffoscope/-/issues/284#note_280561
py.test-%{python3_bin_suffix} -k 'not ((test_python and test_diff) or test_identification)'
%files
%doc README.rst
%license COPYING
%{_bindir}/diffoscope
%{_bindir}/diffoscope-%{py3_ver}
%{python3_sitelib}/diffoscope
%{python3_sitelib}/diffoscope-%{version}*-info
%ghost %{_sysconfdir}/alternatives/diffoscope
%changelog