Imported Upstream version 1.5
[debian/gzip] / ChangeLog
1 2012-06-17  Jim Meyering  <meyering@redhat.com>
2
3         version 1.5
4         * NEWS: Record release date.
5
6         build: update gnulib for fixed maint.mk
7
8         build: update gnulib submodule; bootstrap and init.sh, too
9         * cfg.mk: Exempt crufty tailor.h from its use of "#define off_t...".
10         * .gitignore, m4/.gitignore: Update semi-automatically (via bootstrap).
11
12 2012-04-24  Paul Eggert  <eggert@cs.ucla.edu>
13
14         doc: document -rf change
15         * NEWS: Document the ZFS fix.
16
17         gzip: remove CLOSEDIR
18         * gzip.c (CLOSEDIR): Remove; no longer used.
19
20         gzip: port gzip -rf to ZFS
21         Problem reported privately by Rich Burridge.
22         * bootstrap.conf: Add savedir.
23         * gzip.c: Include <savedir.h>.
24         (_D_EXACT_NAMELEN): Remove.
25         (treat_dir): Use savedir rather than reading directory entries one
26         at a time, to avoid revisiting an already-compressed file when using
27         ZFS and the -rf flags are specified.
28         * lib/.gitignore, m4/.gitignore: Ignore savedir-related files.
29
30 2012-03-18  Paul Eggert  <eggert@cs.ucla.edu>
31
32         gzip: fix nondeterministic compression results
33         Reported by Jakub Wilk in <http://bugs.debian.org/647522>.
34         * deflate.c (fill_window): Don't let garbage pollute the dictionary.
35
36 2012-01-11  Jim Meyering  <meyering@redhat.com>
37
38         tests: make all test scripts executable; work with automake-1.12
39         * tests/Makefile.am (TESTS_ENVIRONMENT): Adapt to work with upcoming
40         automake-1.12.
41         * tests/mixed: Make executable.
42         * tests/zgrep-f: Likewise.
43         * tests/zgrep-signal: Likewise.
44         * tests/znew-k: Likewise.
45
46         build: accommodate newer bootstrap from gnulib
47         * bootstrap.conf (gnulib_tool_option_extras): Add both --symlink
48         and --makefile-name=gnulib.mk.
49         * bootstrap: Update from gnulib.
50         * tests/init.sh: Update from gnulib.
51         * lib/Makefile.am: Initialize all of the following so that
52         generated code in gnulib.mk may use += to append to those variables:
53         AM_CFLAGS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST, MOSTLYCLEANDIRS,
54         MOSTLYCLEANFILES, SUFFIXES, noinst_LTLIBRARIES.
55
56 2012-01-01  Jim Meyering  <meyering@redhat.com>
57
58         maint: update all copyright year number ranges
59         Run "make update-copyright".
60
61 2011-12-22  Paul Eggert  <eggert@cs.ucla.edu>
62
63         zless: decompress stdin too, if less 429 or later
64         * zless.in: Use LESSOPEN |- feature of less 429 or later.
65         Problem reported by Jeroen Roovers via Mike Frysinger in
66         <http://lists.gnu.org/archive/html/bug-gzip/2011-12/msg00006.html>.
67
68 2011-11-29  Jim Meyering  <meyering@redhat.com>
69
70         build: update gnulib submodule to latest
71
72         build: accommodate gnulib's new warnings with --enable-gcc-warnings
73         * configure.ac (WERROR_CFLAGS): Disable two new warnings:
74         -Wno-format-nonliteral, -Wno-unsuffixed-float-constants.
75         * gzip.h (bi_reverse): Declare with _GL_ATTRIBUTE_CONST.
76         (gzip_base_name): Declare with _GL_ATTRIBUTE_PURE.
77
78 2011-11-29  Jim Meyering  <meyering@redhat.com>
79
80         tests: use "compare exp out", not "compare out exp"
81         Likewise, when an empty file is expected, use "compare /dev/null out",
82         not "compare out /dev/null". I.e., specify the expected/desired contents
83         via the first file name.  Prompted by a suggestion from Bruno Haible
84         in http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020/focus=29154
85
86         Run these commands:
87
88             git grep -l -E 'compare [^ ]+ exp' \
89               |xargs perl -pi -e 's/\b(compare) (\S+) (exp\S*)/$1 $3 $2/'
90             git grep -l -E 'compare [^ ]+ /dev/null' \
91               |xargs perl -pi -e 's,\b(compare) (\S+) (/dev/null),$1 $3 $2,'
92
93 2011-11-05  Jim Meyering  <meyering@redhat.com>
94
95         build: update gnulib submodule to latest
96
97 2011-11-03  Paul Eggert  <eggert@cs.ucla.edu>
98
99         * tests/zgrep-signal: Don't assume exit status 141 on PIPE signal.
100         Problem reported by Eric Blake in
101         <http://lists.gnu.org/archive/html/bug-gzip/2011-11/msg00007.html>.
102
103 2011-11-02  Paul Eggert  <eggert@cs.ucla.edu>
104
105         * tests/zgrep-signal: Use perl instead of a nonportable shell trap.
106         Problem reported by Eric Blake in
107         <http://lists.gnu.org/archive/html/bug-gzip/2011-11/msg00005.html>.
108
109         * tests/zgrep-signal: Test for Fedora 15 signal bug.
110         Also, don't assume that SIGPIPE is SIG_DFL on entry.
111
112 2011-11-02  Jim Meyering  <meyering@redhat.com>
113
114         build: update gnulib submodule to latest
115
116         tests: mixed: correct size-enumeration logic
117         * tests/mixed (sizes): Fix misplaced "&& break" that made us test
118         only with a size of 0, rather than all sizes in 0..64.
119
120         maint: avoid "make syntax-check" failure
121         * gzip.c (treat_stdin): Indent with spaces, not TABs.
122
123 2011-11-02  Paul Eggert  <eggert@cs.ucla.edu>
124
125         * gzip.c (treat_stdin): If quiet, be quiet with plain gzip -q.
126         Problem reported by Michaël Guitton in
127         <http://lists.gnu.org/archive/html/bug-gzip/2011-11/msg00000.html>.
128
129 2011-08-10  Jim Meyering  <meyering@redhat.com>
130
131         maint: remove amiga, atari, msdos, nt, os2, vms sub-directories,
132         and all files therein.  This was proposed months prior, and no
133         one objected.
134         * amiga/Makefile.gcc: Remove file.
135         * amiga/Makefile.sasc: Likewise.
136         * amiga/match.a: Likewise.
137         * amiga/tailor.c: Likewise.
138         * amiga/utime.h: Likewise.
139         * atari/Makefile.st: Likewise.
140         * msdos/Makefile.bor: Likewise.
141         * msdos/Makefile.djg: Likewise.
142         * msdos/Makefile.msc: Likewise.
143         * msdos/doturboc.bat: Likewise.
144         * msdos/gzip.prj: Likewise.
145         * msdos/match.asm: Likewise.
146         * msdos/tailor.c: Likewise.
147         * nt/Makefile.nt: Likewise.
148         * os2/Makefile.os2: Likewise.
149         * os2/gzip.def: Likewise.
150         * os2/gzip16.def: Likewise.
151         * vms/Makefile.gcc: Likewise.
152         * vms/Makefile.mms: Likewise.
153         * vms/Makefile.vms: Likewise.
154         * vms/Readme.vms: Likewise.
155         * vms/gzip.hlp: Likewise.
156         * vms/makegzip.com: Likewise.
157         * vms/vms.c: Likewise.
158         * Makefile.am (EXTRA_DIST): Remove those file names.
159
160         build: use largefile module and update to latest gnulib
161         * configure.ac: Remove AC_SYS_LARGEFILE, subsumed by ...
162         * bootstrap.conf (gnulib_modules): ...this.  Use largefile module.
163         * gnulib: Update to latest.
164
165 2011-07-12  Jim Meyering  <meyering@redhat.com>
166
167         maint: update init.sh and bootstrap from gnulib
168         * bootstrap: Update from gnulib.
169         * tests/init.sh: Update from gnulib.
170
171         maint: use gnulib's realloc-gnu and malloc-gnu modules
172         * bootstrap.conf (gnulib_modules): Use realloc-gnu and malloc-gnu,
173         rather than the now-deprecated realloc and malloc modules.
174
175         build: update gnulib submodule to latest
176
177 2011-06-21  Paul Eggert  <eggert@cs.ucla.edu>
178
179         * deflate.c: Export nice_match to assembler.
180         (static_unless_ASMV): New macro.
181         (nice_match): Use it.
182
183 2011-06-08  Jim Meyering  <meyering@redhat.com>
184
185         build: fix "make syntax-check"
186         * cfg.mk (_gl_TS_unmarked_extern_vars): Add good_match.
187
188         build: avoid link failure: this time on i686 linux
189         * deflate.c (good_match): Must not be static, since it may
190         be used from lib/match.c.
191
192 2011-05-14  Jim Meyering  <meyering@redhat.com>
193
194         build: avoid link failure on at least i386-FreeBSD7.2
195         * deflate.c (match_start, prev_length, max_chain_length): Do not
196         declare these as static.  On some types of system/arch, they are
197         used via match_.s.
198         * cfg.mk (_gl_TS_unmarked_extern_vars): Mark those three variables
199         as known-extern: match_start, prev_length, max_chain_length.
200
201 2011-05-13  Jim Meyering  <meyering@redhat.com>
202
203         avoid new build failure on a system without <crypt.h>
204         * bits.c: Don't include "crypt.h", now that it's deleted.
205
206         maint: use gnulib's new readme-release module
207         * bootstrap.conf (gnulib_modules): Add readme-release.
208         (bootstrap_epilogue): Add the recommended perl one-liner.
209         * README-release: Remove file; it is now generated from gnulib.
210         * .gitignore: Add it.
211
212 2011-05-09  Jim Meyering  <meyering@redhat.com>
213
214         build: update gnulib submodule to latest
215
216         maint: prepare for gnulib's new tight-scope syntax-check rule
217         * cfg.mk (_gl_TS_dir): Define.
218         (_gl_TS_unmarked_extern_vars): Define.
219
220         maint: declare many variables to be static
221         * deflate.c: Likewise.
222         * gzip.c: Likewise.
223         * gzip.h: Likewise.
224         * inflate.c: Likewise.
225         * trees.c: Likewise.
226         * unzip.c: Likewise.
227         * util.c: Likewise.
228
229         maint: remove crypt.[ch] stubs
230         * Makefile.am (gzip_SOURCES): Remove crypt.c
231         (EXTRA_DIST): Remove crypt.h
232         * crypt.c, crypt.h: Remove files.
233         * unpack.c: Don't #include "crypt.h"
234         * zip.c: Likewise
235         * util.c: Likewise.
236         * unzip.c: Likewise.
237
238         maint: limit scope of several functions
239         * deflate.c (longest_match): Move extern declaration into #if-ASMV block.
240         [!ASMV]: Define as static.
241         * inflate.c: Remove unnecessary prototypes.
242         ANSI-declify functions and declare them to be static.
243
244         maint: remove all uses of OF((...)) prototype-hiding macro
245         * bits.c: Remove all uses of OF.
246         * deflate.c: Likewise.
247         * gzip.c: Likewise.
248         * inflate.c: Likewise.
249         * lzw.h: Likewise.
250         * trees.c: Likewise.
251         * unlzh.c: Likewise.
252         * unpack.c: Likewise.
253         * util.c: Likewise.
254         * gzip.h: Likewise.
255         (OF): Remove its definition, too.
256
257         maint: prepare for tight-scope rule: use noinst_HEADERS
258         * Makefile.am (EXTRA_DIST): Move lzw.h and gzip.h from here to ...
259         (noinst_HEADERS): ...here.
260         For convenience, since the tight-scope rule uses $(noinst_HEADERS).
261
262 2011-04-14  Jim Meyering  <meyering@redhat.com>
263
264         maint: update bootstrap and init.sh from gnulib
265         * bootstrap: Likewise.
266         * tests/init.sh: Update from gnulib.
267
268         maint: note that we'll remove amiga, atari, msdos, nt, os2, vms soon
269         If someone can show that any of these are being used, let us know.
270         * TODO: Note the plan to remove those directories this year.
271
272         build: update gnulib submodule to latest
273
274         maint: fix typos in vms manual: s/it\nit/\nit/
275         * vms/gzip.hlp: Remove doubled "it".
276
277 2011-04-10  Jim Meyering  <meyering@redhat.com>
278
279         maint: fix typos in comment: s/to to/to/
280         * deflate.c: Remove doubled 'to's.
281
282 2011-03-20  Jim Meyering  <meyering@redhat.com>
283
284         maint: stop using .x-sc_* files to list syntax-check exemptions
285         Instead, use the new mechanism with which you merely use a
286         variable (derived from the rule name) defined in cfg.mk to an ERE
287         matching the exempted file names.
288         * gnulib: Update to latest, to get maint.mk that implements this.
289         * .x-sc_file_system: Remove file.
290         * .x-sc_prohibit_tab_based_indentation: Likewise.
291         * .x-sc_require_config_h: Likewise.
292         * .x-sc_require_config_h_first: Likewise.
293         * cfg.mk: Define variables to exempt the same files.
294
295 2011-03-18  Jim Meyering  <meyering@redhat.com>
296
297         doc: correct README-release
298         * README-release: Remove mention of -announce mailing list.
299         Unlike coreutils, gzip does not have its own.
300
301         doc: update release procedure
302         * README-release: Resync from coreutils' file by the same name.
303
304 2011-01-03  Jim Meyering  <meyering@redhat.com>
305
306         maint: update copyright year ranges to include 2011
307         Run "make update-copyright", so "make syntax-check" works in 2011.
308
309         build: update gnulib submodule to latest
310
311         maint: avoid failure of new test for bindtextdomain
312         * cfg.mk (local-checks-to-skip): Add sc_bindtextdomain.
313
314 2010-12-02  Jim Meyering  <meyering@redhat.com>
315
316         maint: avoid "make syntax-check" failure due to old-NEWS modification
317         * cfg.mk (old_NEWS_hash): Update, to reflect recent NEWS correction.
318
319 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
320
321         * NEWS: The "gzip -f foo.gz" change occurred in 1.3.13, not 1.3.12
322
323 2010-11-10  Paul Eggert  <eggert@cs.ucla.edu>
324
325         zgrep: don't assume traditional behavior with signal numbers
326         * zgrep.in: Don't assume the exit status is the signal number plus
327         128, as POSIX doesn't require this.  No need to kill self; exiting
328         with large status is enough.  Propagate all exit statuses greater
329         than 1, not merely those in the range 129..143, as there's no need
330         to treat that range specially (and it's not portable anyway).
331
332 2010-11-09  Paul Eggert  <eggert@cs.ucla.edu>
333
334         zgrep: fix shell portability bug with -f; fix mishandling of "-e -"
335         * tests/zgrep-f: Check for "zgrep -e -" bug, too.
336         * zgrep.in: Don't assume that if the shell redirects fd 6, then
337         this redirection is visible to the subsidiary grep.  POSIX doesn't
338         guarantee this visibility except for file descriptors 0, 1, and 2,
339         and ksh does not support it.  Problem reported by Thomas Schulz in
340         <http://lists.gnu.org/archive/html/bug-gzip/2010-11/msg00000.html>.
341         Also, fix a related bug: "-e -" was mishandled.  These two bugs
342         were introduced by commit 5b54db4546b84ec97ff57a62f8ddb98faacf77f2
343         dated 2009-10-09.
344         (escape): Change the convention: do not assume that a stray X
345         is present at the end of the last line.  All uses changed.
346         There was no longer any need for this convention, and fixing this
347         made it a bit easier to use 'sed' in a later part of the fix.
348
349 2010-11-08  Paul Eggert  <eggert@cs.ucla.edu>
350
351         maint: fix copyright dates that were munged by a maintenance script
352         * gunzip.in, gzexe.in, zcat.in, zcmp.in, zdiff.in, zforce.in:
353         * zgrep.in, zless.in, zmore.in, znew.in:
354         A script went awry when updating copyright dates in gzip's shell
355         scripts.  It should update comments to look like "# Copyright (C)
356         2007, 2010 Free Software Foundation, Inc." (with a set of years)
357         and version messages to look like "Copyright (C) 2010 Free
358         Software Foundation, Inc." (with just the most-recent year).
359         Instead, it sometimes ignored one, sometimes the other, and
360         typically put ranges into version messages.  Fix all this stuff by
361         hand, using dates that I divined from the change logs (so they're
362         a bit more accurate than script-generated dates).  We need to fix
363         the script before it runs in 2011.
364
365 2010-10-23  Jim Meyering  <meyering@redhat.com>
366
367         maint: anchor patterns in .gitignore files
368         * doc/.gitignore: Anchor patterns.
369         * lib/.gitignore: Likewise.
370         * m4/.gitignore: Likewise.
371
372         maint: update bootstrap and init.sh from gnulib
373         * bootstrap: Update.
374         * tests/init.sh: Update.
375
376 2010-10-23  Rob Vermaas  <rob.vermaas@gmail.com>
377
378         maint: update to latest gnulib; use fdutimens, not gl_futimens
379         * gzip.c (copy_stat): Use fdutimens, not gl_futimens.
380         * gnulib: Update to latest.
381
382 2010-10-23  Jim Meyering  <meyering@redhat.com>
383
384         maint: accommodate stricter syntax-check
385         Avoid #if, #define and #undef of always-defined symbols.
386         * gzip.c (ELOOP, SIGPIPE): Remove unneeded cpp directives.
387         * tailor.h (HAVE_DIRENT_H, HAVE_FCNTL_H, HAVE_UNISTD_H, MSDOS):
388         (O_BINARY): Likewise.
389
390         maint: make our use of gnulib's init.sh conform
391         * tests/help-version: Make use of init.sh conform.
392         * tests/helin-segv: Likewise.
393         * tests/help-version: Likewise.
394         * tests/hufts: Likewise.
395         * tests/memcpy-abuse: Likewise.
396         * tests/mixed: Likewise.
397         * tests/null-suffix-clobber: Likewise.
398         * tests/stdin: Likewise.
399         * tests/trailing-nul: Likewise.
400         * tests/zdiff: Likewise.
401         * tests/zgrep-f: Likewise.
402         * tests/zgrep-signal: Likewise.
403         * tests/znew-k: Likewise.
404
405 2010-10-10  Jim Meyering  <meyering@redhat.com>
406
407         maint: describe policy on copyright year number ranges
408         * README: Mention coreutils' long-standing policy on use of M-N
409         ranges in copyright year lists.  Requested by Richard Stallman.
410
411 2010-09-15  Paul Eggert  <eggert@cs.ucla.edu>
412
413         zgrep: fix parsing of -Eh options
414         * zgrep.in: Update list of single-letter options to match what's
415         in GNU grep.  Add -h as an alias for --no-filename.  Bug reported
416         by Vladimir Sidorenko in
417         <http://lists.gnu.org/archive/html/bug-gzip/2010-09/msg00007.html>.
418
419 2010-08-17  Paul Eggert  <eggert@cs.ucla.edu>
420
421         gzip: fix NO_SIZE_CHECK for VMS
422         * gzip.c (do_list): Use if, not #if.
423         * tailor.h (NO_SIZE_CHECK) [defined(VAXC) || defined(VMS)]: Define.
424         * zip.c (zip): Simplify conditional, which was incorrect at any rate
425         for VMS.
426
427 2010-08-16  Paul Eggert  <eggert@cs.ucla.edu>
428
429         algorithm.doc: mention Internet RFC 1952 and modernize a bit
430         * algorithm.doc: Update to mention header-CRC and Internet RFC 1952.
431         Also, remove the crypto stuff, which never worked.
432         Inspired by that same suggestion of Greg Roelofs.
433
434         gzip: Use 0x%04x instead of %x when printing 16-bit checksums
435         * gzip.c (get_method): Use 0x%04x, not %x, to print 16-bit checksums.
436         Inspired by a suggestion of Greg Roelofs in
437         http://lists.gnu.org/archive/html/bug-gzip/2010-08/msg00004.html
438
439 2010-08-04  Paul Eggert  <eggert@cs.ucla.edu>
440
441         maint: update bootstrap
442         * bootstrap, bootstrap.conf, tests/init.sh: Merge from gnulib.
443
444 2010-07-19  Paul R. Eggert  <eggert@cs.ucla.edu>
445
446         gzip: don't assume C99, and don't assume overlapping memcpy should work
447         * tailor.h (NOMEMCPY): Remove.  memcpy is entitled to not work
448         on overlapping blocks.
449         * inflate.c (inflate_codes): Don't put decl after statement.
450         Omit NOMEMCPY.
451
452         * gzip.c (get_method): don't assume size_t can be printed with %u
453
454 2010-07-03  Paul Eggert  <eggert@cs.ucla.edu>
455
456         Mention that gzip -d now handles FHCRC.
457
458 2010-07-03  Paul Eggert  <eggert@cs.ucla.edu>
459
460         Decode FHCRC flag properly, as per Internet RFC 1952.
461         Problem reported by Greg Roelofs in:
462         http://lists.gnu.org/archive/html/bug-gzip/2010-06/msg00003.html
463
464         * gzip.c (discard_input_bytes): New function.
465         (get_method): Check header checksum, if given.  We never generate it,
466         but other programs may.
467         * gzip.h (HEADER_CRC): Renamed from CONTINUATION.  All uses changed.
468         * tailor.h [defined __50SERIES]: Remove PRIMOS stuff that was obsolete
469         anyway and would have made this patch harder to maintain.
470         (get_char, put_char): Remove.
471         * zip.c (zip): Use put_byte instead of the now-removed put_char.
472
473 2010-07-01  Paul Eggert  <eggert@cs.ucla.edu>
474
475         Don't assume that sizeof (long) == 4 when computing statistics.
476         * gzip.c (get_method): Don't assume sizeof (long) == 4.
477         * zip.c (zip): Likewise.
478
479         Update Info-ZIP name and coordinates (thanks to Greg Roelofs).
480
481 2010-05-12  Paul Eggert  <eggert@cs.ucla.edu>
482
483         * doc/gzip.texi (Sample): Fix backslash quoting problem.
484         Problem reported by Ole Tange in
485         <http://lists.gnu.org/archive/html/bug-gzip/2010-05/msg00000.html>.
486
487 2010-04-26  Jim Meyering  <meyering@redhat.com>
488
489         build: update gnulib submodule to latest
490
491         maint: remove primos support
492         * Makefile.am (EXTRA_DIST): Remove all primos/ files.
493         * primos/build.cpl: Remove file.
494         * primos/ci.opts: Likewise.
495         * primos/include/errno.h: Likewise.
496         * primos/include/fcntl.h: Likewise.
497         * primos/include/stdlib.h: Likewise.
498         * primos/include/sysStat.h: Likewise.
499         * primos/include/sysTypes.h: Likewise.
500         * primos/primos.c: Likewise.
501         * primos/readme: Likewise.
502
503 2010-04-08  Jim Meyering  <meyering@redhat.com>
504
505         build: include cfg.mk in the distribution tarball
506         * Makefile.am (EXTRA_DIST): Add cfg.mk.
507
508 2010-04-07  Eric Blake  <eblake@redhat.com>
509
510         maint: ignore more built files
511         * .gitignore: Add version files.
512
513 2010-04-07  Jim Meyering  <meyering@redhat.com>
514
515         tests: help-version: cross-check PATH in tests
516         * tests/help-version: Cross-check $VERSION and --version output.
517         * tests/Makefile.am (TESTS_ENVIRONMENT): Export VERSION=$(VERSION).
518
519         tests: improve help-version
520         * tests/help-version: Use fail_, rather than echo+Exit.
521
522         tests: pull help-version from grep
523
524         build: keep --version strictly up to date
525         Before this change, in development, gzip's --version output could lag
526         behind reality by a couple deltas or by a "-dirty" suffix.  That would
527         lead to spurious failure of the new --version-$VERSION PATH cross-check.
528         * Makefile.am (version.c, version.h): New rules.
529         (BUILT_SOURCES): Set/append.
530         (noinst_LIBRARIES, noinst_libver_a_SOURCES): Define.
531         (gzip_LDADD): Add libver.a.
532         (DISTCLEANFILES): Define.
533         * gzip.c (license): Use Version, not VERSION.
534
535 2010-04-06  Jim Meyering  <meyering@redhat.com>
536
537         tests: (portability) use st, not "status" as variable name
538         * tests/zgrep-signal: Do not use status as a variable name,
539         per autoconf's documentation that it is not portable to
540         some shells.
541
542         tests: s/framework_failure/framework_failure_/
543
544         tests: update init.sh from gnulib
545         * tests/init.sh: Update from gnulib.
546
547         tests: run most tests via tests/Makefile.am
548         * Makefile.am (SUBDIRS): List tests after ".".
549         Move most test-related things from here to ...
550         * tests/Makefile.am: ... here.
551         * configure.ac (AC_CONFIG_FILES): Add tests/Makefile.
552         * tests/helin-segv: Adjust.
553         * tests/help-version: Likewise.
554         * tests/hufts: Likewise.
555         * tests/memcpy-abuse: Likewise.
556         * tests/mixed: Likewise.
557         * tests/null-suffix-clobber: Likewise.
558         * tests/stdin: Likewise.
559         * tests/trailing-nul: Likewise.
560         * tests/zdiff: Likewise.
561         * tests/zgrep-f: Likewise.
562         * tests/zgrep-signal: Likewise.
563         * tests/znew-k: Likewise.
564
565         tests: skip tests that use grep's -f and -E options, if they don't work
566         * tests/init.cfg (require_grep_minus_f): New function.
567         * tests/zgrep-f: Use require_grep_minus_f.  Use path_prepend_.
568
569         tests: arrange for skip and failure notices to go to stderr, not .log
570         * tests/init.cfg: New file.  Make init.sh's stderr_fileno_ match
571         what the "exec 9>&2" we use in TESTS_ENVIRONMENT.
572         * Makefile.am (EXTRA_DIST): Add it.
573
574 2010-04-06  Eric Blake  <eblake@redhat.com>
575
576         maint: ignore generated files
577         * .gitignore: Ignore recent gnulib additions.
578
579         maint: update bootstrap
580         * bootstrap: Use latest copy from gnulib/build-aux.
581
582 2010-04-06  Jim Meyering  <meyering@redhat.com>
583
584         build: use gnulib's lib-ignore module
585         * bootstrap.conf (gnulib_modules): Add lib-ignore, in case it helps.
586         * Makefile.am (AM_LDFLAGS): Define it.
587
588         maint: let configure-invoked cpp emit diagnostics to config.log
589         * configure.ac: Do not discard CPP's stderr.
590
591         build: update gnulib submodule to latest, and adapt
592         * cfg.mk: Update to use new _sc_search_regexp interface.  Run this:
593         perl -pi -e 's/\b_prohibit_regexp\b/_sc_search_regexp/;'
594         -e 's/\bmsg=/halt=/; s/\bre=/prohibit=/;' cfg.mk
595         and then adjust backslashes so they still line up.
596         * cfg.mk (local-checks-to-skip): Add new sc_texinfo_acronym, to skip it.
597         * msdos/tailor.c (fcalloc): Mark a diagnostic for translation, to
598         placate stricter syntax-check, even though no one uses this file.
599
600         use assembly code matcher when possible
601         * configure.ac (ASCPPPOST): Backslash-escape "#" in AC_SUBST'd
602         variable, to keep make from seeing it as a comment-introducer.
603         Based on a patch by Petr Pisar.
604         * lib/Makefile.am (match.$(OBJEXT)): Use AM_V_GEN and AM_V_at.
605         * lib/match.c: Don't include <config.h>.
606         It would impede configure-time assembler test.
607         * .x-sc_require_config_h: Exempt lib/match.c from syntax-check.
608         * .x-sc_require_config_h_first: Likewise.
609
610 2010-03-20  Jim Meyering  <meyering@redhat.com>
611
612         do not use stat.st_mtime of a non-regular file
613         * gzip.c: Include "timespec.h".
614         (treat_stdin): Use st_mtime only from a regular file.
615         This matters at least on Cygwin 1.7.1-1, for which a stdin-pipe has
616         the mtime of /dev/null, rather than the gzip-documented-for-pipes
617         "current time".  Reported by Denis Excoffier.
618
619 2010-02-22  Jim Meyering  <meyering@redhat.com>
620
621         tests: exercise the fix for the decompression data-loss bug
622         * tests/null-suffix-clobber: New file.
623         * Makefile.am (TESTS): Add it.
624
625         gzip: fix a data-loss bug when decompressing with --suffix=''
626         * gzip.c (main): Disallow an empty --suffix=S also with -d.
627         Otherwise, "gzip -d -S '' F.gz" would ask if it's ok to remove the
628         existing file, "F.gz";  if you reply "yes", you'd lose all of that data.
629         Use of an empty suffix was already rejected in compression mode.
630         * gzip.1 (--suffix (-S)): Do not recommend to use "gunzip -S '' *".
631         Describe how the suffix is used when decompressing, too.
632         * NEWS (Bug fixes): mention the fix.
633         Reported by Ripduman Sohan.
634
635         tests: add ---presume-input-tty option, solely for testing
636         * gzip.c: Include <stdbool.h>.
637         (presume_input_tty): New global.
638         (main): Set it.
639         (treat_stdin, check_ofname): Use it.
640
641 2010-02-07  Jim Meyering  <meyering@redhat.com>
642
643         doc: minor adjustment to README-release
644         * README-release: Tweak description, to sync from coreutils.
645
646         tests: add the help-version sanity tests from coreutils
647         * tests/help-version: New file, from coreutils.
648         * Makefile.am (TESTS): Add it.
649
650         tests: make distcheck invoke "make syntax-check" and other tests
651         * dist-check.mk: New file, from coreutils.
652         * cfg.mk: Include it.
653         * Makefile.am (distcheck-hook): New rule, to make us use it.
654
655         zcmp: consistently indicate failure with exit status of 2
656         * zcmp.in: Exit with status of 2 (not 1), when writing
657         --help or --version output fails, to be more like cmp.
658
659 2010-02-04  Jim Meyering  <meyering@redhat.com>
660
661         tests: add more tests of gzip -cdf
662         * tests/mixed: Test "gzip -cdf" for a range of small uncompressed files.
663
664         tests: flip and adjust mixed test, now that the bug is fixed
665         * NEWS (Bug fixes): Mention the fix.
666         * Makefile.am (XFAIL_TESTS): Move tests/mixed from here...
667         (TESTS): ...to here.
668         * tests/mixed: Comment out the currently (always?) failing part.
669
670 2010-02-04  Mark Adler  <madler@alumni.caltech.edu>
671
672         gzip -cdf now handles concatenation of gzip'd and uncompressed data
673         * util.c (copy): Change semantics so as to honor a decremented inptr.
674         * gzip.c (get_method): When needed (-cdf), decrement inptr rather
675         than clearing it -- and output the first magic byte.
676
677 2010-02-04  Dmitry V. Levin  <ldv@altlinux.org>
678
679         zgrep: terminate gracefully when a pipeline is interrupted by a signal
680         zgrep is not terminated gracefully when its grep/sed pipeline
681         is terminated by a signal.  For example, a command like
682         zgrep -F .TH /usr/share/man/man1/*.gz | head
683         continues working long after the "head" process completes.
684         Another example, a command like
685         zgrep unmatched-pattern /usr/share/man/man1/*.gz
686         cannot be interrupted by sending a SIGQUIT with Ctrl-\ key, it outputs
687         zgrep: line 221: test: : integer expression expected
688         and goes on.
689         * zgrep.in: Terminate gracefully when the grep/sed pipeline is
690         terminated by a signal.
691         * tests/zgrep-signal: New test.
692         * Makefile.am (TESTS): Add it.
693
694 2010-02-03  Jim Meyering  <meyering@redhat.com>
695
696         maint: teach "make syntax-check" the space-only indentation rule
697         * cfg.mk (sc_prohibit_tab_based_indentation): New rule, from coreutils.
698         (sc_prohibit_emacs__indent_tabs_mode__setting): Likewise.
699         * bootstrap: Remove "indent-tabs-mode: nil" directive.
700         * .x-sc_prohibit_tab_based_indentation: New file.
701
702         global: convert indentation-TABs to spaces
703         Transformed via this shell code:
704         t=$'\t'
705         git ls-files \
706           | grep -vE '(^|/)((GNU)?[Mm]akefile|ChangeLog)|\.(am|mk)$' \
707           | grep -vE 'tests/pr/|help2man' \
708           | xargs grep -lE "^ *$t" \
709           | xargs perl -MText::Tabs -ni -le \
710             '$m=/^( *\t[ \t]*)(.*)/; print $m ? expand($1) . $2 : $_'
711
712 2010-02-03  Dmitry V. Levin  <ldv@altlinux.org>
713
714         wrapper scripts: write diagnostics to stderr, not to stdout
715         * zforce.in: In case of usage error, output short error diagnostics to
716         stderr instead of printing help text to stdout.
717         * zmore.in: Likewise.
718         * znew.in: Likewise.
719
720 2010-02-03  Jim Meyering  <meyering@redhat.com>
721
722         gzip -cdf mishandles some concatenated input streams: test it
723         * tests/mixed: Exercise "gzip -cdf" bug.
724         * Makefile.am (XFAIL_TESTS): Add it.
725         Mark Adler reported the bug.
726
727         tests: move the hufts-segv test to its own file
728         * tests/hufts: New test.
729         * Makefile.am (TESTS): Add tests/
730         (check-local): Remove the hufts-segv test from this rule.
731
732         tests: begin moving tests into their own files
733         * Makefile.am (TESTS): Add tests/stdin.
734         (check-local): Move the stdin check to its own file:
735         * tests/stdin: New script.
736
737         tests: remove unnecessary use of "path_prepend_ ."
738         It is unnecessary, since Makefile.am's TESTS_ENVIRONMENT setting
739         already adds the top build directory, and besides, is only
740         marginally useful when running stand-alone, since it presumes
741         that the script is being run from the top build directory.
742         * tests/helin-segv: Remove unnecessary use of path_prepend_.
743         * tests/memcpy-abuse: Likewise.
744         * tests/trailing-nul: Likewise.
745         * tests/zdiff: Likewise.
746         * tests/zgrep-f: Likewise.
747
748         tests: note that znew-k test depends on length of temp file name
749         * tests/znew-k: Tweak diagnostic, factor and add a surprising comment.
750
751 2010-02-01  Jim Meyering  <meyering@redhat.com>
752
753         build: update gnulib submodule to latest
754
755 2010-02-01  Dmitry V. Levin  <ldv@altlinux.org>
756
757         fix "znew -K" to work without use of compress utility
758         * znew.in: Change -K option to imply -t, do not use compress(1).
759         * znew.1: Document it.
760         * tests/znew-k: New test.
761         * Makefile.am (TESTS): Add it.
762
763 2010-01-20  Jim Meyering  <meyering@redhat.com>
764
765         maint: update README-release procedure
766         * README-release: sync from coreutils.
767
768         post-release administrivia
769         * NEWS: Add header line for next release.
770         * .prev-version: Record previous version.
771         * cfg.mk (old_NEWS_hash): Auto-update.
772
773         version 1.4
774         * NEWS: Record release date.
775
776         tests: exercise the segfault fix
777         * tests/helin-segv: New test.
778         * Makefile.am (TESTS): Add it.
779
780         gzip -d: do not clobber stack for valid input on x86_64
781         * unlzw.c (unlzw): Avoid integer overflow.
782         Aki Helin reported the segfault along with an input to trigger the bug.
783         * NEWS (Bug fixes): Mention it.
784
785         maint: avoid a minor "make syntax-check" failure
786         * .x-sc_file_system: Exempt NEWS, since it includes a literal
787         from an old diagnostic.
788
789         maint: remove unused file: README-alpha
790         * README-alpha: Remove unused file.
791
792         build: update gnulib submodule to latest
793
794 2010-01-11  Yuxi Zhang  <YZhang@qnx.com>
795
796         gzip -d: use memcpy more often
797         * inflate.c (inflate_codes): Use memcpy (rather than slower
798         memcopy-like code) in more cases.
799
800 2010-01-11  Jim Meyering  <meyering@redhat.com>
801
802         build: do not override gnulib-provided AM_CFLAGS options
803         Avoid a warning from automake:
804         lib/Makefile.am:24: AM_CFLAGS multiply defined in condition TRUE ...
805         lib/gnulib.mk:30: ... `AM_CFLAGS' previously defined here
806         lib/Makefile.am:20:   `lib/gnulib.mk' included from here
807
808         * lib/Makefile.am (AM_CFLAGS): Append $(WARN_CFLAGS) and
809         $(WERROR_CFLAGS), i.e., use "+=", not "=".
810         This was introduced via 2009-12-17 commit 0341fc22,
811         "build: with --enable-gcc-warnings, use -Werror",
812         but fortunately is not a bug, because the definition
813         it would have overridden was always empty.
814
815 2010-01-11  Jim Meyering  <meyering@redhat.com>
816
817         gzip -d would fail with a CRC error...
818         ...for some inputs, and some memcpy implementations.  It is possible
819         that an offending input has to be compressed "from FAT filesystem
820         (MS-DOS, OS/2, NT)", since the sole reproducer no longer evokes a
821         CRC error when uncompressed and recompressed on a GNU/Linux system.
822         Also, using an unpatched reverse-memcpy-gzip on over 100,000 inputs
823         on a GNU/Linux system did not turn up another reproducer.
824         * inflate.c (inflate_codes): Don't call memcpy with overlapping regions.
825         Properly detect when source and destination overlap.
826         * tests/memcpy-abuse: New test, to trigger misbehavior.
827         * Makefile.am (TESTS): Add it.
828         * NEWS (Bug fixes): Mention it.
829         Reported by Alain Magloire in
830         http://thread.gmane.org/gmane.comp.gnu.gzip.bugs/307
831
832 2010-01-08  Jim Meyering  <meyering@redhat.com>
833
834         tests: switch to gnulib's init.sh test infrastructure
835         * tests/test-lib.sh: Remove file.
836         * tests/init.sh: New file, from gnulib.
837         * tests/trailing-nul: Use the new file.
838         * tests/zdiff: Likewise.
839         * tests/zgrep-f: Likewise.
840         * Makefile.am (EXTRA_DIST): List tests/init.sh, not test-lib.sh.
841
842         build: update gnulib submodule to latest
843
844 2010-01-03  Jim Meyering  <meyering@redhat.com>
845
846         maint: record update-copyright options for this package
847         * cfg.mk: Next time, just run "make update-copyright".
848
849 2010-01-01  Jim Meyering  <meyering@redhat.com>
850
851         maint: update all FSF copyright year lists to include 2010
852         Use this command:
853         git ls-files |grep -vE '^(\..*|COPYING|gnulib)$' |xargs \
854         env UPDATE_COPYRIGHT_USE_INTERVALS=1 build-aux/update-copyright
855
856 2009-12-31  Jim Meyering  <meyering@redhat.com>
857
858         maint: newer gnulib; don't hard-code my GPG key ID
859         * cfg.mk (gpg_key_ID): Remove definition, now that maint.mk automates it.
860         * gnulib: Update to lastest.
861
862 2009-12-30  Jim Meyering  <meyering@redhat.com>
863
864         build: update gnulib submodule to latest
865
866         maint: remove lots of obsolete #if...HAVE_* checks
867         Remove many always-true cpp tests like #ifdef HAVE_UNISTD_H,
868          #ifdef HAVE_FCNTL_H and #ifdef SSIZE_MAX.
869         * gzip.c: As above.
870         * gzip.h: Likewise.
871         * inflate.c: Likewise.
872         * tailor.h: Likewise.
873         * unlzw.c: Likewise.
874         * util.c: Likewise.
875         * zip.c: Likewise.
876
877         build: add a syntax-check
878         * cfg.mk (sc_prohibit_obsolete_HAVE_HEADER_H): New rule.
879
880         build: with --enable-gcc-warnings, use -Werror
881         * Makefile.am (AM_CFLAGS): Enable $(WERROR_CFLAGS).
882         * lib/Makefile.am (AM_CFLAGS): Enable both $(WARN_CFLAGS) and
883         $(WERROR_CFLAGS).
884
885         build: quiet warnings from util.c
886         * configure.ac (warnings): Add -Wno-overflow and -Wno-type-limits.
887
888         build: avoid warning about possibly-no-return functions
889         * gzip.h (read_error, write_error): Mark these functions as "no-return".
890
891         build: avoid warning about ignored chown/fchown return value
892         * bootstrap.conf (gnulib_modules): Add ignore-value.
893         * gzip.c: Include "ignore-value.h".
894         (copy_stat): Explicitly ignore chown and fchown failure
895
896         build: update gnulib submodule to latest
897
898 2009-11-20  Jim Meyering  <meyering@redhat.com>
899
900         build: unlzw.c: avoid warnings about unused macros
901         * configure.ac: Turn off -Wunused-macros.
902
903         build: avoid warnings about unused macros
904         * unzip.c (LOCTIM): Comment out unused macro.
905         * deflate.c (EQUAL): Remove definition.  Use "0" at sole point of use.
906
907         build: util.c: avoid warnings about add_envopt
908         * util.c (add_envopt): The parameter "env" was used for two conflicting
909         purposes.  One use required a const char* parameter, while the other
910         was used as an argument to free, which must not be "const".
911         Rename the parameter and use a new local variable for the second role.
912
913         build: avoid many const-related warnings
914         * gzip.c: Add "const" to many variables, to avoid compiler warnings.
915         * util.c (add_envopt): Make 3rd parameter const
916         (gzip_error): Make sole parameter const.
917         * gzip.h: Update prototypes.
918
919         build: avoid warnings from -Wstrict-prototypes
920         * gzip.c (main): Declare using a prototype.
921         (progerror): Likewise.  And make parameter const.
922
923         build: use gnulib's fdopendir module
924         * bootstrap.conf (gnulib_modules): Add fdopendir.
925         * gzip.c (treat_dir): Don't depend on HAVE_FDOPENDIR.
926         Gnulib now guarantees its availability.
927         * configure.ac: Don't check for fdopendir here.
928
929         build: enable many warnings
930         * configure.ac: Add support for --enable-gcc-warnings.
931         * bootstrap.conf (gnulib_modules): Add manywarnings.
932         * Makefile.am (AM_CFLAGS): Add (WARN_CFLAGS) # $(WERROR_CFLAGS)
933
934         maint: tweak formatting of bootstrap.conf
935         * bootstrap.conf (gnulib_modules): Unindent list.
936
937         maint: cfg.mk: remove factored-out ftp host/dir definitions
938         * cfg.mk (gnu_ftp_host-alpha, gnu_ftp_host-beta gnu_ftp_host-stable):
939         (gnu_rel_host, url_dir_list): Remove definitions.  The defaults,
940         now provided by maint.mk, are the same.
941         * gnulib: Update for latest, including those maint.mk additions.
942
943         build: "make stable" emitted an invalid gnupload command
944         * cfg.mk (gnu_ftp_host-stable): Rename from gnu_ftp_host-major.
945         * README-release: Change another s/major/stable/.
946
947 2009-10-30  Jim Meyering  <meyering@redhat.com>
948
949         post-release administrivia
950         * NEWS: Add header line for next release.
951         * .prev-version: Record previous version.
952         * cfg.mk (old_NEWS_hash): Auto-update.
953
954         version 1.3.14
955         * NEWS: Record release date.
956
957         build: accommodate new syntax-check test
958         * amiga/tailor.c (_expand_args): Change each of three uses of
959         "exit(20)" to "exit(EXIT_FAILURE)".
960         * sample/add.c: Include <stdlib.h>.
961         (main): Use EXIT_FAILURE and EXIT_SUCCESS, not 1 and 0.
962         * sample/sub.c (main): Likewise.
963         * sample/zread.c (main): Likewise.
964
965         build: update gnulib submodule to latest
966
967         build: link with $(LIB_CLOCK_GETTIME)
968         * Makefile.am (gzip_LDADD): Add $(LIB_CLOCK_GETTIME), now that
969         utimens pulls in gettime.
970         (FILES_TO_CHECK): Remove $(gzip_LDADD), now that it may contain -lrt.
971
972 2009-10-28  Jim Meyering  <meyering@redhat.com>
973
974         msdos: fix syntax in Makefile.djg
975         * msdos/Makefile.djg (gzip): Change each of two leading 8-space
976         sequences to a TAB.  Reported by Allan Mui.
977
978 2009-10-20  Jim Meyering  <meyering@redhat.com>
979
980         build: do not use AC_PREFIX_PROGRAM
981         * configure.ac: Do not use "AC_PREFIX_PROGRAM(gzip)".
982         It would induce behavior that is so surprising that it is probably
983         universally considered to be buggy, these days.  Reported by Zube
984         in http://thread.gmane.org/gmane.comp.gnu.gzip.bugs/273
985
986 2009-10-10  Jim Meyering  <meyering@redhat.com>
987
988         gzip: add tests for today's bug fix
989         * tests/trailing-nul: New file.  Test for today's fix.
990         * Makefile.am (TESTS): Add new script.
991         * NEWS (Bug fixes): Mention it.
992
993 2009-10-10  Daniel Barkalow  <barkalow@iabervon.org>
994
995         gzip: don't fail when there is exactly one trailing NUL byte
996         * gzip.c (get_method): Require the second byte of magic only if
997         the first byte was nonzero.
998
999 2009-10-09  Jim Meyering  <meyering@redhat.com>
1000
1001         build: enable automake color- and parallel-test options
1002         * configure.ac (AM_INIT_AUTOMAKE): Enable color-tests and parallel-tests.
1003
1004         zgrep: portability improvements; exercise "-f -"
1005         * zgrep.in: Adjust loop not to use seq; it's not portable enough.
1006         Fail if we don't find a free file descriptor.
1007         (exists): New function; Use it in place of less portable "test -e".
1008         Testing for existence of /dev/fd/$fd doesn't work on Solaris 10,
1009         since all 256 always exist (as char devices), but testing for
1010         /proc/$$/fd/$fd does work, so do that instead.
1011         * Makefile.am (TESTS): Add tests/zgrep-f.
1012         * tests/zgrep-f: New test; exercise this bug.
1013         * NEWS (Bug fixes): Mention it.
1014
1015 2009-10-09  Carl Worth  <cworth@cworth.org>
1016
1017         zgrep: handle "-f -" the same way that it works with grep
1018         Before this change, echo needle|zgrep -f - haystack.gz would not work.
1019         * zgrep.in: When the pattern comes from stdin, redirect it to a
1020         different file descriptor, since we're about to use stdin.
1021
1022 2009-10-09  Jim Meyering  <meyering@redhat.com>
1023
1024         zdiff would exit 2 (error) rather than 1 for differences
1025         * zdiff.in: Save and restore cmp's exit status around a case
1026         statement that would otherwise clobber its value.
1027         * NEWS (Bug fixes): Mention it.
1028         * tests/zdiff: New test; exercise both bugs.
1029         * tests/test-lib.sh: New file.  From coreutils.
1030         * Makefile.am (EXTRA_DIST): Add tests/test-lib.sh.
1031         (TESTS): Add tests/zdiff.
1032         (TESTS_ENVIRONMENT): Define.  From coreutils.
1033         (EXTRA_DIST): Append all $(TESTS).
1034
1035         zdiff: fix malfunction when operating on two gzip'd inputs
1036         zdiff would fail to print differences in two compressed inputs
1037         * zdiff.in: Don't let cmp output mix with echo'd gzip exit
1038         status values.  Report and fix from Jörg-Volker Peetz via
1039         <http://bugs.debian.org/434275>
1040         * NEWS (Bug fixes): Mention it.
1041
1042         build: update gnulib submodule to latest
1043
1044 2009-10-07  Jim Meyering  <meyering@redhat.com>
1045
1046         build: update gnulib submodule to latest
1047
1048 2009-10-06  Jim Meyering  <meyering@redhat.com>
1049
1050         maint: clarify web-doc-update instructions
1051         * README-release: sync a tiny change from coreutils.
1052
1053 2009-10-03  Jim Meyering  <meyering@redhat.com>
1054
1055         build: update gnulib submodule to latest
1056
1057         doc: use gnu-web-doc-update module
1058         * bootstrap.conf (gnulib_modules): Add it.
1059
1060 2009-10-02  Jim Meyering  <meyering@redhat.com>
1061
1062         doc: describe release procedure
1063         * README-release: New file.
1064
1065 2009-10-01  Jim Meyering  <meyering@redhat.com>
1066
1067         maint: make cfg.mk slightly more generic
1068         * cfg.mk (url_dir_list): Don't hard-code "coreutils".  Use $(PACKAGE).
1069
1070 2009-09-30  Jim Meyering  <meyering@redhat.com>
1071
1072         post-release administrivia
1073         * NEWS: Add header line for next release.
1074         * .prev-version: Record previous version.
1075         * cfg.mk (old_NEWS_hash): Auto-update.
1076
1077         version 1.3.13
1078         * NEWS: Record release date.
1079
1080         build: update gnulib submodule to latest
1081
1082         maint: update bootstrap script
1083         * bootstrap (with_gettext): Update from coreutils.
1084
1085         maint: pull in two release-related modules from gnulib
1086         * bootstrap.conf (gnulib_modules): Add announce-gen and gnupload.
1087
1088         build: use more gnulib modules for better POSIX compliance
1089         * bootstrap.conf (gnulib_modules): Add modules exposed via
1090         make CFLAGS=-DGNULIB_POSIXCHECK 2>&1 \
1091         |perl -lne '/.* use gnulib module (\S+).*/ and print $1' \
1092         |sort |uniq -c|sort -nr
1093         Add these: calloc close fclose fprintf-posix lstat malloc
1094         perror printf-posix realloc
1095
1096 2009-09-30  Karl Berry  <karl@freefriends.org>
1097
1098         doc: update to FDL 1.3, minor clean-up
1099         * NEWS, README, TODO: Update FDL s/1.2/1.3/.
1100
1101 2009-09-28  Karl Berry  <karl@freefriends.org>
1102
1103         doc: update gzip.texi
1104         * doc/gzip.texi: FDL 1.3+
1105         Consistently (de)capitalize section names.
1106         "User's" is not correct; seems best to simplify the title.
1107         Throw in some "GNU"'s.
1108         Make direntries be what we actually want.
1109         Detabify.
1110
1111 2009-09-26  Jim Meyering  <meyering@redhat.com>
1112
1113         maint: temporarily exempt failing syntax-check tests
1114         * cfg.mk (local-checks-to-skip): Add the list of currently-failing
1115         tests, to exempt them from "make syntax-check".
1116
1117         gzip: don't use an uninitialized file descriptor
1118         gzip interprets an argument of "-" as indicating stdin, but when
1119         "-" is not the first name on the command line, it doesn't work.
1120         * gzip.c (treat_stdin): Initialize "ifd".
1121         Patch and fine description by Lasse Collin in
1122         http://www.mail-archive.com/bug-gzip@gnu.org/msg00213.html
1123         * Makefile.am (check-local): Exercise the fix.  Based on the above.
1124         * NEWS (Bug fixes): Mention this.
1125
1126         maint: use a git submodule for gnulib
1127         * .gitmodules: New file, to track gnulib.
1128         * gnulib: New file, created by running this:
1129         git submodule add git://git.sv.gnu.org/gnulib.git gnulib
1130
1131         maint: update existing copyright year lists to include 2009
1132         * bootstrap.conf (gnulib_modules): Add update-copyright.
1133
1134         maint: include <config.h> first in many files
1135
1136         maint: avoid another "make syntax-check" failure
1137         * lib/Makefile.am (match.$(OBJEXT)): Use $(ASCPPPOST), not @ASCPPPOST@.
1138
1139         maint: remove RCS $Id$ variables and comments
1140
1141         maint: change spelling in comments: s/filesystem/file system/
1142
1143         maint: don't use "the the"
1144         * msdos/doturboc.bat: s/the the/the/.
1145
1146         maint: remove trailing blanks
1147
1148         maint: remove useless if-before-free tests
1149         * gzip.c (do_exit): Remove useless if-before-free tests.
1150
1151         maint: remove useless casts to avoid "make syntax-check" failures
1152         * gzip.c (do_exit): Remove anachronistic cast.
1153         * inflate.c (huft_free): Likewise.
1154         * util.c (add_envopt): Likewise.
1155         * vms/vms.c (vms_expand_args): Likewise.
1156
1157         maint: new file: .prev-version
1158         * .prev-version: New file, to record previous version number.
1159
1160 2009-09-06  Jim Meyering  <meyering@redhat.com>
1161
1162         build: avoid spurious warnings from clang
1163         * gzip.h (gzip_error): Declare with ATTRIBUTE_NORETURN.
1164
1165         maint: update build-from-scratch infrastructure
1166         * bootstrap: Modernize.
1167         * bootstrap.conf: Modernize.
1168         * cfg.mk: New file.
1169
1170 2009-08-18  Jim Meyering  <meyering@redhat.com>
1171
1172         inflate: avoid a leak on a error path
1173         * inflate.c (inflate_dynamic): Don't leak
1174
1175         maint: ignore a few generated files
1176         * lib/.gitignore: ignore more generated files.
1177
1178         tests: add a test for just-fixed bug
1179         * tests/hufts-segv.gz: New file, from bug report.
1180         * Makefile.am (EXTRA_DIST): Add tests/hufts-segv.gz.
1181         (check-local): Exercise the bug.
1182
1183         tests: don't misinterpret a failing test as successful
1184         * Makefile.am (check-local): Exit "1" upon failure, not 0.
1185
1186 2009-08-18  Thiemo Nagel  <thiemo.nagel@ph.tum.de>
1187
1188         avoid creating an undersized buffer for the hufts table
1189         A malformed input file can cause gzip to crash with a segmentation
1190         violation or hang in an endless loop.
1191         Reported in <http://bugs.debian.org/507263>.
1192         * NEWS (Bug fixes): Mention it.
1193
1194 2009-08-18  Jim Meyering  <meyering@redhat.com>
1195
1196         avoid silent data loss e.g., on NFS, due to unchecked close of stdout
1197         * gzip.c: Include "closein.h".
1198         (main): Use atexit (close_stdin);
1199         * bootstrap.conf (gnulib_modules): Add closein.
1200         Prompted by Mark Kidwell's report and patch in
1201         http://bugs.debian.org/538187
1202         * NEWS (Bug fixes): Mention it.
1203         * */.gitignore: Update.
1204
1205         build: require automake-1.11 and produce xz-compressed tarballs, too
1206         * configure.ac: Require automake-1.11.  Use the dist-xz option.
1207
1208         build: avoid non-srcdir build failure
1209         * Makefile.am (gzip.doc.gz): Use $(srcdir)/gzip.doc, not gzip.doc.
1210         Don't redirect directly to $@.  Use $(AM_V_GEN).
1211         (gzip.doc, .in): Don't redirect directly to $@.  Use $(AM_V_GEN).
1212         * NEWS: Add template header for upcoming release.
1213
1214         build: enable git-version-gen, automake silent rules, generate ChangeLog
1215         * configure.ac (AC_INIT): Use git-version-gen.
1216         Use AM_SILENT_RULES([yes]).
1217         (AM_INIT_AUTOMAKE): Drop gnits; conflicts with git-version-gen versions.
1218         * bootstrap.conf (gnulib_modules): Use getopt-gnu
1219         Ensure ChangeLog exists, for automake.
1220         rather than obsolete "getopt" module.
1221         Add gitlog-to-changelog.
1222         Add git-version-gen.
1223         Add gnu-make, gnumakefile and maintainer-makefile.
1224         * Makefile.am (dist-hook, gen-ChangeLog): New rules, to generate
1225         ChangeLog and insert it into the distribution tarball.
1226         (EXTRA_DIST): Add ChangeLog-2007.
1227
1228         maint: retire the last VC'd ChangeLog file
1229         * ChangeLog-2007: Rename from ChangeLog.
1230         From now on, the ChangeLog file will be generated automatically
1231         from commit logs.
1232
1233         maint: rename .cvsignore files to .gitignore
1234         * .gitignore: Renamed from .cvsignore.
1235         * doc/.gitignore: Likewise.
1236         * lib/.gitignore: Likewise.
1237         * m4/.gitignore: Likewise.