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> MFH: 2020Q1
This commit is contained in:
parent
e892248313
commit
3bc03c5e1d
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=528327
@ -3,6 +3,7 @@
|
||||
|
||||
PORTNAME= diffoscope
|
||||
PORTVERSION= 136
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= sysutils python
|
||||
MASTER_SITES= CHEESESHOP
|
||||
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
|
||||
|
@ -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
|
Loading…
Reference in New Issue
Block a user