[arch-commits] Commit in gzip/trunk (01-fix-bug-with-l-output-to-pipes.patch PKGBUILD)
Sébastien Luttringer
seblu at archlinux.org
Tue Apr 26 16:31:45 UTC 2016
Date: Tuesday, April 26, 2016 @ 18:31:45
Author: seblu
Revision: 266177
upgpkg: gzip 1.7-2
- fix FS#49068
Added:
gzip/trunk/01-fix-bug-with-l-output-to-pipes.patch
Modified:
gzip/trunk/PKGBUILD
-----------------------------------------+
01-fix-bug-with-l-output-to-pipes.patch | 45 ++++++++++++++++++++++++++++++
PKGBUILD | 20 +++++++++++--
2 files changed, 62 insertions(+), 3 deletions(-)
Added: 01-fix-bug-with-l-output-to-pipes.patch
===================================================================
--- 01-fix-bug-with-l-output-to-pipes.patch (rev 0)
+++ 01-fix-bug-with-l-output-to-pipes.patch 2016-04-26 16:31:45 UTC (rev 266177)
@@ -0,0 +1,45 @@
+From 3557cd57906915eb9c990b5f386e25c395592643 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert at cs.ucla.edu>
+Date: Wed, 20 Apr 2016 00:43:09 +0000
+Subject: gzip: fix bug with -l output to pipes
+
+Problem reported by Christian Franke via Eric Blake in:
+http://bugs.gnu.org/23314
+* NEWS: Mention this.
+* gzip.c (main): Do not close stdout twice when given -l.
+Instead, -l now just fflushes stdout, so that fdatasync
+can synchronize it if --synchronize is also specified.
+* tests/list: New test case.
+* tests/Makefile.am (TESTS): Add it.
+---
+diff --git a/gzip.c b/gzip.c
+index d66530a..3b8de4d 100644
+--- a/gzip.c
++++ b/gzip.c
+@@ -664,14 +664,16 @@ int main (int argc, char **argv)
+ } else { /* Standard input */
+ treat_stdin();
+ }
+- if (list && !quiet && file_count > 1) {
+- do_list(-1, -1); /* print totals */
+- }
+- if (to_stdout
+- && ((synchronous
+- && (fdatasync (STDOUT_FILENO) != 0 && errno != EINVAL))
+- || close (STDOUT_FILENO) != 0)
+- && errno != EBADF)
++ if (list)
++ {
++ /* Output any totals, and check for output errors. */
++ if (!quiet && 1 < file_count)
++ do_list (-1, -1);
++ if (fflush (stdout) != 0)
++ write_error ();
++ }
++ if (to_stdout && synchronous && fdatasync (STDOUT_FILENO) != 0
++ && errno != EINVAL && errno != EBADF)
+ write_error ();
+ do_exit(exit_code);
+ return exit_code; /* just to avoid lint warning */
+--
+cgit v0.9.0.2
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2016-04-26 16:21:50 UTC (rev 266176)
+++ PKGBUILD 2016-04-26 16:31:45 UTC (rev 266177)
@@ -5,7 +5,7 @@
pkgname=gzip
pkgver=1.7
-pkgrel=1
+pkgrel=2
pkgdesc='GNU compression utility'
arch=('i686' 'x86_64')
url='http://www.gnu.org/software/gzip/'
@@ -14,9 +14,23 @@
depends=('glibc' 'bash' 'less')
install=gzip.install
validpgpkeys=('155D3FC500C834486D1EEA677FD9FCCB000BEEEE') # Jim Meyering
-source=("ftp://ftp.gnu.org/pub/gnu/gzip/gzip-$pkgver.tar.xz"{,.sig})
+source=("ftp://ftp.gnu.org/pub/gnu/gzip/gzip-$pkgver.tar.xz"{,.sig}
+ '01-fix-bug-with-l-output-to-pipes.patch')
md5sums=('d9ae97206a703a20e6c1c868deb3eb47'
- 'SKIP')
+ 'SKIP'
+ '3fc4318cec1f036b5c340e8aa228005c')
+prepare() {
+ cd $pkgname-$pkgver
+ # apply patch from the source array (should be a pacman feature)
+ local filename
+ for filename in "${source[@]}"; do
+ if [[ "$filename" =~ \.patch$ ]]; then
+ msg2 "Applying patch $filename"
+ patch -p1 -N -i "$srcdir/$filename"
+ fi
+ done
+ :
+}
build() {
cd $pkgname-$pkgver
More information about the arch-commits
mailing list