diff options
author | Kubilay Kocak <koobs@FreeBSD.org> | 2020-03-13 04:48:57 +0000 |
---|---|---|
committer | Kubilay Kocak <koobs@FreeBSD.org> | 2020-03-13 04:48:57 +0000 |
commit | 94a99eb425b443af7086d0b1c5c457b2753d0303 (patch) | |
tree | faea3809c1bac00aec15ef128619c1d45ea379a9 | |
parent | e36557295eeb261501f3e60b970f1ef3e0229528 (diff) | |
download | ports-94a99eb425b443af7086d0b1c5c457b2753d0303.tar.gz ports-94a99eb425b443af7086d0b1c5c457b2753d0303.zip |
MFH: r528327 sysutils/py-diffoscope: Restore portability of zipinfo call
/dev/stdin is a non-portable non-POSIX extension having different
semantics on different operating systems. zininfo(1) exits with 9 when
/dev/stdin is supplied on FreeBSD. In fact, unzip(1) explicitly documents
that it does not support reading from stdin.
[1] https://lists.reproducible-builds.org/pipermail/diffoscope/2020-March/002632.html
PR: 244750
Submitted by: Michael Osipov <michael.osipov siemens com>
Approved by: ports-secteam (blanket: runtime bugfix)
Notes
Notes:
svn path=/branches/2020Q1/; revision=528329
-rw-r--r-- | sysutils/py-diffoscope/Makefile | 1 | ||||
-rw-r--r-- | sysutils/py-diffoscope/files/patch-diffoscope_comparators_zip.py | 28 |
2 files changed, 29 insertions, 0 deletions
diff --git a/sysutils/py-diffoscope/Makefile b/sysutils/py-diffoscope/Makefile index f96019727330..ba1cf128ccdd 100644 --- a/sysutils/py-diffoscope/Makefile +++ b/sysutils/py-diffoscope/Makefile @@ -3,6 +3,7 @@ PORTNAME= diffoscope PORTVERSION= 108 +PORTREVISION= 1 CATEGORIES= sysutils python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} diff --git a/sysutils/py-diffoscope/files/patch-diffoscope_comparators_zip.py b/sysutils/py-diffoscope/files/patch-diffoscope_comparators_zip.py new file mode 100644 index 000000000000..879ec7f9789c --- /dev/null +++ b/sysutils/py-diffoscope/files/patch-diffoscope_comparators_zip.py @@ -0,0 +1,28 @@ +# Non-portable regression caused by 25fee28c/#879011 +# https://lists.reproducible-builds.org/pipermail/diffoscope/2020-March/002632.html +# TODO: Upstream + +--- diffoscope/comparators/zip.py.orig 2020-03-12 13:23:59 UTC ++++ diffoscope/comparators/zip.py +@@ -38,10 +38,7 @@ from .utils.command import Command + class Zipinfo(Command): + @tool_required('zipinfo') + def cmdline(self): +- # zipinfo (without -v) puts warning messages (some of which contain +- # $path) into stdin when stderr is not a tty, see #879011 for details. +- # to work around it, we run it on /dev/stdin instead, seems to work ok. +- return ['zipinfo', '/dev/stdin'] ++ return ['zipinfo', self.path] + + @property + def returncode(self): +@@ -54,9 +51,6 @@ class Zipinfo(Command): + returncode = 0 + + return returncode +- +- def stdin(self): +- return open(self.path, 'rb') + + def filter(self, line): + # we don't care about the archive file path |