Path to this page:
Subject: CVS commit: pkgsrc/sysutils/py-diffoscope
From: ng0
Date: 2019-12-31 01:32:01
Message id: 20191231003201.3F242FA97@cvs.NetBSD.org
Log Message:
sysutils/py-diffoscope: Update to 134
Changelog:
diffoscope (134) unstable; urgency=medium
[ Chris Lamb ]
* Ensure that autopkgtests are run with our pyproject.toml present for the
correct "black" source code formatter settings. (Closes: #945993)
* Tidy some unnecessary boolean logic in the ISO9660 tests.
* Rename the "text_option_with_stdiout" to \
"text_option_with_stdout".
* Include the libarchive file listing for ISO images to ensure that
timestamps (not just dates) are visible in any difference.
(Closes: reproducible-builds/diffoscope#81)
[ Eli Schwartz ]
* Fix an exception in the progressbar handler.
[ Vagrant Cascadian ]
* Add an external tool reference for zstd on GNU Guix.
-- Chris Lamb <lamby@debian.org> Fri, 27 Dec 2019 19:17:16 +0000
diffoscope (133) unstable; urgency=medium
* Correct the substitution/filtering of paths in ELF output to avoid
unnecessary differences depending on the path name provided on the
commandline. (Closes: #945572)
* Silence/correct a SyntaxWarning message due to incorrectly comparing an
integer by identity (is) over equality (==). (Closes: #945531)
-- Chris Lamb <lamby@debian.org> Thu, 28 Nov 2019 10:03:33 +0000
diffoscope (132) unstable; urgency=medium
* Allow all possible .zip variations to return with non-zero exit codes, not
just known types we can explicitly identify (eg. Java .jmod and .jar
files). (Closes: reproducible-builds/diffoscope#78)
* Also permit UTF-8 encoded .dsc and .changes files.
(Re: reproducible-builds/diffoscope#78)
* Rework a long string of "or" statements into a loop with a \
"break".
-- Chris Lamb <lamby@debian.org> Tue, 26 Nov 2019 10:31:44 +0000
diffoscope (131) unstable; urgency=medium
* Clarify in the HTML and text outputs that the limits are per output format,
not global. (Closes: #944882, reproducible-builds/diffoscope#76)
- Bump the previous "max_page_size" limit from 400 kB to 4 MB.
* Update an Android manifest test to reflect that parsed XML attributes are
returned in a sorted or otherwise novel manner under Python 3.8.
* Update code to reflect version 19.10b0 of the black source code
reformatter and don't run our self-test for versions earlier than this as
it will generate different results and thus fail.
* Limit .dsc and .buildinfo matching; don't attempt to compare them as
ELF sections or similar. (Closes: reproducible-builds/diffoscope#77)
* Add a comment that the text_ascii{1,2} test fixture files are used in
multiple places so are not trivial to generate on the fly.
-- Chris Lamb <lamby@debian.org> Sat, 23 Nov 2019 15:22:51 -0500
diffoscope (130) unstable; urgency=medium
[ Chris Lamb ]
* debian/tests/basic-command-line:
Move from deprecated ADTTMP to AUTOPKGTEST_TMP.
* Correct the matching of R .rds files by also detecting newer versions
of this file format.
* Drop unused BASE_DIR global in the tests.
* Try and ensure that new test data files are generated dynamically, ie.
at least no new ones are added without "good" reasons.
* Truncate the tcpdump expected diff to 8KB (from ~600KB).
* Refresh OCaml test fixtures to support OCaml >= 4.08.1. Closes: #944709
* Correct reference to the ".rdx" extension in a comment.
* Update XML test for Python 3.8+.
* Don't use line-base dbuffering when communucating with subprocesses
in binary mode. (Closes: reproducible-builds/diffoscope#75)
[ Jelle van der Waa ]
* Add support for comparing .zst files are created by zstd.
(Closes: reproducible-builds/diffoscope!34)
-- Mattia Rizzolo <mattia@debian.org> Thu, 14 Nov 2019 11:22:20 +0100
diffoscope (129) unstable; urgency=medium
* Call R's "deparse" function to ensure that we do not error out and \
revert
to a binary diff when processing .rdb files with internal "vector" \
types as
they do not automatically coerce to strings.
* Add the ability to pass Python bytestrings to external commands and
pass our long script to parse R .rdb files using this new method over a
long command-line argument
* Use Rscript's --vanilla option over --no-environ as this also enables
--no-save, --no-restore, --no-site-file and --no-init-file.
* Improve command-line error messages:
- Split out formatting into a separate utility function.
- Truncate very long lines when displaying them as an external source
of data.
- When printing an error from a command, format the command for the user.
* Use "exit code" over "return code" when referring to \
UNIX error codes in
displayed differences.
-- Chris Lamb <lamby@debian.org> Mon, 28 Oct 2019 11:15:18 +0000
diffoscope (128) unstable; urgency=medium
* Query the container for the full path of the parallel R .rdx file for a
.rdb file as well as looking in the same directory. This ensures that
comparing two .deb/.changes files shows a varying path introduced in
version 127.
-- Chris Lamb <lamby@debian.org> Fri, 25 Oct 2019 09:21:40 +0100
diffoscope (127) unstable; urgency=medium
[ Chris Lamb ]
* Move build-dependency on python-argcomplete to the Python 3.x version to
facilitate Python 2.x removal. (Closes: #942967)
* Overhaul the handling of GNU R .rdb files:
- Rework and refactor the handling of .rdb files specifically with respect
to locating the parallel .rdx file prior to inspecting the file to ensure
that we do not add files to the user's filesystem in the case of directly
comparing two .rdb files or, worse, overwriting a file in is place.
- Use a ("""-formatted) docstring for our internal R script \
to dump
variables.
- Mask/hide standard errors; R will often produce noisy output that is not
useful to us.
- Don't include a useless and misleading "NULL".
- Include all R object names are displayed, including ones beginning with a
fullstop (".").
- Sort package fields when dumping data for output stability.
- Format package contents as "foo = bar" rather than using ugly and
misleading brackets.
- Include the object's type when dumping package contents.
- Never read the site or user's R location environment configuration to
ensure output stability.
- Expose absolute paths in the semantic/human-readable output, preventing
falling back to a useless hexdump.
* Improve the formatting of command lines:
- Ensure newlines and other metacharacters appear escaped as "\n", etc.
- Use the newline (etc.) escaped version of the commandline being executed in
logging/debug output.
- When displaying standard error, ensure use the escaped version too.
* Add support for easily masking the standard error of commands and use this
in the ffprobe comparator.
* To match the libarchive container, raise a KeyError exception if we request
an invalid member from a directory container.
* Correct string representation output in the traceback when we cannot locate
a specific item in a container.
[ Mattia Rizzolo ]
* Run Debian autopkgtests against all Python versions.
-- Chris Lamb <lamby@debian.org> Thu, 24 Oct 2019 15:59:34 +0100
diffoscope (126) unstable; urgency=medium
[ Chris Lamb ]
* Track and report on missing Python modules.
(Closes: reproducible-builds/diffoscope#72)
* Drop some unnecessary control flow.
* Drop explicit inheriting from 'object' class; unnecessary in Python 3.
* Bump Standards-Version to 4.4.1.
[ Mattia Rizzolo ]
* Exit with 2 instead of 1 in case of no disk space.
-- Chris Lamb <lamby@debian.org> Mon, 14 Oct 2019 12:29:47 -0700
diffoscope (125) unstable; urgency=medium
* The test_libmix_differences ELF test requires xxd. (Closes: #940645)
-- Chris Lamb <lamby@debian.org> Wed, 18 Sep 2019 11:44:57 +0200
diffoscope (124) unstable; urgency=medium
[ Chris Lamb ]
* Also conditionally skip the identification and "no differences" \
tests as we
require the Ocaml compiler to be present when building the test files
themselves. (Closes: #940471)
[ Mattia Rizzolo ]
* Permit all sorts of version suffixes when checking the Debian package
version matches setup.py, not just for backports. (Closes: #939387)
[ Vagrant Cascadian ]
* Add external tools on GNU Guix for odt2txt, sng and pgpdump.
[ Marc Herbert ]
* Remove StaticLibFile in the ELF comparator -- ArFile.compare_details() is
superior. (Closes: reproducible-builds/diffoscope#64)
-- Chris Lamb <lamby@debian.org> Tue, 17 Sep 2019 12:19:07 +0200
diffoscope (123) unstable; urgency=medium
[ Chris Lamb ]
* Build OCaml test input files on-demand rather than shipping them with the
package in order to prevent test failures with OCaml 4.08.
(Closes: #939386)
* Update test skipping messages:
- When skipping tests due to the lack of installed tool, print the package
that may provide it.
- Update "requires foo module" messages to clarify that they are \
regarding
Python modules, not packages.
* Rebuild the test squashfs images to exclude the character device as they
requires root or fakeroot to extract. (reproducible-builds/diffoscope#65)
* Remove accidentally-committed test fixture generation code from tests.
* Set long_description_content_type to 'text/x-rst' in setup.py to appease
the PyPI.org linter.
[ Mattia Rizzolo ]
* Don't crash when the progress is requested but the Python module is
missing. (Closes: #939085)
[ Vagrant Cascadian ]
* Add external tools for gifbuild, javap and kbxutil in GNU Guix.
[ Marc Herbert ]
* In the cbfs tests, add a "Comp" column test to support Coreboot
utils > 4.6.
-- Chris Lamb <lamby@debian.org> Sat, 07 Sep 2019 14:16:31 +0100
diffoscope (122) unstable; urgency=medium
[ Chris Lamb ]
* Apply patch from László Böszörményi to update the squashfs test output and
bump the required version for the test itself. (Closes: #935684)
* Skip calls to unsquashfs when we are not root or fakeroot.
(Re: reproducible-builds/diffoscope#63)
* Include either standard error or standard output (and not just the latter)
if/when an external command fails.
* Fix a few unicode/bytes issues:
- Avoid a possible traceback caused by a str/bytes confusion when handling
the output of failing external commands.
- Ensure that all of our artificially-created subprocess.CalledProcessError
instances have `output` instances that are bytes objects, not str.
* Improve debugging output:
* Add the containing module name to the (eg.) "Using StaticLibFile for \
..."
* Improve and condense output when creating our Comparator object types.
* Correct a reference to `parser.diff` as `diff` in this context is a Python
function in the module, not the actual output returned from diff(1).
* Add the "wabt" Debian package to the test dependencies so that we \
run the
wasm tests.
[ Mattia Rizzolo ]
* Now that we test-require wabt, expect that its tools to be available during
autopkgtests.
-- Chris Lamb <lamby@debian.org> Fri, 30 Aug 2019 08:52:25 +0100
diffoscope (121) unstable; urgency=medium
* Don't fallback to a (useless) raw hexdump when readelf(1) reports an minor
issue in a section in an ELF binary. For example, when the \
"frames" section
is of the "NOBITS" type, its contents are apparently \
"unreliable" and thus
readelf(1) exits with a returncode of 1. (Closes: #849407, #931962)
* Add support to Difference.from_command_exc and friends to optionally ignore
specified returncodes from the called program and treat them as "no"
difference.
* Simplify the parsing of the optional "command_args" argument to the
from_command and from_command_exc methods in the Difference class.
-- Chris Lamb <lamby@debian.org> Fri, 16 Aug 2019 09:49:07 -0700
diffoscope (120) unstable; urgency=medium
* No-change sourceful after accidentally uploading binaries in order to
migration to testing.
-- Chris Lamb <lamby@debian.org> Mon, 29 Jul 2019 17:17:46 -0300
diffoscope (119) unstable; urgency=medium
[ Chris Lamb ]
* If a command fails to execute but does not print anything to standard
error, try and include the first line of standard output in the message we
include in the diff. This was motivated by readelf(1) returning its error
messages on stdout. (Closes: #931963)
* Add support for Java ".jmod" modules. Not all versions of file(1) \
support
detection of Jmod files yet, so we perform a manual comparison instead.
(Closes: #933308)
* Re-add "return code" noun to "Command `foo` exited with \
X" error messages.
* Factor out the ability to ignore the exit codes of "zipinfo" and
"zipinfo -v" in the presence of non-standard headers.
* Only override the exit code from our special-cased calls to zipinfo(1) if
they are 1 or 2 to avoid potentially masking real errors.
* Also add missing textual description entries for ZipFile and
MozillaZipFile file types.
* Skip extra newline in "Output:\n<none>".
* Cease ignoring test failures in stable-backports.
* Bump debhelper compat level to 12.
[ Marc Herbert ]
* Catch failures to disassemble and rescue all other differences.
(Closes: reproducible-builds/diffoscope!29)
-- Chris Lamb <lamby@debian.org> Mon, 29 Jul 2019 15:22:24 -0300
diffoscope (118) unstable; urgency=medium
* Don't fail in autopkgtests when, for example, we do not have sufficiently
newer or older version of file. (Closes: #931881)
* Also include python3-tlsh in test dependencies.
* Tidy handling of DIFFOSCOPE_FAIL_TESTS_ON_MISSING_TOOLS:
- Merge two previously-overlapping environment variables.
- Use repr(..)-style output when printing test status.
- Add some explicit return values to appease pylint.
-- Chris Lamb <lamby@debian.org> Sat, 13 Jul 2019 10:23:29 -0300
diffoscope (117) unstable; urgency=medium
[ Chris Lamb ]
* Add support for file 5.37. Thanks again to Christoph Biedl for the heads-up
in advance. (Closes: reproducible-builds/diffoscope/#57)
* Apply patch from Gianfranco Costamagna to fix autopkgtest failures in
Debian. (Closes: #931709)
[ Holger Levsen ]
* debian/control: Bump Standards-Version to 4.4.0.
-- Chris Lamb <lamby@debian.org> Tue, 09 Jul 2019 10:24:54 -0300
diffoscope (116) unstable; urgency=medium
[ Chris Lamb ]
* Upload to unstable after the release of Debian "buster".
* README.rst & manual page generation:
- Strip out manpage-only parts of the README rather than using "only"
reStructuredText directives in order to support the demands of the latest
PyPI website.
- Use "real" reStructuredText comments instead of using the \
"raw" directive.
* Dockerfile:
- Build the Docker image from the current Git checkout, not the Debian
archive. (reproducible-builds/diffoscope#56)
- Use the ENTRYPOINT directive with the JSON syntax instead so we pass all
arguments to the underlying diffoscope executable.
* Document that run_diffoscope should not be considered a stable API.
[ Mattia Rizzolo ]
* Rename a test function to prevent shadowing a previous one with the
same name.
* Add ffmpeg to the list of Debian build-dependencies for the testsuite.
[ Vagrant Cascadian ]
* Add support for known external tools in GNU Guix.
-- Chris Lamb <lamby@debian.org> Sun, 07 Jul 2019 11:54:29 -0300
diffoscope (115) experimental; urgency=medium
[ Chris Lamb ]
* Fix execution of symbolic links that point to the "bin/diffoscope" \
entry
point by fully resolving the location.
* Add a Dockerfile.
* Update contributing messages with instructions regarding the Docker image.
[ Mattia Rizzolo ]
* tests:
+ Allow specifying which tools are known missing using
DIFFOSCOPE_TESTS_MISSING_TOOLS, to override a _FAIL_ON_MISSING_TOOLS.
+ With DIFFOSCOPE_TESTS_FAIL_ON_MISSING_TOOLS=1, actually fail only tests
that are missing the required tools.
* debian:
+ Add black to the test dependencies.
+ Enforce the "fail on missing tools" only when testing with all the
recommended packages.
+ Ack some missing tools during autopkgtest.
+ Reinstate oggvideotools and procyon-decompiler test dependencies,
now that are not buggy anymore.
-- Mattia Rizzolo <mattia@debian.org> Tue, 21 May 2019 16:02:02 +0200
diffoscope (114) experimental; urgency=medium
[ Chris Lamb ]
* Add support for GnuPG "keybox" files. Thanks to Daniel Kahn \
Gillmor for the
suggestion. (Closes: #871244, reproducible-builds/diffoscope#23)
* Always warn if tlsh module is not available (not just if a specific
fuzziness threshold is specified) to match the epilog of the --help output.
This prevents missing support for file rename detection.
(Closes: #888237, reproducible-builds/diffoscope#29)
* Treat missing tools on Debian autopkgtests as individual test failures by
checking whether a new DIFFOSCOPE_TESTS_FAIL_ON_MISSING_TOOLS environment
variable is exported. (Closes: #905885, reproducible-builds/diffoscope#35)
* Require that "-" is explicitly specified to read a single diff from
standard input to avoid non-intuitive behaviour when diffoscope is called
without any arguments. (Closes: reproducible-builds/diffoscope#54)
* Make --use-dbgsym a ternary operator to make it easier to totally disable.
Thanks to Mattia Rizzolo for the suggestion.
* Consolidate on "e" as the aliased exception name.
[ Milena Boselli Rosa ]
* Various fixes to the HTML markup to prevent validation warnings/errors:
- Prevent empty values for the "name" attribute name on HTML \
anchor tags,
and add an "id" to its parent "div" container.
- Fix "table column x established by element 'col' has no cells beginning
in it" warnings.
- Fix "Text run is not in Unicode Normalization Form C".
- Remove the "type" HTML attribute from <style> elements.
[ Vibhu ]
* Fail more gracefully when running out of diskspace. (Closes: #874582)
-- Chris Lamb <lamby@debian.org> Sun, 28 Apr 2019 17:21:46 +0100
diffoscope (113) unstable; urgency=medium
* Replace over 8 MB of Android boot ROM test suite fixtures with 14 KB
equivalents. (Closes: #894334, reproducible-builds/diffoscope#13)
* Compare .asc PGP signatures as text, not as a hexdump. (Closes: #908991,
reproducible-builds/diffoscope#7)
* Improve the displayed comment when falling back to a binary diff to include
the file type. (Closes: reproducible-builds/diffoscope#49)
* Explicitly mention when the guestfs module is missing at runtime and we are
falling back to a binary diff. (Closes: reproducible-builds/diffoscope#45)
* Provide explicit help when the libarchive system package is missing or
"incomplete". (Closes: reproducible-builds/diffoscope#50)
* Improve the --help outout:
* Indent and wrap the list of supported file formats.
* Include links to the diffoscope homepage and bug tracker.
* Refer to the Debian package names when indicating how to obtain the tlsh
and argcomplete modules.
* Drop "DOS/MBR" source string test.
* Correct a "recurse" typo.
* Adopt the "black" <https://black.readthedocs.io> source code \
formatter:
- Add an initial configuration in a PEP 518 pyproject.toml file and update
MANIFEST.in to include pyproject.toml in future release tarballs.
- Run the formatter against the source.
- Test that the source code satisfies the formatter.
-- Chris Lamb <lamby@debian.org> Mon, 04 Mar 2019 23:00:38 +0100
diffoscope (112) unstable; urgency=medium
[ Chris Lamb ]
* New features:
- Add a --exclude-directory-metadata=recursive option to support ignoring
timestamp differences (etc.) in nested archives/containers.
(Closes: #907600, reproducible-builds/diffoscope#36)
- Add support for comparing metadata in MP3 files.
(Closes: reproducible-builds/diffoscope#43)
- Add support for comparing .crx Chrome browser extensions.
(Closes: reproducible-builds/diffoscope#41)
* Bug fixes:
- Catch tracebacks when mounting invalid filesystem images under guestfs.
- Ensure both WASM test data files are actually unique.
(Closes: reproducible-builds/diffoscope#42)
- Replace literal xxd(1) output in tests/data/hello.wasm with its binary
equivalent. (Closes: reproducible-builds/diffoscope#47)
* Misc improvements:
- Rework and comment logic determining a default for
exclude_directory_metadata.
- Fix a number of Ghostscript-related test issues regarding the update of
this package from 9.20 to 9.26 in Debian "stable".
[ Mattia Rizzolo ]
* Make test_ps.test_text_diff pass with ghostscript 9.26.
[ Ed Maste ]
* Include relocation information in objdump disassembly.
(Closes: reproducible-builds/diffoscope#48)
[ Graham Christensen ]
* Clarify notice if no file-specific diff caused fallback. (MR: !19)
-- Chris Lamb <lamby@debian.org> Tue, 19 Feb 2019 09:56:29 +0100
diffoscope (111) unstable; urgency=medium
* Fix a regression introduced via #920701 where we stopped using the -dbgsym
packages when comparing .buildinfo or .changes files. (Closes:
reproducible-builds/diffoscope#46)
-- Chris Lamb <lamby@debian.org> Sun, 10 Feb 2019 13:09:26 +0100
diffoscope (110) unstable; urgency=medium
[ Chris Lamb ]
* Don't look for adjacent -dbgsym package files automatically anymore to
align better with default user expectations. The existing behaviour can be
re-enabled by specifying the new `--use-dbgsym` flag. (Closes: #920701)
* Don't crash with if we were unable to successfully extract a
"guestfs"-based file. (Closes: #901982)
* Avoid clumsy profiling title length calculations by moving to Markdown
syntax, from reStructuredText.
* Drop printing out dpkg-query output when running tests: it's rather noisy
and has not helped yet in reproducing an error.
* Re-enable gnumeric as a Build-Depends.
* debian/rules: Use str.format over "+" for string concatenation.
[ Jelle van der Waa ]
* comparators.wasm: Remove an unused "re" import. (MR: !18)
[ Mattia Rizzolo ]
* comparators/elf: Apply flake8.
-- Chris Lamb <lamby@debian.org> Wed, 06 Feb 2019 17:33:09 +0100
Files: