1 2013-06-09 Jim Meyering <meyering@fb.com>
4 * NEWS: Record release date.
6 build: avoid automake warning that suggests use of subdir-objects
7 * configure.ac (AM_INIT_AUTOMAKE): Use the subdir-objects option.
9 build: avoid warning about deprecated use of automake's ACLOCAL_AMFLAGS
10 * Makefile.am (ACLOCAL_AMFLAGS): Don't use this deprecated variable.
11 * configure.ac: Do this instead: AC_CONFIG_MACRO_DIR([m4]).
13 build: use more portable shell syntax in search of working shell
14 * m4/shell.m4: Adjust sh/case syntax not to evoke a syntax
15 error from Solaris 10's /bin/sh.
17 build: update gnulib to latest, and bootstrap
19 2013-05-28 Jim Meyering <meyering@fb.com>
21 tests: exercise the new --keep option
22 * tests/keep: New file.
23 * tests/Makefile.am (TESTS): Add it.
25 2013-05-28 Rodrigo Campos <rodrigo@sdfg.com.ar>
27 gzip: add "--keep" option to retain (don't delete) input files
28 gzip now accepts the --keep (-k) option, for consistency with tools
29 like xz, lzip and bzip2. With this option, gzip no longer removes
30 named input files when compressing and decompressing.
31 * doc/gzip.texi: Document it.
33 * gunzip.in: Likewise.
35 * gzip.c: Add support for "--keep".
37 2013-04-15 Paul Eggert <eggert@cs.ucla.edu>
39 tests: redo patch for non-GNU gzip installed in /usr/local/bin
40 Problem with previous patch reported by Antonio Diaz Diaz in
41 <http://lists.gnu.org/archive/html/bug-gzip/2013-04/msg00011.html>.
42 * tests/help-version (gunzip_setuphelp, gzexe_setuphelp)
43 (zcat_setuphelp, zcmp_setuphelp, zdiff_setuphelp)
44 (zegrep_setuphelp, zfgrep_setuphelp, zforce_setuphelp)
45 (zgrep_setuphelp, zless_setuphelp, zmore_setuphelp)
46 (znew_setuphelp): New functions, used when testing even --help.
47 (zdiff_setup, zcat_setup, znew_setup, zgrep_setup, gzexe_setup):
48 Use gzip_setuphelp to set --__bindir.
50 2013-04-10 Paul Eggert <eggert@cs.ucla.edu>
52 tests: work even if non-GNU gzip is installed in /usr/local/bin
53 Problem reported by Antonio Diaz Diaz in
54 <http://lists.gnu.org/archive/html/bug-gzip/2013-04/msg00004.html>.
55 * tests/help-version (zdiff_setup, zcat_setup, znew_setup, zgrep_setup)
56 (gzexe_setup): Pass --__bindir so that subsidiary programs are our
57 own's, not /usr/local/bin's. This requires using 'eval' on the result.
58 (zcmp_setup, gunzip_setup, zmore_setup, zless_setup, zforce_setup)
59 (zegrep_setup, zfgrep_setup): Invoke one of the other setup functions,
60 to make the patterns more obvious and simplify future maintenance.
61 * zcmp.in, zegrep.in, zfgrep.in: Pass __bindir to subsidiary program.
63 maint: adjust to Gnulib, Automake changes
64 * .gitignore: Add *.trs.
65 * lib/.gitignore: Add unused-parameter.h.
67 tests: port to Solaris 10 /bin/sh
68 * tests/Makefile.am (TESTS_ENVIRONMENT):
69 Use "FOO=val; export FOO" rather than "export FOO=val",
70 as the latter form doesn't work with Solaris /bin/sh.
72 2013-02-25 Paul Eggert <eggert@cs.ucla.edu>
74 gzip: port to DMF file systems
75 * util.c (read_buffer): When reading a file with O_NONBLOCK, if
76 the read fails with errno==EAGAIN, clear O_NONBLOCK and try again.
77 Problem reported by Vitezslav Cizek in
78 <http://lists.gnu.org/archive/html/bug-gzip/2013-02/msg00030.html>.
80 2013-02-05 Paul Eggert <eggert@cs.ucla.edu>
82 gzip: fix bug where you say "n" and gzip acts as if you said "y"
83 Problem reported for GCC 4.7 x86-64 -O2 by Allan McRae in
84 <http://lists.gnu.org/archive/html/bug-gzip/2013-02/msg00000.html>.
85 * NEWS: Document this. Use consistent format in earlier note.
86 * gzip.c: Include yesno.h.
87 * gzip.h (yesno): Remove decl; that's yesno.h's job.
89 2013-01-06 Paul Eggert <eggert@cs.ucla.edu>
91 maint: adjust to Gnulib changes
92 * lib/.gitignore: Add glthread, math.c, unistd.c, wctype-h.c.
93 * m4/.gitignore: Remove inline.m4.
95 2013-01-04 Jim Meyering <jim@meyering.net>
97 maint: update all copyright year number ranges
98 Run "make update-copyright".
100 build: update gnulib submodule to latest
102 2012-12-10 Paul Eggert <eggert@cs.ucla.edu>
104 diagnose unexpected EOF and zero lengths in packed data
105 Problem reported by Aki Helin.
106 * NEWS: Mention Aki's reports.
107 * tests/unpack-invalid: New file,
108 with test data suggested by Aki.
109 * tests/Makefile.am (TESTS): Add it.
110 * unpack.c (read_byte): New function.
111 (look_bits, read_tree): Use it.
112 (read_tree): Check against zero bit length Huffman code.
114 gzip: diagnose invalid code in packed data
115 * unpack.c (unpack): When encountering a code out of range, report
116 it and fail rather than charging ahead with randomish output.
117 Problem reported by Aki Helin.
119 2012-11-16 Jim Meyering <jim@meyering.net>
121 maint: avoid new syntax-check failures
122 * cfg.mk (_gl_TS_unmarked_extern_vars): Append nice_match, to avoid
123 false-positive syntax-check failure on i686.
124 * gzip.c (SIGPIPE): Remove definition. Now always provided via gnulib.
125 * lib/.gitignore: xsize.c, added by gnulib-tool.
127 2012-11-16 Paul Eggert <eggert@cs.ucla.edu>
129 gzip: fix debugging/porting typo
130 * unlzw.c (unlzw) [DEBUG]: Don't assume 'long' can be printed with %d.
132 maint: merge build improvements from coreutils
133 * configure.ac: Invoke gl_ASSERT_NO_GNULIB_POSIXCHECK.
134 (--enable-gcc-warnings): Change help message.
135 (gl_GCC_VERSION_IFELSE): New macro.
136 Do not omit -Wunused-macros for main code.
137 Adjust other -W options as per coreutils.
138 * lib/Makefile.am (AM_CFLAGS): Use GNULIB_WARN_CFLAGS, not WARN_CFLAGS.
139 * unlzw.c (REGISTERS, REG1, REG2, ..., REG16): Remove.
140 All uses removed. These provoked -Wunused-macros warnings.
141 This sort of fiddling with registers hasn't been needed for years.
143 build: update gnulib submodule to latest
145 maint: port to platforms lacking SIGPIPE
146 * gzip.c (SIGPIPE): Define to 0 if not already defined.
148 doc: bring up to date and fix troff typos
149 * doc/gzip.texi (Overview): Update RFC URLs.
150 * gzip.1: Likewise. Don't say "SEE ALSO" to programs that almost
151 nobody has installed anymore.
152 * gzip.1, zmore.1: Fix some troff typos.
153 * zdiff.1: Clarify what happens with input files. Don't talk
154 about temporary file names, as they're rarely used these days.
156 2012-10-24 Paul Eggert <eggert@cs.ucla.edu>
158 tests: exercise the grep -e portability fix
159 Remove workaround for Solaris, since the bug should be fixed now.
160 Suggested by Petr Sumbera in
161 <http://lists.gnu.org/archive/html/bug-gzip/2012-10/msg00005.html>.
162 * tests/zgrep-context, tests/zgrep-f: All uses removed.
163 * tests/init.cfg (require_POSIX_grep_): Remove.
165 2012-10-23 Eric Blake <eblake@redhat.com>
167 build: default to --enable-gcc-warnings in a git tree
168 Anyone building from cloned sources can be assumed to have a new
169 enough environment, such that enabling gcc warnings by default will
170 be useful. Tarballs still default to no warnings, and the default
171 can still be overridden with --disable-gcc-warnings.
172 * configure.ac (gl_gcc_warnings): Set default based on environment.
174 2012-10-20 Paul Eggert <eggert@cs.ucla.edu>
176 zgrep: do not assume standard 'grep' has -e
177 On Solaris 11, /usr/bin/grep -e does not work.
178 Problem reported by Petr Sumbera in
179 <http://lists.gnu.org/archive/html/bug-gzip/2012-10/msg00003.html>.
180 * Makefile.am (.in): Substitute @GREP@.
181 * configure.ac (AC_PROG_GREP): Invoke.
182 * zgrep.in (grep): Use @GREP@.
184 2012-08-14 Paul Eggert <eggert@cs.ucla.edu>
186 zgrep: do not assume GNU expr
187 * zgrep.in: Do not assume '\+' has the GNU behavior in the BRE
188 given to 'expr', as POSIX does not guarantee that. Come to think
189 of it, use a shell pattern rather than 'expr', as this is more
192 2012-08-08 Jim Meyering <meyering@redhat.com>
194 tests: exercise the just-fixed part of zgrep
195 * tests/zgrep-context: New file.
196 * tests/Makefile.am (TESTS): Add it.
198 2012-08-08 Jim Meyering <meyering@redhat.com>
200 zgrep: handle a multi-digit context option like -15
201 * zgrep.in: Do not malfunction when given an option like -15.
202 Before, it could end up treating the pattern as a file name:
204 $ echo x | gzip | zgrep -15 x
205 gzip: x.gz: No such file or directory
207 * NEWS (Bug fixes): Mention it.
208 Reported by Dan Bloch via Thomas Bushnell in
209 https://bugs.launchpad.net/bugs/1032831
211 2012-08-07 Jim Meyering <meyering@redhat.com>
213 build: update gnulib, bootstrap and init.sh
215 maint: fix misspellings in old ChangeLog and NEWS
216 * ChangeLog-2007: s/Supress/Suppress/
218 * cfg.mk (old_NEWS_hash): Update to match typo fix.
220 2012-06-19 Paul Eggert <eggert@cs.ucla.edu>
222 zmore: rewrite to fix bugs and assume POSIX
223 Problem reported for Solaris 9 by Daniel in
224 <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00007.html>.
225 Rather than figure out what exactly went wrong in Solaris 9
226 it was easier to rip out all the buggy compatibility and stty cruft.
227 * zmore.in: Don't use stty or trap; simply pipe the output to 'more'
228 and let it deal with signals and terminal control.
229 Use printf, not 'echo', to avoid problems with backslashes.
230 Don't assume ANS is not 's' in the environment.
231 Use a 'more'-style header instead of rolling our own style.
232 Paginate the header, too; the old behavior lost the header.
233 * NEWS, zmore.1: Document this.
235 2012-06-17 Jim Meyering <meyering@redhat.com>
238 * .mailmap: New file. Unify two spellings of Paul's name,
239 to make git log output slightly cleaner.
241 maint: post-release administrivia
242 * NEWS: Add header line for next release.
243 * .prev-version: Record previous version.
244 * cfg.mk (old_NEWS_hash): Auto-update.
247 * NEWS: Record release date.
249 build: update gnulib for fixed maint.mk
251 build: update gnulib submodule; bootstrap and init.sh, too
252 * cfg.mk: Exempt crufty tailor.h from its use of "#define off_t...".
253 * .gitignore, m4/.gitignore: Update semi-automatically (via bootstrap).
255 2012-04-24 Paul Eggert <eggert@cs.ucla.edu>
257 doc: document -rf change
258 * NEWS: Document the ZFS fix.
260 gzip: remove CLOSEDIR
261 * gzip.c (CLOSEDIR): Remove; no longer used.
263 gzip: port gzip -rf to ZFS
264 Problem reported privately by Rich Burridge.
265 * bootstrap.conf: Add savedir.
266 * gzip.c: Include <savedir.h>.
267 (_D_EXACT_NAMELEN): Remove.
268 (treat_dir): Use savedir rather than reading directory entries one
269 at a time, to avoid revisiting an already-compressed file when using
270 ZFS and the -rf flags are specified.
271 * lib/.gitignore, m4/.gitignore: Ignore savedir-related files.
273 2012-03-18 Paul Eggert <eggert@cs.ucla.edu>
275 gzip: fix nondeterministic compression results
276 Reported by Jakub Wilk in <http://bugs.debian.org/647522>.
277 * deflate.c (fill_window): Don't let garbage pollute the dictionary.
279 2012-01-11 Jim Meyering <meyering@redhat.com>
281 tests: make all test scripts executable; work with automake-1.12
282 * tests/Makefile.am (TESTS_ENVIRONMENT): Adapt to work with upcoming
284 * tests/mixed: Make executable.
285 * tests/zgrep-f: Likewise.
286 * tests/zgrep-signal: Likewise.
287 * tests/znew-k: Likewise.
289 build: accommodate newer bootstrap from gnulib
290 * bootstrap.conf (gnulib_tool_option_extras): Add both --symlink
291 and --makefile-name=gnulib.mk.
292 * bootstrap: Update from gnulib.
293 * tests/init.sh: Update from gnulib.
294 * lib/Makefile.am: Initialize all of the following so that
295 generated code in gnulib.mk may use += to append to those variables:
296 AM_CFLAGS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST, MOSTLYCLEANDIRS,
297 MOSTLYCLEANFILES, SUFFIXES, noinst_LTLIBRARIES.
299 2012-01-01 Jim Meyering <meyering@redhat.com>
301 maint: update all copyright year number ranges
302 Run "make update-copyright".
304 2011-12-21 Paul Eggert <eggert@cs.ucla.edu>
306 zless: decompress stdin too, if less 429 or later
307 * zless.in: Use LESSOPEN |- feature of less 429 or later.
308 Problem reported by Jeroen Roovers via Mike Frysinger in
309 <http://lists.gnu.org/archive/html/bug-gzip/2011-12/msg00006.html>.
311 2011-11-29 Jim Meyering <meyering@redhat.com>
313 build: update gnulib submodule to latest
315 build: accommodate gnulib's new warnings with --enable-gcc-warnings
316 * configure.ac (WERROR_CFLAGS): Disable two new warnings:
317 -Wno-format-nonliteral, -Wno-unsuffixed-float-constants.
318 * gzip.h (bi_reverse): Declare with _GL_ATTRIBUTE_CONST.
319 (gzip_base_name): Declare with _GL_ATTRIBUTE_PURE.
321 2011-11-29 Jim Meyering <meyering@redhat.com>
323 tests: use "compare exp out", not "compare out exp"
324 Likewise, when an empty file is expected, use "compare /dev/null out",
325 not "compare out /dev/null". I.e., specify the expected/desired contents
326 via the first file name. Prompted by a suggestion from Bruno Haible
327 in http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020/focus=29154
331 git grep -l -E 'compare [^ ]+ exp' \
332 |xargs perl -pi -e 's/\b(compare) (\S+) (exp\S*)/$1 $3 $2/'
333 git grep -l -E 'compare [^ ]+ /dev/null' \
334 |xargs perl -pi -e 's,\b(compare) (\S+) (/dev/null),$1 $3 $2,'
336 2011-11-05 Jim Meyering <meyering@redhat.com>
338 build: update gnulib submodule to latest
340 2011-11-02 Paul Eggert <eggert@cs.ucla.edu>
342 * tests/zgrep-signal: Don't assume exit status 141 on PIPE signal.
343 Problem reported by Eric Blake in
344 <http://lists.gnu.org/archive/html/bug-gzip/2011-11/msg00007.html>.
346 * tests/zgrep-signal: Use perl instead of a nonportable shell trap.
347 Problem reported by Eric Blake in
348 <http://lists.gnu.org/archive/html/bug-gzip/2011-11/msg00005.html>.
350 * tests/zgrep-signal: Test for Fedora 15 signal bug.
351 Also, don't assume that SIGPIPE is SIG_DFL on entry.
353 2011-11-02 Jim Meyering <meyering@redhat.com>
355 build: update gnulib submodule to latest
357 tests: mixed: correct size-enumeration logic
358 * tests/mixed (sizes): Fix misplaced "&& break" that made us test
359 only with a size of 0, rather than all sizes in 0..64.
361 maint: avoid "make syntax-check" failure
362 * gzip.c (treat_stdin): Indent with spaces, not TABs.
364 2011-11-02 Paul Eggert <eggert@cs.ucla.edu>
366 * gzip.c (treat_stdin): If quiet, be quiet with plain gzip -q.
367 Problem reported by Michaël Guitton in
368 <http://lists.gnu.org/archive/html/bug-gzip/2011-11/msg00000.html>.
370 2011-08-10 Jim Meyering <meyering@redhat.com>
372 maint: remove amiga, atari, msdos, nt, os2, vms sub-directories,
373 and all files therein. This was proposed months prior, and no
375 * amiga/Makefile.gcc: Remove file.
376 * amiga/Makefile.sasc: Likewise.
377 * amiga/match.a: Likewise.
378 * amiga/tailor.c: Likewise.
379 * amiga/utime.h: Likewise.
380 * atari/Makefile.st: Likewise.
381 * msdos/Makefile.bor: Likewise.
382 * msdos/Makefile.djg: Likewise.
383 * msdos/Makefile.msc: Likewise.
384 * msdos/doturboc.bat: Likewise.
385 * msdos/gzip.prj: Likewise.
386 * msdos/match.asm: Likewise.
387 * msdos/tailor.c: Likewise.
388 * nt/Makefile.nt: Likewise.
389 * os2/Makefile.os2: Likewise.
390 * os2/gzip.def: Likewise.
391 * os2/gzip16.def: Likewise.
392 * vms/Makefile.gcc: Likewise.
393 * vms/Makefile.mms: Likewise.
394 * vms/Makefile.vms: Likewise.
395 * vms/Readme.vms: Likewise.
396 * vms/gzip.hlp: Likewise.
397 * vms/makegzip.com: Likewise.
398 * vms/vms.c: Likewise.
399 * Makefile.am (EXTRA_DIST): Remove those file names.
401 build: use largefile module and update to latest gnulib
402 * configure.ac: Remove AC_SYS_LARGEFILE, subsumed by ...
403 * bootstrap.conf (gnulib_modules): ...this. Use largefile module.
404 * gnulib: Update to latest.
406 2011-07-12 Jim Meyering <meyering@redhat.com>
408 maint: update init.sh and bootstrap from gnulib
409 * bootstrap: Update from gnulib.
410 * tests/init.sh: Update from gnulib.
412 maint: use gnulib's realloc-gnu and malloc-gnu modules
413 * bootstrap.conf (gnulib_modules): Use realloc-gnu and malloc-gnu,
414 rather than the now-deprecated realloc and malloc modules.
416 build: update gnulib submodule to latest
418 2011-06-21 Paul Eggert <eggert@cs.ucla.edu>
420 * deflate.c: Export nice_match to assembler.
421 (static_unless_ASMV): New macro.
422 (nice_match): Use it.
424 2011-06-08 Jim Meyering <meyering@redhat.com>
426 build: fix "make syntax-check"
427 * cfg.mk (_gl_TS_unmarked_extern_vars): Add good_match.
429 build: avoid link failure: this time on i686 linux
430 * deflate.c (good_match): Must not be static, since it may
431 be used from lib/match.c.
433 2011-05-14 Jim Meyering <meyering@redhat.com>
435 build: avoid link failure on at least i386-FreeBSD7.2
436 * deflate.c (match_start, prev_length, max_chain_length): Do not
437 declare these as static. On some types of system/arch, they are
439 * cfg.mk (_gl_TS_unmarked_extern_vars): Mark those three variables
440 as known-extern: match_start, prev_length, max_chain_length.
442 2011-05-13 Jim Meyering <meyering@redhat.com>
444 avoid new build failure on a system without <crypt.h>
445 * bits.c: Don't include "crypt.h", now that it's deleted.
447 maint: use gnulib's new readme-release module
448 * bootstrap.conf (gnulib_modules): Add readme-release.
449 (bootstrap_epilogue): Add the recommended perl one-liner.
450 * README-release: Remove file; it is now generated from gnulib.
451 * .gitignore: Add it.
453 2011-05-09 Jim Meyering <meyering@redhat.com>
455 build: update gnulib submodule to latest
457 maint: prepare for gnulib's new tight-scope syntax-check rule
458 * cfg.mk (_gl_TS_dir): Define.
459 (_gl_TS_unmarked_extern_vars): Define.
461 maint: declare many variables to be static
462 * deflate.c: Likewise.
465 * inflate.c: Likewise.
470 maint: remove crypt.[ch] stubs
471 * Makefile.am (gzip_SOURCES): Remove crypt.c
472 (EXTRA_DIST): Remove crypt.h
473 * crypt.c, crypt.h: Remove files.
474 * unpack.c: Don't #include "crypt.h"
479 maint: limit scope of several functions
480 * deflate.c (longest_match): Move extern declaration into #if-ASMV block.
481 [!ASMV]: Define as static.
482 * inflate.c: Remove unnecessary prototypes.
483 ANSI-declify functions and declare them to be static.
485 maint: remove all uses of OF((...)) prototype-hiding macro
486 * bits.c: Remove all uses of OF.
487 * deflate.c: Likewise.
489 * inflate.c: Likewise.
493 * unpack.c: Likewise.
496 (OF): Remove its definition, too.
498 maint: prepare for tight-scope rule: use noinst_HEADERS
499 * Makefile.am (EXTRA_DIST): Move lzw.h and gzip.h from here to ...
500 (noinst_HEADERS): ...here.
501 For convenience, since the tight-scope rule uses $(noinst_HEADERS).
503 2011-04-14 Jim Meyering <meyering@redhat.com>
505 maint: update bootstrap and init.sh from gnulib
506 * bootstrap: Likewise.
507 * tests/init.sh: Update from gnulib.
509 maint: note that we'll remove amiga, atari, msdos, nt, os2, vms soon
510 If someone can show that any of these are being used, let us know.
511 * TODO: Note the plan to remove those directories this year.
513 build: update gnulib submodule to latest
515 maint: fix typos in vms manual: s/it\nit/\nit/
516 * vms/gzip.hlp: Remove doubled "it".
518 2011-04-10 Jim Meyering <meyering@redhat.com>
520 maint: fix typos in comment: s/to to/to/
521 * deflate.c: Remove doubled 'to's.
523 2011-03-20 Jim Meyering <meyering@redhat.com>
525 maint: stop using .x-sc_* files to list syntax-check exemptions
526 Instead, use the new mechanism with which you merely use a
527 variable (derived from the rule name) defined in cfg.mk to an ERE
528 matching the exempted file names.
529 * gnulib: Update to latest, to get maint.mk that implements this.
530 * .x-sc_file_system: Remove file.
531 * .x-sc_prohibit_tab_based_indentation: Likewise.
532 * .x-sc_require_config_h: Likewise.
533 * .x-sc_require_config_h_first: Likewise.
534 * cfg.mk: Define variables to exempt the same files.
536 2011-03-18 Jim Meyering <meyering@redhat.com>
538 doc: correct README-release
539 * README-release: Remove mention of -announce mailing list.
540 Unlike coreutils, gzip does not have its own.
542 doc: update release procedure
543 * README-release: Resync from coreutils' file by the same name.
545 2011-01-03 Jim Meyering <meyering@redhat.com>
547 maint: update copyright year ranges to include 2011
548 Run "make update-copyright", so "make syntax-check" works in 2011.
550 build: update gnulib submodule to latest
552 maint: avoid failure of new test for bindtextdomain
553 * cfg.mk (local-checks-to-skip): Add sc_bindtextdomain.
555 2010-12-02 Jim Meyering <meyering@redhat.com>
557 maint: avoid "make syntax-check" failure due to old-NEWS modification
558 * cfg.mk (old_NEWS_hash): Update, to reflect recent NEWS correction.
560 2010-12-01 Paul Eggert <eggert@cs.ucla.edu>
562 * NEWS: The "gzip -f foo.gz" change occurred in 1.3.13, not 1.3.12
564 2010-11-10 Paul Eggert <eggert@cs.ucla.edu>
566 zgrep: don't assume traditional behavior with signal numbers
567 * zgrep.in: Don't assume the exit status is the signal number plus
568 128, as POSIX doesn't require this. No need to kill self; exiting
569 with large status is enough. Propagate all exit statuses greater
570 than 1, not merely those in the range 129..143, as there's no need
571 to treat that range specially (and it's not portable anyway).
573 2010-11-09 Paul Eggert <eggert@cs.ucla.edu>
575 zgrep: fix shell portability bug with -f; fix mishandling of "-e -"
576 * tests/zgrep-f: Check for "zgrep -e -" bug, too.
577 * zgrep.in: Don't assume that if the shell redirects fd 6, then
578 this redirection is visible to the subsidiary grep. POSIX doesn't
579 guarantee this visibility except for file descriptors 0, 1, and 2,
580 and ksh does not support it. Problem reported by Thomas Schulz in
581 <http://lists.gnu.org/archive/html/bug-gzip/2010-11/msg00000.html>.
582 Also, fix a related bug: "-e -" was mishandled. These two bugs
583 were introduced by commit 5b54db4546b84ec97ff57a62f8ddb98faacf77f2
585 (escape): Change the convention: do not assume that a stray X
586 is present at the end of the last line. All uses changed.
587 There was no longer any need for this convention, and fixing this
588 made it a bit easier to use 'sed' in a later part of the fix.
590 2010-11-08 Paul Eggert <eggert@cs.ucla.edu>
592 maint: fix copyright dates that were munged by a maintenance script
593 * gunzip.in, gzexe.in, zcat.in, zcmp.in, zdiff.in, zforce.in:
594 * zgrep.in, zless.in, zmore.in, znew.in:
595 A script went awry when updating copyright dates in gzip's shell
596 scripts. It should update comments to look like "# Copyright (C)
597 2007, 2010 Free Software Foundation, Inc." (with a set of years)
598 and version messages to look like "Copyright (C) 2010 Free
599 Software Foundation, Inc." (with just the most-recent year).
600 Instead, it sometimes ignored one, sometimes the other, and
601 typically put ranges into version messages. Fix all this stuff by
602 hand, using dates that I divined from the change logs (so they're
603 a bit more accurate than script-generated dates). We need to fix
604 the script before it runs in 2011.
606 2010-10-23 Jim Meyering <meyering@redhat.com>
608 maint: anchor patterns in .gitignore files
609 * doc/.gitignore: Anchor patterns.
610 * lib/.gitignore: Likewise.
611 * m4/.gitignore: Likewise.
613 maint: update bootstrap and init.sh from gnulib
615 * tests/init.sh: Update.
617 2010-10-23 Rob Vermaas <rob.vermaas@gmail.com>
619 maint: update to latest gnulib; use fdutimens, not gl_futimens
620 * gzip.c (copy_stat): Use fdutimens, not gl_futimens.
621 * gnulib: Update to latest.
623 2010-10-23 Jim Meyering <meyering@redhat.com>
625 maint: accommodate stricter syntax-check
626 Avoid #if, #define and #undef of always-defined symbols.
627 * gzip.c (ELOOP, SIGPIPE): Remove unneeded cpp directives.
628 * tailor.h (HAVE_DIRENT_H, HAVE_FCNTL_H, HAVE_UNISTD_H, MSDOS):
629 (O_BINARY): Likewise.
631 maint: make our use of gnulib's init.sh conform
632 * tests/help-version: Make use of init.sh conform.
633 * tests/helin-segv: Likewise.
634 * tests/help-version: Likewise.
635 * tests/hufts: Likewise.
636 * tests/memcpy-abuse: Likewise.
637 * tests/mixed: Likewise.
638 * tests/null-suffix-clobber: Likewise.
639 * tests/stdin: Likewise.
640 * tests/trailing-nul: Likewise.
641 * tests/zdiff: Likewise.
642 * tests/zgrep-f: Likewise.
643 * tests/zgrep-signal: Likewise.
644 * tests/znew-k: Likewise.
646 2010-10-10 Jim Meyering <meyering@redhat.com>
648 maint: describe policy on copyright year number ranges
649 * README: Mention coreutils' long-standing policy on use of M-N
650 ranges in copyright year lists. Requested by Richard Stallman.
652 2010-09-15 Paul Eggert <eggert@cs.ucla.edu>
654 zgrep: fix parsing of -Eh options
655 * zgrep.in: Update list of single-letter options to match what's
656 in GNU grep. Add -h as an alias for --no-filename. Bug reported
657 by Vladimir Sidorenko in
658 <http://lists.gnu.org/archive/html/bug-gzip/2010-09/msg00007.html>.
660 2010-08-17 Paul Eggert <eggert@cs.ucla.edu>
662 gzip: fix NO_SIZE_CHECK for VMS
663 * gzip.c (do_list): Use if, not #if.
664 * tailor.h (NO_SIZE_CHECK) [defined(VAXC) || defined(VMS)]: Define.
665 * zip.c (zip): Simplify conditional, which was incorrect at any rate
668 2010-08-15 Paul Eggert <eggert@cs.ucla.edu>
670 algorithm.doc: mention Internet RFC 1952 and modernize a bit
671 * algorithm.doc: Update to mention header-CRC and Internet RFC 1952.
672 Also, remove the crypto stuff, which never worked.
673 Inspired by that same suggestion of Greg Roelofs.
675 gzip: Use 0x%04x instead of %x when printing 16-bit checksums
676 * gzip.c (get_method): Use 0x%04x, not %x, to print 16-bit checksums.
677 Inspired by a suggestion of Greg Roelofs in
678 http://lists.gnu.org/archive/html/bug-gzip/2010-08/msg00004.html
680 2010-08-03 Paul Eggert <eggert@cs.ucla.edu>
682 maint: update bootstrap
683 * bootstrap, bootstrap.conf, tests/init.sh: Merge from gnulib.
685 2010-07-19 Paul R. Eggert <eggert@cs.ucla.edu>
687 gzip: don't assume C99, and don't assume overlapping memcpy should work
688 * tailor.h (NOMEMCPY): Remove. memcpy is entitled to not work
689 on overlapping blocks.
690 * inflate.c (inflate_codes): Don't put decl after statement.
693 * gzip.c (get_method): don't assume size_t can be printed with %u
695 2010-07-02 Paul Eggert <eggert@cs.ucla.edu>
697 Mention that gzip -d now handles FHCRC.
699 2010-07-02 Paul Eggert <eggert@cs.ucla.edu>
701 Decode FHCRC flag properly, as per Internet RFC 1952.
702 Problem reported by Greg Roelofs in:
703 http://lists.gnu.org/archive/html/bug-gzip/2010-06/msg00003.html
705 * gzip.c (discard_input_bytes): New function.
706 (get_method): Check header checksum, if given. We never generate it,
707 but other programs may.
708 * gzip.h (HEADER_CRC): Renamed from CONTINUATION. All uses changed.
709 * tailor.h [defined __50SERIES]: Remove PRIMOS stuff that was obsolete
710 anyway and would have made this patch harder to maintain.
711 (get_char, put_char): Remove.
712 * zip.c (zip): Use put_byte instead of the now-removed put_char.
714 2010-07-01 Paul Eggert <eggert@cs.ucla.edu>
716 Don't assume that sizeof (long) == 4 when computing statistics.
717 * gzip.c (get_method): Don't assume sizeof (long) == 4.
718 * zip.c (zip): Likewise.
720 Update Info-ZIP name and coordinates (thanks to Greg Roelofs).
722 2010-05-11 Paul Eggert <eggert@cs.ucla.edu>
724 * doc/gzip.texi (Sample): Fix backslash quoting problem.
725 Problem reported by Ole Tange in
726 <http://lists.gnu.org/archive/html/bug-gzip/2010-05/msg00000.html>.
728 2010-04-26 Jim Meyering <meyering@redhat.com>
730 build: update gnulib submodule to latest
732 maint: remove primos support
733 * Makefile.am (EXTRA_DIST): Remove all primos/ files.
734 * primos/build.cpl: Remove file.
735 * primos/ci.opts: Likewise.
736 * primos/include/errno.h: Likewise.
737 * primos/include/fcntl.h: Likewise.
738 * primos/include/stdlib.h: Likewise.
739 * primos/include/sysStat.h: Likewise.
740 * primos/include/sysTypes.h: Likewise.
741 * primos/primos.c: Likewise.
742 * primos/readme: Likewise.
744 2010-04-08 Jim Meyering <meyering@redhat.com>
746 build: include cfg.mk in the distribution tarball
747 * Makefile.am (EXTRA_DIST): Add cfg.mk.
749 2010-04-07 Eric Blake <eblake@redhat.com>
751 maint: ignore more built files
752 * .gitignore: Add version files.
754 2010-04-07 Jim Meyering <meyering@redhat.com>
756 tests: help-version: cross-check PATH in tests
757 * tests/help-version: Cross-check $VERSION and --version output.
758 * tests/Makefile.am (TESTS_ENVIRONMENT): Export VERSION=$(VERSION).
760 tests: improve help-version
761 * tests/help-version: Use fail_, rather than echo+Exit.
763 tests: pull help-version from grep
765 build: keep --version strictly up to date
766 Before this change, in development, gzip's --version output could lag
767 behind reality by a couple deltas or by a "-dirty" suffix. That would
768 lead to spurious failure of the new --version-$VERSION PATH cross-check.
769 * Makefile.am (version.c, version.h): New rules.
770 (BUILT_SOURCES): Set/append.
771 (noinst_LIBRARIES, noinst_libver_a_SOURCES): Define.
772 (gzip_LDADD): Add libver.a.
773 (DISTCLEANFILES): Define.
774 * gzip.c (license): Use Version, not VERSION.
776 2010-04-06 Jim Meyering <meyering@redhat.com>
778 tests: (portability) use st, not "status" as variable name
779 * tests/zgrep-signal: Do not use status as a variable name,
780 per autoconf's documentation that it is not portable to
783 tests: s/framework_failure/framework_failure_/
785 tests: update init.sh from gnulib
786 * tests/init.sh: Update from gnulib.
788 tests: run most tests via tests/Makefile.am
789 * Makefile.am (SUBDIRS): List tests after ".".
790 Move most test-related things from here to ...
791 * tests/Makefile.am: ... here.
792 * configure.ac (AC_CONFIG_FILES): Add tests/Makefile.
793 * tests/helin-segv: Adjust.
794 * tests/help-version: Likewise.
795 * tests/hufts: Likewise.
796 * tests/memcpy-abuse: Likewise.
797 * tests/mixed: Likewise.
798 * tests/null-suffix-clobber: Likewise.
799 * tests/stdin: Likewise.
800 * tests/trailing-nul: Likewise.
801 * tests/zdiff: Likewise.
802 * tests/zgrep-f: Likewise.
803 * tests/zgrep-signal: Likewise.
804 * tests/znew-k: Likewise.
806 tests: skip tests that use grep's -f and -E options, if they don't work
807 * tests/init.cfg (require_grep_minus_f): New function.
808 * tests/zgrep-f: Use require_grep_minus_f. Use path_prepend_.
810 tests: arrange for skip and failure notices to go to stderr, not .log
811 * tests/init.cfg: New file. Make init.sh's stderr_fileno_ match
812 what the "exec 9>&2" we use in TESTS_ENVIRONMENT.
813 * Makefile.am (EXTRA_DIST): Add it.
815 2010-04-06 Eric Blake <eblake@redhat.com>
817 maint: ignore generated files
818 * .gitignore: Ignore recent gnulib additions.
820 maint: update bootstrap
821 * bootstrap: Use latest copy from gnulib/build-aux.
823 2010-04-05 Jim Meyering <meyering@redhat.com>
825 build: use gnulib's lib-ignore module
826 * bootstrap.conf (gnulib_modules): Add lib-ignore, in case it helps.
827 * Makefile.am (AM_LDFLAGS): Define it.
829 maint: let configure-invoked cpp emit diagnostics to config.log
830 * configure.ac: Do not discard CPP's stderr.
832 build: update gnulib submodule to latest, and adapt
833 * cfg.mk: Update to use new _sc_search_regexp interface. Run this:
834 perl -pi -e 's/\b_prohibit_regexp\b/_sc_search_regexp/;'
835 -e 's/\bmsg=/halt=/; s/\bre=/prohibit=/;' cfg.mk
836 and then adjust backslashes so they still line up.
837 * cfg.mk (local-checks-to-skip): Add new sc_texinfo_acronym, to skip it.
838 * msdos/tailor.c (fcalloc): Mark a diagnostic for translation, to
839 placate stricter syntax-check, even though no one uses this file.
841 use assembly code matcher when possible
842 * configure.ac (ASCPPPOST): Backslash-escape "#" in AC_SUBST'd
843 variable, to keep make from seeing it as a comment-introducer.
844 Based on a patch by Petr Pisar.
845 * lib/Makefile.am (match.$(OBJEXT)): Use AM_V_GEN and AM_V_at.
846 * lib/match.c: Don't include <config.h>.
847 It would impede configure-time assembler test.
848 * .x-sc_require_config_h: Exempt lib/match.c from syntax-check.
849 * .x-sc_require_config_h_first: Likewise.
851 2010-03-20 Jim Meyering <meyering@redhat.com>
853 do not use stat.st_mtime of a non-regular file
854 * gzip.c: Include "timespec.h".
855 (treat_stdin): Use st_mtime only from a regular file.
856 This matters at least on Cygwin 1.7.1-1, for which a stdin-pipe has
857 the mtime of /dev/null, rather than the gzip-documented-for-pipes
858 "current time". Reported by Denis Excoffier.
860 2010-02-22 Jim Meyering <meyering@redhat.com>
862 tests: exercise the fix for the decompression data-loss bug
863 * tests/null-suffix-clobber: New file.
864 * Makefile.am (TESTS): Add it.
866 gzip: fix a data-loss bug when decompressing with --suffix=''
867 * gzip.c (main): Disallow an empty --suffix=S also with -d.
868 Otherwise, "gzip -d -S '' F.gz" would ask if it's ok to remove the
869 existing file, "F.gz"; if you reply "yes", you'd lose all of that data.
870 Use of an empty suffix was already rejected in compression mode.
871 * gzip.1 (--suffix (-S)): Do not recommend to use "gunzip -S '' *".
872 Describe how the suffix is used when decompressing, too.
873 * NEWS (Bug fixes): mention the fix.
874 Reported by Ripduman Sohan.
876 tests: add ---presume-input-tty option, solely for testing
877 * gzip.c: Include <stdbool.h>.
878 (presume_input_tty): New global.
880 (treat_stdin, check_ofname): Use it.
882 2010-02-07 Jim Meyering <meyering@redhat.com>
884 doc: minor adjustment to README-release
885 * README-release: Tweak description, to sync from coreutils.
887 tests: add the help-version sanity tests from coreutils
888 * tests/help-version: New file, from coreutils.
889 * Makefile.am (TESTS): Add it.
891 tests: make distcheck invoke "make syntax-check" and other tests
892 * dist-check.mk: New file, from coreutils.
893 * cfg.mk: Include it.
894 * Makefile.am (distcheck-hook): New rule, to make us use it.
896 zcmp: consistently indicate failure with exit status of 2
897 * zcmp.in: Exit with status of 2 (not 1), when writing
898 --help or --version output fails, to be more like cmp.
900 2010-02-03 Jim Meyering <meyering@redhat.com>
902 tests: add more tests of gzip -cdf
903 * tests/mixed: Test "gzip -cdf" for a range of small uncompressed files.
905 tests: flip and adjust mixed test, now that the bug is fixed
906 * NEWS (Bug fixes): Mention the fix.
907 * Makefile.am (XFAIL_TESTS): Move tests/mixed from here...
909 * tests/mixed: Comment out the currently (always?) failing part.
911 2010-02-03 Mark Adler <madler@alumni.caltech.edu>
913 gzip -cdf now handles concatenation of gzip'd and uncompressed data
914 * util.c (copy): Change semantics so as to honor a decremented inptr.
915 * gzip.c (get_method): When needed (-cdf), decrement inptr rather
916 than clearing it -- and output the first magic byte.
918 2010-02-03 Dmitry V. Levin <ldv@altlinux.org>
920 zgrep: terminate gracefully when a pipeline is interrupted by a signal
921 zgrep is not terminated gracefully when its grep/sed pipeline
922 is terminated by a signal. For example, a command like
923 zgrep -F .TH /usr/share/man/man1/*.gz | head
924 continues working long after the "head" process completes.
925 Another example, a command like
926 zgrep unmatched-pattern /usr/share/man/man1/*.gz
927 cannot be interrupted by sending a SIGQUIT with Ctrl-\ key, it outputs
928 zgrep: line 221: test: : integer expression expected
930 * zgrep.in: Terminate gracefully when the grep/sed pipeline is
931 terminated by a signal.
932 * tests/zgrep-signal: New test.
933 * Makefile.am (TESTS): Add it.
935 2010-02-03 Jim Meyering <meyering@redhat.com>
937 maint: teach "make syntax-check" the space-only indentation rule
938 * cfg.mk (sc_prohibit_tab_based_indentation): New rule, from coreutils.
939 (sc_prohibit_emacs__indent_tabs_mode__setting): Likewise.
940 * bootstrap: Remove "indent-tabs-mode: nil" directive.
941 * .x-sc_prohibit_tab_based_indentation: New file.
943 2010-02-02 Jim Meyering <meyering@redhat.com>
945 global: convert indentation-TABs to spaces
946 Transformed via this shell code:
949 | grep -vE '(^|/)((GNU)?[Mm]akefile|ChangeLog)|\.(am|mk)$' \
950 | grep -vE 'tests/pr/|help2man' \
951 | xargs grep -lE "^ *$t" \
952 | xargs perl -MText::Tabs -ni -le \
953 '$m=/^( *\t[ \t]*)(.*)/; print $m ? expand($1) . $2 : $_'
955 2010-02-02 Dmitry V. Levin <ldv@altlinux.org>
957 wrapper scripts: write diagnostics to stderr, not to stdout
958 * zforce.in: In case of usage error, output short error diagnostics to
959 stderr instead of printing help text to stdout.
960 * zmore.in: Likewise.
963 2010-02-02 Jim Meyering <meyering@redhat.com>
965 gzip -cdf mishandles some concatenated input streams: test it
966 * tests/mixed: Exercise "gzip -cdf" bug.
967 * Makefile.am (XFAIL_TESTS): Add it.
968 Mark Adler reported the bug.
970 tests: move the hufts-segv test to its own file
971 * tests/hufts: New test.
972 * Makefile.am (TESTS): Add tests/
973 (check-local): Remove the hufts-segv test from this rule.
975 tests: begin moving tests into their own files
976 * Makefile.am (TESTS): Add tests/stdin.
977 (check-local): Move the stdin check to its own file:
978 * tests/stdin: New script.
980 tests: remove unnecessary use of "path_prepend_ ."
981 It is unnecessary, since Makefile.am's TESTS_ENVIRONMENT setting
982 already adds the top build directory, and besides, is only
983 marginally useful when running stand-alone, since it presumes
984 that the script is being run from the top build directory.
985 * tests/helin-segv: Remove unnecessary use of path_prepend_.
986 * tests/memcpy-abuse: Likewise.
987 * tests/trailing-nul: Likewise.
988 * tests/zdiff: Likewise.
989 * tests/zgrep-f: Likewise.
991 tests: note that znew-k test depends on length of temp file name
992 * tests/znew-k: Tweak diagnostic, factor and add a surprising comment.
994 2010-02-01 Jim Meyering <meyering@redhat.com>
996 build: update gnulib submodule to latest
998 2010-02-01 Dmitry V. Levin <ldv@altlinux.org>
1000 fix "znew -K" to work without use of compress utility
1001 * znew.in: Change -K option to imply -t, do not use compress(1).
1002 * znew.1: Document it.
1003 * tests/znew-k: New test.
1004 * Makefile.am (TESTS): Add it.
1006 2010-01-20 Jim Meyering <meyering@redhat.com>
1008 maint: update README-release procedure
1009 * README-release: sync from coreutils.
1011 post-release administrivia
1012 * NEWS: Add header line for next release.
1013 * .prev-version: Record previous version.
1014 * cfg.mk (old_NEWS_hash): Auto-update.
1017 * NEWS: Record release date.
1019 tests: exercise the segfault fix
1020 * tests/helin-segv: New test.
1021 * Makefile.am (TESTS): Add it.
1023 gzip -d: do not clobber stack for valid input on x86_64
1024 * unlzw.c (unlzw): Avoid integer overflow.
1025 Aki Helin reported the segfault along with an input to trigger the bug.
1026 * NEWS (Bug fixes): Mention it.
1028 maint: avoid a minor "make syntax-check" failure
1029 * .x-sc_file_system: Exempt NEWS, since it includes a literal
1030 from an old diagnostic.
1032 maint: remove unused file: README-alpha
1033 * README-alpha: Remove unused file.
1035 build: update gnulib submodule to latest
1037 2010-01-11 Yuxi Zhang <YZhang@qnx.com>
1039 gzip -d: use memcpy more often
1040 * inflate.c (inflate_codes): Use memcpy (rather than slower
1041 memcopy-like code) in more cases.
1043 2010-01-11 Jim Meyering <meyering@redhat.com>
1045 build: do not override gnulib-provided AM_CFLAGS options
1046 Avoid a warning from automake:
1047 lib/Makefile.am:24: AM_CFLAGS multiply defined in condition TRUE ...
1048 lib/gnulib.mk:30: ... `AM_CFLAGS' previously defined here
1049 lib/Makefile.am:20: `lib/gnulib.mk' included from here
1051 * lib/Makefile.am (AM_CFLAGS): Append $(WARN_CFLAGS) and
1052 $(WERROR_CFLAGS), i.e., use "+=", not "=".
1053 This was introduced via 2009-12-17 commit 0341fc22,
1054 "build: with --enable-gcc-warnings, use -Werror",
1055 but fortunately is not a bug, because the definition
1056 it would have overridden was always empty.
1058 2010-01-10 Jim Meyering <meyering@redhat.com>
1060 gzip -d would fail with a CRC error...
1061 ...for some inputs, and some memcpy implementations. It is possible
1062 that an offending input has to be compressed "from FAT filesystem
1063 (MS-DOS, OS/2, NT)", since the sole reproducer no longer evokes a
1064 CRC error when uncompressed and recompressed on a GNU/Linux system.
1065 Also, using an unpatched reverse-memcpy-gzip on over 100,000 inputs
1066 on a GNU/Linux system did not turn up another reproducer.
1067 * inflate.c (inflate_codes): Don't call memcpy with overlapping regions.
1068 Properly detect when source and destination overlap.
1069 * tests/memcpy-abuse: New test, to trigger misbehavior.
1070 * Makefile.am (TESTS): Add it.
1071 * NEWS (Bug fixes): Mention it.
1072 Reported by Alain Magloire in
1073 http://thread.gmane.org/gmane.comp.gnu.gzip.bugs/307
1075 2010-01-08 Jim Meyering <meyering@redhat.com>
1077 tests: switch to gnulib's init.sh test infrastructure
1078 * tests/test-lib.sh: Remove file.
1079 * tests/init.sh: New file, from gnulib.
1080 * tests/trailing-nul: Use the new file.
1081 * tests/zdiff: Likewise.
1082 * tests/zgrep-f: Likewise.
1083 * Makefile.am (EXTRA_DIST): List tests/init.sh, not test-lib.sh.
1085 build: update gnulib submodule to latest
1087 2010-01-03 Jim Meyering <meyering@redhat.com>
1089 maint: record update-copyright options for this package
1090 * cfg.mk: Next time, just run "make update-copyright".
1092 2010-01-01 Jim Meyering <meyering@redhat.com>
1094 maint: update all FSF copyright year lists to include 2010
1096 git ls-files |grep -vE '^(\..*|COPYING|gnulib)$' |xargs \
1097 env UPDATE_COPYRIGHT_USE_INTERVALS=1 build-aux/update-copyright
1099 2009-12-31 Jim Meyering <meyering@redhat.com>
1101 maint: newer gnulib; don't hard-code my GPG key ID
1102 * cfg.mk (gpg_key_ID): Remove definition, now that maint.mk automates it.
1103 * gnulib: Update to lastest.
1105 2009-12-30 Jim Meyering <meyering@redhat.com>
1107 build: update gnulib submodule to latest
1109 maint: remove lots of obsolete #if...HAVE_* checks
1110 Remove many always-true cpp tests like #ifdef HAVE_UNISTD_H,
1111 #ifdef HAVE_FCNTL_H and #ifdef SSIZE_MAX.
1114 * inflate.c: Likewise.
1115 * tailor.h: Likewise.
1116 * unlzw.c: Likewise.
1120 build: add a syntax-check
1121 * cfg.mk (sc_prohibit_obsolete_HAVE_HEADER_H): New rule.
1123 build: with --enable-gcc-warnings, use -Werror
1124 * Makefile.am (AM_CFLAGS): Enable $(WERROR_CFLAGS).
1125 * lib/Makefile.am (AM_CFLAGS): Enable both $(WARN_CFLAGS) and
1128 build: quiet warnings from util.c
1129 * configure.ac (warnings): Add -Wno-overflow and -Wno-type-limits.
1131 build: avoid warning about possibly-no-return functions
1132 * gzip.h (read_error, write_error): Mark these functions as "no-return".
1134 build: avoid warning about ignored chown/fchown return value
1135 * bootstrap.conf (gnulib_modules): Add ignore-value.
1136 * gzip.c: Include "ignore-value.h".
1137 (copy_stat): Explicitly ignore chown and fchown failure
1139 build: update gnulib submodule to latest
1141 2009-11-20 Jim Meyering <meyering@redhat.com>
1143 build: unlzw.c: avoid warnings about unused macros
1144 * configure.ac: Turn off -Wunused-macros.
1146 build: avoid warnings about unused macros
1147 * unzip.c (LOCTIM): Comment out unused macro.
1148 * deflate.c (EQUAL): Remove definition. Use "0" at sole point of use.
1150 build: util.c: avoid warnings about add_envopt
1151 * util.c (add_envopt): The parameter "env" was used for two conflicting
1152 purposes. One use required a const char* parameter, while the other
1153 was used as an argument to free, which must not be "const".
1154 Rename the parameter and use a new local variable for the second role.
1156 build: avoid many const-related warnings
1157 * gzip.c: Add "const" to many variables, to avoid compiler warnings.
1158 * util.c (add_envopt): Make 3rd parameter const
1159 (gzip_error): Make sole parameter const.
1160 * gzip.h: Update prototypes.
1162 build: avoid warnings from -Wstrict-prototypes
1163 * gzip.c (main): Declare using a prototype.
1164 (progerror): Likewise. And make parameter const.
1166 build: use gnulib's fdopendir module
1167 * bootstrap.conf (gnulib_modules): Add fdopendir.
1168 * gzip.c (treat_dir): Don't depend on HAVE_FDOPENDIR.
1169 Gnulib now guarantees its availability.
1170 * configure.ac: Don't check for fdopendir here.
1172 build: enable many warnings
1173 * configure.ac: Add support for --enable-gcc-warnings.
1174 * bootstrap.conf (gnulib_modules): Add manywarnings.
1175 * Makefile.am (AM_CFLAGS): Add (WARN_CFLAGS) # $(WERROR_CFLAGS)
1177 maint: tweak formatting of bootstrap.conf
1178 * bootstrap.conf (gnulib_modules): Unindent list.
1180 maint: cfg.mk: remove factored-out ftp host/dir definitions
1181 * cfg.mk (gnu_ftp_host-alpha, gnu_ftp_host-beta gnu_ftp_host-stable):
1182 (gnu_rel_host, url_dir_list): Remove definitions. The defaults,
1183 now provided by maint.mk, are the same.
1184 * gnulib: Update for latest, including those maint.mk additions.
1186 build: "make stable" emitted an invalid gnupload command
1187 * cfg.mk (gnu_ftp_host-stable): Rename from gnu_ftp_host-major.
1188 * README-release: Change another s/major/stable/.
1190 2009-10-30 Jim Meyering <meyering@redhat.com>
1192 post-release administrivia
1193 * NEWS: Add header line for next release.
1194 * .prev-version: Record previous version.
1195 * cfg.mk (old_NEWS_hash): Auto-update.
1198 * NEWS: Record release date.
1200 build: accommodate new syntax-check test
1201 * amiga/tailor.c (_expand_args): Change each of three uses of
1202 "exit(20)" to "exit(EXIT_FAILURE)".
1203 * sample/add.c: Include <stdlib.h>.
1204 (main): Use EXIT_FAILURE and EXIT_SUCCESS, not 1 and 0.
1205 * sample/sub.c (main): Likewise.
1206 * sample/zread.c (main): Likewise.
1208 build: update gnulib submodule to latest
1210 build: link with $(LIB_CLOCK_GETTIME)
1211 * Makefile.am (gzip_LDADD): Add $(LIB_CLOCK_GETTIME), now that
1212 utimens pulls in gettime.
1213 (FILES_TO_CHECK): Remove $(gzip_LDADD), now that it may contain -lrt.
1215 2009-10-28 Jim Meyering <meyering@redhat.com>
1217 msdos: fix syntax in Makefile.djg
1218 * msdos/Makefile.djg (gzip): Change each of two leading 8-space
1219 sequences to a TAB. Reported by Allan Mui.
1221 2009-10-20 Jim Meyering <meyering@redhat.com>
1223 build: do not use AC_PREFIX_PROGRAM
1224 * configure.ac: Do not use "AC_PREFIX_PROGRAM(gzip)".
1225 It would induce behavior that is so surprising that it is probably
1226 universally considered to be buggy, these days. Reported by Zube
1227 in http://thread.gmane.org/gmane.comp.gnu.gzip.bugs/273
1229 2009-10-10 Jim Meyering <meyering@redhat.com>
1231 gzip: add tests for today's bug fix
1232 * tests/trailing-nul: New file. Test for today's fix.
1233 * Makefile.am (TESTS): Add new script.
1234 * NEWS (Bug fixes): Mention it.
1236 2009-10-10 Daniel Barkalow <barkalow@iabervon.org>
1238 gzip: don't fail when there is exactly one trailing NUL byte
1239 * gzip.c (get_method): Require the second byte of magic only if
1240 the first byte was nonzero.
1242 2009-10-09 Jim Meyering <meyering@redhat.com>
1244 build: enable automake color- and parallel-test options
1245 * configure.ac (AM_INIT_AUTOMAKE): Enable color-tests and parallel-tests.
1247 zgrep: portability improvements; exercise "-f -"
1248 * zgrep.in: Adjust loop not to use seq; it's not portable enough.
1249 Fail if we don't find a free file descriptor.
1250 (exists): New function; Use it in place of less portable "test -e".
1251 Testing for existence of /dev/fd/$fd doesn't work on Solaris 10,
1252 since all 256 always exist (as char devices), but testing for
1253 /proc/$$/fd/$fd does work, so do that instead.
1254 * Makefile.am (TESTS): Add tests/zgrep-f.
1255 * tests/zgrep-f: New test; exercise this bug.
1256 * NEWS (Bug fixes): Mention it.
1258 2009-10-09 Carl Worth <cworth@cworth.org>
1260 zgrep: handle "-f -" the same way that it works with grep
1261 Before this change, echo needle|zgrep -f - haystack.gz would not work.
1262 * zgrep.in: When the pattern comes from stdin, redirect it to a
1263 different file descriptor, since we're about to use stdin.
1265 2009-10-09 Jim Meyering <meyering@redhat.com>
1267 zdiff would exit 2 (error) rather than 1 for differences
1268 * zdiff.in: Save and restore cmp's exit status around a case
1269 statement that would otherwise clobber its value.
1270 * NEWS (Bug fixes): Mention it.
1271 * tests/zdiff: New test; exercise both bugs.
1272 * tests/test-lib.sh: New file. From coreutils.
1273 * Makefile.am (EXTRA_DIST): Add tests/test-lib.sh.
1274 (TESTS): Add tests/zdiff.
1275 (TESTS_ENVIRONMENT): Define. From coreutils.
1276 (EXTRA_DIST): Append all $(TESTS).
1278 zdiff: fix malfunction when operating on two gzip'd inputs
1279 zdiff would fail to print differences in two compressed inputs
1280 * zdiff.in: Don't let cmp output mix with echo'd gzip exit
1281 status values. Report and fix from Jörg-Volker Peetz via
1282 <http://bugs.debian.org/434275>
1283 * NEWS (Bug fixes): Mention it.
1285 build: update gnulib submodule to latest
1287 2009-10-07 Jim Meyering <meyering@redhat.com>
1289 build: update gnulib submodule to latest
1291 2009-10-06 Jim Meyering <meyering@redhat.com>
1293 maint: clarify web-doc-update instructions
1294 * README-release: sync a tiny change from coreutils.
1296 2009-10-03 Jim Meyering <meyering@redhat.com>
1298 build: update gnulib submodule to latest
1300 doc: use gnu-web-doc-update module
1301 * bootstrap.conf (gnulib_modules): Add it.
1303 2009-10-02 Jim Meyering <meyering@redhat.com>
1305 doc: describe release procedure
1306 * README-release: New file.
1308 2009-10-01 Jim Meyering <meyering@redhat.com>
1310 maint: make cfg.mk slightly more generic
1311 * cfg.mk (url_dir_list): Don't hard-code "coreutils". Use $(PACKAGE).
1313 2009-09-30 Jim Meyering <meyering@redhat.com>
1315 post-release administrivia
1316 * NEWS: Add header line for next release.
1317 * .prev-version: Record previous version.
1318 * cfg.mk (old_NEWS_hash): Auto-update.
1321 * NEWS: Record release date.
1323 build: update gnulib submodule to latest
1325 maint: update bootstrap script
1326 * bootstrap (with_gettext): Update from coreutils.
1328 maint: pull in two release-related modules from gnulib
1329 * bootstrap.conf (gnulib_modules): Add announce-gen and gnupload.
1331 build: use more gnulib modules for better POSIX compliance
1332 * bootstrap.conf (gnulib_modules): Add modules exposed via
1333 make CFLAGS=-DGNULIB_POSIXCHECK 2>&1 \
1334 |perl -lne '/.* use gnulib module (\S+).*/ and print $1' \
1335 |sort |uniq -c|sort -nr
1336 Add these: calloc close fclose fprintf-posix lstat malloc
1337 perror printf-posix realloc
1339 2009-09-30 Karl Berry <karl@freefriends.org>
1341 doc: update to FDL 1.3, minor clean-up
1342 * NEWS, README, TODO: Update FDL s/1.2/1.3/.
1344 2009-09-28 Karl Berry <karl@freefriends.org>
1346 doc: update gzip.texi
1347 * doc/gzip.texi: FDL 1.3+
1348 Consistently (de)capitalize section names.
1349 "User's" is not correct; seems best to simplify the title.
1350 Throw in some "GNU"'s.
1351 Make direntries be what we actually want.
1354 2009-09-26 Jim Meyering <meyering@redhat.com>
1356 maint: temporarily exempt failing syntax-check tests
1357 * cfg.mk (local-checks-to-skip): Add the list of currently-failing
1358 tests, to exempt them from "make syntax-check".
1360 gzip: don't use an uninitialized file descriptor
1361 gzip interprets an argument of "-" as indicating stdin, but when
1362 "-" is not the first name on the command line, it doesn't work.
1363 * gzip.c (treat_stdin): Initialize "ifd".
1364 Patch and fine description by Lasse Collin in
1365 http://www.mail-archive.com/bug-gzip@gnu.org/msg00213.html
1366 * Makefile.am (check-local): Exercise the fix. Based on the above.
1367 * NEWS (Bug fixes): Mention this.
1369 maint: use a git submodule for gnulib
1370 * .gitmodules: New file, to track gnulib.
1371 * gnulib: New file, created by running this:
1372 git submodule add git://git.sv.gnu.org/gnulib.git gnulib
1374 maint: update existing copyright year lists to include 2009
1375 * bootstrap.conf (gnulib_modules): Add update-copyright.
1377 maint: include <config.h> first in many files
1379 maint: avoid another "make syntax-check" failure
1380 * lib/Makefile.am (match.$(OBJEXT)): Use $(ASCPPPOST), not @ASCPPPOST@.
1382 maint: remove RCS $Id$ variables and comments
1384 maint: change spelling in comments: s/filesystem/file system/
1386 maint: don't use "the the"
1387 * msdos/doturboc.bat: s/the the/the/.
1389 maint: remove trailing blanks
1391 maint: remove useless if-before-free tests
1392 * gzip.c (do_exit): Remove useless if-before-free tests.
1394 maint: remove useless casts to avoid "make syntax-check" failures
1395 * gzip.c (do_exit): Remove anachronistic cast.
1396 * inflate.c (huft_free): Likewise.
1397 * util.c (add_envopt): Likewise.
1398 * vms/vms.c (vms_expand_args): Likewise.
1400 maint: new file: .prev-version
1401 * .prev-version: New file, to record previous version number.
1403 2009-09-06 Jim Meyering <meyering@redhat.com>
1405 build: avoid spurious warnings from clang
1406 * gzip.h (gzip_error): Declare with ATTRIBUTE_NORETURN.
1408 maint: update build-from-scratch infrastructure
1409 * bootstrap: Modernize.
1410 * bootstrap.conf: Modernize.
1413 2009-08-18 Jim Meyering <meyering@redhat.com>
1415 inflate: avoid a leak on a error path
1416 * inflate.c (inflate_dynamic): Don't leak
1418 maint: ignore a few generated files
1419 * lib/.gitignore: ignore more generated files.
1421 tests: add a test for just-fixed bug
1422 * tests/hufts-segv.gz: New file, from bug report.
1423 * Makefile.am (EXTRA_DIST): Add tests/hufts-segv.gz.
1424 (check-local): Exercise the bug.
1426 tests: don't misinterpret a failing test as successful
1427 * Makefile.am (check-local): Exit "1" upon failure, not 0.
1429 2009-08-18 Thiemo Nagel <thiemo.nagel@ph.tum.de>
1431 avoid creating an undersized buffer for the hufts table
1432 A malformed input file can cause gzip to crash with a segmentation
1433 violation or hang in an endless loop.
1434 Reported in <http://bugs.debian.org/507263>.
1435 * NEWS (Bug fixes): Mention it.
1437 2009-08-18 Jim Meyering <meyering@redhat.com>
1439 avoid silent data loss e.g., on NFS, due to unchecked close of stdout
1440 * gzip.c: Include "closein.h".
1441 (main): Use atexit (close_stdin);
1442 * bootstrap.conf (gnulib_modules): Add closein.
1443 Prompted by Mark Kidwell's report and patch in
1444 http://bugs.debian.org/538187
1445 * NEWS (Bug fixes): Mention it.
1446 * */.gitignore: Update.
1448 build: require automake-1.11 and produce xz-compressed tarballs, too
1449 * configure.ac: Require automake-1.11. Use the dist-xz option.
1451 build: avoid non-srcdir build failure
1452 * Makefile.am (gzip.doc.gz): Use $(srcdir)/gzip.doc, not gzip.doc.
1453 Don't redirect directly to $@. Use $(AM_V_GEN).
1454 (gzip.doc, .in): Don't redirect directly to $@. Use $(AM_V_GEN).
1455 * NEWS: Add template header for upcoming release.
1457 build: enable git-version-gen, automake silent rules, generate ChangeLog
1458 * configure.ac (AC_INIT): Use git-version-gen.
1459 Use AM_SILENT_RULES([yes]).
1460 (AM_INIT_AUTOMAKE): Drop gnits; conflicts with git-version-gen versions.
1461 * bootstrap.conf (gnulib_modules): Use getopt-gnu
1462 Ensure ChangeLog exists, for automake.
1463 rather than obsolete "getopt" module.
1464 Add gitlog-to-changelog.
1465 Add git-version-gen.
1466 Add gnu-make, gnumakefile and maintainer-makefile.
1467 * Makefile.am (dist-hook, gen-ChangeLog): New rules, to generate
1468 ChangeLog and insert it into the distribution tarball.
1469 (EXTRA_DIST): Add ChangeLog-2007.
1471 maint: retire the last VC'd ChangeLog file
1472 * ChangeLog-2007: Rename from ChangeLog.
1473 From now on, the ChangeLog file will be generated automatically
1476 maint: rename .cvsignore files to .gitignore
1477 * .gitignore: Renamed from .cvsignore.
1478 * doc/.gitignore: Likewise.
1479 * lib/.gitignore: Likewise.
1480 * m4/.gitignore: Likewise.