1 2018-01-07 Jim Meyering <meyering@fb.com>
4 * NEWS: Record release date.
6 2018-01-06 Paul Eggert <eggert@cs.ucla.edu>
8 gzexe: port to macOS mktemp
9 Problem reported by Jeffrey Walton (Bug#30000).
10 * gzexe.in, zdiff.in, zgrep.in:
11 Don’t assume that mktemp works when given no arguments,
12 as this is not true for macOS. Instead, use a syntax
13 that should work with coreutils, NetBSD, and macOS.
14 While we’re in the neighborhood, be more consistent about how program
15 names are used in temporary file names. Also, watch out for TMPDIR
16 values that are not absolute file names, since they can cause problems
19 2018-01-03 Jim Meyering <meyering@fb.com>
21 maint: update gnulib and copyright dates for 2018
22 * gnulib: Update to latest.
23 * bootstrap: Update from gnulib.
24 * all files: Run "make update-copyright".
26 2017-12-16 Jim Meyering <meyering@fb.com>
28 build: update gnulib to latest
30 2017-11-24 Paul Eggert <eggert@cs.ucla.edu>
32 maint: zforce and zmore exit status cleanup
33 Problem reported by Nelson H. F. Beebe.
34 * zforce.in, zmore.in: On failure, exit with status 1 instead of
35 with whatever failing status that printf or mv exited with.
37 2017-11-23 Paul Eggert <eggert@cs.ucla.edu>
39 gzexe: ensure file always exists
40 * gzexe.in: When in a filesystem that does not support symlinks,
41 use rm+cp rather than mv to make backups, so that the argument
44 2017-11-23 Jim Meyering <meyering@fb.com>
46 build: update gnulib to latest
48 2017-11-16 Jim Meyering <meyering@fb.com>
50 gzexe: work even without the ability to make a hard link
51 * gzexe.in: When ln -f fails to create a "~"-style backup,
52 fall back to using mv -f.
53 Reported by Bruno Haible in http://debbugs.gnu.org/29266
55 2017-11-15 Jim Meyering <meyering@fb.com>
57 build: make each generated script unwritable
58 * Makefile.am (.in): Ensure that each generated script is unwritable.
59 This makes it less likely that someone (even me) will mistakenly
60 modify one of those generated files.
62 2017-11-13 Jim Meyering <meyering@fb.com>
64 zless, znew: exit 1 upon --help or --version write failure
65 * zless.in: Exit 1 upon --help or --version write error.
68 2017-11-12 Paul Eggert <eggert@cs.ucla.edu>
70 maint: script diagnostics status cleanup
71 Problem reported by Bruno Haible (Bug#29266#20).
73 * gunzip.in, gzexe.in, zcat.in, zcmp.in, zdiff.in, zforce.in:
74 * zgrep.in, zless.in, zmore.in, znew.in:
75 Use printf instead of echo if the argument might contain ‘\’, at
76 least in theory. Don’t assume printf exits with status 1 on
77 failure; it might be some other positive status.
78 * gzexe.in: Use printf consistently instead of echo, and
79 proscribe it instead of echo.
81 tests: don’t be so strict about timestamps
82 * tests/timestamp: We’ve had many false alarms about timestamps
83 that are not gzip problems, but instead are problems with ‘touch’.
84 Attempt to work around them by not trusting ‘touch’ so much.
85 Problems and parts of solutions proposed by Bruno Haible.
87 2017-11-10 Paul Eggert <eggert@cs.ucla.edu>
89 build: update gnulib submodule to latest
91 2017-11-09 Jim Meyering <meyering@fb.com>
93 gnulib: update to latest
95 maint: use noreturn, not ATTRIBUTE_NORETURN
96 Use gnulib's stdnoreturn module so we can include
97 <stdnoreturn.h> and the "noreturn" helper macro, thus
98 replacing the definition and uses of ATTRIBUTE_NORETURN.
99 * bootstrap.conf (gnulib_modules): Add stdnoreturn.
100 * gzip.h (ATTRIBUTE_NORETURN): Remove definition.
101 Include stdnoreturn.h and use "noreturn" for each
102 ATTRIBUTE_NORETURN-adorned function declaration.
103 * gzip.c (do_exit, try_help): Use "noreturn".
105 tests: unpack-invalid: correct and clean up a test
106 * tests/unpack-invalid: There was a logic error that would have
107 caused this test to ignore a failure if first iteration of the
108 loop set fail=1 and the second one reset it to 0. Also, use
109 "returns_ 1 ...", to require an exit status of 1.
111 2017-11-07 Paul Eggert <eggert@cs.ucla.edu>
113 gzip: diagnose out-of-range MTIME
114 This seems to be the problem reported by Bruno Haible for GNU/Hurd
115 i386 with touch 8.26 and glibc 2.24 (Bug#29033#20).
116 * NEWS: Document this.
117 * gzip.c (get_method): If MTIME is out of range for
118 this platform, warn and substitute the nearest in-range
119 value, instead of silently ignoring it.
120 (do_list): Remove no-longer-needed test for unknown time stamp.
122 2017-11-06 Paul Eggert <eggert@cs.ucla.edu>
124 misc: diagnose year-2038 configuration problems
125 * bootstrap.conf (gnulib_modules): Add year2038.
126 * m4/.gitignore: Add year2038.m4[
128 maint: remove IMPORT_FROM_GETTEXT
129 * bootstrap.conf (IMPORT_FROM_GETTEXT): Remove.
130 This is a relic from older Gnulib, and has no effect now.
132 2017-10-29 Jim Meyering <meyering@fb.com>
134 tests/unpack-valid: port to printf that do not grok hex
135 Many versions of printf do not handle hexadecimal in a format string,
136 so this test would fail.
137 * tests/init.cfg (hex_printf_): Copied from grep's tests/init.cfg.
138 * tests/unpack-valid: Use hex_printf_.
139 Reported by Bruno Haible in https://bugs.gnu.org/29033#26
141 gnulib: update to latest; also update tests/init.sh from gnulib
143 gzip: fix bug with any upper case custom ('-S'-specified) suffix
144 Any user-specified suffix with an upper case
145 letter would fail to match desired file.
146 * gzip.c (get_suffix): First, arrange to have only one return
147 point rather than two. Put a lower-cased (just-malloc'd) copy
148 of z_suffix in the suffix vector, and free it before returning.
149 * tests/upper-suffix: New file.
150 * tests/Makefile.am (TESTS): Add it.
152 Reported by meo@xenialab.it in https://bugs.gnu.org/29006
154 2017-10-16 Paul Eggert <eggert@cs.ucla.edu>
156 gzip: fix bug in unpack EOB check
157 Problem reported by Vidar Holen (Bug#28861).
159 * tests/unpack-valid: New test.
160 * tests/Makefile.am (TESTS): Add it.
161 * unpack.c (build_tree): Report an error if Huffman tree has
163 * unpack.c (unpack): Fix check for EOB.
164 Remove now-unnecessary check for code out of range.
166 2017-09-19 Jim Meyering <meyering@fb.com>
168 maint: fix "make syntax-check": remove useless HAVE_UTIME_H definitions
169 * tailor.h: Don't define HAVE_UTIME_H.
171 maint: avoid "make syntax-check" failure due to old-NEWS modification
172 * cfg.mk (old_NEWS_hash): Update, to reflect recent NEWS correction.
174 2017-09-19 Paul Eggert <eggert@cs.ucla.edu>
176 gzexe: improve usage diagnostic
177 * gzexe.in (usage): Reword for clarity (Bug#28514).
179 misc: update --version copyright
180 * gunzip.in, gzexe.in, gzip.c, zcat.in, zdiff.in, zforce.in, zgrep.in:
181 * zless.in, zmore.in, znew.in: Update copyright year in --version
184 maint: prefer HTTPS to HTTP, FTP in URLs
186 maint: copy bootstrap from Gnulib
188 maint: port to GCC 7.2
189 * configure.ac (WERROR_CFLAGS): Avoid -Wduplicated-branches.
190 * tailor.h (FALLTHROUGH): New macro, taken from Emacs.
191 * gzip.c (main): Use it.
193 maint: update .gitignore for recent Gnulib
195 build: update gnulib submodule to latest
197 2017-05-07 Jim Meyering <meyering@fb.com>
199 maint: also distribute a zip-compressed tarball
200 * configure.ac (AM_INIT_AUTOMAKE): Add dist-zip, for
201 those lacking gzip, 7zip, etc. Suggested by Karl Berry in
202 https://bugs.gnu.org/25538.
204 2017-03-13 Paul Eggert <eggert@cs.ucla.edu>
206 gzip: port zdiff, zless to Busybox
207 Problem reported by Denys Zagorui (Bug#26088).
208 * tests/zdiff: Check that diff uses POSIX-format output.
209 * zless.in (less_version): Don't exit merely because 'less -V'
210 fails; instead, assume 'less' is compatible with an old version of
211 the original 'less'. Busybox 'less -V' fails, but apparently its
212 'less' works anyway somehow.
214 2017-02-06 Jim Meyering <meyering@fb.com>
216 tests: avoid failure when running with no tty
217 * tests/help-version (zcat_setup): Export TERM=dumb, to avoid zless
218 malfunction. Reported by Assaf Gordon in https://bugs.gnu.org/25636#8
220 gnulib: update to latest; and tests/init.sh and bootstrap
222 maint: change "time stamp" to "timestamp" globally
223 This avoids a new syntax-check failure.
224 * ChangeLog-2007: Perform that change.
226 * algorithm.doc: Likewise.
227 * doc/gzip.texi: Likewise.
228 * gunzip.in: Likewise.
232 * m4/.gitignore: Likewise.
233 * sample/ztouch: Likewise.
234 * tests/timestamp: Likewise.
238 * cfg.mk: Update the old news hash accordingly.
240 2017-01-01 Jim Meyering <meyering@fb.com>
242 maint: tweak a distcheck rule
243 * dist-check.mk (my-distcheck): Don't use --disable-nls.
244 That option is now unrecognized.
246 maint: update gnulib and copyright dates for 2017
247 * gnulib: Update to latest.
248 * all files: Run "make update-copyright".
250 2016-11-08 Jim Meyering <meyering@fb.com>
252 maint: use "returns_" rather than explicit comparison with "$?"
253 * tests/zdiff: Use "returns_ 1" rather than testing $? = 1.
254 * tests/hufts: Likewise.
255 * tests/timestamp: Likewise, but s/1/2/.
257 2016-11-04 Paul Eggert <eggert@cs.ucla.edu>
259 gzip: minor time stamp cleanups
260 * NEWS: Document this.
261 * gzip.c (get_method): Do not warn about MTIME out of range.
262 This should avoid useless chatter on hosts with 32-bit time_t
263 after the year 2038 (!).
264 (do_list): Do not pass junk time stamp to localtime.
265 (copy_stat): Do not report "time stamp restored" if restoration
268 gzip: --no-time cleanup
269 Problem reported by Jim Meyering (Bug#24826).
270 * gzip.c (longopts): Remove non-working no-time entry.
271 (help) [UNDOCUMENTED]: Don't document it.
273 gzip --no-name: avoid spurious warning
274 Problem reported by Jim Meyering (Bug#24826).
275 * tests/timestamp: Add a test from Jim Meyering to exercise the fix
276 * zip.c (zip): Treat unknown time stamps as 0.
278 2016-10-24 Jim Meyering <meyering@fb.com>
280 maint: update .gitignore files to ignore more generated files
282 2016-10-02 Jim Meyering <meyering@fb.com>
284 maint: avoid unwarranted "make syntax-check" failure
285 * tests/timestamp: Reorder "rm" arguments so the doubled-word
286 syntax-check rule does not detect a false positive "in in" here.
288 gnulib: update to latest
290 2016-09-07 Paul Eggert <eggert@cs.ucla.edu>
292 * doc/gzip.texi: Fix off-by-one timestamp.
294 2016-09-06 Paul Eggert <eggert@cs.ucla.edu>
296 gzip: fix some Y2038 etc. bugs
297 * NEWS: Document this.
298 * gzip.c (get_method): Warn about out-of-range MTIME,
299 and ignore it instead of relying on possibly-undefined behavior.
300 * tests/Makefile.am (TESTS): Add timestamp.
301 * tests/timestamp: New test.
302 * zip.c (zip): Warn about out-of-range file time stamp.
304 2016-08-29 Jim Meyering <meyering@fb.com>
306 maint: fix gzip-specific syntax-check rule
307 * cfg.mk (sc_gzip_copyright_check): This rule had two problems.
308 It was failing erroneously (the copyright date in gzip.c is fine),
309 yet it was complaining. The first problem is that the rule's
310 diagnostic mentioned the wrong file: lib/version-etc.c, rather than
311 ./gzip.c. The second problem is that it specified this file name
312 via "in_files" rather than the "in_vc_files" variable.
314 2016-06-12 Paul Eggert <eggert@penguin.cs.ucla.edu>
316 gzip: fix port to Atari by not defining ASMV
317 Problem reported by Helmut Karlowski in: http://bugs.gnu.org/23751
318 * tailor.h (ASMV) [ATARI || atarist]: Do not define.
320 2016-06-12 Paul Eggert <eggert@cs.ucla.edu>
322 gzip: drop mentions of Amiga, VMS
323 These platforms were not supported anyway, and their code was
324 suffering from bitrot. This patch may also fix some file name
325 glitches on MS-Windowsish platforms.
326 * bootstrap.conf (gnulib_modules): Add dosname.
327 * gzip.c: Include dosname.h.
328 (shorten_name, treat_dir): Use last_component rather than looking
329 at path separators by hand.
330 * tailor.h: Remove sections on porting to VMS and to Amiga,
331 since dosname.h doesn't support these platforms anyway.
332 (PATH_SEP2, PATH_SEP3, STDC_HEADERS, SUFFIX_SEP, RECORD_IO)
333 (HAVE_CHOWN, HAVE_LSTAT, HAVE_SYS_DIR_H, direct): Remove. All
334 uses removed. Many uses replaced by calls to ISSLASH and/or
337 2016-04-29 Jim Meyering <meyering@fb.com>
339 maint: arrange for better URLs in generated announcement message
340 * cfg.mk (url_dir_list): Define. I had been correcting the generated
341 URLs by hand, just before the announcement. This is better.
343 2016-04-26 Jim Meyering <meyering@fb.com>
345 maint: post-release administrivia
346 * NEWS: Add header line for next release.
347 * .prev-version: Record previous version.
348 * cfg.mk (old_NEWS_hash): Auto-update.
351 * NEWS: Record release date.
353 gnulib: update to latest
355 2016-04-19 Paul Eggert <eggert@cs.ucla.edu>
357 gzip: simplify by closing ourselves
358 This simplifies the previous fix, by avoiding the use of the
359 closein module. That module was problematic, as gzip normally
360 does not use stdio for output and never uses it for input.
361 Also, it is a heavyweight module, as it drags many files into lib
362 (c-ctype.c, c-ctype.h, closein.c, closein.h, closeout.c, closeout.h,
363 close-stream.c, close-stream.h, config.charset, c-strcasecmp.c,
364 c-strcaseeq.h, c-strcase.h, c-strncasecmp.c, fpending.c, fpending.h,
365 freadahead.c, freadahead.h, localcharset.c, localcharset.h, mbrtowc.c,
366 mbsinit.c, quotearg.c, quotearg.h, quote.h, ref-add.sin, ref-del.sin,
367 streq.h, wctype-h.c, wctype.in.h) and into m4 (closein.m4, closeout.m4,
368 close-stream.m4, codeset.m4, configmake.m4, fpending.m4, freadahead.m4,
369 glibc21.m4, localcharset.m4, locale-fr.m4, locale-ja.m4, locale-zh.m4,
370 mbrtowc.m4, mbsinit.m4, mbstate_t.m4, quotearg.m4, wctype_h.m4),
371 and these files are thus no longer needed.
372 * bootstrap.conf (gnulib_modules): Remove closein.
373 * gzip.c: Don't include closein.h.
374 (stdin_was_read): New static var.
375 (main): Don't use close_stdin.
376 Invoke finish_out to exit after outputting via stdio's stdout.
377 Close stdin after reading it.
378 Restore previous way of closing stdout.
379 (treat_stdin): Record that stdin was read.
380 (finish_out): New function.
382 gzip: fix bug with -l output to pipes
383 Problem reported by Christian Franke via Eric Blake in:
384 http://bugs.gnu.org/23314
385 * NEWS: Mention this.
386 * gzip.c (main): Do not close stdout twice when given -l.
387 Instead, -l now just fflushes stdout, so that fdatasync
388 can synchronize it if --synchronize is also specified.
389 * tests/list: New test case.
390 * tests/Makefile.am (TESTS): Add it.
392 2016-03-28 Paul Eggert <eggert@cs.ucla.edu>
394 Port to Oracle Solaris Studio 12.4
395 Problem reported by Kiyoshi KANAZAWA in: http://bugs.gnu.org/23133
396 * NEWS: Document this.
397 * configure.ac (ASMV): Do not define if NO_ASM is
398 anywhere in DEFS; it doesn't need to be surrounded by white space.
399 * lib/match.c: Do not use x86 version if __x86_64__ is defined.
401 2016-03-27 Jim Meyering <meyering@fb.com>
403 maint: post-release administrivia
404 * NEWS: Add header line for next release.
405 * .prev-version: Record previous version.
406 * cfg.mk (old_NEWS_hash): Auto-update.
409 * NEWS: Record release date.
411 2016-03-26 Paul Eggert <eggert@cs.ucla.edu>
414 Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
415 * gzexe.in, zdiff.in, zgrep.in: Don't rely on mktemp -t,
416 as it has a different meaning in NetBSD.
418 * tests/init.sh: Sync from Gnulib.
420 Port to Alpine Linux which uses Busybox
421 * Makefile.am (check-local): Use plain diff rather than
423 2016-03-24 Jim Meyering <meyering@fb.com>
425 gzip: also honor GZIP=--rsyncable
426 * gzip.c (main): Also accept --rsyncable when it is specified
427 via the GZIP environment variable.
428 I noticed this when gzip's "make dist" failed because maint.mk
429 detected that gzip now honors --rsyncable, yet when it set GZIP_ENV
430 to include that, and that propagated via automake-generated code
431 to the GZIP setting used in the "make dist" rule, there, it was not
432 honored, and caused "make dist" to fail.
434 2016-03-21 Paul Eggert <eggert@cs.ucla.edu>
436 Fix typo in previous patch
438 Port to Solaris 11 /bin/sh
439 * m4/shell.m4 (AC_PROG_SHELL): Reject Solaris 11 /bin/sh.
440 A problem was reported by Nelson H. F. Beebe for OpenIndiana.
441 I reproduced a problem with different symptoms on Solaris 11.
442 Switching to Bash fixed it, and I hope this fixes it for
443 OpenIndiana too, since both problems appear to be shell-related.
445 2016-03-18 Paul Eggert <eggert@cs.ucla.edu>
447 zgrep: with -f SPECIAL, read SPECIAL just once
448 Problem reported by Fulvio Scapin in: http://bugs.gnu.org/22945
449 * NEWS: Document this.
450 * tests/zgrep-f: Add a test.
451 Adjust a test to cover the case of more than one line in -f's input.
452 * zgrep.in (with_filename): With -f FILE, if FILE is stdin or not
453 a regular file, copy it into a temporary and use the temporary.
455 2016-03-15 Paul Eggert <eggert@cs.ucla.edu>
457 gzip: port to AIX 7.1 + xlc V12.1
458 * inflate.c, unlzw.c, util.c: Include tailor.h after including any
459 system include file that might in turn include signal.h for the
460 first time, so that SIGPIPE is not #defined to 0 prematurely,
461 which clashes with signal.h's SIGPIPE.
463 2016-03-15 Jim Meyering <meyering@fb.com>
465 gnulib: update to latest
467 maint: don't ignore gitlog-to-changelog failure
468 * Makefile.am (gen-ChangeLog): Don't ignore failure of
469 gitlog-to-changelog. This syncs to coreutils' copy of this rule.
471 2016-03-06 Paul Eggert <eggert@cs.ucla.edu>
474 * gzip.c (do_list): Use 2D array of char for month abbreviations,
475 as this is clearer anyway, and it pacifies Clang. Problem reported
476 by Assaf Gordon in: http://bugs.gnu.org/22900#40
478 2016-03-06 Jim Meyering <meyering@fb.com>
480 tests: port to systems for which ":" is not the PATH separator
481 * Makefile.am (new_path): New variable.
482 (check-local): Use $(PATH_SEPARATOR) rather than a literal ":",
483 to avoid "make syntax-check" failure.
485 2016-03-06 Paul Eggert <eggert@cs.ucla.edu>
487 doc: minor --rsyncable doc fixes
488 * doc/gzip.texi (Sample): Mention --rsyncable.
489 * gzip.c (help): Sort and do not capitalize the new --rsyncable
492 gzip: minor zgrep cleanup
493 * zgrep.in: Simplify previous change.
495 gzip: port zgrep to Solaris 11.2
496 Problem reported by Assaf Gordon in: http://bugs.gnu.org/22900#11
497 * zgrep.in: Port to Solaris 11.2 /bin/sh (ksh 93u 2011-02-08),
498 where $? is 256+SIG when a process was killed with signal SIG, and
499 where 'exit 257' is equivalent to 'exit 1'. Apparently some other
500 sh implementations use 256+128+SIG. So, instead of using plain
501 'exit $?', use the equivalent of 'exit ((128 * (128 <= $?)) + $? %
502 128)' within the script, and use the equivalent of 'kill -$($? %
503 128)' at the top level if the exit status is 128 or more.
505 gzip: remove --__bindir
506 * NEWS: Document this.
507 * gzexe.in, gunzip.in, zcat.in, zcmp.in, zdiff.in, zegrep.in:
508 * zfgrep.in, zforce.in, zgrep.in, zless.in, zmore.in, znew.in:
509 Remove support for undocumented --__bindir option. Callers can
510 set PATH instead; that's less error-prone. This fixes some
511 'make check' failures on my Solaris 11 box, which occurred
512 because the test scripts were mistakenly testing the installed
513 gzip rather than the gzip in the working directory.
514 * Makefile.am (.in): Don't replace bindir.
515 (check-local): Set PATH instead of using --__bindir.
516 * tests/help-version (gunzip_setuphelp, gzexe_setuphelp)
517 (zcat_setuphelp, zcmp_setuphelp, zdiff_setuphelp)
518 (zegrep_setuphelp, zfgrep_setuphelp, zforce_setuphelp)
519 (zgrep_setuphelp, zless_setuphelp, zmore_setuphelp)
520 (znew_setuphelp): Remove. All uses removed.
521 (lbracket_setup): Default args to empty.
523 2016-03-04 Jim Meyering <meyering@fb.com>
525 tests: fix "make check" failure on AIX 7.1
526 * tests/Makefile.am (TESTS_ENVIRONMENT): Modernize:
527 remove unused shell_or_perl_ function, and use an
528 export_with_values function as grep does, to remove
529 a lot of duplication.
530 Reported by Assaf Gordon in http://debbugs.gnu.org/22900
532 2016-03-02 Rusty Russell <rusty@rustcorp.com.au>
534 gzip: support the --rsyncable option
535 * deflate.c: Include verify.h.
536 (RSYNC_WIN, RSYNC_SUM_MATCH): Define.
537 (rsync_sum, rsync_chunk_end): Declare file-scoped globals.
538 (lm_init): Initialize globals.
539 (fill_window): Update rsync_chunk_end.
540 (rsync_roll): New function.
541 (RSYNC_ROLL): New macro.
542 (FLUSH_BLOCK): Update for new "pad" parameter.
543 (deflate_fast): Use RSYNC_ROLL and flush/pad.
545 * trees.c (flush_block): Add "pad" parameter.
546 * gzip.c (rsync): New global.
547 (RSYNCABLE_OPTION, longopts, help): Add the option.
548 (main): Set the new global.
549 * gzip.h (rsync): Declare new global.
550 (flush_block): Update prototype.
551 * doc/gzip.texi: Document it.
553 * bootstrap.conf: Use verify module.
554 * NEWS (New feature): Mention it.
555 * Makefile.am (check-local): Add tests and use AM_V__* command-
556 hiding opions. Reported against Debian here:
557 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=118118
559 2016-02-28 Jim Meyering <meyering@fb.com>
561 maint: dist-check.mk: remove .deps dirs before comparing
562 "make distcheck" with automake-from-trunk would fail like this:
564 Only in /gz/tests/torture/gzip/test/gzip-1.6.42-9d47.old: .deps
565 Only in /gz/tests/torture/gzip/test/gzip-1.6.42-9d47.old/lib: .deps
566 Only in /gz/tests/torture/gzip/test/gzip-1.6.42-9d47.old/lib/glthread: .deps
567 * dist-check.mk (my-distcheck): Remove all .deps directories before
568 comparing the two hierarchies.
570 2016-02-28 Paul Eggert <eggert@cs.ucla.edu>
572 misc: update --version copyright
573 * gunzip.in, gzexe.in, zcat.in, zdiff.in, zforce.in, zgrep.in:
574 * zless.in, zmore.in, znew.in: Update copyright year in --version
577 gzip: new option --synchronous
578 This follows up on the earlier patch to avoid data loss near the
579 system crashes. It makes the new behavior optional, with the
580 default off. See: http://bugs.gnu.org/22768
581 * NEWS, doc/gzip.texi (Sample, Invoking gzip), gunzip.in (usage):
582 * gzip.1, zcat.in (usage):
584 * gzip.c (synchronous): New static var.
585 (SYNCHRONOUS_OPTION): New constant.
586 (longopts, help, main, treat_file): Add support for --synchronous.
588 gzip: use constants, not fileno
589 * gzip.c (main, treat_stdin, treat_file, get_method)
590 (check_ofname): Prefer STDIN_FILENO to fileno (stdin),
591 and similarly for STDOUT_FILENO.
593 gzip: fdatasync output dir before unlinking
594 This follows up on the earlier patch to avoid data loss near
595 the system crashes. See: http://bugs.gnu.org/22768
596 * bootstrap.conf (gnulib_modules): Add dirname-lgpl, fdatasync,
597 openat-safer, unistd-safer, unlinkat.
598 * gzip.c: Include stddef.h, dirname.h.
599 Include fcntl--.h instead of fcntl-safer.h.
600 (RW_USER): Remove; no longer needed.
601 (dfname, dfd): New static vars.
602 (dot): New static const.
603 (atdir_eq, atdir_set): New functions.
604 (treat_file): Also fdatasync the output directory, if !keep.
605 (treat_file, create_outfile, open_and_stat):
606 Use dir fd for unlinkat and openat, if possible.
607 (open_and_stat): Omit mode argument, since it was always the
608 same. All callers changed.
609 * lib/.gitignore, m4/.gitignore: Add new gnulib files.
610 * tailor.h (PROTO, NO_STDIN_FSTAT, OPEN): Remove. Remove MACOS
611 section, as this stuff would not work anyway now, and circa 2001
612 Apple stopped supporting Mac OS 9 and earlier.
613 * zip.c: Do not include unistd.h and fcntl.h, as this file does
614 not directly use any symbols defined by those headers.
616 2016-02-22 Paul Eggert <eggert@cs.ucla.edu>
618 fsync output file before closing
619 Problem reported by Yanyan Jiang 蒋炎岩 in: http://bugs.gnu.org/22768
620 * NEWS: Document this.
621 * bootstrap.conf (gnulib_modules): Add fsync.
622 * gzip.c (treat_file): Call fsync just before closing the output.
623 * lib/.gitignore, m4/.gitignore: Add fsync-related gnulib files.
625 2016-01-22 Jason Leschnik <jason@leschnik.me>
627 doc: correct a diagnostic in man page to match actual
628 * gzip.1: s/no change/unchanged/
629 This addresses http://debbugs.gnu.org/22413
631 2016-01-01 Jim Meyering <meyering@fb.com>
633 maint: update copyright year, bootstrap, init.sh
634 Run "make update-copyright" and then...
636 * gzip.c: Transform the copyright notice via s/2015/2016/.
637 * gnulib: Update to latest.
638 * tests/init.sh: Update from gnulib.
639 * bootstrap: Likewise.
641 2015-11-01 Jim Meyering <meyering@fb.com>
643 maint: avoid three warnings from the very latest gcc-built-from-git
644 * unzip.c (unzip): Correct two format strings to match the types of the corresponding arguments.
645 * unlzw.c (unlzw): Cast an "int" to unsigned to match expected type of %x.
647 2015-08-24 Jim Meyering <meyering@fb.com>
649 maint: adjust copyright notices in *.in files to be consistent
650 The copyright year ranges in *.in files were not being updated,
651 because of a missing ", Inc." suffix. Add that, run
652 run "make udpate-copyright", and ensure 2010..2015 year
654 * gunzip.in: Update copyright notice and year ranges.
655 * gzexe.in: Likewise.
657 * zdiff.in: Likewise.
658 * zforce.in: Likewise.
659 * zgrep.in: Likewise.
660 * zless.in: Likewise.
661 * zmore.in: Likewise.
664 2015-08-24 Jim Meyering <meyering@fb.com>
666 build: avoid -Wshift-negative-value warning
667 Configured with --enable-gcc-warnings, a gcc-6.x build would fail with this:
669 gzip.c:118:32: error: left shift of negative value
670 #define OFF_T_MIN (~ (off_t) 0 << (sizeof (off_t) * CHAR_BIT - 1))
672 * gzip.c [OFF_T_MAX]: Define in terms of TYPE_MAXIMUM, not OFF_T_MIN.
673 [OFF_T_MIN]: Remove now-unused definition.
674 Include "intprops.h" for definiton of TYPE_MAXIMUM.
675 * bootstrap.conf (gnulib_modules): Add intprops.
677 2015-07-30 Jim Meyering <meyering@fb.com>
679 maint: remove dead code
680 This package has not been compilable with -DCRYPT
681 since commit v1.4-82-g9d1b943. Remove final vestiges.
682 * bits.c (copy_block) [CRYPT]: Remove #ifdef'd code.
683 * inflate.c (NEXTBYTE) [CRYPT]: Likewise.
684 Prompted by a report from Flávio Medeiros
685 that HEADER and T might be used uninitialized.
687 2015-03-17 Paul Eggert <eggert@cs.ucla.edu>
689 gzip: make the GZIP env var obsolescent
691 * doc/gzip.texi (Environment, Tapes): Document this.
692 * gzip.c (args): Remove static var; no longer needed now that
693 'main' frees it. All uses removed.
694 (ENV_OPTION, shortopts): New constants.
695 (main): Warn about nontrivial uses of GZIP. Reject dangerous uses.
696 * tests/gzip-env: New test case.
697 * tests/Makefile.am (TESTS): Add it.
698 * util.c (add_envopt): Create new vector instead of adding to old
699 one. Only use changed.
701 2015-03-13 Paul Eggert <eggert@cs.ucla.edu>
703 maint: adjust to recent gnulib
704 * doc/.gitignore: Add gendocs_template_min.
705 * lib/.gitignore: Add assure.h.
707 2015-02-08 Jim Meyering <meyering@fb.com>
709 maint: ensure that --version's copyright date is current
710 * cfg.mk (sc_gzip_copyright_check): Ensure we keep this copyright
711 year number up to date. Reported by Paul Eggert.
712 * gzip.c (license_msg): Include only the current year number,
713 as is done in nearly every other program.
715 gnulib: update to latest
717 2015-01-01 Jim Meyering <meyering@fb.com>
719 maint: update copyright year ranges to include 2015; update gnulib
721 2014-11-10 Jim Meyering <meyering@fb.com>
723 maint: move new NEWS entry into block for upcoming release
724 * NEWS: Move the latest NEWS entry from the block for gzip-1.6
725 into the block for the upcoming release.
727 2014-11-10 Paul Eggert <eggert@cs.ucla.edu>
729 gzip: adjust -v output when -k is also specified
730 Problem reported by Eric Benoit in: http://bugs.gnu.org/16401
731 * gzip.c (treat_file): When keeping a file, don't say it's replaced.
732 * NEWS: Document this.
733 * tests/keep: Test this.
735 2014-11-10 Jim Meyering <meyering@fb.com>
737 maint: enable more syntax checks
738 * cfg.mk (local-checks-to-skip): Remove several rule names from this
739 list, thus enabling the corresponding checks. To fix some, I made
740 syntactic changes to source files. In other cases, I exempted certain
741 files from the checks.
742 Add exemptions for these:
743 sc_prohibit_atoi_atof = ^(gzip|sample/sub)\.c$$
744 sc_space_tab = ^lib/match\.c$$
745 sc_useless_cpp_parens = ^(lib/match\.c|tailor\.h)$$
746 * configure.ac: Add quotes to fix under-quoting.
747 * deflate.c: Remove unnecessary cpp parentheses.
748 * tests/Makefile.am (TEST_ENVIRONMENT): Remove space-before-TAB.
749 * unlzw.c: Change some TABs to spaces.
751 maint: avoid false positive match in check for double semicolon
752 * cfg.mk (exclude_file_name_regexp--sc_prohibit_double_semicolon):
753 Exempt the file, lib/match.c, from gnulib's new double-semicolon
756 gnulib+bootstrap: update to latest
757 * gnulib: Update the submodule.
758 * bootstrap: Update from gnulib.
760 2014-10-10 Paul Eggert <eggert@cs.ucla.edu>
762 tests: use local dir for output
763 Reported by Kiyoshi KANAZAWA in: http://bugs.gnu.org/18679
764 * tests/unpack-invalid: Use local directory, not /tmp, for output.
766 2014-08-10 Paul Eggert <eggert@cs.ucla.edu>
768 gzip: fix --suffix=z bug (Bug#18239)
769 * gzip.c (get_suffix): Put --suffix string at the end
770 of the list of suffixes if it is a suffix of one one them.
771 * tests/z-suffix: New file.
772 * tests/Makefile.am (TESTS): Add it.
774 2014-06-12 Paul Eggert <eggert@cs.ucla.edu>
776 zgrep: exit with status 0 if a file matches and there's no trouble
777 Reported by Pavel Raiskup in: http://bugs.gnu.org/17760
778 * zgrep.in (res): Treat exit status 0 to be greater than 1.
779 Also, exit immediately on software configuration error.
781 2014-06-07 Paul Eggert <eggert@cs.ucla.edu>
783 doc: use UTF-8 in the manual
784 * doc/gzip.texi: Switch to UTF-8 encoding. Fix ASCIIisms.
785 Don't use @sc; plain caps are fine for GNU manuals.
787 maint: update .gitignore files
788 * lib/.gitignore, m4/.gitignore: Adjust to match current sources.
791 2014-06-07 Jim Meyering <meyering@fb.com>
793 maint: udpate all copyright notices via "make update-copyright"
795 maint: update copyright year range in gzip.texi
796 * doc/gzip.texi: Update copyright date.
798 maint: update gnulib to latest and adapt streamsavedir usage
799 * gnulib: Update module to latest.
800 * gzip.c (treat_dir): Gnulib's streamsavedir API has changed:
801 call it with a new argument, SAVEDIR_SORT_NONE, to retain the
804 2014-03-06 Paul Eggert <eggert@cs.ucla.edu>
806 zless: improve gzip failure checking, and port to new -V format
807 Problem reported by Jaroslaw Weglinski, and LESSOPEN change
808 suggested by Mark Nudelman, in: http://bugs.gnu.org/16951
809 This doesn't fix bug 16951 entirely, as 'less' needs to be changed
810 too, but it's a start.
811 * zless.in (check_exit_status): New var.
813 (use_input_pipe_on_stdin): Adjust to output format on Fedora 20,
814 where 'less -V' outputs "less 458 (POSIX regular expressions)"
817 2013-10-24 Paul Eggert <eggert@cs.ucla.edu>
819 gzip: fix permissions issue on Solaris-like systems
820 I.e., on systems that let users give files away.
821 * gzip.c (do_chown): New function.
822 (copy_stat): Use it, to change the group, then the permissions,
823 then the owner. Idea suggested by Vladimir Marek in
824 <http://bugs.gnu.org/15672#11>
826 2013-10-03 Paul Eggert <eggert@cs.ucla.edu>
828 znew: avoid denial-of-service issue
829 Reported by Rich Burridge in <http://bugs.gnu.org/15522>.
830 * znew.in: Rewrite to avoid the need for a temporary file in /tmp.
831 That way, we avoid the need for set -C
832 and worrying about denial of service.
833 Use touch -r and chmod --reference rather than cpmod.
834 Assume cp -p works, as it's now universal.
835 Quote 'echo' args better, while we're at it.
836 (warn, tmp, cpmod, cpmodarg): Remove.
837 (GZIP): Unset, so that we needn't test for gzip extension.
838 (ext): Now always '.gz'.
839 * znew.1: Document the change of implementation assumptions.
841 2013-06-19 Paul Eggert <eggert@cs.ucla.edu>
843 Fix spelling typo in newly-added comment.
845 tests: zgrep-signal race condition fix
846 * tests/zgrep-signal: Check that Perl supports dup2.
847 (exec_with_SIGPIPE_SIGDFL): Remove.
848 (write_to_dangling_pipe): Simplify by moving more of it into Perl.
849 Fix race condition, where subcommand writes to a pipe before the ":"
850 command exits. Problem reported by Thorsten Glaser in
851 <http://lists.gnu.org/archive/html/bug-gzip/2013-06/msg00028.html>.
853 2013-06-12 Paul Eggert <eggert@cs.ucla.edu>
855 zgrep: usage should say which grep options are not supported
856 * zgrep.in (usage): Document which grep options are not supported.
857 Problem reported by Liron Paryente in
858 <http://lists.gnu.org/archive/html/bug-grep/2013-06/msg00005.html>.
860 2013-06-11 Paul Eggert <eggert@cs.ucla.edu>
862 gzip: port util.c to Compaq C V6.5-303
863 * util.c (crc_32_tab): Move definition to front, since this
864 compiler doesn't allow declarations of static arrays with
865 incomplete types. Problem reported by Steven M. Schweda in
866 <http://lists.gnu.org/archive/html/bug-gzip/2013-06/msg00010.html>.
868 tests: zgrep-context assumes grep knows context
869 * tests/Makefile.am (TESTS_ENVIRONMENT): Pass GREP too.
870 * tests/zgrep-context: Check that the underlying grep supports
871 context options. Problem reported by Steven M. Schweda in
872 <http://lists.gnu.org/archive/html/bug-gzip/2013-06/msg00010.html>.
874 doc: zgrep exit status, unsupported options
875 * zgrep.1 (EXIT STATUS, BUGS): New sections.
876 Problem reported by Bdale Garbee in
877 <http://lists.gnu.org/archive/html/bug-gzip/2013-06/msg00007.html>.
879 maint: port to platforms lacking SIGPIPE
880 * tailor.h (SIGPIPE): Define to 0 if not defined. This fixes a
881 porting bug introduced as part of 2012-11-16 syntax-check cleanup.
882 Problem reported by Bdale Garbee in
883 <http://lists.gnu.org/archive/html/bug-gzip/2013-06/msg00006.html>.
885 2013-06-09 Jim Meyering <meyering@fb.com>
887 maint: post-release administrivia
888 * NEWS: Add header line for next release.
889 * .prev-version: Record previous version.
890 * cfg.mk (old_NEWS_hash): Auto-update.
893 * NEWS: Record release date.
895 build: avoid automake warning that suggests use of subdir-objects
896 * configure.ac (AM_INIT_AUTOMAKE): Use the subdir-objects option.
898 build: avoid warning about deprecated use of automake's ACLOCAL_AMFLAGS
899 * Makefile.am (ACLOCAL_AMFLAGS): Don't use this deprecated variable.
900 * configure.ac: Do this instead: AC_CONFIG_MACRO_DIR([m4]).
902 build: use more portable shell syntax in search of working shell
903 * m4/shell.m4: Adjust sh/case syntax not to evoke a syntax
904 error from Solaris 10's /bin/sh.
906 build: update gnulib to latest, and bootstrap
908 2013-05-28 Jim Meyering <meyering@fb.com>
910 tests: exercise the new --keep option
911 * tests/keep: New file.
912 * tests/Makefile.am (TESTS): Add it.
914 2013-05-28 Rodrigo Campos <rodrigo@sdfg.com.ar>
916 gzip: add "--keep" option to retain (don't delete) input files
917 gzip now accepts the --keep (-k) option, for consistency with tools
918 like xz, lzip and bzip2. With this option, gzip no longer removes
919 named input files when compressing and decompressing.
920 * doc/gzip.texi: Document it.
922 * gunzip.in: Likewise.
924 * gzip.c: Add support for "--keep".
926 2013-04-15 Paul Eggert <eggert@cs.ucla.edu>
928 tests: redo patch for non-GNU gzip installed in /usr/local/bin
929 Problem with previous patch reported by Antonio Diaz Diaz in
930 <http://lists.gnu.org/archive/html/bug-gzip/2013-04/msg00011.html>.
931 * tests/help-version (gunzip_setuphelp, gzexe_setuphelp)
932 (zcat_setuphelp, zcmp_setuphelp, zdiff_setuphelp)
933 (zegrep_setuphelp, zfgrep_setuphelp, zforce_setuphelp)
934 (zgrep_setuphelp, zless_setuphelp, zmore_setuphelp)
935 (znew_setuphelp): New functions, used when testing even --help.
936 (zdiff_setup, zcat_setup, znew_setup, zgrep_setup, gzexe_setup):
937 Use gzip_setuphelp to set --__bindir.
939 2013-04-10 Paul Eggert <eggert@cs.ucla.edu>
941 tests: work even if non-GNU gzip is installed in /usr/local/bin
942 Problem reported by Antonio Diaz Diaz in
943 <http://lists.gnu.org/archive/html/bug-gzip/2013-04/msg00004.html>.
944 * tests/help-version (zdiff_setup, zcat_setup, znew_setup, zgrep_setup)
945 (gzexe_setup): Pass --__bindir so that subsidiary programs are our
946 own's, not /usr/local/bin's. This requires using 'eval' on the result.
947 (zcmp_setup, gunzip_setup, zmore_setup, zless_setup, zforce_setup)
948 (zegrep_setup, zfgrep_setup): Invoke one of the other setup functions,
949 to make the patterns more obvious and simplify future maintenance.
950 * zcmp.in, zegrep.in, zfgrep.in: Pass __bindir to subsidiary program.
952 maint: adjust to Gnulib, Automake changes
953 * .gitignore: Add *.trs.
954 * lib/.gitignore: Add unused-parameter.h.
956 tests: port to Solaris 10 /bin/sh
957 * tests/Makefile.am (TESTS_ENVIRONMENT):
958 Use "FOO=val; export FOO" rather than "export FOO=val",
959 as the latter form doesn't work with Solaris /bin/sh.
961 2013-02-25 Paul Eggert <eggert@cs.ucla.edu>
963 gzip: port to DMF file systems
964 * util.c (read_buffer): When reading a file with O_NONBLOCK, if
965 the read fails with errno==EAGAIN, clear O_NONBLOCK and try again.
966 Problem reported by Vitezslav Cizek in
967 <http://lists.gnu.org/archive/html/bug-gzip/2013-02/msg00030.html>.
969 2013-02-05 Paul Eggert <eggert@cs.ucla.edu>
971 gzip: fix bug where you say "n" and gzip acts as if you said "y"
972 Problem reported for GCC 4.7 x86-64 -O2 by Allan McRae in
973 <http://lists.gnu.org/archive/html/bug-gzip/2013-02/msg00000.html>.
974 * NEWS: Document this. Use consistent format in earlier note.
975 * gzip.c: Include yesno.h.
976 * gzip.h (yesno): Remove decl; that's yesno.h's job.
978 2013-01-06 Paul Eggert <eggert@cs.ucla.edu>
980 maint: adjust to Gnulib changes
981 * lib/.gitignore: Add glthread, math.c, unistd.c, wctype-h.c.
982 * m4/.gitignore: Remove inline.m4.
984 2013-01-04 Jim Meyering <jim@meyering.net>
986 maint: update all copyright year number ranges
987 Run "make update-copyright".
989 build: update gnulib submodule to latest
991 2012-12-10 Paul Eggert <eggert@cs.ucla.edu>
993 diagnose unexpected EOF and zero lengths in packed data
994 Problem reported by Aki Helin.
995 * NEWS: Mention Aki's reports.
996 * tests/unpack-invalid: New file,
997 with test data suggested by Aki.
998 * tests/Makefile.am (TESTS): Add it.
999 * unpack.c (read_byte): New function.
1000 (look_bits, read_tree): Use it.
1001 (read_tree): Check against zero bit length Huffman code.
1003 gzip: diagnose invalid code in packed data
1004 * unpack.c (unpack): When encountering a code out of range, report
1005 it and fail rather than charging ahead with randomish output.
1006 Problem reported by Aki Helin.
1008 2012-11-16 Jim Meyering <jim@meyering.net>
1010 maint: avoid new syntax-check failures
1011 * cfg.mk (_gl_TS_unmarked_extern_vars): Append nice_match, to avoid
1012 false-positive syntax-check failure on i686.
1013 * gzip.c (SIGPIPE): Remove definition. Now always provided via gnulib.
1014 * lib/.gitignore: xsize.c, added by gnulib-tool.
1016 2012-11-16 Paul Eggert <eggert@cs.ucla.edu>
1018 gzip: fix debugging/porting typo
1019 * unlzw.c (unlzw) [DEBUG]: Don't assume 'long' can be printed with %d.
1021 maint: merge build improvements from coreutils
1022 * configure.ac: Invoke gl_ASSERT_NO_GNULIB_POSIXCHECK.
1023 (--enable-gcc-warnings): Change help message.
1024 (gl_GCC_VERSION_IFELSE): New macro.
1025 Do not omit -Wunused-macros for main code.
1026 Adjust other -W options as per coreutils.
1027 * lib/Makefile.am (AM_CFLAGS): Use GNULIB_WARN_CFLAGS, not WARN_CFLAGS.
1028 * unlzw.c (REGISTERS, REG1, REG2, ..., REG16): Remove.
1029 All uses removed. These provoked -Wunused-macros warnings.
1030 This sort of fiddling with registers hasn't been needed for years.
1032 build: update gnulib submodule to latest
1034 maint: port to platforms lacking SIGPIPE
1035 * gzip.c (SIGPIPE): Define to 0 if not already defined.
1037 doc: bring up to date and fix troff typos
1038 * doc/gzip.texi (Overview): Update RFC URLs.
1039 * gzip.1: Likewise. Don't say "SEE ALSO" to programs that almost
1040 nobody has installed anymore.
1041 * gzip.1, zmore.1: Fix some troff typos.
1042 * zdiff.1: Clarify what happens with input files. Don't talk
1043 about temporary file names, as they're rarely used these days.
1045 2012-10-24 Paul Eggert <eggert@cs.ucla.edu>
1047 tests: exercise the grep -e portability fix
1048 Remove workaround for Solaris, since the bug should be fixed now.
1049 Suggested by Petr Sumbera in
1050 <http://lists.gnu.org/archive/html/bug-gzip/2012-10/msg00005.html>.
1051 * tests/zgrep-context, tests/zgrep-f: All uses removed.
1052 * tests/init.cfg (require_POSIX_grep_): Remove.
1054 2012-10-23 Eric Blake <eblake@redhat.com>
1056 build: default to --enable-gcc-warnings in a git tree
1057 Anyone building from cloned sources can be assumed to have a new
1058 enough environment, such that enabling gcc warnings by default will
1059 be useful. Tarballs still default to no warnings, and the default
1060 can still be overridden with --disable-gcc-warnings.
1061 * configure.ac (gl_gcc_warnings): Set default based on environment.
1063 2012-10-20 Paul Eggert <eggert@cs.ucla.edu>
1065 zgrep: do not assume standard 'grep' has -e
1066 On Solaris 11, /usr/bin/grep -e does not work.
1067 Problem reported by Petr Sumbera in
1068 <http://lists.gnu.org/archive/html/bug-gzip/2012-10/msg00003.html>.
1069 * Makefile.am (.in): Substitute @GREP@.
1070 * configure.ac (AC_PROG_GREP): Invoke.
1071 * zgrep.in (grep): Use @GREP@.
1073 2012-08-14 Paul Eggert <eggert@cs.ucla.edu>
1075 zgrep: do not assume GNU expr
1076 * zgrep.in: Do not assume '\+' has the GNU behavior in the BRE
1077 given to 'expr', as POSIX does not guarantee that. Come to think
1078 of it, use a shell pattern rather than 'expr', as this is more
1081 2012-08-08 Jim Meyering <meyering@redhat.com>
1083 tests: exercise the just-fixed part of zgrep
1084 * tests/zgrep-context: New file.
1085 * tests/Makefile.am (TESTS): Add it.
1087 2012-08-08 Jim Meyering <meyering@redhat.com>
1089 zgrep: handle a multi-digit context option like -15
1090 * zgrep.in: Do not malfunction when given an option like -15.
1091 Before, it could end up treating the pattern as a file name:
1093 $ echo x | gzip | zgrep -15 x
1094 gzip: x.gz: No such file or directory
1096 * NEWS (Bug fixes): Mention it.
1097 Reported by Dan Bloch via Thomas Bushnell in
1098 https://bugs.launchpad.net/bugs/1032831
1100 2012-08-07 Jim Meyering <meyering@redhat.com>
1102 build: update gnulib, bootstrap and init.sh
1104 maint: fix misspellings in old ChangeLog and NEWS
1105 * ChangeLog-2007: s/Supress/Suppress/
1107 * cfg.mk (old_NEWS_hash): Update to match typo fix.
1109 2012-06-19 Paul Eggert <eggert@cs.ucla.edu>
1111 zmore: rewrite to fix bugs and assume POSIX
1112 Problem reported for Solaris 9 by Daniel in
1113 <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00007.html>.
1114 Rather than figure out what exactly went wrong in Solaris 9
1115 it was easier to rip out all the buggy compatibility and stty cruft.
1116 * zmore.in: Don't use stty or trap; simply pipe the output to 'more'
1117 and let it deal with signals and terminal control.
1118 Use printf, not 'echo', to avoid problems with backslashes.
1119 Don't assume ANS is not 's' in the environment.
1120 Use a 'more'-style header instead of rolling our own style.
1121 Paginate the header, too; the old behavior lost the header.
1122 * NEWS, zmore.1: Document this.
1124 2012-06-17 Jim Meyering <meyering@redhat.com>
1127 * .mailmap: New file. Unify two spellings of Paul's name,
1128 to make git log output slightly cleaner.
1130 maint: post-release administrivia
1131 * NEWS: Add header line for next release.
1132 * .prev-version: Record previous version.
1133 * cfg.mk (old_NEWS_hash): Auto-update.
1136 * NEWS: Record release date.
1138 build: update gnulib for fixed maint.mk
1140 build: update gnulib submodule; bootstrap and init.sh, too
1141 * cfg.mk: Exempt crufty tailor.h from its use of "#define off_t...".
1142 * .gitignore, m4/.gitignore: Update semi-automatically (via bootstrap).
1144 2012-04-24 Paul Eggert <eggert@cs.ucla.edu>
1146 doc: document -rf change
1147 * NEWS: Document the ZFS fix.
1149 gzip: remove CLOSEDIR
1150 * gzip.c (CLOSEDIR): Remove; no longer used.
1152 gzip: port gzip -rf to ZFS
1153 Problem reported privately by Rich Burridge.
1154 * bootstrap.conf: Add savedir.
1155 * gzip.c: Include <savedir.h>.
1156 (_D_EXACT_NAMELEN): Remove.
1157 (treat_dir): Use savedir rather than reading directory entries one
1158 at a time, to avoid revisiting an already-compressed file when using
1159 ZFS and the -rf flags are specified.
1160 * lib/.gitignore, m4/.gitignore: Ignore savedir-related files.
1162 2012-03-18 Paul Eggert <eggert@cs.ucla.edu>
1164 gzip: fix nondeterministic compression results
1165 Reported by Jakub Wilk in <http://bugs.debian.org/647522>.
1166 * deflate.c (fill_window): Don't let garbage pollute the dictionary.
1168 2012-01-11 Jim Meyering <meyering@redhat.com>
1170 tests: make all test scripts executable; work with automake-1.12
1171 * tests/Makefile.am (TESTS_ENVIRONMENT): Adapt to work with upcoming
1173 * tests/mixed: Make executable.
1174 * tests/zgrep-f: Likewise.
1175 * tests/zgrep-signal: Likewise.
1176 * tests/znew-k: Likewise.
1178 build: accommodate newer bootstrap from gnulib
1179 * bootstrap.conf (gnulib_tool_option_extras): Add both --symlink
1180 and --makefile-name=gnulib.mk.
1181 * bootstrap: Update from gnulib.
1182 * tests/init.sh: Update from gnulib.
1183 * lib/Makefile.am: Initialize all of the following so that
1184 generated code in gnulib.mk may use += to append to those variables:
1185 AM_CFLAGS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST, MOSTLYCLEANDIRS,
1186 MOSTLYCLEANFILES, SUFFIXES, noinst_LTLIBRARIES.
1188 2012-01-01 Jim Meyering <meyering@redhat.com>
1190 maint: update all copyright year number ranges
1191 Run "make update-copyright".
1193 2011-12-21 Paul Eggert <eggert@cs.ucla.edu>
1195 zless: decompress stdin too, if less 429 or later
1196 * zless.in: Use LESSOPEN |- feature of less 429 or later.
1197 Problem reported by Jeroen Roovers via Mike Frysinger in
1198 <http://lists.gnu.org/archive/html/bug-gzip/2011-12/msg00006.html>.
1200 2011-11-29 Jim Meyering <meyering@redhat.com>
1202 build: update gnulib submodule to latest
1204 build: accommodate gnulib's new warnings with --enable-gcc-warnings
1205 * configure.ac (WERROR_CFLAGS): Disable two new warnings:
1206 -Wno-format-nonliteral, -Wno-unsuffixed-float-constants.
1207 * gzip.h (bi_reverse): Declare with _GL_ATTRIBUTE_CONST.
1208 (gzip_base_name): Declare with _GL_ATTRIBUTE_PURE.
1210 2011-11-29 Jim Meyering <meyering@redhat.com>
1212 tests: use "compare exp out", not "compare out exp"
1213 Likewise, when an empty file is expected, use "compare /dev/null out",
1214 not "compare out /dev/null". I.e., specify the expected/desired contents
1215 via the first file name. Prompted by a suggestion from Bruno Haible
1216 in http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020/focus=29154
1220 git grep -l -E 'compare [^ ]+ exp' \
1221 |xargs perl -pi -e 's/\b(compare) (\S+) (exp\S*)/$1 $3 $2/'
1222 git grep -l -E 'compare [^ ]+ /dev/null' \
1223 |xargs perl -pi -e 's,\b(compare) (\S+) (/dev/null),$1 $3 $2,'
1225 2011-11-05 Jim Meyering <meyering@redhat.com>
1227 build: update gnulib submodule to latest
1229 2011-11-02 Paul Eggert <eggert@cs.ucla.edu>
1231 * tests/zgrep-signal: Don't assume exit status 141 on PIPE signal.
1232 Problem reported by Eric Blake in
1233 <http://lists.gnu.org/archive/html/bug-gzip/2011-11/msg00007.html>.
1235 * tests/zgrep-signal: Use perl instead of a nonportable shell trap.
1236 Problem reported by Eric Blake in
1237 <http://lists.gnu.org/archive/html/bug-gzip/2011-11/msg00005.html>.
1239 * tests/zgrep-signal: Test for Fedora 15 signal bug.
1240 Also, don't assume that SIGPIPE is SIG_DFL on entry.
1242 2011-11-02 Jim Meyering <meyering@redhat.com>
1244 build: update gnulib submodule to latest
1246 tests: mixed: correct size-enumeration logic
1247 * tests/mixed (sizes): Fix misplaced "&& break" that made us test
1248 only with a size of 0, rather than all sizes in 0..64.
1250 maint: avoid "make syntax-check" failure
1251 * gzip.c (treat_stdin): Indent with spaces, not TABs.
1253 2011-11-02 Paul Eggert <eggert@cs.ucla.edu>
1255 * gzip.c (treat_stdin): If quiet, be quiet with plain gzip -q.
1256 Problem reported by Michaël Guitton in
1257 <http://lists.gnu.org/archive/html/bug-gzip/2011-11/msg00000.html>.
1259 2011-08-10 Jim Meyering <meyering@redhat.com>
1261 maint: remove amiga, atari, msdos, nt, os2, vms sub-directories,
1262 and all files therein. This was proposed months prior, and no
1264 * amiga/Makefile.gcc: Remove file.
1265 * amiga/Makefile.sasc: Likewise.
1266 * amiga/match.a: Likewise.
1267 * amiga/tailor.c: Likewise.
1268 * amiga/utime.h: Likewise.
1269 * atari/Makefile.st: Likewise.
1270 * msdos/Makefile.bor: Likewise.
1271 * msdos/Makefile.djg: Likewise.
1272 * msdos/Makefile.msc: Likewise.
1273 * msdos/doturboc.bat: Likewise.
1274 * msdos/gzip.prj: Likewise.
1275 * msdos/match.asm: Likewise.
1276 * msdos/tailor.c: Likewise.
1277 * nt/Makefile.nt: Likewise.
1278 * os2/Makefile.os2: Likewise.
1279 * os2/gzip.def: Likewise.
1280 * os2/gzip16.def: Likewise.
1281 * vms/Makefile.gcc: Likewise.
1282 * vms/Makefile.mms: Likewise.
1283 * vms/Makefile.vms: Likewise.
1284 * vms/Readme.vms: Likewise.
1285 * vms/gzip.hlp: Likewise.
1286 * vms/makegzip.com: Likewise.
1287 * vms/vms.c: Likewise.
1288 * Makefile.am (EXTRA_DIST): Remove those file names.
1290 build: use largefile module and update to latest gnulib
1291 * configure.ac: Remove AC_SYS_LARGEFILE, subsumed by ...
1292 * bootstrap.conf (gnulib_modules): ...this. Use largefile module.
1293 * gnulib: Update to latest.
1295 2011-07-12 Jim Meyering <meyering@redhat.com>
1297 maint: update init.sh and bootstrap from gnulib
1298 * bootstrap: Update from gnulib.
1299 * tests/init.sh: Update from gnulib.
1301 maint: use gnulib's realloc-gnu and malloc-gnu modules
1302 * bootstrap.conf (gnulib_modules): Use realloc-gnu and malloc-gnu,
1303 rather than the now-deprecated realloc and malloc modules.
1305 build: update gnulib submodule to latest
1307 2011-06-21 Paul Eggert <eggert@cs.ucla.edu>
1309 * deflate.c: Export nice_match to assembler.
1310 (static_unless_ASMV): New macro.
1311 (nice_match): Use it.
1313 2011-06-08 Jim Meyering <meyering@redhat.com>
1315 build: fix "make syntax-check"
1316 * cfg.mk (_gl_TS_unmarked_extern_vars): Add good_match.
1318 build: avoid link failure: this time on i686 linux
1319 * deflate.c (good_match): Must not be static, since it may
1320 be used from lib/match.c.
1322 2011-05-14 Jim Meyering <meyering@redhat.com>
1324 build: avoid link failure on at least i386-FreeBSD7.2
1325 * deflate.c (match_start, prev_length, max_chain_length): Do not
1326 declare these as static. On some types of system/arch, they are
1328 * cfg.mk (_gl_TS_unmarked_extern_vars): Mark those three variables
1329 as known-extern: match_start, prev_length, max_chain_length.
1331 2011-05-13 Jim Meyering <meyering@redhat.com>
1333 avoid new build failure on a system without <crypt.h>
1334 * bits.c: Don't include "crypt.h", now that it's deleted.
1336 maint: use gnulib's new readme-release module
1337 * bootstrap.conf (gnulib_modules): Add readme-release.
1338 (bootstrap_epilogue): Add the recommended perl one-liner.
1339 * README-release: Remove file; it is now generated from gnulib.
1340 * .gitignore: Add it.
1342 2011-05-09 Jim Meyering <meyering@redhat.com>
1344 build: update gnulib submodule to latest
1346 maint: prepare for gnulib's new tight-scope syntax-check rule
1347 * cfg.mk (_gl_TS_dir): Define.
1348 (_gl_TS_unmarked_extern_vars): Define.
1350 maint: declare many variables to be static
1351 * deflate.c: Likewise.
1354 * inflate.c: Likewise.
1355 * trees.c: Likewise.
1356 * unzip.c: Likewise.
1359 maint: remove crypt.[ch] stubs
1360 * Makefile.am (gzip_SOURCES): Remove crypt.c
1361 (EXTRA_DIST): Remove crypt.h
1362 * crypt.c, crypt.h: Remove files.
1363 * unpack.c: Don't #include "crypt.h"
1366 * unzip.c: Likewise.
1368 maint: limit scope of several functions
1369 * deflate.c (longest_match): Move extern declaration into #if-ASMV block.
1370 [!ASMV]: Define as static.
1371 * inflate.c: Remove unnecessary prototypes.
1372 ANSI-declify functions and declare them to be static.
1374 maint: remove all uses of OF((...)) prototype-hiding macro
1375 * bits.c: Remove all uses of OF.
1376 * deflate.c: Likewise.
1378 * inflate.c: Likewise.
1380 * trees.c: Likewise.
1381 * unlzh.c: Likewise.
1382 * unpack.c: Likewise.
1385 (OF): Remove its definition, too.
1387 maint: prepare for tight-scope rule: use noinst_HEADERS
1388 * Makefile.am (EXTRA_DIST): Move lzw.h and gzip.h from here to ...
1389 (noinst_HEADERS): ...here.
1390 For convenience, since the tight-scope rule uses $(noinst_HEADERS).
1392 2011-04-14 Jim Meyering <meyering@redhat.com>
1394 maint: update bootstrap and init.sh from gnulib
1395 * bootstrap: Likewise.
1396 * tests/init.sh: Update from gnulib.
1398 maint: note that we'll remove amiga, atari, msdos, nt, os2, vms soon
1399 If someone can show that any of these are being used, let us know.
1400 * TODO: Note the plan to remove those directories this year.
1402 build: update gnulib submodule to latest
1404 maint: fix typos in vms manual: s/it\nit/\nit/
1405 * vms/gzip.hlp: Remove doubled "it".
1407 2011-04-10 Jim Meyering <meyering@redhat.com>
1409 maint: fix typos in comment: s/to to/to/
1410 * deflate.c: Remove doubled 'to's.
1412 2011-03-20 Jim Meyering <meyering@redhat.com>
1414 maint: stop using .x-sc_* files to list syntax-check exemptions
1415 Instead, use the new mechanism with which you merely use a
1416 variable (derived from the rule name) defined in cfg.mk to an ERE
1417 matching the exempted file names.
1418 * gnulib: Update to latest, to get maint.mk that implements this.
1419 * .x-sc_file_system: Remove file.
1420 * .x-sc_prohibit_tab_based_indentation: Likewise.
1421 * .x-sc_require_config_h: Likewise.
1422 * .x-sc_require_config_h_first: Likewise.
1423 * cfg.mk: Define variables to exempt the same files.
1425 2011-03-18 Jim Meyering <meyering@redhat.com>
1427 doc: correct README-release
1428 * README-release: Remove mention of -announce mailing list.
1429 Unlike coreutils, gzip does not have its own.
1431 doc: update release procedure
1432 * README-release: Resync from coreutils' file by the same name.
1434 2011-01-03 Jim Meyering <meyering@redhat.com>
1436 maint: update copyright year ranges to include 2011
1437 Run "make update-copyright", so "make syntax-check" works in 2011.
1439 build: update gnulib submodule to latest
1441 maint: avoid failure of new test for bindtextdomain
1442 * cfg.mk (local-checks-to-skip): Add sc_bindtextdomain.
1444 2010-12-02 Jim Meyering <meyering@redhat.com>
1446 maint: avoid "make syntax-check" failure due to old-NEWS modification
1447 * cfg.mk (old_NEWS_hash): Update, to reflect recent NEWS correction.
1449 2010-12-01 Paul Eggert <eggert@cs.ucla.edu>
1451 * NEWS: The "gzip -f foo.gz" change occurred in 1.3.13, not 1.3.12
1453 2010-11-10 Paul Eggert <eggert@cs.ucla.edu>
1455 zgrep: don't assume traditional behavior with signal numbers
1456 * zgrep.in: Don't assume the exit status is the signal number plus
1457 128, as POSIX doesn't require this. No need to kill self; exiting
1458 with large status is enough. Propagate all exit statuses greater
1459 than 1, not merely those in the range 129..143, as there's no need
1460 to treat that range specially (and it's not portable anyway).
1462 2010-11-09 Paul Eggert <eggert@cs.ucla.edu>
1464 zgrep: fix shell portability bug with -f; fix mishandling of "-e -"
1465 * tests/zgrep-f: Check for "zgrep -e -" bug, too.
1466 * zgrep.in: Don't assume that if the shell redirects fd 6, then
1467 this redirection is visible to the subsidiary grep. POSIX doesn't
1468 guarantee this visibility except for file descriptors 0, 1, and 2,
1469 and ksh does not support it. Problem reported by Thomas Schulz in
1470 <http://lists.gnu.org/archive/html/bug-gzip/2010-11/msg00000.html>.
1471 Also, fix a related bug: "-e -" was mishandled. These two bugs
1472 were introduced by commit 5b54db4546b84ec97ff57a62f8ddb98faacf77f2
1474 (escape): Change the convention: do not assume that a stray X
1475 is present at the end of the last line. All uses changed.
1476 There was no longer any need for this convention, and fixing this
1477 made it a bit easier to use 'sed' in a later part of the fix.
1479 2010-11-08 Paul Eggert <eggert@cs.ucla.edu>
1481 maint: fix copyright dates that were munged by a maintenance script
1482 * gunzip.in, gzexe.in, zcat.in, zcmp.in, zdiff.in, zforce.in:
1483 * zgrep.in, zless.in, zmore.in, znew.in:
1484 A script went awry when updating copyright dates in gzip's shell
1485 scripts. It should update comments to look like "# Copyright (C)
1486 2007, 2010 Free Software Foundation, Inc." (with a set of years)
1487 and version messages to look like "Copyright (C) 2010 Free
1488 Software Foundation, Inc." (with just the most-recent year).
1489 Instead, it sometimes ignored one, sometimes the other, and
1490 typically put ranges into version messages. Fix all this stuff by
1491 hand, using dates that I divined from the change logs (so they're
1492 a bit more accurate than script-generated dates). We need to fix
1493 the script before it runs in 2011.
1495 2010-10-23 Jim Meyering <meyering@redhat.com>
1497 maint: anchor patterns in .gitignore files
1498 * doc/.gitignore: Anchor patterns.
1499 * lib/.gitignore: Likewise.
1500 * m4/.gitignore: Likewise.
1502 maint: update bootstrap and init.sh from gnulib
1503 * bootstrap: Update.
1504 * tests/init.sh: Update.
1506 2010-10-23 Rob Vermaas <rob.vermaas@gmail.com>
1508 maint: update to latest gnulib; use fdutimens, not gl_futimens
1509 * gzip.c (copy_stat): Use fdutimens, not gl_futimens.
1510 * gnulib: Update to latest.
1512 2010-10-23 Jim Meyering <meyering@redhat.com>
1514 maint: accommodate stricter syntax-check
1515 Avoid #if, #define and #undef of always-defined symbols.
1516 * gzip.c (ELOOP, SIGPIPE): Remove unneeded cpp directives.
1517 * tailor.h (HAVE_DIRENT_H, HAVE_FCNTL_H, HAVE_UNISTD_H, MSDOS):
1518 (O_BINARY): Likewise.
1520 maint: make our use of gnulib's init.sh conform
1521 * tests/help-version: Make use of init.sh conform.
1522 * tests/helin-segv: Likewise.
1523 * tests/help-version: Likewise.
1524 * tests/hufts: Likewise.
1525 * tests/memcpy-abuse: Likewise.
1526 * tests/mixed: Likewise.
1527 * tests/null-suffix-clobber: Likewise.
1528 * tests/stdin: Likewise.
1529 * tests/trailing-nul: Likewise.
1530 * tests/zdiff: Likewise.
1531 * tests/zgrep-f: Likewise.
1532 * tests/zgrep-signal: Likewise.
1533 * tests/znew-k: Likewise.
1535 2010-10-10 Jim Meyering <meyering@redhat.com>
1537 maint: describe policy on copyright year number ranges
1538 * README: Mention coreutils' long-standing policy on use of M-N
1539 ranges in copyright year lists. Requested by Richard Stallman.
1541 2010-09-15 Paul Eggert <eggert@cs.ucla.edu>
1543 zgrep: fix parsing of -Eh options
1544 * zgrep.in: Update list of single-letter options to match what's
1545 in GNU grep. Add -h as an alias for --no-filename. Bug reported
1546 by Vladimir Sidorenko in
1547 <http://lists.gnu.org/archive/html/bug-gzip/2010-09/msg00007.html>.
1549 2010-08-17 Paul Eggert <eggert@cs.ucla.edu>
1551 gzip: fix NO_SIZE_CHECK for VMS
1552 * gzip.c (do_list): Use if, not #if.
1553 * tailor.h (NO_SIZE_CHECK) [defined(VAXC) || defined(VMS)]: Define.
1554 * zip.c (zip): Simplify conditional, which was incorrect at any rate
1557 2010-08-15 Paul Eggert <eggert@cs.ucla.edu>
1559 algorithm.doc: mention Internet RFC 1952 and modernize a bit
1560 * algorithm.doc: Update to mention header-CRC and Internet RFC 1952.
1561 Also, remove the crypto stuff, which never worked.
1562 Inspired by that same suggestion of Greg Roelofs.
1564 gzip: Use 0x%04x instead of %x when printing 16-bit checksums
1565 * gzip.c (get_method): Use 0x%04x, not %x, to print 16-bit checksums.
1566 Inspired by a suggestion of Greg Roelofs in
1567 http://lists.gnu.org/archive/html/bug-gzip/2010-08/msg00004.html
1569 2010-08-03 Paul Eggert <eggert@cs.ucla.edu>
1571 maint: update bootstrap
1572 * bootstrap, bootstrap.conf, tests/init.sh: Merge from gnulib.
1574 2010-07-19 Paul R. Eggert <eggert@cs.ucla.edu>
1576 gzip: don't assume C99, and don't assume overlapping memcpy should work
1577 * tailor.h (NOMEMCPY): Remove. memcpy is entitled to not work
1578 on overlapping blocks.
1579 * inflate.c (inflate_codes): Don't put decl after statement.
1582 * gzip.c (get_method): don't assume size_t can be printed with %u
1584 2010-07-02 Paul Eggert <eggert@cs.ucla.edu>
1586 Mention that gzip -d now handles FHCRC.
1588 2010-07-02 Paul Eggert <eggert@cs.ucla.edu>
1590 Decode FHCRC flag properly, as per Internet RFC 1952.
1591 Problem reported by Greg Roelofs in:
1592 http://lists.gnu.org/archive/html/bug-gzip/2010-06/msg00003.html
1594 * gzip.c (discard_input_bytes): New function.
1595 (get_method): Check header checksum, if given. We never generate it,
1596 but other programs may.
1597 * gzip.h (HEADER_CRC): Renamed from CONTINUATION. All uses changed.
1598 * tailor.h [defined __50SERIES]: Remove PRIMOS stuff that was obsolete
1599 anyway and would have made this patch harder to maintain.
1600 (get_char, put_char): Remove.
1601 * zip.c (zip): Use put_byte instead of the now-removed put_char.
1603 2010-07-01 Paul Eggert <eggert@cs.ucla.edu>
1605 Don't assume that sizeof (long) == 4 when computing statistics.
1606 * gzip.c (get_method): Don't assume sizeof (long) == 4.
1607 * zip.c (zip): Likewise.
1609 Update Info-ZIP name and coordinates (thanks to Greg Roelofs).
1611 2010-05-11 Paul Eggert <eggert@cs.ucla.edu>
1613 * doc/gzip.texi (Sample): Fix backslash quoting problem.
1614 Problem reported by Ole Tange in
1615 <http://lists.gnu.org/archive/html/bug-gzip/2010-05/msg00000.html>.
1617 2010-04-26 Jim Meyering <meyering@redhat.com>
1619 build: update gnulib submodule to latest
1621 maint: remove primos support
1622 * Makefile.am (EXTRA_DIST): Remove all primos/ files.
1623 * primos/build.cpl: Remove file.
1624 * primos/ci.opts: Likewise.
1625 * primos/include/errno.h: Likewise.
1626 * primos/include/fcntl.h: Likewise.
1627 * primos/include/stdlib.h: Likewise.
1628 * primos/include/sysStat.h: Likewise.
1629 * primos/include/sysTypes.h: Likewise.
1630 * primos/primos.c: Likewise.
1631 * primos/readme: Likewise.
1633 2010-04-08 Jim Meyering <meyering@redhat.com>
1635 build: include cfg.mk in the distribution tarball
1636 * Makefile.am (EXTRA_DIST): Add cfg.mk.
1638 2010-04-07 Eric Blake <eblake@redhat.com>
1640 maint: ignore more built files
1641 * .gitignore: Add version files.
1643 2010-04-07 Jim Meyering <meyering@redhat.com>
1645 tests: help-version: cross-check PATH in tests
1646 * tests/help-version: Cross-check $VERSION and --version output.
1647 * tests/Makefile.am (TESTS_ENVIRONMENT): Export VERSION=$(VERSION).
1649 tests: improve help-version
1650 * tests/help-version: Use fail_, rather than echo+Exit.
1652 tests: pull help-version from grep
1654 build: keep --version strictly up to date
1655 Before this change, in development, gzip's --version output could lag
1656 behind reality by a couple deltas or by a "-dirty" suffix. That would
1657 lead to spurious failure of the new --version-$VERSION PATH cross-check.
1658 * Makefile.am (version.c, version.h): New rules.
1659 (BUILT_SOURCES): Set/append.
1660 (noinst_LIBRARIES, noinst_libver_a_SOURCES): Define.
1661 (gzip_LDADD): Add libver.a.
1662 (DISTCLEANFILES): Define.
1663 * gzip.c (license): Use Version, not VERSION.
1665 2010-04-06 Jim Meyering <meyering@redhat.com>
1667 tests: (portability) use st, not "status" as variable name
1668 * tests/zgrep-signal: Do not use status as a variable name,
1669 per autoconf's documentation that it is not portable to
1672 tests: s/framework_failure/framework_failure_/
1674 tests: update init.sh from gnulib
1675 * tests/init.sh: Update from gnulib.
1677 tests: run most tests via tests/Makefile.am
1678 * Makefile.am (SUBDIRS): List tests after ".".
1679 Move most test-related things from here to ...
1680 * tests/Makefile.am: ... here.
1681 * configure.ac (AC_CONFIG_FILES): Add tests/Makefile.
1682 * tests/helin-segv: Adjust.
1683 * tests/help-version: Likewise.
1684 * tests/hufts: Likewise.
1685 * tests/memcpy-abuse: Likewise.
1686 * tests/mixed: Likewise.
1687 * tests/null-suffix-clobber: Likewise.
1688 * tests/stdin: Likewise.
1689 * tests/trailing-nul: Likewise.
1690 * tests/zdiff: Likewise.
1691 * tests/zgrep-f: Likewise.
1692 * tests/zgrep-signal: Likewise.
1693 * tests/znew-k: Likewise.
1695 tests: skip tests that use grep's -f and -E options, if they don't work
1696 * tests/init.cfg (require_grep_minus_f): New function.
1697 * tests/zgrep-f: Use require_grep_minus_f. Use path_prepend_.
1699 tests: arrange for skip and failure notices to go to stderr, not .log
1700 * tests/init.cfg: New file. Make init.sh's stderr_fileno_ match
1701 what the "exec 9>&2" we use in TESTS_ENVIRONMENT.
1702 * Makefile.am (EXTRA_DIST): Add it.
1704 2010-04-06 Eric Blake <eblake@redhat.com>
1706 maint: ignore generated files
1707 * .gitignore: Ignore recent gnulib additions.
1709 maint: update bootstrap
1710 * bootstrap: Use latest copy from gnulib/build-aux.
1712 2010-04-05 Jim Meyering <meyering@redhat.com>
1714 build: use gnulib's lib-ignore module
1715 * bootstrap.conf (gnulib_modules): Add lib-ignore, in case it helps.
1716 * Makefile.am (AM_LDFLAGS): Define it.
1718 maint: let configure-invoked cpp emit diagnostics to config.log
1719 * configure.ac: Do not discard CPP's stderr.
1721 build: update gnulib submodule to latest, and adapt
1722 * cfg.mk: Update to use new _sc_search_regexp interface. Run this:
1723 perl -pi -e 's/\b_prohibit_regexp\b/_sc_search_regexp/;'
1724 -e 's/\bmsg=/halt=/; s/\bre=/prohibit=/;' cfg.mk
1725 and then adjust backslashes so they still line up.
1726 * cfg.mk (local-checks-to-skip): Add new sc_texinfo_acronym, to skip it.
1727 * msdos/tailor.c (fcalloc): Mark a diagnostic for translation, to
1728 placate stricter syntax-check, even though no one uses this file.
1730 use assembly code matcher when possible
1731 * configure.ac (ASCPPPOST): Backslash-escape "#" in AC_SUBST'd
1732 variable, to keep make from seeing it as a comment-introducer.
1733 Based on a patch by Petr Pisar.
1734 * lib/Makefile.am (match.$(OBJEXT)): Use AM_V_GEN and AM_V_at.
1735 * lib/match.c: Don't include <config.h>.
1736 It would impede configure-time assembler test.
1737 * .x-sc_require_config_h: Exempt lib/match.c from syntax-check.
1738 * .x-sc_require_config_h_first: Likewise.
1740 2010-03-20 Jim Meyering <meyering@redhat.com>
1742 do not use stat.st_mtime of a non-regular file
1743 * gzip.c: Include "timespec.h".
1744 (treat_stdin): Use st_mtime only from a regular file.
1745 This matters at least on Cygwin 1.7.1-1, for which a stdin-pipe has
1746 the mtime of /dev/null, rather than the gzip-documented-for-pipes
1747 "current time". Reported by Denis Excoffier.
1749 2010-02-22 Jim Meyering <meyering@redhat.com>
1751 tests: exercise the fix for the decompression data-loss bug
1752 * tests/null-suffix-clobber: New file.
1753 * Makefile.am (TESTS): Add it.
1755 gzip: fix a data-loss bug when decompressing with --suffix=''
1756 * gzip.c (main): Disallow an empty --suffix=S also with -d.
1757 Otherwise, "gzip -d -S '' F.gz" would ask if it's ok to remove the
1758 existing file, "F.gz"; if you reply "yes", you'd lose all of that data.
1759 Use of an empty suffix was already rejected in compression mode.
1760 * gzip.1 (--suffix (-S)): Do not recommend to use "gunzip -S '' *".
1761 Describe how the suffix is used when decompressing, too.
1762 * NEWS (Bug fixes): mention the fix.
1763 Reported by Ripduman Sohan.
1765 tests: add ---presume-input-tty option, solely for testing
1766 * gzip.c: Include <stdbool.h>.
1767 (presume_input_tty): New global.
1769 (treat_stdin, check_ofname): Use it.
1771 2010-02-07 Jim Meyering <meyering@redhat.com>
1773 doc: minor adjustment to README-release
1774 * README-release: Tweak description, to sync from coreutils.
1776 tests: add the help-version sanity tests from coreutils
1777 * tests/help-version: New file, from coreutils.
1778 * Makefile.am (TESTS): Add it.
1780 tests: make distcheck invoke "make syntax-check" and other tests
1781 * dist-check.mk: New file, from coreutils.
1782 * cfg.mk: Include it.
1783 * Makefile.am (distcheck-hook): New rule, to make us use it.
1785 zcmp: consistently indicate failure with exit status of 2
1786 * zcmp.in: Exit with status of 2 (not 1), when writing
1787 --help or --version output fails, to be more like cmp.
1789 2010-02-03 Jim Meyering <meyering@redhat.com>
1791 tests: add more tests of gzip -cdf
1792 * tests/mixed: Test "gzip -cdf" for a range of small uncompressed files.
1794 tests: flip and adjust mixed test, now that the bug is fixed
1795 * NEWS (Bug fixes): Mention the fix.
1796 * Makefile.am (XFAIL_TESTS): Move tests/mixed from here...
1797 (TESTS): ...to here.
1798 * tests/mixed: Comment out the currently (always?) failing part.
1800 2010-02-03 Mark Adler <madler@alumni.caltech.edu>
1802 gzip -cdf now handles concatenation of gzip'd and uncompressed data
1803 * util.c (copy): Change semantics so as to honor a decremented inptr.
1804 * gzip.c (get_method): When needed (-cdf), decrement inptr rather
1805 than clearing it -- and output the first magic byte.
1807 2010-02-03 Dmitry V. Levin <ldv@altlinux.org>
1809 zgrep: terminate gracefully when a pipeline is interrupted by a signal
1810 zgrep is not terminated gracefully when its grep/sed pipeline
1811 is terminated by a signal. For example, a command like
1812 zgrep -F .TH /usr/share/man/man1/*.gz | head
1813 continues working long after the "head" process completes.
1814 Another example, a command like
1815 zgrep unmatched-pattern /usr/share/man/man1/*.gz
1816 cannot be interrupted by sending a SIGQUIT with Ctrl-\ key, it outputs
1817 zgrep: line 221: test: : integer expression expected
1819 * zgrep.in: Terminate gracefully when the grep/sed pipeline is
1820 terminated by a signal.
1821 * tests/zgrep-signal: New test.
1822 * Makefile.am (TESTS): Add it.
1824 2010-02-03 Jim Meyering <meyering@redhat.com>
1826 maint: teach "make syntax-check" the space-only indentation rule
1827 * cfg.mk (sc_prohibit_tab_based_indentation): New rule, from coreutils.
1828 (sc_prohibit_emacs__indent_tabs_mode__setting): Likewise.
1829 * bootstrap: Remove "indent-tabs-mode: nil" directive.
1830 * .x-sc_prohibit_tab_based_indentation: New file.
1832 2010-02-02 Jim Meyering <meyering@redhat.com>
1834 global: convert indentation-TABs to spaces
1835 Transformed via this shell code:
1838 | grep -vE '(^|/)((GNU)?[Mm]akefile|ChangeLog)|\.(am|mk)$' \
1839 | grep -vE 'tests/pr/|help2man' \
1840 | xargs grep -lE "^ *$t" \
1841 | xargs perl -MText::Tabs -ni -le \
1842 '$m=/^( *\t[ \t]*)(.*)/; print $m ? expand($1) . $2 : $_'
1844 2010-02-02 Dmitry V. Levin <ldv@altlinux.org>
1846 wrapper scripts: write diagnostics to stderr, not to stdout
1847 * zforce.in: In case of usage error, output short error diagnostics to
1848 stderr instead of printing help text to stdout.
1849 * zmore.in: Likewise.
1850 * znew.in: Likewise.
1852 2010-02-02 Jim Meyering <meyering@redhat.com>
1854 gzip -cdf mishandles some concatenated input streams: test it
1855 * tests/mixed: Exercise "gzip -cdf" bug.
1856 * Makefile.am (XFAIL_TESTS): Add it.
1857 Mark Adler reported the bug.
1859 tests: move the hufts-segv test to its own file
1860 * tests/hufts: New test.
1861 * Makefile.am (TESTS): Add tests/
1862 (check-local): Remove the hufts-segv test from this rule.
1864 tests: begin moving tests into their own files
1865 * Makefile.am (TESTS): Add tests/stdin.
1866 (check-local): Move the stdin check to its own file:
1867 * tests/stdin: New script.
1869 tests: remove unnecessary use of "path_prepend_ ."
1870 It is unnecessary, since Makefile.am's TESTS_ENVIRONMENT setting
1871 already adds the top build directory, and besides, is only
1872 marginally useful when running stand-alone, since it presumes
1873 that the script is being run from the top build directory.
1874 * tests/helin-segv: Remove unnecessary use of path_prepend_.
1875 * tests/memcpy-abuse: Likewise.
1876 * tests/trailing-nul: Likewise.
1877 * tests/zdiff: Likewise.
1878 * tests/zgrep-f: Likewise.
1880 tests: note that znew-k test depends on length of temp file name
1881 * tests/znew-k: Tweak diagnostic, factor and add a surprising comment.
1883 2010-02-01 Jim Meyering <meyering@redhat.com>
1885 build: update gnulib submodule to latest
1887 2010-02-01 Dmitry V. Levin <ldv@altlinux.org>
1889 fix "znew -K" to work without use of compress utility
1890 * znew.in: Change -K option to imply -t, do not use compress(1).
1891 * znew.1: Document it.
1892 * tests/znew-k: New test.
1893 * Makefile.am (TESTS): Add it.
1895 2010-01-20 Jim Meyering <meyering@redhat.com>
1897 maint: update README-release procedure
1898 * README-release: sync from coreutils.
1900 post-release administrivia
1901 * NEWS: Add header line for next release.
1902 * .prev-version: Record previous version.
1903 * cfg.mk (old_NEWS_hash): Auto-update.
1906 * NEWS: Record release date.
1908 tests: exercise the segfault fix
1909 * tests/helin-segv: New test.
1910 * Makefile.am (TESTS): Add it.
1912 gzip -d: do not clobber stack for valid input on x86_64
1913 * unlzw.c (unlzw): Avoid integer overflow.
1914 Aki Helin reported the segfault along with an input to trigger the bug.
1915 * NEWS (Bug fixes): Mention it.
1917 maint: avoid a minor "make syntax-check" failure
1918 * .x-sc_file_system: Exempt NEWS, since it includes a literal
1919 from an old diagnostic.
1921 maint: remove unused file: README-alpha
1922 * README-alpha: Remove unused file.
1924 build: update gnulib submodule to latest
1926 2010-01-11 Yuxi Zhang <YZhang@qnx.com>
1928 gzip -d: use memcpy more often
1929 * inflate.c (inflate_codes): Use memcpy (rather than slower
1930 memcopy-like code) in more cases.
1932 2010-01-11 Jim Meyering <meyering@redhat.com>
1934 build: do not override gnulib-provided AM_CFLAGS options
1935 Avoid a warning from automake:
1936 lib/Makefile.am:24: AM_CFLAGS multiply defined in condition TRUE ...
1937 lib/gnulib.mk:30: ... `AM_CFLAGS' previously defined here
1938 lib/Makefile.am:20: `lib/gnulib.mk' included from here
1940 * lib/Makefile.am (AM_CFLAGS): Append $(WARN_CFLAGS) and
1941 $(WERROR_CFLAGS), i.e., use "+=", not "=".
1942 This was introduced via 2009-12-17 commit 0341fc22,
1943 "build: with --enable-gcc-warnings, use -Werror",
1944 but fortunately is not a bug, because the definition
1945 it would have overridden was always empty.
1947 2010-01-10 Jim Meyering <meyering@redhat.com>
1949 gzip -d would fail with a CRC error...
1950 ...for some inputs, and some memcpy implementations. It is possible
1951 that an offending input has to be compressed "from FAT filesystem
1952 (MS-DOS, OS/2, NT)", since the sole reproducer no longer evokes a
1953 CRC error when uncompressed and recompressed on a GNU/Linux system.
1954 Also, using an unpatched reverse-memcpy-gzip on over 100,000 inputs
1955 on a GNU/Linux system did not turn up another reproducer.
1956 * inflate.c (inflate_codes): Don't call memcpy with overlapping regions.
1957 Properly detect when source and destination overlap.
1958 * tests/memcpy-abuse: New test, to trigger misbehavior.
1959 * Makefile.am (TESTS): Add it.
1960 * NEWS (Bug fixes): Mention it.
1961 Reported by Alain Magloire in
1962 http://thread.gmane.org/gmane.comp.gnu.gzip.bugs/307
1964 2010-01-08 Jim Meyering <meyering@redhat.com>
1966 tests: switch to gnulib's init.sh test infrastructure
1967 * tests/test-lib.sh: Remove file.
1968 * tests/init.sh: New file, from gnulib.
1969 * tests/trailing-nul: Use the new file.
1970 * tests/zdiff: Likewise.
1971 * tests/zgrep-f: Likewise.
1972 * Makefile.am (EXTRA_DIST): List tests/init.sh, not test-lib.sh.
1974 build: update gnulib submodule to latest
1976 2010-01-03 Jim Meyering <meyering@redhat.com>
1978 maint: record update-copyright options for this package
1979 * cfg.mk: Next time, just run "make update-copyright".
1981 2010-01-01 Jim Meyering <meyering@redhat.com>
1983 maint: update all FSF copyright year lists to include 2010
1985 git ls-files |grep -vE '^(\..*|COPYING|gnulib)$' |xargs \
1986 env UPDATE_COPYRIGHT_USE_INTERVALS=1 build-aux/update-copyright
1988 2009-12-31 Jim Meyering <meyering@redhat.com>
1990 maint: newer gnulib; don't hard-code my GPG key ID
1991 * cfg.mk (gpg_key_ID): Remove definition, now that maint.mk automates it.
1992 * gnulib: Update to lastest.
1994 2009-12-30 Jim Meyering <meyering@redhat.com>
1996 build: update gnulib submodule to latest
1998 maint: remove lots of obsolete #if...HAVE_* checks
1999 Remove many always-true cpp tests like #ifdef HAVE_UNISTD_H,
2000 #ifdef HAVE_FCNTL_H and #ifdef SSIZE_MAX.
2003 * inflate.c: Likewise.
2004 * tailor.h: Likewise.
2005 * unlzw.c: Likewise.
2009 build: add a syntax-check
2010 * cfg.mk (sc_prohibit_obsolete_HAVE_HEADER_H): New rule.
2012 build: with --enable-gcc-warnings, use -Werror
2013 * Makefile.am (AM_CFLAGS): Enable $(WERROR_CFLAGS).
2014 * lib/Makefile.am (AM_CFLAGS): Enable both $(WARN_CFLAGS) and
2017 build: quiet warnings from util.c
2018 * configure.ac (warnings): Add -Wno-overflow and -Wno-type-limits.
2020 build: avoid warning about possibly-no-return functions
2021 * gzip.h (read_error, write_error): Mark these functions as "no-return".
2023 build: avoid warning about ignored chown/fchown return value
2024 * bootstrap.conf (gnulib_modules): Add ignore-value.
2025 * gzip.c: Include "ignore-value.h".
2026 (copy_stat): Explicitly ignore chown and fchown failure
2028 build: update gnulib submodule to latest
2030 2009-11-20 Jim Meyering <meyering@redhat.com>
2032 build: unlzw.c: avoid warnings about unused macros
2033 * configure.ac: Turn off -Wunused-macros.
2035 build: avoid warnings about unused macros
2036 * unzip.c (LOCTIM): Comment out unused macro.
2037 * deflate.c (EQUAL): Remove definition. Use "0" at sole point of use.
2039 build: util.c: avoid warnings about add_envopt
2040 * util.c (add_envopt): The parameter "env" was used for two conflicting
2041 purposes. One use required a const char* parameter, while the other
2042 was used as an argument to free, which must not be "const".
2043 Rename the parameter and use a new local variable for the second role.
2045 build: avoid many const-related warnings
2046 * gzip.c: Add "const" to many variables, to avoid compiler warnings.
2047 * util.c (add_envopt): Make 3rd parameter const
2048 (gzip_error): Make sole parameter const.
2049 * gzip.h: Update prototypes.
2051 build: avoid warnings from -Wstrict-prototypes
2052 * gzip.c (main): Declare using a prototype.
2053 (progerror): Likewise. And make parameter const.
2055 build: use gnulib's fdopendir module
2056 * bootstrap.conf (gnulib_modules): Add fdopendir.
2057 * gzip.c (treat_dir): Don't depend on HAVE_FDOPENDIR.
2058 Gnulib now guarantees its availability.
2059 * configure.ac: Don't check for fdopendir here.
2061 build: enable many warnings
2062 * configure.ac: Add support for --enable-gcc-warnings.
2063 * bootstrap.conf (gnulib_modules): Add manywarnings.
2064 * Makefile.am (AM_CFLAGS): Add (WARN_CFLAGS) # $(WERROR_CFLAGS)
2066 maint: tweak formatting of bootstrap.conf
2067 * bootstrap.conf (gnulib_modules): Unindent list.
2069 maint: cfg.mk: remove factored-out ftp host/dir definitions
2070 * cfg.mk (gnu_ftp_host-alpha, gnu_ftp_host-beta gnu_ftp_host-stable):
2071 (gnu_rel_host, url_dir_list): Remove definitions. The defaults,
2072 now provided by maint.mk, are the same.
2073 * gnulib: Update for latest, including those maint.mk additions.
2075 build: "make stable" emitted an invalid gnupload command
2076 * cfg.mk (gnu_ftp_host-stable): Rename from gnu_ftp_host-major.
2077 * README-release: Change another s/major/stable/.
2079 2009-10-30 Jim Meyering <meyering@redhat.com>
2081 post-release administrivia
2082 * NEWS: Add header line for next release.
2083 * .prev-version: Record previous version.
2084 * cfg.mk (old_NEWS_hash): Auto-update.
2087 * NEWS: Record release date.
2089 build: accommodate new syntax-check test
2090 * amiga/tailor.c (_expand_args): Change each of three uses of
2091 "exit(20)" to "exit(EXIT_FAILURE)".
2092 * sample/add.c: Include <stdlib.h>.
2093 (main): Use EXIT_FAILURE and EXIT_SUCCESS, not 1 and 0.
2094 * sample/sub.c (main): Likewise.
2095 * sample/zread.c (main): Likewise.
2097 build: update gnulib submodule to latest
2099 build: link with $(LIB_CLOCK_GETTIME)
2100 * Makefile.am (gzip_LDADD): Add $(LIB_CLOCK_GETTIME), now that
2101 utimens pulls in gettime.
2102 (FILES_TO_CHECK): Remove $(gzip_LDADD), now that it may contain -lrt.
2104 2009-10-28 Jim Meyering <meyering@redhat.com>
2106 msdos: fix syntax in Makefile.djg
2107 * msdos/Makefile.djg (gzip): Change each of two leading 8-space
2108 sequences to a TAB. Reported by Allan Mui.
2110 2009-10-20 Jim Meyering <meyering@redhat.com>
2112 build: do not use AC_PREFIX_PROGRAM
2113 * configure.ac: Do not use "AC_PREFIX_PROGRAM(gzip)".
2114 It would induce behavior that is so surprising that it is probably
2115 universally considered to be buggy, these days. Reported by Zube
2116 in http://thread.gmane.org/gmane.comp.gnu.gzip.bugs/273
2118 2009-10-10 Jim Meyering <meyering@redhat.com>
2120 gzip: add tests for today's bug fix
2121 * tests/trailing-nul: New file. Test for today's fix.
2122 * Makefile.am (TESTS): Add new script.
2123 * NEWS (Bug fixes): Mention it.
2125 2009-10-10 Daniel Barkalow <barkalow@iabervon.org>
2127 gzip: don't fail when there is exactly one trailing NUL byte
2128 * gzip.c (get_method): Require the second byte of magic only if
2129 the first byte was nonzero.
2131 2009-10-09 Jim Meyering <meyering@redhat.com>
2133 build: enable automake color- and parallel-test options
2134 * configure.ac (AM_INIT_AUTOMAKE): Enable color-tests and parallel-tests.
2136 zgrep: portability improvements; exercise "-f -"
2137 * zgrep.in: Adjust loop not to use seq; it's not portable enough.
2138 Fail if we don't find a free file descriptor.
2139 (exists): New function; Use it in place of less portable "test -e".
2140 Testing for existence of /dev/fd/$fd doesn't work on Solaris 10,
2141 since all 256 always exist (as char devices), but testing for
2142 /proc/$$/fd/$fd does work, so do that instead.
2143 * Makefile.am (TESTS): Add tests/zgrep-f.
2144 * tests/zgrep-f: New test; exercise this bug.
2145 * NEWS (Bug fixes): Mention it.
2147 2009-10-09 Carl Worth <cworth@cworth.org>
2149 zgrep: handle "-f -" the same way that it works with grep
2150 Before this change, echo needle|zgrep -f - haystack.gz would not work.
2151 * zgrep.in: When the pattern comes from stdin, redirect it to a
2152 different file descriptor, since we're about to use stdin.
2154 2009-10-09 Jim Meyering <meyering@redhat.com>
2156 zdiff would exit 2 (error) rather than 1 for differences
2157 * zdiff.in: Save and restore cmp's exit status around a case
2158 statement that would otherwise clobber its value.
2159 * NEWS (Bug fixes): Mention it.
2160 * tests/zdiff: New test; exercise both bugs.
2161 * tests/test-lib.sh: New file. From coreutils.
2162 * Makefile.am (EXTRA_DIST): Add tests/test-lib.sh.
2163 (TESTS): Add tests/zdiff.
2164 (TESTS_ENVIRONMENT): Define. From coreutils.
2165 (EXTRA_DIST): Append all $(TESTS).
2167 zdiff: fix malfunction when operating on two gzip'd inputs
2168 zdiff would fail to print differences in two compressed inputs
2169 * zdiff.in: Don't let cmp output mix with echo'd gzip exit
2170 status values. Report and fix from Jörg-Volker Peetz via
2171 <http://bugs.debian.org/434275>
2172 * NEWS (Bug fixes): Mention it.
2174 build: update gnulib submodule to latest
2176 2009-10-07 Jim Meyering <meyering@redhat.com>
2178 build: update gnulib submodule to latest
2180 2009-10-06 Jim Meyering <meyering@redhat.com>
2182 maint: clarify web-doc-update instructions
2183 * README-release: sync a tiny change from coreutils.
2185 2009-10-03 Jim Meyering <meyering@redhat.com>
2187 build: update gnulib submodule to latest
2189 doc: use gnu-web-doc-update module
2190 * bootstrap.conf (gnulib_modules): Add it.
2192 2009-10-02 Jim Meyering <meyering@redhat.com>
2194 doc: describe release procedure
2195 * README-release: New file.
2197 2009-10-01 Jim Meyering <meyering@redhat.com>
2199 maint: make cfg.mk slightly more generic
2200 * cfg.mk (url_dir_list): Don't hard-code "coreutils". Use $(PACKAGE).
2202 2009-09-30 Jim Meyering <meyering@redhat.com>
2204 post-release administrivia
2205 * NEWS: Add header line for next release.
2206 * .prev-version: Record previous version.
2207 * cfg.mk (old_NEWS_hash): Auto-update.
2210 * NEWS: Record release date.
2212 build: update gnulib submodule to latest
2214 maint: update bootstrap script
2215 * bootstrap (with_gettext): Update from coreutils.
2217 maint: pull in two release-related modules from gnulib
2218 * bootstrap.conf (gnulib_modules): Add announce-gen and gnupload.
2220 build: use more gnulib modules for better POSIX compliance
2221 * bootstrap.conf (gnulib_modules): Add modules exposed via
2222 make CFLAGS=-DGNULIB_POSIXCHECK 2>&1 \
2223 |perl -lne '/.* use gnulib module (\S+).*/ and print $1' \
2224 |sort |uniq -c|sort -nr
2225 Add these: calloc close fclose fprintf-posix lstat malloc
2226 perror printf-posix realloc
2228 2009-09-30 Karl Berry <karl@freefriends.org>
2230 doc: update to FDL 1.3, minor clean-up
2231 * NEWS, README, TODO: Update FDL s/1.2/1.3/.
2233 2009-09-28 Karl Berry <karl@freefriends.org>
2235 doc: update gzip.texi
2236 * doc/gzip.texi: FDL 1.3+
2237 Consistently (de)capitalize section names.
2238 "User's" is not correct; seems best to simplify the title.
2239 Throw in some "GNU"'s.
2240 Make direntries be what we actually want.
2243 2009-09-26 Jim Meyering <meyering@redhat.com>
2245 maint: temporarily exempt failing syntax-check tests
2246 * cfg.mk (local-checks-to-skip): Add the list of currently-failing
2247 tests, to exempt them from "make syntax-check".
2249 gzip: don't use an uninitialized file descriptor
2250 gzip interprets an argument of "-" as indicating stdin, but when
2251 "-" is not the first name on the command line, it doesn't work.
2252 * gzip.c (treat_stdin): Initialize "ifd".
2253 Patch and fine description by Lasse Collin in
2254 http://www.mail-archive.com/bug-gzip@gnu.org/msg00213.html
2255 * Makefile.am (check-local): Exercise the fix. Based on the above.
2256 * NEWS (Bug fixes): Mention this.
2258 maint: use a git submodule for gnulib
2259 * .gitmodules: New file, to track gnulib.
2260 * gnulib: New file, created by running this:
2261 git submodule add git://git.sv.gnu.org/gnulib.git gnulib
2263 maint: update existing copyright year lists to include 2009
2264 * bootstrap.conf (gnulib_modules): Add update-copyright.
2266 maint: include <config.h> first in many files
2268 maint: avoid another "make syntax-check" failure
2269 * lib/Makefile.am (match.$(OBJEXT)): Use $(ASCPPPOST), not @ASCPPPOST@.
2271 maint: remove RCS $Id$ variables and comments
2273 maint: change spelling in comments: s/filesystem/file system/
2275 maint: don't use "the the"
2276 * msdos/doturboc.bat: s/the the/the/.
2278 maint: remove trailing blanks
2280 maint: remove useless if-before-free tests
2281 * gzip.c (do_exit): Remove useless if-before-free tests.
2283 maint: remove useless casts to avoid "make syntax-check" failures
2284 * gzip.c (do_exit): Remove anachronistic cast.
2285 * inflate.c (huft_free): Likewise.
2286 * util.c (add_envopt): Likewise.
2287 * vms/vms.c (vms_expand_args): Likewise.
2289 maint: new file: .prev-version
2290 * .prev-version: New file, to record previous version number.
2292 2009-09-06 Jim Meyering <meyering@redhat.com>
2294 build: avoid spurious warnings from clang
2295 * gzip.h (gzip_error): Declare with ATTRIBUTE_NORETURN.
2297 maint: update build-from-scratch infrastructure
2298 * bootstrap: Modernize.
2299 * bootstrap.conf: Modernize.
2302 2009-08-18 Jim Meyering <meyering@redhat.com>
2304 inflate: avoid a leak on a error path
2305 * inflate.c (inflate_dynamic): Don't leak
2307 maint: ignore a few generated files
2308 * lib/.gitignore: ignore more generated files.
2310 tests: add a test for just-fixed bug
2311 * tests/hufts-segv.gz: New file, from bug report.
2312 * Makefile.am (EXTRA_DIST): Add tests/hufts-segv.gz.
2313 (check-local): Exercise the bug.
2315 tests: don't misinterpret a failing test as successful
2316 * Makefile.am (check-local): Exit "1" upon failure, not 0.
2318 2009-08-18 Thiemo Nagel <thiemo.nagel@ph.tum.de>
2320 avoid creating an undersized buffer for the hufts table
2321 A malformed input file can cause gzip to crash with a segmentation
2322 violation or hang in an endless loop.
2323 Reported in <http://bugs.debian.org/507263>.
2324 * NEWS (Bug fixes): Mention it.
2326 2009-08-18 Jim Meyering <meyering@redhat.com>
2328 avoid silent data loss e.g., on NFS, due to unchecked close of stdout
2329 * gzip.c: Include "closein.h".
2330 (main): Use atexit (close_stdin);
2331 * bootstrap.conf (gnulib_modules): Add closein.
2332 Prompted by Mark Kidwell's report and patch in
2333 http://bugs.debian.org/538187
2334 * NEWS (Bug fixes): Mention it.
2335 * */.gitignore: Update.
2337 build: require automake-1.11 and produce xz-compressed tarballs, too
2338 * configure.ac: Require automake-1.11. Use the dist-xz option.
2340 build: avoid non-srcdir build failure
2341 * Makefile.am (gzip.doc.gz): Use $(srcdir)/gzip.doc, not gzip.doc.
2342 Don't redirect directly to $@. Use $(AM_V_GEN).
2343 (gzip.doc, .in): Don't redirect directly to $@. Use $(AM_V_GEN).
2344 * NEWS: Add template header for upcoming release.
2346 build: enable git-version-gen, automake silent rules, generate ChangeLog
2347 * configure.ac (AC_INIT): Use git-version-gen.
2348 Use AM_SILENT_RULES([yes]).
2349 (AM_INIT_AUTOMAKE): Drop gnits; conflicts with git-version-gen versions.
2350 * bootstrap.conf (gnulib_modules): Use getopt-gnu
2351 Ensure ChangeLog exists, for automake.
2352 rather than obsolete "getopt" module.
2353 Add gitlog-to-changelog.
2354 Add git-version-gen.
2355 Add gnu-make, gnumakefile and maintainer-makefile.
2356 * Makefile.am (dist-hook, gen-ChangeLog): New rules, to generate
2357 ChangeLog and insert it into the distribution tarball.
2358 (EXTRA_DIST): Add ChangeLog-2007.
2360 maint: retire the last VC'd ChangeLog file
2361 * ChangeLog-2007: Rename from ChangeLog.
2362 From now on, the ChangeLog file will be generated automatically
2365 maint: rename .cvsignore files to .gitignore
2366 * .gitignore: Renamed from .cvsignore.
2367 * doc/.gitignore: Likewise.
2368 * lib/.gitignore: Likewise.
2369 * m4/.gitignore: Likewise.