forked from pool/diffoscope
4b44814386
- If the debian.deb822 module raises any exception on import, re-raise it as an ImportError instead. This should fix diffoscope on some Fedora systems. Thanks to Mattia Rizzolo for suggesting this particular solution. (Closes: reproducible-builds/diffoscope#300) - Fix json detection with file-5.41-3.fc36.x86_64. - update to version 200: - Even if a Sphinx .inv inventory file is labelled "The remainder of this file is compressed using zlib", it might not actually be. In this case, don't traceback, and simply return the original content. (Closes: reproducible-builds/diffoscope#299) - Update "X has been modified after NT_GNU_BUILD_ID has been applied" message to, for instance, not duplicating the full filename in the primary diffoscope's output. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/diffoscope?expand=0&rev=52
149 lines
4.5 KiB
RPMSpec
149 lines
4.5 KiB
RPMSpec
#
|
|
# spec file for package diffoscope
|
|
#
|
|
# Copyright (c) 2022 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: 201
|
|
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
|
|
%setup -q
|
|
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
|
|
py.test-%{python3_bin_suffix} -k 'not test_identification'
|
|
|
|
%files
|
|
%doc README.rst
|
|
%license COPYING
|
|
%{_bindir}/diffoscope
|
|
%{_bindir}/diffoscope-%{py3_ver}
|
|
%{python3_sitelib}/*
|
|
%ghost %{_sysconfdir}/alternatives/diffoscope
|
|
|
|
%changelog
|