X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=ChangeLog;h=545e057655e2d75d1430c39700c86da9bf60cb41;hb=764ebf68d940a7b5b863217149436f7fb8cf0cc5;hp=bd6e350c535a3ed0b9b31b1de115847650b330a3;hpb=0d5a754ba8f2cc33e98d48d559f0ad6cd18a43a3;p=debian%2Fgzip diff --git a/ChangeLog b/ChangeLog index bd6e350..545e057 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,1520 +1,2369 @@ -2006-12-15 Paul Eggert - - * NEWS, configure.ac (AC_INIT): - Version 1.3.9 released. - - * Makefile.am (MOSTLYCLEANFILES): Add _match.i. - * configure.ac (for an assembler syntax supported by this package): - Remove _match.i. - - * bootstrap (gnulib_tool_options_extras): New var. - (gnulib_tool_options): Use it. - * bootstrap.conf (gnulib_tool_options_extras): Avoid getline and - rpmatch. gzip doesn't need them, since it doesn't ENABLE_NLS. - -2006-12-13 Bruno Haible - - * configure.ac: Use $CPPFLAGS everywhere $CPP is used, and use - $CPPFLAGS $CFLAGS everywhere $CC is used. - * lib/Makefile.am (match.$(OBJEXT)): Likewise. - * configure.ac: Test the exit code of the $CPP and $ASCPPPOST commands - separately. - -2006-12-11 Paul Eggert - - * configure.ac (ASCPPPOST): Simplify to use just 'sed'. - * lib/Makefile.am (match.$(OBJEXT)): Check for CPP failure. - -2006-12-11 Bruno Haible - - Cross-compilation support. - * configure.ac (ASCPP): Remove substituted variable. - (ASCPPPOST, ASCPPFLAGS): New substituted variables. - * lib/Makefile.am (ASCPP, LN_S): Remove unnecessary macro definitions. - (match.$(OBJEXT)): Use CPP, ASCPPFLAGS, ASCPPPOST instead of ASCPP. - * configure.ac: Add test for chown function. - * gzip.c (treat_file) [!HAVE_CHOWN]: Don't call chown. - * gzip.c: Include "timespec.h". This doesn't fix any bugs, but - it is clearer. - -2006-12-11 Paul Eggert - - The SSIZE_MAX fix didn't work on NSK, so fix it in a more-reliable - (albeit more-complicated) way. Problem reported by Matthew Woehlke. - * gzip.h (read_buffer): New decl. - * unlzw.c (unlzw): Use read_buffer rather than read. - * zip.c (file_read): Likewise. - * util.c (copy, fill_inbuf): Likewise. - (read_buffer, write_buffer): New functions. - (write_buf): Use write_buffer rather than write. - - Undo the previous SSIZE_MAX-related change; it didn't work. - * gzip.c: Include . - * util.c: Likewise. - * gzip.h: Don't include . - (INBUFSIZ): Don't worry about SSIZE_MAX here. +2018-01-07 Jim Meyering + + version 1.9 + * NEWS: Record release date. + +2018-01-06 Paul Eggert + + gzexe: port to macOS mktemp + Problem reported by Jeffrey Walton (Bug#30000). + * gzexe.in, zdiff.in, zgrep.in: + Don’t assume that mktemp works when given no arguments, + as this is not true for macOS. Instead, use a syntax + that should work with coreutils, NetBSD, and macOS. + While we’re in the neighborhood, be more consistent about how program + names are used in temporary file names. Also, watch out for TMPDIR + values that are not absolute file names, since they can cause problems + (e.g., leading "-"). + +2018-01-03 Jim Meyering + + maint: update gnulib and copyright dates for 2018 + * gnulib: Update to latest. + * bootstrap: Update from gnulib. + * all files: Run "make update-copyright". + +2017-12-16 Jim Meyering + + build: update gnulib to latest + +2017-11-24 Paul Eggert + + maint: zforce and zmore exit status cleanup + Problem reported by Nelson H. F. Beebe. + * zforce.in, zmore.in: On failure, exit with status 1 instead of + with whatever failing status that printf or mv exited with. + +2017-11-23 Paul Eggert + + gzexe: ensure file always exists + * gzexe.in: When in a filesystem that does not support symlinks, + use rm+cp rather than mv to make backups, so that the argument + file always exists. + +2017-11-23 Jim Meyering + + build: update gnulib to latest + +2017-11-16 Jim Meyering + + gzexe: work even without the ability to make a hard link + * gzexe.in: When ln -f fails to create a "~"-style backup, + fall back to using mv -f. + Reported by Bruno Haible in http://debbugs.gnu.org/29266 + +2017-11-15 Jim Meyering + + build: make each generated script unwritable + * Makefile.am (.in): Ensure that each generated script is unwritable. + This makes it less likely that someone (even me) will mistakenly + modify one of those generated files. + +2017-11-13 Jim Meyering + + zless, znew: exit 1 upon --help or --version write failure + * zless.in: Exit 1 upon --help or --version write error. + * znew.in: Likewise. + +2017-11-12 Paul Eggert + + maint: script diagnostics status cleanup + Problem reported by Bruno Haible (Bug#29266#20). + * NEWS: Mention this. + * gunzip.in, gzexe.in, zcat.in, zcmp.in, zdiff.in, zforce.in: + * zgrep.in, zless.in, zmore.in, znew.in: + Use printf instead of echo if the argument might contain ‘\’, at + least in theory. Don’t assume printf exits with status 1 on + failure; it might be some other positive status. + * gzexe.in: Use printf consistently instead of echo, and + proscribe it instead of echo. + + tests: don’t be so strict about timestamps + * tests/timestamp: We’ve had many false alarms about timestamps + that are not gzip problems, but instead are problems with ‘touch’. + Attempt to work around them by not trusting ‘touch’ so much. + Problems and parts of solutions proposed by Bruno Haible. + +2017-11-10 Paul Eggert + + build: update gnulib submodule to latest + +2017-11-09 Jim Meyering + + gnulib: update to latest + + maint: use noreturn, not ATTRIBUTE_NORETURN + Use gnulib's stdnoreturn module so we can include + and the "noreturn" helper macro, thus + replacing the definition and uses of ATTRIBUTE_NORETURN. + * bootstrap.conf (gnulib_modules): Add stdnoreturn. + * gzip.h (ATTRIBUTE_NORETURN): Remove definition. + Include stdnoreturn.h and use "noreturn" for each + ATTRIBUTE_NORETURN-adorned function declaration. + * gzip.c (do_exit, try_help): Use "noreturn". + + tests: unpack-invalid: correct and clean up a test + * tests/unpack-invalid: There was a logic error that would have + caused this test to ignore a failure if first iteration of the + loop set fail=1 and the second one reset it to 0. Also, use + "returns_ 1 ...", to require an exit status of 1. + +2017-11-07 Paul Eggert + + gzip: diagnose out-of-range MTIME + This seems to be the problem reported by Bruno Haible for GNU/Hurd + i386 with touch 8.26 and glibc 2.24 (Bug#29033#20). + * NEWS: Document this. + * gzip.c (get_method): If MTIME is out of range for + this platform, warn and substitute the nearest in-range + value, instead of silently ignoring it. + (do_list): Remove no-longer-needed test for unknown time stamp. + +2017-11-06 Paul Eggert -2006-12-08 Paul Eggert + misc: diagnose year-2038 configuration problems + * bootstrap.conf (gnulib_modules): Add year2038. + * m4/.gitignore: Add year2038.m4[ + + maint: remove IMPORT_FROM_GETTEXT + * bootstrap.conf (IMPORT_FROM_GETTEXT): Remove. + This is a relic from older Gnulib, and has no effect now. + +2017-10-29 Jim Meyering + + tests/unpack-valid: port to printf that do not grok hex + Many versions of printf do not handle hexadecimal in a format string, + so this test would fail. + * tests/init.cfg (hex_printf_): Copied from grep's tests/init.cfg. + * tests/unpack-valid: Use hex_printf_. + Reported by Bruno Haible in https://bugs.gnu.org/29033#26 + + gnulib: update to latest; also update tests/init.sh from gnulib + + gzip: fix bug with any upper case custom ('-S'-specified) suffix + Any user-specified suffix with an upper case + letter would fail to match desired file. + * gzip.c (get_suffix): First, arrange to have only one return + point rather than two. Put a lower-cased (just-malloc'd) copy + of z_suffix in the suffix vector, and free it before returning. + * tests/upper-suffix: New file. + * tests/Makefile.am (TESTS): Add it. + * NEWS: Mention it. + Reported by meo@xenialab.it in https://bugs.gnu.org/29006 + +2017-10-16 Paul Eggert + + gzip: fix bug in unpack EOB check + Problem reported by Vidar Holen (Bug#28861). + * NEWS: Mention fix. + * tests/unpack-valid: New test. + * tests/Makefile.am (TESTS): Add it. + * unpack.c (build_tree): Report an error if Huffman tree has + too few leaves. + * unpack.c (unpack): Fix check for EOB. + Remove now-unnecessary check for code out of range. + +2017-09-19 Jim Meyering + + maint: fix "make syntax-check": remove useless HAVE_UTIME_H definitions + * tailor.h: Don't define HAVE_UTIME_H. + + maint: avoid "make syntax-check" failure due to old-NEWS modification + * cfg.mk (old_NEWS_hash): Update, to reflect recent NEWS correction. + +2017-09-19 Paul Eggert + + gzexe: improve usage diagnostic + * gzexe.in (usage): Reword for clarity (Bug#28514). - * NEWS, configure.ac (AC_INIT): - Version 1.3.8 released. + misc: update --version copyright + * gunzip.in, gzexe.in, gzip.c, zcat.in, zdiff.in, zforce.in, zgrep.in: + * zless.in, zmore.in, znew.in: Update copyright year in --version + output to 2017. - * gzexe.in (mktemp_status): New var, used to see whether - mktemp is a known command. Use this instead of confounding - mktemp's existence with its success. + maint: prefer HTTPS to HTTP, FTP in URLs - * zdiff.in: Remove first line containing ":". This follows - up on the SEDCMD fix of 2006-12-01. + maint: copy bootstrap from Gnulib + + maint: port to GCC 7.2 + * configure.ac (WERROR_CFLAGS): Avoid -Wduplicated-branches. + * tailor.h (FALLTHROUGH): New macro, taken from Emacs. + * gzip.c (main): Use it. + + maint: update .gitignore for recent Gnulib + + build: update gnulib submodule to latest + +2017-05-07 Jim Meyering + + maint: also distribute a zip-compressed tarball + * configure.ac (AM_INIT_AUTOMAKE): Add dist-zip, for + those lacking gzip, 7zip, etc. Suggested by Karl Berry in + https://bugs.gnu.org/25538. + +2017-03-13 Paul Eggert + + gzip: port zdiff, zless to Busybox + Problem reported by Denys Zagorui (Bug#26088). + * tests/zdiff: Check that diff uses POSIX-format output. + * zless.in (less_version): Don't exit merely because 'less -V' + fails; instead, assume 'less' is compatible with an old version of + the original 'less'. Busybox 'less -V' fails, but apparently its + 'less' works anyway somehow. + +2017-02-06 Jim Meyering + + tests: avoid failure when running with no tty + * tests/help-version (zcat_setup): Export TERM=dumb, to avoid zless + malfunction. Reported by Assaf Gordon in https://bugs.gnu.org/25636#8 + + gnulib: update to latest; and tests/init.sh and bootstrap + + maint: change "time stamp" to "timestamp" globally + This avoids a new syntax-check failure. + * ChangeLog-2007: Perform that change. + * NEWS: Likewise. + * algorithm.doc: Likewise. + * doc/gzip.texi: Likewise. + * gunzip.in: Likewise. + * gzip.1: Likewise. + * gzip.c: Likewise. + * gzip.h: Likewise. + * m4/.gitignore: Likewise. + * sample/ztouch: Likewise. + * tests/timestamp: Likewise. + * unzip.c: Likewise. + * zip.c: Likewise. + * znew.1: Likewise. + * cfg.mk: Update the old news hash accordingly. + +2017-01-01 Jim Meyering + + maint: tweak a distcheck rule + * dist-check.mk (my-distcheck): Don't use --disable-nls. + That option is now unrecognized. + + maint: update gnulib and copyright dates for 2017 + * gnulib: Update to latest. + * all files: Run "make update-copyright". + +2016-11-08 Jim Meyering + + maint: use "returns_" rather than explicit comparison with "$?" + * tests/zdiff: Use "returns_ 1" rather than testing $? = 1. + * tests/hufts: Likewise. + * tests/timestamp: Likewise, but s/1/2/. + +2016-11-04 Paul Eggert + + gzip: minor time stamp cleanups + * NEWS: Document this. + * gzip.c (get_method): Do not warn about MTIME out of range. + This should avoid useless chatter on hosts with 32-bit time_t + after the year 2038 (!). + (do_list): Do not pass junk time stamp to localtime. + (copy_stat): Do not report "time stamp restored" if restoration + fails. + + gzip: --no-time cleanup + Problem reported by Jim Meyering (Bug#24826). + * gzip.c (longopts): Remove non-working no-time entry. + (help) [UNDOCUMENTED]: Don't document it. + + gzip --no-name: avoid spurious warning + Problem reported by Jim Meyering (Bug#24826). + * tests/timestamp: Add a test from Jim Meyering to exercise the fix + * zip.c (zip): Treat unknown time stamps as 0. + +2016-10-24 Jim Meyering + + maint: update .gitignore files to ignore more generated files + +2016-10-02 Jim Meyering + + maint: avoid unwarranted "make syntax-check" failure + * tests/timestamp: Reorder "rm" arguments so the doubled-word + syntax-check rule does not detect a false positive "in in" here. + + gnulib: update to latest + +2016-09-07 Paul Eggert + + * doc/gzip.texi: Fix off-by-one timestamp. + +2016-09-06 Paul Eggert + + gzip: fix some Y2038 etc. bugs + * NEWS: Document this. + * gzip.c (get_method): Warn about out-of-range MTIME, + and ignore it instead of relying on possibly-undefined behavior. + * tests/Makefile.am (TESTS): Add timestamp. + * tests/timestamp: New test. + * zip.c (zip): Warn about out-of-range file time stamp. + +2016-08-29 Jim Meyering + + maint: fix gzip-specific syntax-check rule + * cfg.mk (sc_gzip_copyright_check): This rule had two problems. + It was failing erroneously (the copyright date in gzip.c is fine), + yet it was complaining. The first problem is that the rule's + diagnostic mentioned the wrong file: lib/version-etc.c, rather than + ./gzip.c. The second problem is that it specified this file name + via "in_files" rather than the "in_vc_files" variable. + +2016-06-12 Paul Eggert + + gzip: fix port to Atari by not defining ASMV + Problem reported by Helmut Karlowski in: http://bugs.gnu.org/23751 + * tailor.h (ASMV) [ATARI || atarist]: Do not define. + +2016-06-12 Paul Eggert + + gzip: drop mentions of Amiga, VMS + These platforms were not supported anyway, and their code was + suffering from bitrot. This patch may also fix some file name + glitches on MS-Windowsish platforms. + * bootstrap.conf (gnulib_modules): Add dosname. + * gzip.c: Include dosname.h. + (shorten_name, treat_dir): Use last_component rather than looking + at path separators by hand. + * tailor.h: Remove sections on porting to VMS and to Amiga, + since dosname.h doesn't support these platforms anyway. + (PATH_SEP2, PATH_SEP3, STDC_HEADERS, SUFFIX_SEP, RECORD_IO) + (HAVE_CHOWN, HAVE_LSTAT, HAVE_SYS_DIR_H, direct): Remove. All + uses removed. Many uses replaced by calls to ISSLASH and/or + last_component. + +2016-04-29 Jim Meyering + + maint: arrange for better URLs in generated announcement message + * cfg.mk (url_dir_list): Define. I had been correcting the generated + URLs by hand, just before the announcement. This is better. + +2016-04-26 Jim Meyering + + maint: post-release administrivia + * NEWS: Add header line for next release. + * .prev-version: Record previous version. + * cfg.mk (old_NEWS_hash): Auto-update. + + version 1.8 + * NEWS: Record release date. + + gnulib: update to latest + +2016-04-19 Paul Eggert + + gzip: simplify by closing ourselves + This simplifies the previous fix, by avoiding the use of the + closein module. That module was problematic, as gzip normally + does not use stdio for output and never uses it for input. + Also, it is a heavyweight module, as it drags many files into lib + (c-ctype.c, c-ctype.h, closein.c, closein.h, closeout.c, closeout.h, + close-stream.c, close-stream.h, config.charset, c-strcasecmp.c, + c-strcaseeq.h, c-strcase.h, c-strncasecmp.c, fpending.c, fpending.h, + freadahead.c, freadahead.h, localcharset.c, localcharset.h, mbrtowc.c, + mbsinit.c, quotearg.c, quotearg.h, quote.h, ref-add.sin, ref-del.sin, + streq.h, wctype-h.c, wctype.in.h) and into m4 (closein.m4, closeout.m4, + close-stream.m4, codeset.m4, configmake.m4, fpending.m4, freadahead.m4, + glibc21.m4, localcharset.m4, locale-fr.m4, locale-ja.m4, locale-zh.m4, + mbrtowc.m4, mbsinit.m4, mbstate_t.m4, quotearg.m4, wctype_h.m4), + and these files are thus no longer needed. + * bootstrap.conf (gnulib_modules): Remove closein. + * gzip.c: Don't include closein.h. + (stdin_was_read): New static var. + (main): Don't use close_stdin. + Invoke finish_out to exit after outputting via stdio's stdout. + Close stdin after reading it. + Restore previous way of closing stdout. + (treat_stdin): Record that stdin was read. + (finish_out): New function. + + gzip: fix bug with -l output to pipes + Problem reported by Christian Franke via Eric Blake in: + http://bugs.gnu.org/23314 + * NEWS: Mention this. + * gzip.c (main): Do not close stdout twice when given -l. + Instead, -l now just fflushes stdout, so that fdatasync + can synchronize it if --synchronize is also specified. + * tests/list: New test case. + * tests/Makefile.am (TESTS): Add it. + +2016-03-28 Paul Eggert + + Port to Oracle Solaris Studio 12.4 + Problem reported by Kiyoshi KANAZAWA in: http://bugs.gnu.org/23133 + * NEWS: Document this. + * configure.ac (ASMV): Do not define if NO_ASM is + anywhere in DEFS; it doesn't need to be surrounded by white space. + * lib/match.c: Do not use x86 version if __x86_64__ is defined. + +2016-03-27 Jim Meyering + + maint: post-release administrivia + * NEWS: Add header line for next release. + * .prev-version: Record previous version. + * cfg.mk (old_NEWS_hash): Auto-update. + + version 1.7 + * NEWS: Record release date. + +2016-03-26 Paul Eggert + + Port to NetBSD 7.0 + Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13 + * gzexe.in, zdiff.in, zgrep.in: Don't rely on mktemp -t, + as it has a different meaning in NetBSD. + + * tests/init.sh: Sync from Gnulib. + + Port to Alpine Linux which uses Busybox + * Makefile.am (check-local): Use plain diff rather than + +2016-03-24 Jim Meyering + + gzip: also honor GZIP=--rsyncable + * gzip.c (main): Also accept --rsyncable when it is specified + via the GZIP environment variable. + I noticed this when gzip's "make dist" failed because maint.mk + detected that gzip now honors --rsyncable, yet when it set GZIP_ENV + to include that, and that propagated via automake-generated code + to the GZIP setting used in the "make dist" rule, there, it was not + honored, and caused "make dist" to fail. + +2016-03-21 Paul Eggert + + Fix typo in previous patch + + Port to Solaris 11 /bin/sh + * m4/shell.m4 (AC_PROG_SHELL): Reject Solaris 11 /bin/sh. + A problem was reported by Nelson H. F. Beebe for OpenIndiana. + I reproduced a problem with different symptoms on Solaris 11. + Switching to Bash fixed it, and I hope this fixes it for + OpenIndiana too, since both problems appear to be shell-related. + +2016-03-18 Paul Eggert + + zgrep: with -f SPECIAL, read SPECIAL just once + Problem reported by Fulvio Scapin in: http://bugs.gnu.org/22945 + * NEWS: Document this. + * tests/zgrep-f: Add a test. + Adjust a test to cover the case of more than one line in -f's input. + * zgrep.in (with_filename): With -f FILE, if FILE is stdin or not + a regular file, copy it into a temporary and use the temporary. + +2016-03-15 Paul Eggert + + gzip: port to AIX 7.1 + xlc V12.1 + * inflate.c, unlzw.c, util.c: Include tailor.h after including any + system include file that might in turn include signal.h for the + first time, so that SIGPIPE is not #defined to 0 prematurely, + which clashes with signal.h's SIGPIPE. + +2016-03-15 Jim Meyering + + gnulib: update to latest + + maint: don't ignore gitlog-to-changelog failure + * Makefile.am (gen-ChangeLog): Don't ignore failure of + gitlog-to-changelog. This syncs to coreutils' copy of this rule. + +2016-03-06 Paul Eggert + + gzip: pacify clang + * gzip.c (do_list): Use 2D array of char for month abbreviations, + as this is clearer anyway, and it pacifies Clang. Problem reported + by Assaf Gordon in: http://bugs.gnu.org/22900#40 + +2016-03-06 Jim Meyering + + tests: port to systems for which ":" is not the PATH separator + * Makefile.am (new_path): New variable. + (check-local): Use $(PATH_SEPARATOR) rather than a literal ":", + to avoid "make syntax-check" failure. + +2016-03-06 Paul Eggert + + doc: minor --rsyncable doc fixes + * doc/gzip.texi (Sample): Mention --rsyncable. + * gzip.c (help): Sort and do not capitalize the new --rsyncable + help string. + + gzip: minor zgrep cleanup + * zgrep.in: Simplify previous change. + + gzip: port zgrep to Solaris 11.2 + Problem reported by Assaf Gordon in: http://bugs.gnu.org/22900#11 + * zgrep.in: Port to Solaris 11.2 /bin/sh (ksh 93u 2011-02-08), + where $? is 256+SIG when a process was killed with signal SIG, and + where 'exit 257' is equivalent to 'exit 1'. Apparently some other + sh implementations use 256+128+SIG. So, instead of using plain + 'exit $?', use the equivalent of 'exit ((128 * (128 <= $?)) + $? % + 128)' within the script, and use the equivalent of 'kill -$($? % + 128)' at the top level if the exit status is 128 or more. + + gzip: remove --__bindir + * NEWS: Document this. + * gzexe.in, gunzip.in, zcat.in, zcmp.in, zdiff.in, zegrep.in: + * zfgrep.in, zforce.in, zgrep.in, zless.in, zmore.in, znew.in: + Remove support for undocumented --__bindir option. Callers can + set PATH instead; that's less error-prone. This fixes some + 'make check' failures on my Solaris 11 box, which occurred + because the test scripts were mistakenly testing the installed + gzip rather than the gzip in the working directory. + * Makefile.am (.in): Don't replace bindir. + (check-local): Set PATH instead of using --__bindir. + * tests/help-version (gunzip_setuphelp, gzexe_setuphelp) + (zcat_setuphelp, zcmp_setuphelp, zdiff_setuphelp) + (zegrep_setuphelp, zfgrep_setuphelp, zforce_setuphelp) + (zgrep_setuphelp, zless_setuphelp, zmore_setuphelp) + (znew_setuphelp): Remove. All uses removed. + (lbracket_setup): Default args to empty. + +2016-03-04 Jim Meyering + + tests: fix "make check" failure on AIX 7.1 + * tests/Makefile.am (TESTS_ENVIRONMENT): Modernize: + remove unused shell_or_perl_ function, and use an + export_with_values function as grep does, to remove + a lot of duplication. + Reported by Assaf Gordon in http://debbugs.gnu.org/22900 + +2016-03-02 Rusty Russell + + gzip: support the --rsyncable option + * deflate.c: Include verify.h. + (RSYNC_WIN, RSYNC_SUM_MATCH): Define. + (rsync_sum, rsync_chunk_end): Declare file-scoped globals. + (lm_init): Initialize globals. + (fill_window): Update rsync_chunk_end. + (rsync_roll): New function. + (RSYNC_ROLL): New macro. + (FLUSH_BLOCK): Update for new "pad" parameter. + (deflate_fast): Use RSYNC_ROLL and flush/pad. + (deflate): Likewise. + * trees.c (flush_block): Add "pad" parameter. + * gzip.c (rsync): New global. + (RSYNCABLE_OPTION, longopts, help): Add the option. + (main): Set the new global. + * gzip.h (rsync): Declare new global. + (flush_block): Update prototype. + * doc/gzip.texi: Document it. + * gzip.1: Likewise. + * bootstrap.conf: Use verify module. + * NEWS (New feature): Mention it. + * Makefile.am (check-local): Add tests and use AM_V__* command- + hiding opions. Reported against Debian here: + https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=118118 + +2016-02-28 Jim Meyering + + maint: dist-check.mk: remove .deps dirs before comparing + "make distcheck" with automake-from-trunk would fail like this: + ... + Only in /gz/tests/torture/gzip/test/gzip-1.6.42-9d47.old: .deps + Only in /gz/tests/torture/gzip/test/gzip-1.6.42-9d47.old/lib: .deps + Only in /gz/tests/torture/gzip/test/gzip-1.6.42-9d47.old/lib/glthread: .deps + * dist-check.mk (my-distcheck): Remove all .deps directories before + comparing the two hierarchies. + +2016-02-28 Paul Eggert + + misc: update --version copyright + * gunzip.in, gzexe.in, zcat.in, zdiff.in, zforce.in, zgrep.in: + * zless.in, zmore.in, znew.in: Update copyright year in --version + output to 2016. + + gzip: new option --synchronous + This follows up on the earlier patch to avoid data loss near the + system crashes. It makes the new behavior optional, with the + default off. See: http://bugs.gnu.org/22768 + * NEWS, doc/gzip.texi (Sample, Invoking gzip), gunzip.in (usage): + * gzip.1, zcat.in (usage): + Document this. + * gzip.c (synchronous): New static var. + (SYNCHRONOUS_OPTION): New constant. + (longopts, help, main, treat_file): Add support for --synchronous. + + gzip: use constants, not fileno + * gzip.c (main, treat_stdin, treat_file, get_method) + (check_ofname): Prefer STDIN_FILENO to fileno (stdin), + and similarly for STDOUT_FILENO. + + gzip: fdatasync output dir before unlinking + This follows up on the earlier patch to avoid data loss near + the system crashes. See: http://bugs.gnu.org/22768 + * bootstrap.conf (gnulib_modules): Add dirname-lgpl, fdatasync, + openat-safer, unistd-safer, unlinkat. + * gzip.c: Include stddef.h, dirname.h. + Include fcntl--.h instead of fcntl-safer.h. + (RW_USER): Remove; no longer needed. + (dfname, dfd): New static vars. + (dot): New static const. + (atdir_eq, atdir_set): New functions. + (treat_file): Also fdatasync the output directory, if !keep. + (treat_file, create_outfile, open_and_stat): + Use dir fd for unlinkat and openat, if possible. + (open_and_stat): Omit mode argument, since it was always the + same. All callers changed. + * lib/.gitignore, m4/.gitignore: Add new gnulib files. + * tailor.h (PROTO, NO_STDIN_FSTAT, OPEN): Remove. Remove MACOS + section, as this stuff would not work anyway now, and circa 2001 + Apple stopped supporting Mac OS 9 and earlier. + * zip.c: Do not include unistd.h and fcntl.h, as this file does + not directly use any symbols defined by those headers. + +2016-02-22 Paul Eggert + + fsync output file before closing + Problem reported by Yanyan Jiang 蒋炎岩 in: http://bugs.gnu.org/22768 + * NEWS: Document this. + * bootstrap.conf (gnulib_modules): Add fsync. + * gzip.c (treat_file): Call fsync just before closing the output. + * lib/.gitignore, m4/.gitignore: Add fsync-related gnulib files. + +2016-01-22 Jason Leschnik + + doc: correct a diagnostic in man page to match actual + * gzip.1: s/no change/unchanged/ + This addresses http://debbugs.gnu.org/22413 + +2016-01-01 Jim Meyering + + maint: update copyright year, bootstrap, init.sh + Run "make update-copyright" and then... + + * gzip.c: Transform the copyright notice via s/2015/2016/. + * gnulib: Update to latest. + * tests/init.sh: Update from gnulib. + * bootstrap: Likewise. + +2015-11-01 Jim Meyering + + maint: avoid three warnings from the very latest gcc-built-from-git + * unzip.c (unzip): Correct two format strings to match the types of the corresponding arguments. + * unlzw.c (unlzw): Cast an "int" to unsigned to match expected type of %x. + +2015-08-24 Jim Meyering + + maint: adjust copyright notices in *.in files to be consistent + The copyright year ranges in *.in files were not being updated, + because of a missing ", Inc." suffix. Add that, run + run "make udpate-copyright", and ensure 2010..2015 year + ranges are covered. + * gunzip.in: Update copyright notice and year ranges. + * gzexe.in: Likewise. + * zcat.in: Likewise. + * zdiff.in: Likewise. * zforce.in: Likewise. * zgrep.in: Likewise. * zless.in: Likewise. * zmore.in: Likewise. * znew.in: Likewise. - Fix problems in porting to NSK reported by Matthew Woehlke in - and - . - * gzip.h: Include , for SSIZE_MAX. - (INBUFSIZE): Don't make it any larger than SSIZE_MAX. - Problem reported by Matthew Woehlke in - . - * gzip.c: Don't include , as gzip.h now does this. - * util.c: Likewise. - * gzip.c (main): Set exiting_signal before installing signal handlers. - (install_signal_handlers): Don't set exiting_signal here. This - fixes a C99ism. - * zip.c: Include timespec.h, for time_stamp type. +2015-08-24 Jim Meyering -2006-12-08 Ralf Wildenhues (tiny change) + build: avoid -Wshift-negative-value warning + Configured with --enable-gcc-warnings, a gcc-6.x build would fail with this: - * gzexe.in: Work around FreeBSD shell trap bug. - * gzip.1: Fix typo. - * doc/gzip.texi: Likewise. + gzip.c:118:32: error: left shift of negative value + #define OFF_T_MIN (~ (off_t) 0 << (sizeof (off_t) * CHAR_BIT - 1)) + + * gzip.c [OFF_T_MAX]: Define in terms of TYPE_MAXIMUM, not OFF_T_MIN. + [OFF_T_MIN]: Remove now-unused definition. + Include "intprops.h" for definiton of TYPE_MAXIMUM. + * bootstrap.conf (gnulib_modules): Add intprops. -2006-12-08 Paul Eggert - - * .cvsignore: Add .deps, gzexe, gzip, zdiff, zforce, zgrep, - zless, zmore, znew. - * doc/.cvsignore: Add Makefile. - * lib/.cvsignore: Add .deps, Makefile, alloca.h, config.h, fcntl.h, - stamp-h1, stdint.h, sys. - - * configure.ac (for assembler): Set ASFLAGS_config to - -Wa,--noexecstack if this seems advisable on this platform. - Problem reported by Mike Frysinger in - . - * lib/Makefile.am (match.$(OBJEXT)): Use ASFLAGS_config. - -2006-12-07 Paul Eggert - - * Makefile.am (install-exec-hook): Fix bug when installing - symbolic links as aliases. Problem reported by Mike Frysinger. - - * deflate.c (deflate_fast, deflate): Avoid core dump. Problem - originally reported by Jochen Friedrich and trivial patch supplied - by Anthony Towns; see . - -2006-12-06 Paul Eggert - - * NEWS, configure.ac (AC_INIT): - Version 1.3.7 released. - -2006-12-06 Bruno Haible (tiny change) - and Paul Eggert - - Fix build failure on case-insensitive file systems. - * configure.ac: Use match_.s instead of _match.s. - * Makefile.am (MOSTLYCLEANFILES): Likewise. - * lib/Makefile.am (match.$(OBJEXT)): Likewise. - (MOSTLYCLEANFILES): Likewise. - -2006-12-06 Paul Eggert - - * NEWS: Document the fixes below. - * configure.ac (AC_CHECK_FUNCS_ONCE): Add siginterrupt. - * gzip.c (lstat) [!defined(HAVE_LSTAT) && !defined(lstat)]: Remove. - (SA_NOCLDSTOP, sigprocmask, sigset_t) [!defined SA_NOCLDSTOP]: - New macros. - (siginterrupt) [!defined SA_NOCLDSTOP && ! HAVE_SIGINTERRUPT]: - New macro. - (HAVE_WORKING_O_NOFOLLOW): Define to 0 if not defined. - (caught_signals, exiting_signal, remove_ofname_fd): New vars. - (remove_ofname): Remove; all uses changed to remove_ofname_fd. - (same_file, name_too_long): Remove. - (install_signal_handlers): New function. It prefers sigaction, - which is more reliable in the presence of race conditions. - Catch SIGXCPU and SIGXFSZ, too. - (main): Use it instead of installing them by hand. - (treat_file): Check for read error when closing ifd. - (treat_file, create_outfile, remove_output_file): - Avoid race conditions with signals. - (create_outfile, check_ofname): Remove most of the gorp about - working around ENAMETOOLONG deficiencies. It's obsolete now, and - anyway it had race conditions. Just rely on O_EXCL and - ENAMETOOLONG. The worst that can happen is that a file name will - be silently truncated on an obsolete machine, but no data will be lost. - (open_and_stat): Use HAVE_WORKING_O_NOFOLLOW rather than O_NOFOLLOW - to work around some O_NOFOLLOW bugs. Otherwise, fall back on - lstat only if lstat is available, as symlinks don't exist otherwise. - (open_input_file): Use O_NONBLOCK and O_NOCTTY too, to avoid - hanging gzip on special files. - (abort_gzip_signal): If sigaction is not available, ignore - signals. If we get the exiting signal, exit with ERROR status - rather than raising a signal. - * tailor.h (NO_ST_INO): Remove; no longer used now that same_file - is gone. - -2006-12-05 Paul Eggert - - Port to Tandem NSK/OSS, which lacks fchdir. Problem reported by - Matthew Woehlke in - . - * bootstrap.conf (gnulib_modules): Remove openat, as it pulls in - fchdir. - * configure.ac: Check for fdopendir. - * gzip.c: Don't include openat.h; no longer needed. - (treat_dir) [!HAVE_FDOPENDIR]: Fall back on the old opendir method - since fdopendir is not available. - -2006-12-04 Paul Eggert - - * NEWS: Describe the following change briefly. - * bootstrap.conf (gnulib_modules): Remove stat-macros; no longer - needed. - * gzip.c: Don't include stat-macros.h; no longer needed. - (treat_file): Refuse to compress files that are setuid, or setgid, - as this can in theory lead to security holes. Also, refuse to - compress files with the sticky bit set, on general principle. - (copy_stat): Don't copy the setuid, setgid, or sticky bits, - as (given the above change) they'll always be zero here. - Invoke chmod before chown, to close a race condition. - - * .cvsignore: Add *.doc, build-aux. - * doc/.cvignore: New file. - * lib/.cvsignore: New file. - * m4/.cvsignore: New file. - -2006-12-01 Paul Eggert - - * doc/gzip.texi (Overview): Mention limits of gzip format's - time stamps. Also, gzip doesn't always preserve time stamps. - - * gzip.c (abort_gzip_signal): Don't call abort () as a "safeguard", - since it actually causes a core dump. Problem reported by - Jakub Bogusz. - - * NEWS: Describe gzexe changes noted below. - * Makefile.am (.in): Don't bother with SEDCMD. This stuff isn't needed - any more (the hosts it caters to are long extinct), and was - questionable anyway since the code assumes the skip= line was line 2. - * configure.ac (AC_SYS_INTERPRETER, SEDCMD): Remove; no longer needed. - - * gzexe.in: Sweep the code and fix some bugs. - My, what sharp teeth you have, gzexe! - The straw that broke this camel's back was Matthew Burgess's bug report - . - - (IFS): Set it to the standard value, both here and in the - script gzexe generates. - Check for missing operand after parsing options, not before. - This fixes the case for "cpexe --". - Check for tail -n problem separately in gzexe and in the executable - it generates, in case it's a different 'tail'. - (trap): Remove $tmp only if $tmp is not the empty string. - Preserve exit status. - Don't use the nonstandard (and rarely available) "cpmod" utility. - Don't use "set -C"; it's no longer useful and it breaks things - in some cases. - (main loop): Handle file names beginning with "-". - Exit with status of failing program, not with 1. - Fix some bugs in printing diagnostics, and in quoting. - Require the skip= line to have at least one digit. - Use test -u and test -g rather than using the (less-reliable) ls. - Refuse to compress more programs, e.g., sh. - Use mktemp rather than tempfile. Build a copy of - the compressed or uncompressed executable in the same - directory as the executable, as that's less likely to go wrong - if disk space is low. Have the executable exit with status 127, - not 1, if the decompression process fails; this is more compatible - with meta-programs like nohup. Have the executable - uncompress to a temp file with the same basename as the executable; - this is more likely to go right. Fix a race condition where the - executable temporarily did not exist (in either old or new forms). - Check for race conditions better when mv fails. Do not attempt - to use cp to do the real work, only to copy permissions to a temp - file, since we don't want to trash running executables. - -2006-11-26 Paul Eggert - - * inflate.c (inflate_dynamic, inflate): Don't send output to - stderr unless DEBUG is defined and 'verbose'. Problem reported by - Santiago Vila. - - * zgrep.in: If the file name contains newline, &, \, or |, escape - the character so that 'sed' doesn't mishandle it as a replacement. - Problem reported by Bdale Garbee. - -2006-11-25 Paul Eggert - - * gzip.1 (OPTIONS): ouput -> output. Problem reported by Matt - Taggart. +2015-07-30 Jim Meyering + + maint: remove dead code + This package has not been compilable with -DCRYPT + since commit v1.4-82-g9d1b943. Remove final vestiges. + * bits.c (copy_block) [CRYPT]: Remove #ifdef'd code. + * inflate.c (NEXTBYTE) [CRYPT]: Likewise. + Prompted by a report from Flávio Medeiros + that HEADER and T might be used uninitialized. + +2015-03-17 Paul Eggert + + gzip: make the GZIP env var obsolescent + * NEWS, gzip.1: + * doc/gzip.texi (Environment, Tapes): Document this. + * gzip.c (args): Remove static var; no longer needed now that + 'main' frees it. All uses removed. + (ENV_OPTION, shortopts): New constants. + (main): Warn about nontrivial uses of GZIP. Reject dangerous uses. + * tests/gzip-env: New test case. + * tests/Makefile.am (TESTS): Add it. + * util.c (add_envopt): Create new vector instead of adding to old + one. Only use changed. + +2015-03-13 Paul Eggert + + maint: adjust to recent gnulib + * doc/.gitignore: Add gendocs_template_min. + * lib/.gitignore: Add assure.h. + +2015-02-08 Jim Meyering + + maint: ensure that --version's copyright date is current + * cfg.mk (sc_gzip_copyright_check): Ensure we keep this copyright + year number up to date. Reported by Paul Eggert. + * gzip.c (license_msg): Include only the current year number, + as is done in nearly every other program. + + gnulib: update to latest + +2015-01-01 Jim Meyering + + maint: update copyright year ranges to include 2015; update gnulib + +2014-11-10 Jim Meyering + + maint: move new NEWS entry into block for upcoming release + * NEWS: Move the latest NEWS entry from the block for gzip-1.6 + into the block for the upcoming release. + +2014-11-10 Paul Eggert + + gzip: adjust -v output when -k is also specified + Problem reported by Eric Benoit in: http://bugs.gnu.org/16401 + * gzip.c (treat_file): When keeping a file, don't say it's replaced. + * NEWS: Document this. + * tests/keep: Test this. + +2014-11-10 Jim Meyering + + maint: enable more syntax checks + * cfg.mk (local-checks-to-skip): Remove several rule names from this + list, thus enabling the corresponding checks. To fix some, I made + syntactic changes to source files. In other cases, I exempted certain + files from the checks. + Add exemptions for these: + sc_prohibit_atoi_atof = ^(gzip|sample/sub)\.c$$ + sc_space_tab = ^lib/match\.c$$ + sc_useless_cpp_parens = ^(lib/match\.c|tailor\.h)$$ + * configure.ac: Add quotes to fix under-quoting. + * deflate.c: Remove unnecessary cpp parentheses. + * tests/Makefile.am (TEST_ENVIRONMENT): Remove space-before-TAB. + * unlzw.c: Change some TABs to spaces. + + maint: avoid false positive match in check for double semicolon + * cfg.mk (exclude_file_name_regexp--sc_prohibit_double_semicolon): + Exempt the file, lib/match.c, from gnulib's new double-semicolon + check. + + gnulib+bootstrap: update to latest + * gnulib: Update the submodule. + * bootstrap: Update from gnulib. + +2014-10-10 Paul Eggert + + tests: use local dir for output + Reported by Kiyoshi KANAZAWA in: http://bugs.gnu.org/18679 + * tests/unpack-invalid: Use local directory, not /tmp, for output. + +2014-08-10 Paul Eggert + + gzip: fix --suffix=z bug (Bug#18239) + * gzip.c (get_suffix): Put --suffix string at the end + of the list of suffixes if it is a suffix of one one them. + * tests/z-suffix: New file. + * tests/Makefile.am (TESTS): Add it. + +2014-06-12 Paul Eggert + + zgrep: exit with status 0 if a file matches and there's no trouble + Reported by Pavel Raiskup in: http://bugs.gnu.org/17760 + * zgrep.in (res): Treat exit status 0 to be greater than 1. + Also, exit immediately on software configuration error. + +2014-06-07 Paul Eggert + + doc: use UTF-8 in the manual + * doc/gzip.texi: Switch to UTF-8 encoding. Fix ASCIIisms. + Don't use @sc; plain caps are fine for GNU manuals. + + maint: update .gitignore files + * lib/.gitignore, m4/.gitignore: Adjust to match current sources. + Also, sort. + +2014-06-07 Jim Meyering + + maint: udpate all copyright notices via "make update-copyright" + + maint: update copyright year range in gzip.texi + * doc/gzip.texi: Update copyright date. + + maint: update gnulib to latest and adapt streamsavedir usage + * gnulib: Update module to latest. + * gzip.c (treat_dir): Gnulib's streamsavedir API has changed: + call it with a new argument, SAVEDIR_SORT_NONE, to retain the + preceding behavior. + +2014-03-06 Paul Eggert + + zless: improve gzip failure checking, and port to new -V format + Problem reported by Jaroslaw Weglinski, and LESSOPEN change + suggested by Mark Nudelman, in: http://bugs.gnu.org/16951 + This doesn't fix bug 16951 entirely, as 'less' needs to be changed + too, but it's a start. + * zless.in (check_exit_status): New var. + (LESSOPEN): Use it. + (use_input_pipe_on_stdin): Adjust to output format on Fedora 20, + where 'less -V' outputs "less 458 (POSIX regular expressions)" + on the first line. + +2013-10-24 Paul Eggert + + gzip: fix permissions issue on Solaris-like systems + I.e., on systems that let users give files away. + * gzip.c (do_chown): New function. + (copy_stat): Use it, to change the group, then the permissions, + then the owner. Idea suggested by Vladimir Marek in + + +2013-10-03 Paul Eggert + + znew: avoid denial-of-service issue + Reported by Rich Burridge in . + * znew.in: Rewrite to avoid the need for a temporary file in /tmp. + That way, we avoid the need for set -C + and worrying about denial of service. + Use touch -r and chmod --reference rather than cpmod. + Assume cp -p works, as it's now universal. + Quote 'echo' args better, while we're at it. + (warn, tmp, cpmod, cpmodarg): Remove. + (GZIP): Unset, so that we needn't test for gzip extension. + (ext): Now always '.gz'. + * znew.1: Document the change of implementation assumptions. + +2013-06-19 Paul Eggert + + Fix spelling typo in newly-added comment. + + tests: zgrep-signal race condition fix + * tests/zgrep-signal: Check that Perl supports dup2. + (exec_with_SIGPIPE_SIGDFL): Remove. + (write_to_dangling_pipe): Simplify by moving more of it into Perl. + Fix race condition, where subcommand writes to a pipe before the ":" + command exits. Problem reported by Thorsten Glaser in + . + +2013-06-12 Paul Eggert + + zgrep: usage should say which grep options are not supported + * zgrep.in (usage): Document which grep options are not supported. + Problem reported by Liron Paryente in + . + +2013-06-11 Paul Eggert + + gzip: port util.c to Compaq C V6.5-303 + * util.c (crc_32_tab): Move definition to front, since this + compiler doesn't allow declarations of static arrays with + incomplete types. Problem reported by Steven M. Schweda in + . + + tests: zgrep-context assumes grep knows context + * tests/Makefile.am (TESTS_ENVIRONMENT): Pass GREP too. + * tests/zgrep-context: Check that the underlying grep supports + context options. Problem reported by Steven M. Schweda in + . + + doc: zgrep exit status, unsupported options + * zgrep.1 (EXIT STATUS, BUGS): New sections. + Problem reported by Bdale Garbee in + . + + maint: port to platforms lacking SIGPIPE + * tailor.h (SIGPIPE): Define to 0 if not defined. This fixes a + porting bug introduced as part of 2012-11-16 syntax-check cleanup. + Problem reported by Bdale Garbee in + . + +2013-06-09 Jim Meyering + + maint: post-release administrivia + * NEWS: Add header line for next release. + * .prev-version: Record previous version. + * cfg.mk (old_NEWS_hash): Auto-update. + + version 1.6 + * NEWS: Record release date. + + build: avoid automake warning that suggests use of subdir-objects + * configure.ac (AM_INIT_AUTOMAKE): Use the subdir-objects option. + + build: avoid warning about deprecated use of automake's ACLOCAL_AMFLAGS + * Makefile.am (ACLOCAL_AMFLAGS): Don't use this deprecated variable. + * configure.ac: Do this instead: AC_CONFIG_MACRO_DIR([m4]). + + build: use more portable shell syntax in search of working shell + * m4/shell.m4: Adjust sh/case syntax not to evoke a syntax + error from Solaris 10's /bin/sh. + + build: update gnulib to latest, and bootstrap + +2013-05-28 Jim Meyering + + tests: exercise the new --keep option + * tests/keep: New file. + * tests/Makefile.am (TESTS): Add it. + +2013-05-28 Rodrigo Campos + + gzip: add "--keep" option to retain (don't delete) input files + gzip now accepts the --keep (-k) option, for consistency with tools + like xz, lzip and bzip2. With this option, gzip no longer removes + named input files when compressing and decompressing. + * doc/gzip.texi: Document it. + * gzip.1: Likewise. + * gunzip.in: Likewise. + * NEWS: Likewise. + * gzip.c: Add support for "--keep". + +2013-04-15 Paul Eggert + + tests: redo patch for non-GNU gzip installed in /usr/local/bin + Problem with previous patch reported by Antonio Diaz Diaz in + . + * tests/help-version (gunzip_setuphelp, gzexe_setuphelp) + (zcat_setuphelp, zcmp_setuphelp, zdiff_setuphelp) + (zegrep_setuphelp, zfgrep_setuphelp, zforce_setuphelp) + (zgrep_setuphelp, zless_setuphelp, zmore_setuphelp) + (znew_setuphelp): New functions, used when testing even --help. + (zdiff_setup, zcat_setup, znew_setup, zgrep_setup, gzexe_setup): + Use gzip_setuphelp to set --__bindir. + +2013-04-10 Paul Eggert + + tests: work even if non-GNU gzip is installed in /usr/local/bin + Problem reported by Antonio Diaz Diaz in + . + * tests/help-version (zdiff_setup, zcat_setup, znew_setup, zgrep_setup) + (gzexe_setup): Pass --__bindir so that subsidiary programs are our + own's, not /usr/local/bin's. This requires using 'eval' on the result. + (zcmp_setup, gunzip_setup, zmore_setup, zless_setup, zforce_setup) + (zegrep_setup, zfgrep_setup): Invoke one of the other setup functions, + to make the patterns more obvious and simplify future maintenance. + * zcmp.in, zegrep.in, zfgrep.in: Pass __bindir to subsidiary program. + + maint: adjust to Gnulib, Automake changes + * .gitignore: Add *.trs. + * lib/.gitignore: Add unused-parameter.h. + + tests: port to Solaris 10 /bin/sh + * tests/Makefile.am (TESTS_ENVIRONMENT): + Use "FOO=val; export FOO" rather than "export FOO=val", + as the latter form doesn't work with Solaris /bin/sh. + +2013-02-25 Paul Eggert + + gzip: port to DMF file systems + * util.c (read_buffer): When reading a file with O_NONBLOCK, if + the read fails with errno==EAGAIN, clear O_NONBLOCK and try again. + Problem reported by Vitezslav Cizek in + . + +2013-02-05 Paul Eggert + + gzip: fix bug where you say "n" and gzip acts as if you said "y" + Problem reported for GCC 4.7 x86-64 -O2 by Allan McRae in + . + * NEWS: Document this. Use consistent format in earlier note. + * gzip.c: Include yesno.h. + * gzip.h (yesno): Remove decl; that's yesno.h's job. + +2013-01-06 Paul Eggert + + maint: adjust to Gnulib changes + * lib/.gitignore: Add glthread, math.c, unistd.c, wctype-h.c. + * m4/.gitignore: Remove inline.m4. + +2013-01-04 Jim Meyering + + maint: update all copyright year number ranges + Run "make update-copyright". + + build: update gnulib submodule to latest + +2012-12-10 Paul Eggert + + diagnose unexpected EOF and zero lengths in packed data + Problem reported by Aki Helin. + * NEWS: Mention Aki's reports. + * tests/unpack-invalid: New file, + with test data suggested by Aki. + * tests/Makefile.am (TESTS): Add it. + * unpack.c (read_byte): New function. + (look_bits, read_tree): Use it. + (read_tree): Check against zero bit length Huffman code. + + gzip: diagnose invalid code in packed data + * unpack.c (unpack): When encountering a code out of range, report + it and fail rather than charging ahead with randomish output. + Problem reported by Aki Helin. + +2012-11-16 Jim Meyering + + maint: avoid new syntax-check failures + * cfg.mk (_gl_TS_unmarked_extern_vars): Append nice_match, to avoid + false-positive syntax-check failure on i686. + * gzip.c (SIGPIPE): Remove definition. Now always provided via gnulib. + * lib/.gitignore: xsize.c, added by gnulib-tool. + +2012-11-16 Paul Eggert + + gzip: fix debugging/porting typo + * unlzw.c (unlzw) [DEBUG]: Don't assume 'long' can be printed with %d. + + maint: merge build improvements from coreutils + * configure.ac: Invoke gl_ASSERT_NO_GNULIB_POSIXCHECK. + (--enable-gcc-warnings): Change help message. + (gl_GCC_VERSION_IFELSE): New macro. + Do not omit -Wunused-macros for main code. + Adjust other -W options as per coreutils. + * lib/Makefile.am (AM_CFLAGS): Use GNULIB_WARN_CFLAGS, not WARN_CFLAGS. + * unlzw.c (REGISTERS, REG1, REG2, ..., REG16): Remove. + All uses removed. These provoked -Wunused-macros warnings. + This sort of fiddling with registers hasn't been needed for years. + + build: update gnulib submodule to latest + + maint: port to platforms lacking SIGPIPE + * gzip.c (SIGPIPE): Define to 0 if not already defined. + + doc: bring up to date and fix troff typos + * doc/gzip.texi (Overview): Update RFC URLs. + * gzip.1: Likewise. Don't say "SEE ALSO" to programs that almost + nobody has installed anymore. + * gzip.1, zmore.1: Fix some troff typos. + * zdiff.1: Clarify what happens with input files. Don't talk + about temporary file names, as they're rarely used these days. + +2012-10-24 Paul Eggert + + tests: exercise the grep -e portability fix + Remove workaround for Solaris, since the bug should be fixed now. + Suggested by Petr Sumbera in + . + * tests/zgrep-context, tests/zgrep-f: All uses removed. + * tests/init.cfg (require_POSIX_grep_): Remove. + +2012-10-23 Eric Blake + + build: default to --enable-gcc-warnings in a git tree + Anyone building from cloned sources can be assumed to have a new + enough environment, such that enabling gcc warnings by default will + be useful. Tarballs still default to no warnings, and the default + can still be overridden with --disable-gcc-warnings. + * configure.ac (gl_gcc_warnings): Set default based on environment. + +2012-10-20 Paul Eggert + + zgrep: do not assume standard 'grep' has -e + On Solaris 11, /usr/bin/grep -e does not work. + Problem reported by Petr Sumbera in + . + * Makefile.am (.in): Substitute @GREP@. + * configure.ac (AC_PROG_GREP): Invoke. + * zgrep.in (grep): Use @GREP@. + +2012-08-14 Paul Eggert + + zgrep: do not assume GNU expr + * zgrep.in: Do not assume '\+' has the GNU behavior in the BRE + given to 'expr', as POSIX does not guarantee that. Come to think + of it, use a shell pattern rather than 'expr', as this is more + efficient. + +2012-08-08 Jim Meyering + + tests: exercise the just-fixed part of zgrep + * tests/zgrep-context: New file. + * tests/Makefile.am (TESTS): Add it. + +2012-08-08 Jim Meyering + + zgrep: handle a multi-digit context option like -15 + * zgrep.in: Do not malfunction when given an option like -15. + Before, it could end up treating the pattern as a file name: + + $ echo x | gzip | zgrep -15 x + gzip: x.gz: No such file or directory + + * NEWS (Bug fixes): Mention it. + Reported by Dan Bloch via Thomas Bushnell in + https://bugs.launchpad.net/bugs/1032831 + +2012-08-07 Jim Meyering + + build: update gnulib, bootstrap and init.sh + + maint: fix misspellings in old ChangeLog and NEWS + * ChangeLog-2007: s/Supress/Suppress/ + * NEWS: Likewise. + * cfg.mk (old_NEWS_hash): Update to match typo fix. + +2012-06-19 Paul Eggert + + zmore: rewrite to fix bugs and assume POSIX + Problem reported for Solaris 9 by Daniel in + . + Rather than figure out what exactly went wrong in Solaris 9 + it was easier to rip out all the buggy compatibility and stty cruft. + * zmore.in: Don't use stty or trap; simply pipe the output to 'more' + and let it deal with signals and terminal control. + Use printf, not 'echo', to avoid problems with backslashes. + Don't assume ANS is not 's' in the environment. + Use a 'more'-style header instead of rolling our own style. + Paginate the header, too; the old behavior lost the header. + * NEWS, zmore.1: Document this. + +2012-06-17 Jim Meyering + + maint: add .mailmap + * .mailmap: New file. Unify two spellings of Paul's name, + to make git log output slightly cleaner. + + maint: post-release administrivia + * NEWS: Add header line for next release. + * .prev-version: Record previous version. + * cfg.mk (old_NEWS_hash): Auto-update. + + version 1.5 + * NEWS: Record release date. + + build: update gnulib for fixed maint.mk + + build: update gnulib submodule; bootstrap and init.sh, too + * cfg.mk: Exempt crufty tailor.h from its use of "#define off_t...". + * .gitignore, m4/.gitignore: Update semi-automatically (via bootstrap). + +2012-04-24 Paul Eggert + + doc: document -rf change + * NEWS: Document the ZFS fix. + + gzip: remove CLOSEDIR + * gzip.c (CLOSEDIR): Remove; no longer used. + + gzip: port gzip -rf to ZFS + Problem reported privately by Rich Burridge. + * bootstrap.conf: Add savedir. + * gzip.c: Include . + (_D_EXACT_NAMELEN): Remove. + (treat_dir): Use savedir rather than reading directory entries one + at a time, to avoid revisiting an already-compressed file when using + ZFS and the -rf flags are specified. + * lib/.gitignore, m4/.gitignore: Ignore savedir-related files. + +2012-03-18 Paul Eggert + + gzip: fix nondeterministic compression results + Reported by Jakub Wilk in . + * deflate.c (fill_window): Don't let garbage pollute the dictionary. + +2012-01-11 Jim Meyering + + tests: make all test scripts executable; work with automake-1.12 + * tests/Makefile.am (TESTS_ENVIRONMENT): Adapt to work with upcoming + automake-1.12. + * tests/mixed: Make executable. + * tests/zgrep-f: Likewise. + * tests/zgrep-signal: Likewise. + * tests/znew-k: Likewise. + + build: accommodate newer bootstrap from gnulib + * bootstrap.conf (gnulib_tool_option_extras): Add both --symlink + and --makefile-name=gnulib.mk. + * bootstrap: Update from gnulib. + * tests/init.sh: Update from gnulib. + * lib/Makefile.am: Initialize all of the following so that + generated code in gnulib.mk may use += to append to those variables: + AM_CFLAGS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST, MOSTLYCLEANDIRS, + MOSTLYCLEANFILES, SUFFIXES, noinst_LTLIBRARIES. + +2012-01-01 Jim Meyering + + maint: update all copyright year number ranges + Run "make update-copyright". + +2011-12-21 Paul Eggert + + zless: decompress stdin too, if less 429 or later + * zless.in: Use LESSOPEN |- feature of less 429 or later. + Problem reported by Jeroen Roovers via Mike Frysinger in + . + +2011-11-29 Jim Meyering + + build: update gnulib submodule to latest + + build: accommodate gnulib's new warnings with --enable-gcc-warnings + * configure.ac (WERROR_CFLAGS): Disable two new warnings: + -Wno-format-nonliteral, -Wno-unsuffixed-float-constants. + * gzip.h (bi_reverse): Declare with _GL_ATTRIBUTE_CONST. + (gzip_base_name): Declare with _GL_ATTRIBUTE_PURE. + +2011-11-29 Jim Meyering + + tests: use "compare exp out", not "compare out exp" + Likewise, when an empty file is expected, use "compare /dev/null out", + not "compare out /dev/null". I.e., specify the expected/desired contents + via the first file name. Prompted by a suggestion from Bruno Haible + in http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020/focus=29154 + + Run these commands: + + git grep -l -E 'compare [^ ]+ exp' \ + |xargs perl -pi -e 's/\b(compare) (\S+) (exp\S*)/$1 $3 $2/' + git grep -l -E 'compare [^ ]+ /dev/null' \ + |xargs perl -pi -e 's,\b(compare) (\S+) (/dev/null),$1 $3 $2,' + +2011-11-05 Jim Meyering + + build: update gnulib submodule to latest + +2011-11-02 Paul Eggert + + * tests/zgrep-signal: Don't assume exit status 141 on PIPE signal. + Problem reported by Eric Blake in + . + + * tests/zgrep-signal: Use perl instead of a nonportable shell trap. + Problem reported by Eric Blake in + . + + * tests/zgrep-signal: Test for Fedora 15 signal bug. + Also, don't assume that SIGPIPE is SIG_DFL on entry. + +2011-11-02 Jim Meyering + + build: update gnulib submodule to latest + + tests: mixed: correct size-enumeration logic + * tests/mixed (sizes): Fix misplaced "&& break" that made us test + only with a size of 0, rather than all sizes in 0..64. + + maint: avoid "make syntax-check" failure + * gzip.c (treat_stdin): Indent with spaces, not TABs. + +2011-11-02 Paul Eggert + + * gzip.c (treat_stdin): If quiet, be quiet with plain gzip -q. + Problem reported by Michaël Guitton in + . + +2011-08-10 Jim Meyering + + maint: remove amiga, atari, msdos, nt, os2, vms sub-directories, + and all files therein. This was proposed months prior, and no + one objected. + * amiga/Makefile.gcc: Remove file. + * amiga/Makefile.sasc: Likewise. + * amiga/match.a: Likewise. + * amiga/tailor.c: Likewise. + * amiga/utime.h: Likewise. + * atari/Makefile.st: Likewise. + * msdos/Makefile.bor: Likewise. + * msdos/Makefile.djg: Likewise. + * msdos/Makefile.msc: Likewise. + * msdos/doturboc.bat: Likewise. + * msdos/gzip.prj: Likewise. + * msdos/match.asm: Likewise. + * msdos/tailor.c: Likewise. + * nt/Makefile.nt: Likewise. + * os2/Makefile.os2: Likewise. + * os2/gzip.def: Likewise. + * os2/gzip16.def: Likewise. + * vms/Makefile.gcc: Likewise. + * vms/Makefile.mms: Likewise. + * vms/Makefile.vms: Likewise. + * vms/Readme.vms: Likewise. * vms/gzip.hlp: Likewise. + * vms/makegzip.com: Likewise. + * vms/vms.c: Likewise. + * Makefile.am (EXTRA_DIST): Remove those file names. + + build: use largefile module and update to latest gnulib + * configure.ac: Remove AC_SYS_LARGEFILE, subsumed by ... + * bootstrap.conf (gnulib_modules): ...this. Use largefile module. + * gnulib: Update to latest. + +2011-07-12 Jim Meyering + + maint: update init.sh and bootstrap from gnulib + * bootstrap: Update from gnulib. + * tests/init.sh: Update from gnulib. + + maint: use gnulib's realloc-gnu and malloc-gnu modules + * bootstrap.conf (gnulib_modules): Use realloc-gnu and malloc-gnu, + rather than the now-deprecated realloc and malloc modules. + + build: update gnulib submodule to latest + +2011-06-21 Paul Eggert + + * deflate.c: Export nice_match to assembler. + (static_unless_ASMV): New macro. + (nice_match): Use it. + +2011-06-08 Jim Meyering + + build: fix "make syntax-check" + * cfg.mk (_gl_TS_unmarked_extern_vars): Add good_match. + + build: avoid link failure: this time on i686 linux + * deflate.c (good_match): Must not be static, since it may + be used from lib/match.c. + +2011-05-14 Jim Meyering + + build: avoid link failure on at least i386-FreeBSD7.2 + * deflate.c (match_start, prev_length, max_chain_length): Do not + declare these as static. On some types of system/arch, they are + used via match_.s. + * cfg.mk (_gl_TS_unmarked_extern_vars): Mark those three variables + as known-extern: match_start, prev_length, max_chain_length. + +2011-05-13 Jim Meyering + + avoid new build failure on a system without + * bits.c: Don't include "crypt.h", now that it's deleted. + + maint: use gnulib's new readme-release module + * bootstrap.conf (gnulib_modules): Add readme-release. + (bootstrap_epilogue): Add the recommended perl one-liner. + * README-release: Remove file; it is now generated from gnulib. + * .gitignore: Add it. - * Makefile.am (FILES_TO_CHECK): New macro. - (check-local): Check only the files in FILES_TO_CHECK, since some - files under the working directory might be mutating as the test is - run, e.g., with "make check >log". Problem reported by Jim - Meyering. - -2006-11-20 Paul Eggert - - * NEWS, configure.ac (AC_INIT): - Version 1.3.6 released. - - * NEWS: Describe 1.3.6's changes. - * NEWS, README, README-alpha, TODO: Change from GPL to FDL. - * .cvsignore, README-cvs, bootstrap, bootstrap.conf: New files. - * doc/Makefile.am, lib/Makefile.am: New files. - * THANKS: Change own email address to cs.ucla.edu. Add Sverre Jarp. - * TODO: Add new tasks to remove porting cruft and - all those buggy scripts. - - * configure.ac: Renamed from configure.in. - (AC_PREREQ): Bump to 2.60. - (AC_INIT): Bump version to 1.3.6. - (AC_CONFIG_AUX_DIR): New. - (AC_CONFIG_HEADERS): Move config.h to lib. - Input is now lib/config.hin. - (AM_INIT_AUTOMAKE): Add gnits, dist-shar. - (AC_PROG_CC_STDC): New, replacing AC_PROG_CC. - (AM_PROG_CC_C_O, AC_PROG_RANLIB): New. - (AC_AIX, AC_GNU_SOURCE, AC_MINIX): Remove; gnulib does them now. - (gl_EARLY, gl_INIT): New. - match.c was moved to lib/match.c. - (AC_CHECK_HEADERS_ONCE): Replace AC_CHECK_HEADERS. Don't check - for sys/utime.h or utime.h. - (AC_CHECK_FUNCS_ONCE): Replace AC_CHECK_FUNCS. Check for fchmod - and fchown, not utime. - (AC_REPLACE_FUNCS): Remove; rpmatch is now done by gnulib. - (AC_CONFIG_FILES): Add doc/Makefile, lib/Makefile. - - * bits.c: Use the more-usual form for copyright notices in source code. +2011-05-09 Jim Meyering + + build: update gnulib submodule to latest + + maint: prepare for gnulib's new tight-scope syntax-check rule + * cfg.mk (_gl_TS_dir): Define. + (_gl_TS_unmarked_extern_vars): Define. + + maint: declare many variables to be static * deflate.c: Likewise. * gzip.c: Likewise. * gzip.h: Likewise. * inflate.c: Likewise. + * trees.c: Likewise. + * unzip.c: Likewise. + * util.c: Likewise. + + maint: remove crypt.[ch] stubs + * Makefile.am (gzip_SOURCES): Remove crypt.c + (EXTRA_DIST): Remove crypt.h + * crypt.c, crypt.h: Remove files. + * unpack.c: Don't #include "crypt.h" + * zip.c: Likewise + * util.c: Likewise. + * unzip.c: Likewise. + + maint: limit scope of several functions + * deflate.c (longest_match): Move extern declaration into #if-ASMV block. + [!ASMV]: Define as static. + * inflate.c: Remove unnecessary prototypes. + ANSI-declify functions and declare them to be static. + + maint: remove all uses of OF((...)) prototype-hiding macro + * bits.c: Remove all uses of OF. + * deflate.c: Likewise. + * gzip.c: Likewise. + * inflate.c: Likewise. * lzw.h: Likewise. - * revision.h: Likewise. - * tailor.h: Likewise. * trees.c: Likewise. + * unlzh.c: Likewise. * unpack.c: Likewise. - * unzip.c: Likewise. * util.c: Likewise. - * crypt.c (dummy): Add decl so that pedantic compilers won't - complain about an empty file. - * gzip.c (license_msg): Use more-modern wording. - Include fcntl-safer.h, openat.h, stat-macros.h, stat-time.h. - Simply include if !NO_DIR, removing a rats-nest of - #ifdefs. - Simply include if !defined NO_UTIME, removing a - another rats-nest of #ifdefs. - (DIR_OPT, TIME_OPT): Remove. - (_D_EXACT_NAMLEN): Renamed from NAMLEN. All uses changed. - (S_ISDIR, S_ISREG, O_BINARY, O_CREAT, O_EXCL, S_IRUSR, S_IWUSR): - Remove; gnulib now does this. - (RETSIGTYPE): Remove; Autoconf does this. - (program_name): Renamed from progname, for compatibility with gnulib. - All uses changed. - (time_stamp): Now struct timespec, not time_t. All uses changd. - (remove_oftime): Now volatile. - (reset_times): Remove; now done by futimens. - (usage): Remove. - (try_help): New function. - (help, license): Don't output date as part of version. - A version number suffices. - (help): Redo help message to match style of coreutils etc. - (version): Don't bother printing compile-time configuration info - like STDC_HEADERS. - (main): Don't assume strlen (argv[0]) < INT_MAX (!). - On usage errors, suggest --help without outputting all the help. - (main, do_list): Remove unnecessary casts. - (treat_stdin, treat_file, get_method, copy_stat): - Support sub-second time stamp resolution. - (treat_file, copy_istat): Close some race conditions if files are - renamed as we read or write them. - (treat_file): Do not attempt to reset the access times of - directories that we read. - (open_and_stat, open_input_file): New functions. - (do_stat, get_istat): Remove; most of the contents went to these new - functions. - (make_ofname): Don't use WARN, as it affects exit status. - (get_method): When the original file name was truncated, - restore from its base name, not from its full name. - (do_list): Avoid undefined behavior with out-of-range time stamps. - ctime, for example, cannot be invoked on arbitrary time stamps safely, - since it might overrun an internal buffer. Do not assume that - localtime succeeds. - (copy_stat): Do not remove input file; that's now the caller's - responsibility. This avoids a problem if there is a write error - when the caller closes the output file. - (treat_dir): New arg FD, to avoid a race condition. All uses changed. - (remove_output_file): New function. - (abort_gzip): Use it. - (abort_gzip_signal): New function, which is async-signal-safe. - Exit with the signal that we got. - * gzip.h (program_name, time_stamp, abort_gzip): Adjust decls to - match gzip.c changes. - * inflate.c (huft_build): Return 2 if null input. - * tailor.h (HAVE_UTIME): Do not define; gnulib does this now. - (OPEN): Use open_safer, not plain open. - * unlzh.c (NPT): Set to 1<, for xalloc_die decl. - (gzip_base_name): Renamed from base_name, so we don't collide - with gnulib. All uses changed. - (add_envopt): Use xstrdup instead of xmalloc+strcpy. - Use xcalloc rather than calloc + check. - (gzip_error): Renamed from error, so we don't collide with gnulib. - All uses changed. - (xalloc_die): New function. - (xmalloc): Remove; no longer needed. - * zip.c (zip): Watch for time stamp overflow; the old code - mishandled negative time stamps. - - * gzexe.in: Add support for --help, --version, --. - Don't call basename or sed if we can avoid it. - * zdiff.in: Likewise. - * zforce.in: Likewise. - * zgrep.in: Likewise. - * zless.in: Likewise. - * zmore.in: Likewise. - * znew.in: Likewise. - * zdiff.in: Protect against file names beginning with "-". + * gzip.h: Likewise. + (OF): Remove its definition, too. + + maint: prepare for tight-scope rule: use noinst_HEADERS + * Makefile.am (EXTRA_DIST): Move lzw.h and gzip.h from here to ... + (noinst_HEADERS): ...here. + For convenience, since the tight-scope rule uses $(noinst_HEADERS). + +2011-04-14 Jim Meyering + + maint: update bootstrap and init.sh from gnulib + * bootstrap: Likewise. + * tests/init.sh: Update from gnulib. + + maint: note that we'll remove amiga, atari, msdos, nt, os2, vms soon + If someone can show that any of these are being used, let us know. + * TODO: Note the plan to remove those directories this year. + + build: update gnulib submodule to latest + + maint: fix typos in vms manual: s/it\nit/\nit/ + * vms/gzip.hlp: Remove doubled "it". + +2011-04-10 Jim Meyering + + maint: fix typos in comment: s/to to/to/ + * deflate.c: Remove doubled 'to's. + +2011-03-20 Jim Meyering + + maint: stop using .x-sc_* files to list syntax-check exemptions + Instead, use the new mechanism with which you merely use a + variable (derived from the rule name) defined in cfg.mk to an ERE + matching the exempted file names. + * gnulib: Update to latest, to get maint.mk that implements this. + * .x-sc_file_system: Remove file. + * .x-sc_prohibit_tab_based_indentation: Likewise. + * .x-sc_require_config_h: Likewise. + * .x-sc_require_config_h_first: Likewise. + * cfg.mk: Define variables to exempt the same files. + +2011-03-18 Jim Meyering + + doc: correct README-release + * README-release: Remove mention of -announce mailing list. + Unlike coreutils, gzip does not have its own. + + doc: update release procedure + * README-release: Resync from coreutils' file by the same name. + +2011-01-03 Jim Meyering + + maint: update copyright year ranges to include 2011 + Run "make update-copyright", so "make syntax-check" works in 2011. + + build: update gnulib submodule to latest + + maint: avoid failure of new test for bindtextdomain + * cfg.mk (local-checks-to-skip): Add sc_bindtextdomain. + +2010-12-02 Jim Meyering + + maint: avoid "make syntax-check" failure due to old-NEWS modification + * cfg.mk (old_NEWS_hash): Update, to reflect recent NEWS correction. + +2010-12-01 Paul Eggert + + * NEWS: The "gzip -f foo.gz" change occurred in 1.3.13, not 1.3.12 + +2010-11-10 Paul Eggert + + zgrep: don't assume traditional behavior with signal numbers + * zgrep.in: Don't assume the exit status is the signal number plus + 128, as POSIX doesn't require this. No need to kill self; exiting + with large status is enough. Propagate all exit statuses greater + than 1, not merely those in the range 129..143, as there's no need + to treat that range specially (and it's not portable anyway). + +2010-11-09 Paul Eggert + + zgrep: fix shell portability bug with -f; fix mishandling of "-e -" + * tests/zgrep-f: Check for "zgrep -e -" bug, too. + * zgrep.in: Don't assume that if the shell redirects fd 6, then + this redirection is visible to the subsidiary grep. POSIX doesn't + guarantee this visibility except for file descriptors 0, 1, and 2, + and ksh does not support it. Problem reported by Thomas Schulz in + . + Also, fix a related bug: "-e -" was mishandled. These two bugs + were introduced by commit 5b54db4546b84ec97ff57a62f8ddb98faacf77f2 + dated 2009-10-09. + (escape): Change the convention: do not assume that a stray X + is present at the end of the last line. All uses changed. + There was no longer any need for this convention, and fixing this + made it a bit easier to use 'sed' in a later part of the fix. + +2010-11-08 Paul Eggert + + maint: fix copyright dates that were munged by a maintenance script + * gunzip.in, gzexe.in, zcat.in, zcmp.in, zdiff.in, zforce.in: + * zgrep.in, zless.in, zmore.in, znew.in: + A script went awry when updating copyright dates in gzip's shell + scripts. It should update comments to look like "# Copyright (C) + 2007, 2010 Free Software Foundation, Inc." (with a set of years) + and version messages to look like "Copyright (C) 2010 Free + Software Foundation, Inc." (with just the most-recent year). + Instead, it sometimes ignored one, sometimes the other, and + typically put ranges into version messages. Fix all this stuff by + hand, using dates that I divined from the change logs (so they're + a bit more accurate than script-generated dates). We need to fix + the script before it runs in 2011. + +2010-10-23 Jim Meyering + + maint: anchor patterns in .gitignore files + * doc/.gitignore: Anchor patterns. + * lib/.gitignore: Likewise. + * m4/.gitignore: Likewise. + + maint: update bootstrap and init.sh from gnulib + * bootstrap: Update. + * tests/init.sh: Update. + +2010-10-23 Rob Vermaas + + maint: update to latest gnulib; use fdutimens, not gl_futimens + * gzip.c (copy_stat): Use fdutimens, not gl_futimens. + * gnulib: Update to latest. + +2010-10-23 Jim Meyering + + maint: accommodate stricter syntax-check + Avoid #if, #define and #undef of always-defined symbols. + * gzip.c (ELOOP, SIGPIPE): Remove unneeded cpp directives. + * tailor.h (HAVE_DIRENT_H, HAVE_FCNTL_H, HAVE_UNISTD_H, MSDOS): + (O_BINARY): Likewise. + + maint: make our use of gnulib's init.sh conform + * tests/help-version: Make use of init.sh conform. + * tests/helin-segv: Likewise. + * tests/help-version: Likewise. + * tests/hufts: Likewise. + * tests/memcpy-abuse: Likewise. + * tests/mixed: Likewise. + * tests/null-suffix-clobber: Likewise. + * tests/stdin: Likewise. + * tests/trailing-nul: Likewise. + * tests/zdiff: Likewise. + * tests/zgrep-f: Likewise. + * tests/zgrep-signal: Likewise. + * tests/znew-k: Likewise. + +2010-10-10 Jim Meyering + + maint: describe policy on copyright year number ranges + * README: Mention coreutils' long-standing policy on use of M-N + ranges in copyright year lists. Requested by Richard Stallman. + +2010-09-15 Paul Eggert + + zgrep: fix parsing of -Eh options + * zgrep.in: Update list of single-letter options to match what's + in GNU grep. Add -h as an alias for --no-filename. Bug reported + by Vladimir Sidorenko in + . + +2010-08-17 Paul Eggert + + gzip: fix NO_SIZE_CHECK for VMS + * gzip.c (do_list): Use if, not #if. + * tailor.h (NO_SIZE_CHECK) [defined(VAXC) || defined(VMS)]: Define. + * zip.c (zip): Simplify conditional, which was incorrect at any rate + for VMS. + +2010-08-15 Paul Eggert + + algorithm.doc: mention Internet RFC 1952 and modernize a bit + * algorithm.doc: Update to mention header-CRC and Internet RFC 1952. + Also, remove the crypto stuff, which never worked. + Inspired by that same suggestion of Greg Roelofs. + + gzip: Use 0x%04x instead of %x when printing 16-bit checksums + * gzip.c (get_method): Use 0x%04x, not %x, to print 16-bit checksums. + Inspired by a suggestion of Greg Roelofs in + http://lists.gnu.org/archive/html/bug-gzip/2010-08/msg00004.html + +2010-08-03 Paul Eggert + + maint: update bootstrap + * bootstrap, bootstrap.conf, tests/init.sh: Merge from gnulib. + +2010-07-19 Paul R. Eggert + + gzip: don't assume C99, and don't assume overlapping memcpy should work + * tailor.h (NOMEMCPY): Remove. memcpy is entitled to not work + on overlapping blocks. + * inflate.c (inflate_codes): Don't put decl after statement. + Omit NOMEMCPY. + + * gzip.c (get_method): don't assume size_t can be printed with %u + +2010-07-02 Paul Eggert + + Mention that gzip -d now handles FHCRC. + +2010-07-02 Paul Eggert + + Decode FHCRC flag properly, as per Internet RFC 1952. + Problem reported by Greg Roelofs in: + http://lists.gnu.org/archive/html/bug-gzip/2010-06/msg00003.html + + * gzip.c (discard_input_bytes): New function. + (get_method): Check header checksum, if given. We never generate it, + but other programs may. + * gzip.h (HEADER_CRC): Renamed from CONTINUATION. All uses changed. + * tailor.h [defined __50SERIES]: Remove PRIMOS stuff that was obsolete + anyway and would have made this patch harder to maintain. + (get_char, put_char): Remove. + * zip.c (zip): Use put_byte instead of the now-removed put_char. + +2010-07-01 Paul Eggert + + Don't assume that sizeof (long) == 4 when computing statistics. + * gzip.c (get_method): Don't assume sizeof (long) == 4. + * zip.c (zip): Likewise. + + Update Info-ZIP name and coordinates (thanks to Greg Roelofs). + +2010-05-11 Paul Eggert + + * doc/gzip.texi (Sample): Fix backslash quoting problem. + Problem reported by Ole Tange in + . + +2010-04-26 Jim Meyering + + build: update gnulib submodule to latest + + maint: remove primos support + * Makefile.am (EXTRA_DIST): Remove all primos/ files. + * primos/build.cpl: Remove file. + * primos/ci.opts: Likewise. + * primos/include/errno.h: Likewise. + * primos/include/fcntl.h: Likewise. + * primos/include/stdlib.h: Likewise. + * primos/include/sysStat.h: Likewise. + * primos/include/sysTypes.h: Likewise. + * primos/primos.c: Likewise. + * primos/readme: Likewise. + +2010-04-08 Jim Meyering + + build: include cfg.mk in the distribution tarball + * Makefile.am (EXTRA_DIST): Add cfg.mk. + +2010-04-07 Eric Blake + + maint: ignore more built files + * .gitignore: Add version files. + +2010-04-07 Jim Meyering + + tests: help-version: cross-check PATH in tests + * tests/help-version: Cross-check $VERSION and --version output. + * tests/Makefile.am (TESTS_ENVIRONMENT): Export VERSION=$(VERSION). + + tests: improve help-version + * tests/help-version: Use fail_, rather than echo+Exit. + + tests: pull help-version from grep + + build: keep --version strictly up to date + Before this change, in development, gzip's --version output could lag + behind reality by a couple deltas or by a "-dirty" suffix. That would + lead to spurious failure of the new --version-$VERSION PATH cross-check. + * Makefile.am (version.c, version.h): New rules. + (BUILT_SOURCES): Set/append. + (noinst_LIBRARIES, noinst_libver_a_SOURCES): Define. + (gzip_LDADD): Add libver.a. + (DISTCLEANFILES): Define. + * gzip.c (license): Use Version, not VERSION. + +2010-04-06 Jim Meyering + + tests: (portability) use st, not "status" as variable name + * tests/zgrep-signal: Do not use status as a variable name, + per autoconf's documentation that it is not portable to + some shells. + + tests: s/framework_failure/framework_failure_/ + + tests: update init.sh from gnulib + * tests/init.sh: Update from gnulib. + + tests: run most tests via tests/Makefile.am + * Makefile.am (SUBDIRS): List tests after ".". + Move most test-related things from here to ... + * tests/Makefile.am: ... here. + * configure.ac (AC_CONFIG_FILES): Add tests/Makefile. + * tests/helin-segv: Adjust. + * tests/help-version: Likewise. + * tests/hufts: Likewise. + * tests/memcpy-abuse: Likewise. + * tests/mixed: Likewise. + * tests/null-suffix-clobber: Likewise. + * tests/stdin: Likewise. + * tests/trailing-nul: Likewise. + * tests/zdiff: Likewise. + * tests/zgrep-f: Likewise. + * tests/zgrep-signal: Likewise. + * tests/znew-k: Likewise. + + tests: skip tests that use grep's -f and -E options, if they don't work + * tests/init.cfg (require_grep_minus_f): New function. + * tests/zgrep-f: Use require_grep_minus_f. Use path_prepend_. + + tests: arrange for skip and failure notices to go to stderr, not .log + * tests/init.cfg: New file. Make init.sh's stderr_fileno_ match + what the "exec 9>&2" we use in TESTS_ENVIRONMENT. + * Makefile.am (EXTRA_DIST): Add it. + +2010-04-06 Eric Blake + + maint: ignore generated files + * .gitignore: Ignore recent gnulib additions. + + maint: update bootstrap + * bootstrap: Use latest copy from gnulib/build-aux. + +2010-04-05 Jim Meyering + + build: use gnulib's lib-ignore module + * bootstrap.conf (gnulib_modules): Add lib-ignore, in case it helps. + * Makefile.am (AM_LDFLAGS): Define it. + + maint: let configure-invoked cpp emit diagnostics to config.log + * configure.ac: Do not discard CPP's stderr. + + build: update gnulib submodule to latest, and adapt + * cfg.mk: Update to use new _sc_search_regexp interface. Run this: + perl -pi -e 's/\b_prohibit_regexp\b/_sc_search_regexp/;' + -e 's/\bmsg=/halt=/; s/\bre=/prohibit=/;' cfg.mk + and then adjust backslashes so they still line up. + * cfg.mk (local-checks-to-skip): Add new sc_texinfo_acronym, to skip it. + * msdos/tailor.c (fcalloc): Mark a diagnostic for translation, to + placate stricter syntax-check, even though no one uses this file. + + use assembly code matcher when possible + * configure.ac (ASCPPPOST): Backslash-escape "#" in AC_SUBST'd + variable, to keep make from seeing it as a comment-introducer. + Based on a patch by Petr Pisar. + * lib/Makefile.am (match.$(OBJEXT)): Use AM_V_GEN and AM_V_at. + * lib/match.c: Don't include . + It would impede configure-time assembler test. + * .x-sc_require_config_h: Exempt lib/match.c from syntax-check. + * .x-sc_require_config_h_first: Likewise. + +2010-03-20 Jim Meyering + + do not use stat.st_mtime of a non-regular file + * gzip.c: Include "timespec.h". + (treat_stdin): Use st_mtime only from a regular file. + This matters at least on Cygwin 1.7.1-1, for which a stdin-pipe has + the mtime of /dev/null, rather than the gzip-documented-for-pipes + "current time". Reported by Denis Excoffier. + +2010-02-22 Jim Meyering + + tests: exercise the fix for the decompression data-loss bug + * tests/null-suffix-clobber: New file. + * Makefile.am (TESTS): Add it. + + gzip: fix a data-loss bug when decompressing with --suffix='' + * gzip.c (main): Disallow an empty --suffix=S also with -d. + Otherwise, "gzip -d -S '' F.gz" would ask if it's ok to remove the + existing file, "F.gz"; if you reply "yes", you'd lose all of that data. + Use of an empty suffix was already rejected in compression mode. + * gzip.1 (--suffix (-S)): Do not recommend to use "gunzip -S '' *". + Describe how the suffix is used when decompressing, too. + * NEWS (Bug fixes): mention the fix. + Reported by Ripduman Sohan. + + tests: add ---presume-input-tty option, solely for testing + * gzip.c: Include . + (presume_input_tty): New global. + (main): Set it. + (treat_stdin, check_ofname): Use it. + +2010-02-07 Jim Meyering + + doc: minor adjustment to README-release + * README-release: Tweak description, to sync from coreutils. + + tests: add the help-version sanity tests from coreutils + * tests/help-version: New file, from coreutils. + * Makefile.am (TESTS): Add it. + + tests: make distcheck invoke "make syntax-check" and other tests + * dist-check.mk: New file, from coreutils. + * cfg.mk: Include it. + * Makefile.am (distcheck-hook): New rule, to make us use it. + + zcmp: consistently indicate failure with exit status of 2 + * zcmp.in: Exit with status of 2 (not 1), when writing + --help or --version output fails, to be more like cmp. + +2010-02-03 Jim Meyering + + tests: add more tests of gzip -cdf + * tests/mixed: Test "gzip -cdf" for a range of small uncompressed files. + + tests: flip and adjust mixed test, now that the bug is fixed + * NEWS (Bug fixes): Mention the fix. + * Makefile.am (XFAIL_TESTS): Move tests/mixed from here... + (TESTS): ...to here. + * tests/mixed: Comment out the currently (always?) failing part. + +2010-02-03 Mark Adler + + gzip -cdf now handles concatenation of gzip'd and uncompressed data + * util.c (copy): Change semantics so as to honor a decremented inptr. + * gzip.c (get_method): When needed (-cdf), decrement inptr rather + than clearing it -- and output the first magic byte. + +2010-02-03 Dmitry V. Levin + + zgrep: terminate gracefully when a pipeline is interrupted by a signal + zgrep is not terminated gracefully when its grep/sed pipeline + is terminated by a signal. For example, a command like + zgrep -F .TH /usr/share/man/man1/*.gz | head + continues working long after the "head" process completes. + Another example, a command like + zgrep unmatched-pattern /usr/share/man/man1/*.gz + cannot be interrupted by sending a SIGQUIT with Ctrl-\ key, it outputs + zgrep: line 221: test: : integer expression expected + and goes on. + * zgrep.in: Terminate gracefully when the grep/sed pipeline is + terminated by a signal. + * tests/zgrep-signal: New test. + * Makefile.am (TESTS): Add it. + +2010-02-03 Jim Meyering + + maint: teach "make syntax-check" the space-only indentation rule + * cfg.mk (sc_prohibit_tab_based_indentation): New rule, from coreutils. + (sc_prohibit_emacs__indent_tabs_mode__setting): Likewise. + * bootstrap: Remove "indent-tabs-mode: nil" directive. + * .x-sc_prohibit_tab_based_indentation: New file. + +2010-02-02 Jim Meyering + + global: convert indentation-TABs to spaces + Transformed via this shell code: + t=$'\t' + git ls-files \ + | grep -vE '(^|/)((GNU)?[Mm]akefile|ChangeLog)|\.(am|mk)$' \ + | grep -vE 'tests/pr/|help2man' \ + | xargs grep -lE "^ *$t" \ + | xargs perl -MText::Tabs -ni -le \ + '$m=/^( *\t[ \t]*)(.*)/; print $m ? expand($1) . $2 : $_' + +2010-02-02 Dmitry V. Levin + + wrapper scripts: write diagnostics to stderr, not to stdout + * zforce.in: In case of usage error, output short error diagnostics to + stderr instead of printing help text to stdout. * zmore.in: Likewise. - * zgrep.in: Use printf rather than echo, to avoid problems with - leading "-" and backslash. Return status of subsidiary grep. - * zless.in: Add copyright notice. - - * zless.1: We now pass "--" to LESSOPEN. - (BUGS): Mention that input file arguments are required. - Add copyright notice. - - * COPYING: Update to current version. - - * Makefile.am (SUBDIRS): New macro. - (AUTOMAKE_OPTIONS): Remove; now done in configure.ac. - (M4DIR, ACINCLUDE_INPUTS): Remove. - (EXTRA_DIST): Remove getopt.h. - (gzip_SOURCES): Remove getopt.c, getopt1.c, yesno.c. - (gzip_LDADD): Change from @LIBOBJS@ to lib/libgzip.a. - (AM_MAKEINFOFLAGS, info_TEXINFOS, gzip_TEXINFOS, ASCPP, LN_S): - (match.$(OBJEXT)): Move to subdirectory makefiles. - (.in): Substitute @VERSION@, too. - (check-local): New rule. - (MOSTLYCLEANFILES): Add _match.S. - - * doc/gzip.texi: Renamed from gzip.texi. Change to GNU FDL - without invariant sections or cover texts. Don't put - version number or date into sample gzip -h output. - * lib/match.c: Renamed from match.c. Add ia64 version - written by Sverre Jarp (HP Labs). - - * INSTALL: Remove from CVS; now created automatically by - the bootstrap script. - * Makefile.in: Likewise. - * aclocal.m4: Likewise. - * config.h.in: Likewise. - * configure: Likewise. - * depcomp: Likewise. - * fdl.texi: Likewise. - * getopt.c: Likewise. - * getopt.h: Likewise. - * getopt1.c: Likewise. - * gzip.doc: Likewise. - * gzip.info: Likewise. - * install-sh: Likewise. - * mdate-sh: Likewise. - * missing: Likewise. - * mkinstalldirs: Likewise. - * rpmatch.c: Likewise. - * stamp-vti: Likewise. - * texinfo.tex: Likewise. - * version.texi: Likewise. - * yesno.c: Likewise. - -2002-09-30 Paul Eggert - - * NEWS, README, revision.h, configure.in (AM_INIT_AUTOMAKE): - Revision 1.3.5, dated today. - - * util.c (fprint_off): Fix bug in printing values greater than - 10 * 2**32 bytes. Bug reported by Bryan Andersen. - - * Makefile.am (match.$(OBJEXT)): Use .S as extension for $(ASCPP), - to keep gcc happy. - * configure.in: Likewise. - Upgrade assembly-language checking for Autoconf 2.54, using cache vars. - (AC_PROG_CPP, AC_OBJEXT): Add. - - * match.c: Accept __i386 and __i386__ as synonyms for i386. - Bug reported by "fork __" . - -2002-09-29 Paul Eggert - - * gzip.texi (Overview): Suggest how to use gunzip on zip files. - - * zless.1, zless.in: Use LESSOPEN, not PAGER. - Suggested by . - -2002-09-28 Paul Eggert - - * zforce.in: Use shell pattern matching instead of 'expr', which - mishandles names like "+". Remove old check for 14-byte file - names on hosts with broken "mv" implementations, as such systems - aren't in use any more and it's better nowadays to support file - names longer than 14 bytes. Rely on "mv"'s error-reporting. - This fixes a portability bug reported by Ralf Neubauer, along - with some other bugs. - - Remove dangling output symlinks properly. - Bug reported by Kalle Olavi Niemitalo. - * gzip.c (lstat): New macro, for platforms lacking lstat. - (do_stat): Use it. - (name_too_long, check_ofname): Use lstat instead of stat. - -2002-09-27 Paul Eggert - - * zforce.in: Use "gzip -lv", not "gzip -v". Patch by Ralf - Neubauer. - - * configure.in (ASCPP): Don't use test -a, as POSIX says it's - not portable. * znew.in: Likewise. - * zmore.in: Likewise. Similarly, don't use test -o, or test -t - with no operand. - - * gzexe.in (PATH): Set to same as other programs. - Don't assume "tail +22" works; POSIX removed this. - Check against compressing "tail". - Check against "skip=" line with no integer. - * zgrep.in: Exit with status 2 if trouble, for consistency with grep. - - * gzip.c (main): Avoid core dump in diagnostic message if - incorrect suffix is given. - -2002-09-26 Paul Eggert - - * zdiff.in: Use "trap -" instead of "trap". Patch by Nicolas Boullis. - Use names, not numbers, for signals. Patch by Andrew Stribblehill. - - * NEWS, README, revision.h, configure.in (AM_INIT_AUTOMAKE): - Revision 1.3.4, dated today. - - * README-alpha: Upgrade to Autoconf 2.54 and Automake 1.7. - * configure.in (AC_PREREQ): Move to start, and increase to 2.54. - (AC_INIT, AM_INIT_AUTOMAKE, AC_CONFIG_SRCDIR, AC_CONFIG_FILES, - AC_OUTPUT): Use modern style. - (AC_OBJEXT, AC_EXEEXT): Remove; obsolete. - (AC_GNU_SOURCE): Add. - (AC_HEADER_STDC): Renamed from AC_STDC_HEADERS. - (AC_CHECK_HEADERS): Remove stdlib.h, string.h, unistd.h; now done - by Autoconf. - (AC_SUBST): Remove CFLAGS; now done by Autoconf. - - * gzip.texi: Use the GNU FDL for distribution terms, following the - recipe in the Texinfo manual. Use Automake-generated variables - for date and version. - * fdl.texi, mdate-sh: New files. - * Makefile.am (AM_MAKEINFOFLAGS): Add --no-split. - (gzip_TEXINFOS): New macro. - * tailor.h (NO_DIR): Define to 1, not the empty string. - * gzip.c (NO_DIR): Define to 0 if not defined. All uses changed. - (usage): Don't put '#if' inside printf, as the C standard says - that it is not portable if printf is a macro. +2010-02-02 Jim Meyering + + gzip -cdf mishandles some concatenated input streams: test it + * tests/mixed: Exercise "gzip -cdf" bug. + * Makefile.am (XFAIL_TESTS): Add it. + Mark Adler reported the bug. + + tests: move the hufts-segv test to its own file + * tests/hufts: New test. + * Makefile.am (TESTS): Add tests/ + (check-local): Remove the hufts-segv test from this rule. + + tests: begin moving tests into their own files + * Makefile.am (TESTS): Add tests/stdin. + (check-local): Move the stdin check to its own file: + * tests/stdin: New script. + + tests: remove unnecessary use of "path_prepend_ ." + It is unnecessary, since Makefile.am's TESTS_ENVIRONMENT setting + already adds the top build directory, and besides, is only + marginally useful when running stand-alone, since it presumes + that the script is being run from the top build directory. + * tests/helin-segv: Remove unnecessary use of path_prepend_. + * tests/memcpy-abuse: Likewise. + * tests/trailing-nul: Likewise. + * tests/zdiff: Likewise. + * tests/zgrep-f: Likewise. + + tests: note that znew-k test depends on length of temp file name + * tests/znew-k: Tweak diagnostic, factor and add a surprising comment. + +2010-02-01 Jim Meyering + + build: update gnulib submodule to latest + +2010-02-01 Dmitry V. Levin + + fix "znew -K" to work without use of compress utility + * znew.in: Change -K option to imply -t, do not use compress(1). + * znew.1: Document it. + * tests/znew-k: New test. + * Makefile.am (TESTS): Add it. + +2010-01-20 Jim Meyering + + maint: update README-release procedure + * README-release: sync from coreutils. + + post-release administrivia + * NEWS: Add header line for next release. + * .prev-version: Record previous version. + * cfg.mk (old_NEWS_hash): Auto-update. + + version 1.4 + * NEWS: Record release date. + + tests: exercise the segfault fix + * tests/helin-segv: New test. + * Makefile.am (TESTS): Add it. + + gzip -d: do not clobber stack for valid input on x86_64 + * unlzw.c (unlzw): Avoid integer overflow. + Aki Helin reported the segfault along with an input to trigger the bug. + * NEWS (Bug fixes): Mention it. + + maint: avoid a minor "make syntax-check" failure + * .x-sc_file_system: Exempt NEWS, since it includes a literal + from an old diagnostic. - Don't lose output when decompressing truncated input. - Bug reported by Nadav Har'El. - * inflate.c (GETBYTE): New macro. - (NEXTBYTE): Use it. - (inflate_dynamic, inflate_block): Add a local variable w, needed - by GETBYTE. + maint: remove unused file: README-alpha + * README-alpha: Remove unused file. -2002-03-08 Paul Eggert + build: update gnulib submodule to latest + +2010-01-11 Yuxi Zhang + + gzip -d: use memcpy more often + * inflate.c (inflate_codes): Use memcpy (rather than slower + memcopy-like code) in more cases. + +2010-01-11 Jim Meyering + + build: do not override gnulib-provided AM_CFLAGS options + Avoid a warning from automake: + lib/Makefile.am:24: AM_CFLAGS multiply defined in condition TRUE ... + lib/gnulib.mk:30: ... `AM_CFLAGS' previously defined here + lib/Makefile.am:20: `lib/gnulib.mk' included from here + + * lib/Makefile.am (AM_CFLAGS): Append $(WARN_CFLAGS) and + $(WERROR_CFLAGS), i.e., use "+=", not "=". + This was introduced via 2009-12-17 commit 0341fc22, + "build: with --enable-gcc-warnings, use -Werror", + but fortunately is not a bug, because the definition + it would have overridden was always empty. + +2010-01-10 Jim Meyering + + gzip -d would fail with a CRC error... + ...for some inputs, and some memcpy implementations. It is possible + that an offending input has to be compressed "from FAT filesystem + (MS-DOS, OS/2, NT)", since the sole reproducer no longer evokes a + CRC error when uncompressed and recompressed on a GNU/Linux system. + Also, using an unpatched reverse-memcpy-gzip on over 100,000 inputs + on a GNU/Linux system did not turn up another reproducer. + * inflate.c (inflate_codes): Don't call memcpy with overlapping regions. + Properly detect when source and destination overlap. + * tests/memcpy-abuse: New test, to trigger misbehavior. + * Makefile.am (TESTS): Add it. + * NEWS (Bug fixes): Mention it. + Reported by Alain Magloire in + http://thread.gmane.org/gmane.comp.gnu.gzip.bugs/307 + +2010-01-08 Jim Meyering + + tests: switch to gnulib's init.sh test infrastructure + * tests/test-lib.sh: Remove file. + * tests/init.sh: New file, from gnulib. + * tests/trailing-nul: Use the new file. + * tests/zdiff: Likewise. + * tests/zgrep-f: Likewise. + * Makefile.am (EXTRA_DIST): List tests/init.sh, not test-lib.sh. + + build: update gnulib submodule to latest + +2010-01-03 Jim Meyering + + maint: record update-copyright options for this package + * cfg.mk: Next time, just run "make update-copyright". + +2010-01-01 Jim Meyering + + maint: update all FSF copyright year lists to include 2010 + Use this command: + git ls-files |grep -vE '^(\..*|COPYING|gnulib)$' |xargs \ + env UPDATE_COPYRIGHT_USE_INTERVALS=1 build-aux/update-copyright + +2009-12-31 Jim Meyering + + maint: newer gnulib; don't hard-code my GPG key ID + * cfg.mk (gpg_key_ID): Remove definition, now that maint.mk automates it. + * gnulib: Update to lastest. + +2009-12-30 Jim Meyering + + build: update gnulib submodule to latest + + maint: remove lots of obsolete #if...HAVE_* checks + Remove many always-true cpp tests like #ifdef HAVE_UNISTD_H, + #ifdef HAVE_FCNTL_H and #ifdef SSIZE_MAX. + * gzip.c: As above. + * gzip.h: Likewise. + * inflate.c: Likewise. + * tailor.h: Likewise. + * unlzw.c: Likewise. + * util.c: Likewise. + * zip.c: Likewise. - * NEWS, README, revision.h, gzip.texi, - configure.in (AM_INIT_AUTOMAKE): Revision 1.3.3, dated today. + build: add a syntax-check + * cfg.mk (sc_prohibit_obsolete_HAVE_HEADER_H): New rule. - * README-alpha: Now using latest stable GNU tools. - Using the latest tools allows gzip to build correctly on hosts - conforming to POSIX 1003.1-2001. + build: with --enable-gcc-warnings, use -Werror + * Makefile.am (AM_CFLAGS): Enable $(WERROR_CFLAGS). + * lib/Makefile.am (AM_CFLAGS): Enable both $(WARN_CFLAGS) and + $(WERROR_CFLAGS). - * configure.in (match): Use AC_LIBOBJ; Autoconf 2.53 requires it. - (LIBOBJS): No longer need to subst, since AC_LIBOBJ does it. - (AC_PREREQ): Bump to 2.53. + build: quiet warnings from util.c + * configure.ac (warnings): Add -Wno-overflow and -Wno-type-limits. - * Makefile.am (install-exec-hook, remove-installed-links): - Work even when configured with --program-transform-name. + build: avoid warning about possibly-no-return functions + * gzip.h (read_error, write_error): Mark these functions as "no-return". - * gzip.c (license_msg): Update copyright. - (z_len): Now of type size_t. + build: avoid warning about ignored chown/fchown return value + * bootstrap.conf (gnulib_modules): Add ignore-value. + * gzip.c: Include "ignore-value.h". + (copy_stat): Explicitly ignore chown and fchown failure -2001-11-03 Paul Eggert + build: update gnulib submodule to latest - * NEWS, README, revision.h, gzip.texi, configure.in (AM_INIT_AUTOMAKE): - Revision 1.3.2, dated today. +2009-11-20 Jim Meyering - * Makefile.am (LN_S): New macro. - (install-exec-hook): Depend on remove-installed-links. - Affect $(DESTDIR)$(bindir), not just $(bindir). - (uninstall-local, remove-installed-links): New rules. - * README-alpha: This release built with autoconf 2.52f. - * TODO: Add rsync patch. - * configure.in: Add AC_PREREQ(2.52) and AC_PROG_LN_S. - * gzip.1, zmore.1: Fix troff glitches, using Eric S. Raymond's - suggestions for inspiration. - * m4/shell.m4(AC_PROG_SHELL): Add commentary and cleanup. + build: unlzw.c: avoid warnings about unused macros + * configure.ac: Turn off -Wunused-macros. - * gzip.texi, gzip.1: Add pointers to RFCs 1951 and 1952. - Mention that gzip --list reports file sizes modulo 2^32. - * gzip.1: Remove incorrect report of 2 GB bug. Add copyright notice. + build: avoid warnings about unused macros + * unzip.c (LOCTIM): Comment out unused macro. + * deflate.c (EQUAL): Remove definition. Use "0" at sole point of use. -2001-09-30 Paul Eggert + build: util.c: avoid warnings about add_envopt + * util.c (add_envopt): The parameter "env" was used for two conflicting + purposes. One use required a const char* parameter, while the other + was used as an argument to free, which must not be "const". + Rename the parameter and use a new local variable for the second role. - * NEWS, README, revision.h, gzip.texi, configure.in (AM_INIT_AUTOMAKE): - Revision 1.3.1, dated today. + build: avoid many const-related warnings + * gzip.c: Add "const" to many variables, to avoid compiler warnings. + * util.c (add_envopt): Make 3rd parameter const + (gzip_error): Make sole parameter const. + * gzip.h: Update prototypes. - * INSTALL, getopt.c, getopt.h, getopt1.c, install-sh, missing, - mkinstalldirs, texinfo.tex: - Sync with latest version in other packages. + build: avoid warnings from -Wstrict-prototypes + * gzip.c (main): Declare using a prototype. + (progerror): Likewise. And make parameter const. - * acinclude.m4, config.guess, config.sub: Remove. - * depcomp, rpmatch.c, yesno.c: New files. + build: use gnulib's fdopendir module + * bootstrap.conf (gnulib_modules): Add fdopendir. + * gzip.c (treat_dir): Don't depend on HAVE_FDOPENDIR. + Gnulib now guarantees its availability. + * configure.ac: Don't check for fdopendir here. - * ChangeLog, README, NEWS, TODO, configure.in, zgrep.in, zmore.in: - Add copyright notice. + build: enable many warnings + * configure.ac: Add support for --enable-gcc-warnings. + * bootstrap.conf (gnulib_modules): Add manywarnings. + * Makefile.am (AM_CFLAGS): Add (WARN_CFLAGS) # $(WERROR_CFLAGS) + + maint: tweak formatting of bootstrap.conf + * bootstrap.conf (gnulib_modules): Unindent list. + + maint: cfg.mk: remove factored-out ftp host/dir definitions + * cfg.mk (gnu_ftp_host-alpha, gnu_ftp_host-beta gnu_ftp_host-stable): + (gnu_rel_host, url_dir_list): Remove definitions. The defaults, + now provided by maint.mk, are the same. + * gnulib: Update for latest, including those maint.mk additions. + + build: "make stable" emitted an invalid gnupload command + * cfg.mk (gnu_ftp_host-stable): Rename from gnu_ftp_host-major. + * README-release: Change another s/major/stable/. + +2009-10-30 Jim Meyering - * Makefile.am (ACLOCAL_AMFLAGS): New macro. - (ACINCLUDE_INPUTS): Remove all but shell.m4. - ($(srcdir)/acinclude.m4): Remove. - (gzip_sources): Add yesno.c. + post-release administrivia + * NEWS: Add header line for next release. + * .prev-version: Record previous version. + * cfg.mk (old_NEWS_hash): Auto-update. - * TODO: Add i18n. + version 1.3.14 + * NEWS: Record release date. - * configure.in (AC_CANONICAL_HOST): Remove. - (AC_AIX, AC_MINIX): Move earlier. - (AC_REPLACE_FUNCS): Add rpmatch. + build: accommodate new syntax-check test + * amiga/tailor.c (_expand_args): Change each of three uses of + "exit(20)" to "exit(EXIT_FAILURE)". + * sample/add.c: Include . + (main): Use EXIT_FAILURE and EXIT_SUCCESS, not 1 and 0. + * sample/sub.c (main): Likewise. + * sample/zread.c (main): Likewise. - * gzip.c (main): - Report error if -b operand is not a nonnegative integer. - (treat_file): Don't assume tab width is 8, or that characters are - one column wide. - (make_ofname): Use WARN to warn about unchanged files. - (get_method): "get newer version of gzip" -> "not supported" - (check_ofname): Use yesno instead of checking for 'y' ourselves. - (treat_file): Do not assume link count fits in int. + build: update gnulib submodule to latest - * gzip.h (yesno): New decl. + build: link with $(LIB_CLOCK_GETTIME) + * Makefile.am (gzip_LDADD): Add $(LIB_CLOCK_GETTIME), now that + utimens pulls in gettime. + (FILES_TO_CHECK): Remove $(gzip_LDADD), now that it may contain -lrt. - * util.c (display_ratio): Use floating point to compute ratio: - this avoids problems with integer overflow. +2009-10-28 Jim Meyering - * zgrep.in: Add support for --, -H, -h, -L, -l, -C, -d, -m and - their long equivalents. Warn that -r and -d are not supported. + msdos: fix syntax in Makefile.djg + * msdos/Makefile.djg (gzip): Change each of two leading 8-space + sequences to a TAB. Reported by Allan Mui. - * zmore.in: - Check that file is readable before attempting to decompress it. +2009-10-20 Jim Meyering -2000-10-09 Paul Eggert + build: do not use AC_PREFIX_PROGRAM + * configure.ac: Do not use "AC_PREFIX_PROGRAM(gzip)". + It would induce behavior that is so surprising that it is probably + universally considered to be buggy, these days. Reported by Zube + in http://thread.gmane.org/gmane.comp.gnu.gzip.bugs/273 - * configure.in (AC_CHECK_FUNCS): Add lstat. +2009-10-10 Jim Meyering -2000-07-20 Paul Eggert + gzip: add tests for today's bug fix + * tests/trailing-nul: New file. Test for today's fix. + * Makefile.am (TESTS): Add new script. + * NEWS (Bug fixes): Mention it. - Use a POSIX-compliant shell instead of /bin/sh. - Idea suggested by Albert Chin-A-Young . +2009-10-10 Daniel Barkalow - * m4/shell.m4: New file. - * configure.in (AC_PROG_SHELL): Add it. - * Makefile.am (ACINCLUDE_INPUTS): Add $(M4DIR)/shell.m4. - (.in): Replace /bin/sh with $(SHELL). + gzip: don't fail when there is exactly one trailing NUL byte + * gzip.c (get_method): Require the second byte of magic only if + the first byte was nonzero. -2000-04-17 Bruno Haible +2009-10-09 Jim Meyering - * Makefile.am (install-exec-hook): If hard links fail, try symlinks. + build: enable automake color- and parallel-test options + * configure.ac (AM_INIT_AUTOMAKE): Enable color-tests and parallel-tests. -2000-04-02 Jim Meyering + zgrep: portability improvements; exercise "-f -" + * zgrep.in: Adjust loop not to use seq; it's not portable enough. + Fail if we don't find a free file descriptor. + (exists): New function; Use it in place of less portable "test -e". + Testing for existence of /dev/fd/$fd doesn't work on Solaris 10, + since all 256 always exist (as char devices), but testing for + /proc/$$/fd/$fd does work, so do that instead. + * Makefile.am (TESTS): Add tests/zgrep-f. + * tests/zgrep-f: New test; exercise this bug. + * NEWS (Bug fixes): Mention it. - * Makefile.am (install-exec-hook): Remove link targets before - installing. +2009-10-09 Carl Worth -2000-01-02 Albert Chin-A-Young + zgrep: handle "-f -" the same way that it works with grep + Before this change, echo needle|zgrep -f - haystack.gz would not work. + * zgrep.in: When the pattern comes from stdin, redirect it to a + different file descriptor, since we're about to use stdin. - * gzip.texi: Add direntry. +2009-10-09 Jim Meyering -1999-12-21 Paul Eggert + zdiff would exit 2 (error) rather than 1 for differences + * zdiff.in: Save and restore cmp's exit status around a case + statement that would otherwise clobber its value. + * NEWS (Bug fixes): Mention it. + * tests/zdiff: New test; exercise both bugs. + * tests/test-lib.sh: New file. From coreutils. + * Makefile.am (EXTRA_DIST): Add tests/test-lib.sh. + (TESTS): Add tests/zdiff. + (TESTS_ENVIRONMENT): Define. From coreutils. + (EXTRA_DIST): Append all $(TESTS). - * NEWS, README, revision.h, gzip.texi: Revision 1.3, dated today. - * gzip.c (license_msg, usage, version, help, license): - Adjust to current GNU coding standards. - (total_in, total_out): Remove unnecessary initialization. - * zip.c (file_read): Report read errors. - * util.c (fill_inbuf): Likewise. - * gzip.c (main): Don't assume EOF == -1. - * unlzw.c (unlzw): Likewise. - * util.c (copy, fill_inbuf): Likewise. + zdiff: fix malfunction when operating on two gzip'd inputs + zdiff would fail to print differences in two compressed inputs + * zdiff.in: Don't let cmp output mix with echo'd gzip exit + status values. Report and fix from Jörg-Volker Peetz via + + * NEWS (Bug fixes): Mention it. -1999-11-18 Paul Eggert + build: update gnulib submodule to latest - * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): - Work around a bug in the QNX shell, which doesn't - propagate exit status of failed commands inside shell assignments. +2009-10-07 Jim Meyering -1999-10-07 Paul Eggert + build: update gnulib submodule to latest - * NEWS, README, revision.h, gzip.texi: - Revision 1.2.4294967306 dated today. This is the successor to - revision 1.2.4.4294967305; automake requires the new (shorter) number. +2009-10-06 Jim Meyering - Convert to automake. + maint: clarify web-doc-update instructions + * README-release: sync a tiny change from coreutils. - * Makefile.am, gunzip.1, zcat.1, zcmp.1, AUTHORS: New files. +2009-10-03 Jim Meyering - * revision.h (VERSION): Remove; moved to config.h. + build: update gnulib submodule to latest - * configure.in (AM_INIT_AUTOMAKE, AM_CONFIG_HEADER, - AC_CANONICAL_HOST, AC_OBJEXT): Add. - (AC_PROG_CPP): Remove. - (AC_SYS_LARGEFILE): Add, replacing older inline code. - (ASCPP): Use $OBJEXT. - (LIBOBJS): Add match.o if needed. - (AC_PROG_INSTALL): Remove. - (AC_EXT, AC_C_CONST): Add. - (AC_CHECK_HEADERS): Add, replacing lots of AC_HEADER_CHECKs. - All instances of defined(NO_TIME_H) changed to !defined(HAVE_TIME_H), - etc. - (AC_CHECK_FUNCS): Add utime. - (SEDCMD): Use $interpval, not $ac_cv_sys_interpreter. - (AC_PREFIX_PROGRAM): Add, replacing AC_PREFIX. - (ZCAT, G): Remove. - (LIBOBJS): Add. - (OBJA): Remove; LIBOBJS now does this. + doc: use gnu-web-doc-update module + * bootstrap.conf (gnulib_modules): Add it. - * bits.c, gzip.c, deflate.c, inflate.c, lzw.c, trees.c, unlzh.c, - unlzw.c, unpack.c, unzip.c, util.c, zip.c: Include - first; this is needed for proper large-file support, given the new - way of configuring large files. +2009-10-02 Jim Meyering - * gzip.c: Include ; Ultrix needs this. - (TIME_OPT): Use STRUCT_UTIMBUF instead of empty string. - (help): Add bug-report address. - (do_stat): Depend on HAVE_LSTAT, not S_IFLNK, S_ISLNK, and NO_SYMLINK. + doc: describe release procedure + * README-release: New file. -1999-06-25 Paul Eggert +2009-10-01 Jim Meyering - * inflate.c (huft_build): - Set n to length of v, to detect improper tables. - Don't accidentally grow j past z. + maint: make cfg.mk slightly more generic + * cfg.mk (url_dir_list): Don't hard-code "coreutils". Use $(PACKAGE). -1999-06-24 Paul Eggert +2009-09-30 Jim Meyering - * Makefile.in (check): Update texinfo.tex size. + post-release administrivia + * NEWS: Add header line for next release. + * .prev-version: Record previous version. + * cfg.mk (old_NEWS_hash): Auto-update. - * configure.in (ASMV): - Define with AC_DEFINE; do not manipulate DEFS directly, - as this doesn't work with recent autoconf versions. + version 1.3.13 + * NEWS: Record release date. -1999-02-06 Paul Eggert + build: update gnulib submodule to latest - * NEWS, README, revision.h, gzip.texi: Revision 1.2.4.4294967305, - dated today. This merges the changes from gzip 1.2.4a, which fix - some typographical errors in the documentation and update the - bug-reporting address. + maint: update bootstrap script + * bootstrap (with_gettext): Update from coreutils. -1999-01-27 Paul Eggert + maint: pull in two release-related modules from gnulib + * bootstrap.conf (gnulib_modules): Add announce-gen and gnupload. - * NEWS, README, revision.h (VERSION, REVDATE): - Revision 1.2.4.4294967304, dated today. + build: use more gnulib modules for better POSIX compliance + * bootstrap.conf (gnulib_modules): Add modules exposed via + make CFLAGS=-DGNULIB_POSIXCHECK 2>&1 \ + |perl -lne '/.* use gnulib module (\S+).*/ and print $1' \ + |sort |uniq -c|sort -nr + Add these: calloc close fclose fprintf-posix lstat malloc + perror printf-posix realloc - Port to autoconf 2.13. +2009-09-30 Karl Berry - * Makefile.in (next, next-fat, coherent): - Update dirent headers to match Autoconf 2.13. - * configure.in (AC_RETSIGTYP): Remove; superseded by AC_TYPE_SIGNAL. - (AC_DYNIX_SEQ, AC_XENIX_DIR, AC_DIR_HEADER): Remove; superseded by - AC_HEADER_DIRENT. - * tailor.h (HAVE_DIRENT_H, HAVE_SYS_DIR_H): - Define instad of DIRENT, SYSDIR. - * gzip.c (NAMLEN): Renamed from NLENGTH. Depend on Autoconf 2.13 names - HAVE_DIRENT_H, HAVE_SYS_NDIR_H, HAVE_SYS_DIR_H, HAVE_NDIR_H - instead of the oldfashioned names DIRENT, SYSDIR, SYSNDIR, NDIR. - (CLOSEDIR): New macro. - (progerror): New function. - (treat_stdin, treat_file, creat_outfile, get_istat, check_ofname, - treat_dir): Use it, for brevity. - (treat_dir): Report any I/O errors when reading directories. + doc: update to FDL 1.3, minor clean-up + * NEWS, README, TODO: Update FDL s/1.2/1.3/. - * COPYING, INSTALL, doc/texinfo.tex, install-sh: - Update to latest public versions. +2009-09-28 Karl Berry -1998-11-18 Paul Eggert + doc: update gzip.texi + * doc/gzip.texi: FDL 1.3+ + Consistently (de)capitalize section names. + "User's" is not correct; seems best to simplify the title. + Throw in some "GNU"'s. + Make direntries be what we actually want. + Detabify. - * NEWS, README, revision.h (VERSION, REVDATE): - Revision 1.2.4.4294967303, dated today. +2009-09-26 Jim Meyering - * gzip.c (get_method): Don't complain about trailing zeros at - the end of a gzipped file, as they're commonly appended to fill - out a block (e.g. by GNU tar). + maint: temporarily exempt failing syntax-check tests + * cfg.mk (local-checks-to-skip): Add the list of currently-failing + tests, to exempt them from "make syntax-check". - * configure.in (CPPFLAGS, LDFLAGS, LIBS): Add large-file support - for HP-UX 10.20 and later. + gzip: don't use an uninitialized file descriptor + gzip interprets an argument of "-" as indicating stdin, but when + "-" is not the first name on the command line, it doesn't work. + * gzip.c (treat_stdin): Initialize "ifd". + Patch and fine description by Lasse Collin in + http://www.mail-archive.com/bug-gzip@gnu.org/msg00213.html + * Makefile.am (check-local): Exercise the fix. Based on the above. + * NEWS (Bug fixes): Mention this. - * getopt.c, getopt.h, texinfo.tex: Sync with latest version at gnu.org. - * getopt1.c: New file. - * Makefile.in (SRCS): Add getopt1.c. - (OBJS): Add getopt1$O. - (getopt1$O): New dependency. - (check): Adjust desired size of compressed texinfo.tex to 55637, - to reflect the 1998-11-13 edition of texinfo.tex. + maint: use a git submodule for gnulib + * .gitmodules: New file, to track gnulib. + * gnulib: New file, created by running this: + git submodule add git://git.sv.gnu.org/gnulib.git gnulib - * gpl.texinfo: Remove; its addresses were out of date and - these days the GPL isn't reprinted in manuals anyway. - * gzip.texi: Remove reference to gpl.texinfo. - * Makefile.in (GENFILES): Remove gpl.texinfo. + maint: update existing copyright year lists to include 2009 + * bootstrap.conf (gnulib_modules): Add update-copyright. -1998-11-13 Paul Eggert + maint: include first in many files - * NEWS, README, revision.h (VERSION, REVDATE): - Revision 1.2.4.4294967302, dated today. + maint: avoid another "make syntax-check" failure + * lib/Makefile.am (match.$(OBJEXT)): Use $(ASCPPPOST), not @ASCPPPOST@. - * gzip.c (input_eof): New function. - (treat_stdin, treat_file): Use it to fix premature detection of EOF - bug when a gzipped file concatenation boundary is at a multiple of - INBUFSIZ. + maint: remove RCS $Id$ variables and comments - * Makefile.in (installman): Fix bug when installing from subdirectory. - ($(srcdir)/gzip.info): Renamed from gzip.info. - ($(srcdir)/gzip.info, realclean): Do not split gzip.info. + maint: change spelling in comments: s/filesystem/file system/ -1998-10-26 Paul Eggert + maint: don't use "the the" + * msdos/doturboc.bat: s/the the/the/. - * NEWS, README, revision.h (VERSION, REVDATE): - Revision 1.2.4.4294967301, dated today. + maint: remove trailing blanks - * TODO: Update bug reporting address. + maint: remove useless if-before-free tests + * gzip.c (do_exit): Remove useless if-before-free tests. - * Makefile.in (datadir, libdir): Remove unused macros. - (mandir): Let configure set it. - (manextdir): New macro. - (alldirs): Remove datadir, libdir; add manextdir. - (TEXI2HTML): New macro. - (installman, uninstall): Install into manextdir, not mandir. - (install-strip): New rule. - (installdirs): No need to build $(prefix)/man separately, - as it's now in alldirs. - (match$O): Compile with $(CFLAGS). - (gzip_1.html): New rule. + maint: remove useless casts to avoid "make syntax-check" failures + * gzip.c (do_exit): Remove anachronistic cast. + * inflate.c (huft_free): Likewise. + * util.c (add_envopt): Likewise. + * vms/vms.c (vms_expand_args): Likewise. - * gzip.c (get_istat): Remove lint by initializing z_suffix_errno. - (check_ofname): Do not assume unsigned char. + maint: new file: .prev-version + * .prev-version: New file, to record previous version number. - * util.c (strlwr): Don't assume char is unsigned. - (warning): Renamed from `warn'. +2009-09-06 Jim Meyering - * gzip.h (tolow): Use tolower instead of relying on 'A'-'a'. - (warning): Renamed from warn. + build: avoid spurious warnings from clang + * gzip.h (gzip_error): Declare with ATTRIBUTE_NORETURN. - * trees.c (warning): Renamed from warn. - -1998-10-14 Paul Eggert - - Merge patches from Debian. - - * NEWS, README, revision.h (VERSION, REVDATE): - Revision 1.2.4.4294967300, dated today. - - * README, algorithm.doc, gzip.texi: Update maintainer address. - - * gzexe.in, zdiff.in, znew.in: - Close security hole portably, using `set -C'. - - * zgrep.in: Add -A, -B. - - * gzexe.in: Use `gzip', not full path, to run gzip. - - * zdiff.in: Report proper exit status. - - * gzip.h (base_name): Renamed from basename. All uses changed. - - * gzip.c (z_suffix): Now char *, so that there's no limit to length. - All uses change. - (main): If --quiet, abort gzip when SIGPIPE received. - (get_suffix): Don't assume z_suffix's address is a constant. - (get_istat): Likewise. - Check for buffer overflow. - Preserve errno correctly. - (make_ofname): Check for buffer overflow. - - * util.c (fill_inbuf): Flush window before reporting read error. - - * inflate.c (inflate_dynamic): Don't dump core if tl == NULL. - - * Makefile.in (GENFILES): Add zless.in. - (SCRIPTS): Add zless. - (default): Build all programs, not just gzip. - (all): Add zless. - (installbin): Install zegrep, zfgrep. - (installman): Install zless man page. - (install_compress): Don't install compress. - (zless): New rule. - -1998-09-16 Paul Eggert - - * NEWS, README, revision.h: Bump version number to 1.2.4.4294967299. - - * tailor.h (UNLINK_READONLY_BUG): New macro. - * gzip.h (unlink): New decl. - * util.c (xunlink): New function. - * gzip.c - (treat_file, create_outfile, check_ofname, copy_stat, abort_gzip): - Use xunlink rather than unlink. - Do not chmod the file; xunlink will do that if need be. - -1998-05-21 Paul Eggert - - * NEWS, README, revision.h: Bump version number to 1.2.4.4294967298. - * Makefile.in (prefix): Set from @prefix@. - (distclean): Remove config.cache. - -1998-01-15 Paul Eggert - - * NEWS, README, revision.h: - Bump version number to indicate large-file support. - -1997-10-08 Paul Eggert - - * gzip.c (CHAR_BIT): Define if doesn't. - (OFF_T_MIN, OFF_T_MAX): New macros. - (do_list): Revert to fixed format, but this time don't assume - that 9 digits suffice; use a width taken from the maximum value - that off_t can represent. - (off_t): Do not typedef; autoconf handles this now. - * gzip.c, util.c (): Include if HAVE_LIMITS_H. - * gzip.h, util.c (fprint_off): Now takes int width argument. - * configure.in (AC_HAVE_HEADERS): Check for limits.h. - (AC_TYPE_OFF_T): Use this instead of grepping sys/types.h for off_t. - (AC_TYPE_SIZE_T): Use this instead of obsolescent AC_SIZE_T. - * tailor.h (NO_OFF_T): Remove. - (off_t): Define this instead. - -1997-10-03 Paul Eggert - - * Makefile.in, bits.c, configure.in, deflate.c, gzip.c, gzip.h, - inflate.c, trees.c, unlzw.c, unpack.c, unzip.c, util.c, zip.c: - Adjust to Solaris 2.6, which has large files but small off_t by default. - * gzip.c: Output more reasonable message if input file is too large. - * gzip.c, util.c: Propagate errno from point of error to `perror'. - * unzip.c: Allow uncompressing files larger than 4 gigabytes. - http://www.gzip.org/4g.patch (1996-07-21) - -Wed Aug 18 09:34:23 1993 Jean-loup Gailly (jloup@chorus.fr) - - * version 1.2.4 - By default, do not restore file name and timestamp from those saved - inside the .gz file (behave as 'compress'). Added the --name option - to force name and timestamp restoration. - Accept - as synonym for stdin. - Use manlinks=so or ln to support either hard links or .so in man pages - Accept foo.gz~ in zdiff. - Added support for Windows NT - Handle ENAMETOOLONG for strict Posix systems - Use --recursive instead of --recurse to comply with Webster and - the GNU stdandard. - Allow installation of shell scripts with a g prefix: make G=g install - Install by default zcat as gzcat if gzcat already exists in path. - Let zmore behave as more when invoked without parameters (give help) - Let gzip --list reject files not in gzip format even with --force. - Don't complain about non gzip files for options -rt or -rl. - Added advice in INSTALL for several systems. - Added makefile entries for NeXTstep 3.1 (if configure fails) - Avoid problem with memcpy on Pyramid (gave crc error on some files) - Support the -r option when compiled with Borland C++ on msdos. - Force lower case file names only for FAT file systems (not HPFS) - Rewrite one expression in inflate.c to avoid cc bug on Solaris x86. - In the msdos makefiles, get match.asm from the msdos subdirectory. - Catch SIGTERM and SIGHUP only if they are not ignored. - getopt.c: on Amiga, "#if !defined(const)" does not compile. - Use register parameters on Amiga. - Do not force names to lower case on Amiga. - Fix support of Atari TOS (Makefile.st and tailor.h) - In unlzw.c, do not suggest using zcat if zcat already used. - In INSTALL, suggest using bsdinst for HPUX. - Document Turbo C++ 1.0 bug in INSTALL. - Improved the documentation relative to the --no-name option. - Avoid signed/unsigned warnings in several files. - Added pointer to jka-compr19.el in README. - Added pointer to OS/2 executables in README. - Added --block-compress in tar -z example (gzip.1 and gzip.texi). - Don't keep rcsid in executable (avoid compilation warnings). - Check also the correctness of the first byte of an .Z file. - Return non zero status for an invalid option. - Remove "NEWFILES" from os2/gzip.def for Borland C++ on OS/2. - Remove "time stamp restored" message (just obey the -N request). - -Thu Jun 24 10:27:57 1993 Jean-loup Gailly (jloup@chorus.fr) - - * version 1.2.3 - Don't display the output name when decompressing except with --verbose. - Remove usage of alloca in getopt.c and all makefiles. - Use ASCPP instead of CPP to avoid breaking AC_HEADER_CHECK on RiscOS. - Added the zfile shell script in subdirectory sample. - Moved the list of compiler bugs from README to INSTALL. - Added vms/Readme.vms. - Fix DIST_BUFSIZE check in unlzh.c for 16 bit machines. - Fix REGSIGTYP macro in configure.in. - Use 'define' instead of == in vms/gzip.hlp. - Avoid warnings in unlzh.c - Allow separate installation of binaries and man pages. - Simplified handling of file names with spaces in zgrep and znew. - Fix dependencies and remove rule for trees.c in amiga/Makefile.sasc - Add missing quote in gzexe. - -Thu Jun 17 13:47:05 1993 Jean-loup Gailly (jloup@chorus.fr) - - * version 1.2.2 - Fix a compilation error in gzip.c on Sun with cc (worked with gcc). - -Wed Jun 16 11:20:27 1993 Jean-loup Gailly (jloup@chorus.fr) - - * version 1.2.1 - Let zmore act as more if the data is not gzipped. - By default, display output name only when name was actually truncated. - Use absolute path names in gzexe'd programs for better security. - In gzexe, use chmod 700 instead of 755 and don't gzexe tail,rm,etc... - Update vms/gzip.hlp. - Added a note about the fast options (-1 to -3) in algorithm.doc. - Improved man page for zgrep. - Minor fixes to gzip.texi. - Always set LC_ALL and LANG in configure (for tr on HPUX) - -Mon Jun 14 10:03:24 1993 Jean-loup Gailly (jloup@chorus.fr) - - * version 1.2 - Added the --list option to display the file characteristics. - Added the --no-name option: do not save or restore original filename - Save the original name by default. - Allow gunzip --suffix "" to attempt decompression on any file - regardless of its extension if an original name is present. - Add support for the SCO compress -H format. - gzip --fast now compresses faster (speed close to that of compress) - with degraded compression ratio (but still better than compress). - Default level changed to -6 (acts exactly as previous level -5) to - be a better indication of its placement in the speed/ratio range. - Use smart name truncation: 123456789012.c -> 123456789.c.gz - instead of 12345678901.gz - With --force, let zcat pass non gzip'ed data unchanged (zcat == cat) - Added the zgrep shell script. - Made sub.c useful for 16 bit sound, 24 bit images, etc.. - Supress warnings about suffix for gunzip -r, except with --verbose. - Moved the sample programs to a subdirectory sample. - On MSDOS, use .gz extension when possible (files without extension) - Added a "Special targets" section in INSTALL. - Use stty -g correctly in zmore.in. - Use cheaper test for gzipness in zforce.in. - Remove space before $ in match.S (no longer accepted by gas 2.x) - For the shell scripts, do not assume that gzip is in the path. - Fix syntax error and define lnk$library in vms/Makefile.mms - REGSIGTYPE is void on the Amiga. - Do not write empty line when decompressing stdin with --verbose. - Fix the 1.1.2 fix for VMS (bug in get_suffix) - Added warning in README about compiler bug on Solaris 2.1 for x86. - Added warning about 'rehash' in INSTALL. - Removed default value of read_buf in bits.c (supermax doesn't like). - In tailor.h, added support for Borland C and Zortech C on OS/2. - Added warning in gzexe about Ultrix buggy sh (use /bin/sh5 instead). - Added warning in zdiff about AIX buggy sh (use /bin/ksh instead). - In configure.in, do not try the asm code if DEFS contains NO_ASM - -Fri Jun 4 09:49:33 1993 Jean-loup Gailly (jloup@chorus.fr) - - * version 1.1.2 - Fix serious bug for VMS (-gz not removed when decompressing). - Allow suffix other than .gz in znew. - Do not display compression ratio when decompressing stdin. - In zmore.in, work around brain damaged stty -g (Ultrix). - Display a correct compression ratio for .Z files. - Added .z to .gz renaming script in INTALL. - Allow setting CFLAGS in configure. - Add warning in README about bug in Concentrix cc compiler. - Avoid || in Makefile.in (at least one make doesn't support this). - Disable useless --ascii option for the Amiga. - Add a pointer to the Primos executable in README. - Added description of extra field in algorithm.doc. - Do not redefine NULL in alloca.c. - Added check for unsupported compression methods. - Avoid getopt redeclaration on OSF/1. - -Tue Jun 1 09:07:15 1993 Jean-loup Gailly (jloup@chorus.fr) - - * version 1.1.1 - Fix serious bug in vms.c (== instead of =). - Added --ascii option. - Add workaround in configure.in for Ultrix (quote eval argument) - Do not use unset in znew (not supported on Ultrix) - Use tar.gz instead of tar.z for the distribution of gzip. - Add missing menu item in gzip.texi. - Use size_t instead of unsigned, add AC_SIZE_T in configure.in. - -Fri May 28 11:40:01 1993 Jean-loup Gailly (jloup@chorus.fr) - - * version 1.1 - Use .gz suffix by default, add --suffix option. - Let gunzip accept a "_z" suffix (used by one 'compress' on Vax/VMS). - Quit when reading garbage from stdin instead of reporting an error. - Added sub.c and add.c for compression of 8 bit images. - Added makefile for VAX/MMS and support for wildcards on VMS. - Added support for MSC under OS/2. - Added support for Prime/PRIMOS. - Display compression ratio also when decompressing. - Quit after --version (GNU standard) - Use --force to bypass isatty() check. - Accept --silent as synonym for --quiet (see longopts.table) - Accept --to-stdout as synonym for --stdout (see longopts.table) - Accept -H and -? in addition to -h and --help. - Added comparison of zip and gzip in the readme file. - Return an error code in all main compression/decompression functions. - Continue processing other files in case of recoverable error. - Add description of -f in znew.1. - Do not keep uncompressed version for znew -t if .gz already exists. - On Unix, use only st_ino and st_dev in same_file(). - Use S_IRUSR and S_IWUSR if they exist. - "test $1 = -d" -> "test x$1 = x-d" in gzexe. - In match.S, use symbol sysV68 to detect the Motorola Delta. - Do not include memory.h with gcc (conflicting declarations on Sun). - Fix more typos. - On VMS, define unlink as delete also for gcc. - In "make check", unset LANG because "wc -c" fails on Kanji. - Renamed shdir as scriptdir. - Use the 68020 code instead of 68000 code on the NeXT. - Documented --uncompress as synonym for --decompress. - Include the standard header files before gzip.h (needed on Bull). - Do not assume that _POSIX_VERSION implies dirent.h present. - Removed gzip-tar.patch since tar 1.11.2 handles gzip directly. - Use less memory when compiled with -DSMALL_MEM (for MSDOS). - Optimized updcrc(). - Don't complain if cc -E does not work correctly. - Do not attempt reading 64K bytes on 16 bit Unix systems. - Do not use the variable name 'overhead' which is reserved on Lynx! - One BULL compiler does not like *p++ in inflate.c => *p, p++. - Use casts on free and memcmp to avoid warnings. - Remove the "off by more than one minute" time stamp kludge, but - document how to avoid saving the time stamp on pipes if desired. - Include crypt.h in inflate.c (one system predefines the CRYPT symbol). - Add links to gunzip and (g)zcat in the default make rule. - Create installation directories if they do not exist. - Clarified --prefix option in INSTALL. - Use symbol mc68k in match.S for the DIAB DS90. - Guard against zero length _match.s in configure.in. - In zmore, restore all tty options using stty -g. - Added support for MacOS - Simplified makecrc.c. - Avoid warnings in getopt.c, util.c, unlzw.c. - Use autoconf 1.4, in particular for INSTALL and AC_HAVE_POUNDBANG - Use .so instead of hard links for zcat.1, gunzip.1 and zcmp.1. - Fixed declration of sig_type. - Make consistency check in fcfree. - Added ztouch. - Do not complain if utime fails on a directory (for OS/2). - -Thu Mar 18 18:56:43 1993 Jean-loup Gailly (jloup@chorus.fr) - - * version 1.0.7 - Allow zmore to read from standard input (like more). - Support the 68000 (Atari ST) in match.S. - Retry partial writes (required on Linux when gzip is suspended in - a pipe). - Allow full pathnames and renamings in gzexe. - Don't let gzexe compress setuid executables or gzip itself. - Added vms/Makefile.gcc for gcc on the Vax. - Give a pointer to Solaris and VMS executables of gzip in README. - Allow installation of binaries and shell scripts in different dirs. - Do not use alloca on the Cray. - Provide strspn and strcspn if string.h does not exist. - Define O_CREAT and O_EXCL from FCREAT and FEXCL if necessary. - Remove gzip.doc in make realclean. - Fixed many typos. (Corrections to my English are welcome.) - Put "make manext=l install" at the correct place in INSTALL. - Fix incorrect examples in INSTALL and give more examples. - Include zdiff.1 for install and uninstall. - Allows complex PAGER variable in zmore (e.g.: PAGER="col -x | more") - Avoid warning on unused indfound in getopt.c. - Cast memset arg to void* (required by some buggy compilers). - Include sys/types.h before dirent.h in acgeneral.m4. - Fix acgeneral.m4 AC_COMPILE_CHECK to avoid warnings. - Don't use alloca.c with gcc. (One NeXT user did not have alloca.h). - Change all error messages according to GNU standards. - Restore time stamp only if off by more than one minute. - Allow installation of zcat as gzcat. - Suppress help message and send compressed data to the terminal when - gzip is invoked without parameters and without redirection. - (Explicit request from Noah Friedman.) - Add compile option GNU_STANDARD to respect the GNU coding standards: - with -DGNU_STANDARD, behave as gzip even if invoked under the - name gunzip. (Complaints to /dev/null or the FSF, not to me!) - -Fri Mar 10 13:27:18 1993 Jean-loup Gailly (jloup@chorus.fr) - - * version 1.0.6 - Let gzexe detect executables that are already gzexe'd. - Don't try restoring record format on VMS (the simple 1.0.5 code - worked correctly only on fixed-512 files). Suppress text_mode. - Added asm version for 68000 in amiga/match.a. - Use asm version for Atari TT. - Fix "make clean" in vms/Makefile.vms. - For OS/2, assume HPFS by default, add flag OS2FAT if necessary. - Fixed some bugs in zdiff and define zcmp as a link to zdiff. - Added zdiff.1 - Remove configure hack for NeXT; add general fix to autoconf instead - Do not strip a ".z" extension if this results in an empty name. - Avoid array overflow in get_prefix() for extensions > 10 chars. - Accept either q or e to quit zmore. - In zmore, try restoring tty mode in all cases. - Use Motorola style for match.S on the NeXT. - configure.in: unsetenv *hangs* with the Siemens csh... - Update vms/gzip.hlp. - -Thu Mar 4 14:13:34 1993 Jean-loup Gailly (jloup@chorus.fr) - - * version 1.0.5 - For VMS, restore the file type for variable record format, otherwise - extract in fixed length format (not perfect, but better than - forcing all files to be in stream_LF format). - Use "-z" suffix for VMS. - Use only .z, .*-z, .tgz, .taz as valid gzip extensions; update - zforce accordingly. - Allow a version number in input file names for VMS. - Added sample program zread.c. - Fix "make check" for some implementations of /bin/sh. - Don't rely on stat() for filenames with extension > 3 chars - on MSDOS, OS2 and Atari. - Garbage collect files in /tmp created by gzexe. - Quote $opt in znew. - Use TOUCH env variable in znew if it exists. - Better error message for gunzip on empty or truncated file. - Allow prototypes in getopt.h when __STDC__ defined but 0. - Added "make clean" in vms/Makefile.vms. - Removed -g from default CFLAGS (with Noah's permission!) - Avoid too many HAVE_xxx_H for most systems; use common defaults. - Moved default Atari flags into tailor.h for consistency. - Use memzero() to clear the hash table. - Update vms/gzip.hlp to reflect the VMS behavior. - Fix OS_CODE (to fit in a byte). - Add utime.h for the Amiga. - Add gcc support for the Amiga. - Work around incorrect dirent.h for NeXT 2.0. - Added Makefile entry for Coherent. - -Fri Feb 22 11:20:49 1993 Jean-loup Gailly (jloup@chorus.fr) - - * version 1.0.4 - Added optimized asm version for 68020. - Add support for DJGPP. - Add support for the Atari ST. - Added zforce to rename gzip'ed files with truncated names. - Do not install with name uncompress (some systems rely on the - absence of any check in the old uncompress). - Added missing function (fcfree) in msdos/tailor.c - Let gunzip handle .tgz files, and let gzip skip them. - Added 'stty min 1' in zmore for SysV and fixed trap code. - Suppress .PHONY in Makefile.in, which breaks old makes. - Added documentation about pcat and unpack in INSTALL. - Add cast to getenv for systems without stdlib.h. - Use VAXC instead of VMS to avoid confusion for gcc. - Add -K to znew.1. - Add gzexe.1. - Try preserving file permissions in gzexe. - Added -d option for gzexe. - Guard against spaces in file names in gzexe. - Use CMP env. variable in zcmp. - Return a warning exit status for gzip of file with .z suffix. - Suppress usage of d_ino which is not portable to all systems. - Use #ifdef instead of #if for consistency. - For VMS, use "cc util.c" instead of "cc util" (pb with logical names) - Added utime() for Amiga. - Renamed gzcat.1 as zcat.1. - Include fcntl.h for Amiga (for read and write). - For VMS, add definition of symbols and links in the makefiles. - Give a VMS look to vms/gzip.hlp. - Save the original name only when necessary. - Add a mode parameter for open in read mode (required by VMS). - For VMS, remove the version suffix from the original name. - Accept both / and \ as path separator for MSDOS. - Let gunzip extract stored .zip files correctly. - Added warning about VFC format in vms/gzip.hlp. - In znew, skip a bad file but process the others. - Cleanup tailor.h. - Use GZIP_OPT for VMS to avoid conflict with program name. - Added description of GZIP variable in gzip.texi. - -Thu Feb 11 17:21:32 1993 Jean-loup Gailly (jloup@chorus.fr) - - * version 1.0.3 - Add -K option for znew to keep old .Z files if smaller. - Add -q option (quiet) to cancel -v in GZIP env variable. - For Turbo C, normalize pointers before freeing them. - Add more safety checks in add_envopt(). - Add do_exit() for uniform exit path (always free memory). - Reduce MAX_PATH_LEN for MSDOS. - Include sys/types.h before signal.h - Avoid strdup, the NeXT does not have it. - Made gzexe safer on systems with filename limitation to 14 chars. - -Fri Feb 10 09:45:49 1993 Jean-loup Gailly (jloup@chorus.fr) - - * version 1.0.2 - Added env variable GZIP for default options. - Added support for the Amiga. - znew now keeps the old .Z if it is smaller than the .z file. - Added gzexe to compress rarely used executables. - Reduce memory usage when using static allocation (no DYN_ALLOC). - Better separation of warning and error return codes. - Fix unlzw.c to make DYN_ALLOC and MAXSEG_64K independent options. - Allow INBUFSIZ to be >= 32K in unlzw (don't use sign of rsize) - Generate tar file in old format to avoid problems with old systems. - Preserve time stamp in znew -P if touch -r works. - Use ${PAGER-more} instead of ${PAGER:-more} in zmore. - Do not use unsigned instead of mode_t. - Better error message for trailing garbage in .z file; ignore this - garbage on VMS. - In zmore, use icanon instead of -cbreak on SYSV. - Add trap handler in zmore. - Use char* instead of void* for non STDC compilers. - Added makefile entry for Xenix on 286. - Return an error code when existing file was not overwritten. - Use prototype of lzw.h for lzw.c. - Fix znew with -P option alone. - Give warning for directories even without -v. - Close output file before unlink() in case of error. - Suppress all target dependent ifdef from the portable files. - Free all dynamically allocated variables upon exit. - -Thu Feb 4 18:23:56 1993 Jean-loup Gailly (jloup@chorus.fr) - - * version 1.0.1 - Fixed some trivial errors in msdos/Makefile.bor - -Thu Feb 4 10:00:59 1993 Jean-loup Gailly (jloup@chorus.fr) - - * version 1.0 - gzip now runs on Vax/VMS (Amiga support will come in next version). - Do not overwrite files without -f when using /bin/sh. - Support the test option -t for compressed (.Z) files. - Flush output for bad compressed files. Add warning in README. - Added makefiles for MSDOS. - Don't rely on presence of csh in configure - Added gunzip.1 and gzcat.1. - Updated znew.1. - Check reserved flags in unlzw(). - Return dummy value in main to avoid lint warning. - Define OF in lzw.h for lint. - Allow both "znew -v -t" and "znew -vt". - Don't overwrite the output file name for multiple parts. - Echo just a warning if configure is out of date. - Use ; instead of , in trees.c (confuses the SAS Amiga compiler). - In INSTALL, document "DEFS='-DM_XENIX' ./configure". - Use OTHER_PATH_SEP for more portability (DOS, OS2, VMS, AMIGA). - Make all directories world writable for broken versions of tar. - Use gzip -cd instead of zcat in zmore, zcmp, zdiff. - Don't use GNU tar for distributions, some systems can't untar. - Do not exit() for gzip --version. - -Mon Jan 26 10:26:42 1993 Jean-loup Gailly (jloup@chorus.fr) - - * Beta version 0.8.2 - Avoid 'far' declarations for MSDOS. - Use test -f instead of test -x in configure.in (for Ultrix) - Add empty else part to if in Makefile.in for broken shells. - Use NO_UNDERLINE instead of UNDERLINE (pb with Linux cpp) - Accept continuation files with -ff (for damage recovery) - Small patch to Makefile.os2 - Use memzero instead of bzero to avoid potential conflicts - Document restriction on extraction of zip files. - Fix quoting in ACL_HAVE_SHELL_HACK. - Do not check file size on MSDOS because of bug in DIET. - Allow zcat on a file with multiple links. - Add fix in inflate.c for compatibility with pkzip 2.04c. - Release gzip in tar.z and tar format. (No tar.Z). - -Fri Jan 22 10:04:13 1993 Jean-loup Gailly (jloup@chorus.fr) - - * Beta version 0.8.1 - Fixed Makefile.os2 - Fixed #if directives that TurboC does not like. - Don't rely on uncompress in znew, use gzip -d. - Add the pipe option -P in znew. - Add some more ideas in TODO. - Support both NDIR and SYSNDIR. - -Sat Jan 21 15:46:38 1993 Jean-loup Gailly (jloup@chorus.fr) - - * Beta version 0.8 - Support unpack. - Check for _match.o in configure.in in addition to return status. - Include in zip.c - Define local variables and functions as local. - Accept more alternative names for the program (pcat, gzcat, ...). - Accept .exe as well as .EXE. - Uncompress files with multiple links only with -f. - Better error message for gunzip of non-existent file.z. - Fix the entry for /etc/magic in INSTALL. - Use AC_HAVE_HEADERS uniformly instead of special macros. - Install the man pages as .1 by default instead of .l. - Document crypt++.el in README. - Fix for unlzw() on 16-bit machines (bitmask must be unsigned). - Complain if input and output files are identical. - Create a correct output name for files of exactly 13 chars. - Do not overwrite CPP if set - Check for i386 before trying to assemble match.s - Check for underline in external name before assembling - Add patch for tar 1.11.1. - -Mon Jan 5 10:16:24 1993 Jean-loup Gailly (jloup@chorus.fr) - - * Beta version 0.7 - Use "make check" instead of "make test". - Do not rely on dirname in znew. - Keep time stamp and pass options to gzip in znew. - Rename .l files back to .1 to avoid conflict with lex - Do not create .z.z files with gzip -r. - Use nice_match in match.asm - Unroll loops in deflate.c - Do not attempt matches beyond the window end - Allow again gunzip .zip files (was working in 0.5) - Allow again compilation with TurboC 2.0 (was working in 0.4) - -Tue Dec 30 20:00:19 1992 Jean-loup Gailly (jloup@chorus.fr) - - * Beta version 0.6 - The .z extension is used by pack, not compact (README, gzip.1) - Accept gzcat in addition to zcat. - Use PAGER in zmore if defined. - Man pages for /usr/local/man/manl should have extension .l. - Don't redefine bzero on the NeXT - Allow incomplete Huffman table if there is only one code. - Don't lookahead more than 7 bits (caused premature EOF). - Added "make test" to check for compiler bugs. - Don't rely on `i386`; try to assemble directly - Change magic header to avoid conflict with freeze 1.x. - Added entry for /etc/magic in INSTALL. - Do not destroy an input .zip file with more than one member. - Display "untested" instead of "OK" for gzip -t foo.Z - With -t, skip stdin in .Z format - Allow multiple compressed members in an input file. - Ignore a zero time stamp. - Made znew safer. - -Tue Dec 29 10:00:19 1992 Noah Friedman (friedman@gnu.ai.mit.edu) - - Added test for #!/bin/sh in configure.in. - Fix some references to $srcdir in Makefile.in - -Mon Dec 21 17:33:35 1992 Jean-Loup Gailly (jloup@chorus.fr) - - * Beta version 0.5 - Put RCS ids in all files. - Added znew to recompress old .Z files with gzip. - Avoid "already .z suffix" messages for -r and no -v. - Put back check for d_ino in treat_dir(). - Use HAVE_STRING_H instead of USG. - Added os2/Makefile.os2 - Use SYSUTIME on OS/2. - Info dir is $(prefix)/info, not $(prefix)/lib/info. - Support long options, added getopt and alloca - Support -V and -t - Reorder configure.in according to suggestions in autoconf.info - Allow links when not removing original file - Allow either .z or .Z in zdiff - -Wed Nov 25 11:40:04 1992 Jean-loup Gailly (jloup@chorus.fr) - - * Beta version 0.4.1 - Save only the original base name, don't include any directory prefix. - Don't use HAVE_LONG_FILE_NAMES (support multiple file system types). - Fix declaration of abort_gzip in gzip.h. - Include unistd.h when it exists to avoid warnings with gcc -Wall. - -Mon Nov 23 12:39:01 1992 Jean-loup Gailly (jloup@chorus.fr) - - * Beta version 0.4 - Lots of cleanup - Use autoconf generated 'configure' - Fixed the NO_MULTIPLE_DOTS code - Fixed the save_orig_name code - Support for MSDOS (Turbo C) - -Thu Nov 19 15:18:22 1992 Jean-loup Gailly (jloup@chorus.fr) - - * Beta version 0.3 - Added auto configuration. Just type "make" now. - Don't overwrite compress by default in "make install". Use - "make install_compress" to overwrite. - Add match.s for 386 boxes. - Added documentation in texinfo format. - Provide help for "gunzip" invoked without redirected input. - Save original file name when necessary. - Support OS/2 (Kai-Uwe Rommel). - -Tue Nov 17 14:32:53 1992 Jean-loup Gailly (jloup@chorus.fr) - - * Alpha version 0.2.4 - Return 0 in get_istat() when ok (caused error with zcat). - Don't update crc on compressed data (caused crc errors on - large files). - -Fri Nov 13 15:04:12 1992 Jean-loup Gailly (jloup@chorus.fr) - - * Alpha version 0.2.3 - Initialize rsize in unlzw.c - Initialize ofd for zcat. - Do not use volatile ifname as argument of treat_dir. - Add -1 to -9 in gzip.1. - -Sat Oct 31 18:30:00 1992 Jean-loup Gailly (jloup@chorus.fr) - - * Alpha version 0.2.2. - Fix error messages. - Accept gunzip on zip files. - -Sat Oct 31 17:15:00 1992 Jean-loup Gailly (jloup@chorus.fr) - - * Alpha version 0.2.1 - Use ctype.h in util.c (problem on SysV). - Create BINDIR if it does not exist. - Use cc by default. - Added zcmp, zmore, zdiff. - Fixed the man page gzip.1. - -Sat Oct 31 17:00:00 1992 Jean-loup Gailly (jloup@chorus.fr) - - * Alpha version 0.2 - Fixed compilation problems with gcc - -Sat Oct 31 12:46:00 1992 Jean-loup Gailly (jloup@chorus.fr) - - * Alpha version 0.1 released (under time pressure), so it's not - much tested, sorry. + maint: update build-from-scratch infrastructure + * bootstrap: Modernize. + * bootstrap.conf: Modernize. + * cfg.mk: New file. +2009-08-18 Jim Meyering - ----- + inflate: avoid a leak on a error path + * inflate.c (inflate_dynamic): Don't leak + + maint: ignore a few generated files + * lib/.gitignore: ignore more generated files. + + tests: add a test for just-fixed bug + * tests/hufts-segv.gz: New file, from bug report. + * Makefile.am (EXTRA_DIST): Add tests/hufts-segv.gz. + (check-local): Exercise the bug. + + tests: don't misinterpret a failing test as successful + * Makefile.am (check-local): Exit "1" upon failure, not 0. + +2009-08-18 Thiemo Nagel + + avoid creating an undersized buffer for the hufts table + A malformed input file can cause gzip to crash with a segmentation + violation or hang in an endless loop. + Reported in . + * NEWS (Bug fixes): Mention it. + +2009-08-18 Jim Meyering - Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2006 Free - Software Foundation, Inc. + avoid silent data loss e.g., on NFS, due to unchecked close of stdout + * gzip.c: Include "closein.h". + (main): Use atexit (close_stdin); + * bootstrap.conf (gnulib_modules): Add closein. + Prompted by Mark Kidwell's report and patch in + http://bugs.debian.org/538187 + * NEWS (Bug fixes): Mention it. + * */.gitignore: Update. + + build: require automake-1.11 and produce xz-compressed tarballs, too + * configure.ac: Require automake-1.11. Use the dist-xz option. + + build: avoid non-srcdir build failure + * Makefile.am (gzip.doc.gz): Use $(srcdir)/gzip.doc, not gzip.doc. + Don't redirect directly to $@. Use $(AM_V_GEN). + (gzip.doc, .in): Don't redirect directly to $@. Use $(AM_V_GEN). + * NEWS: Add template header for upcoming release. + + build: enable git-version-gen, automake silent rules, generate ChangeLog + * configure.ac (AC_INIT): Use git-version-gen. + Use AM_SILENT_RULES([yes]). + (AM_INIT_AUTOMAKE): Drop gnits; conflicts with git-version-gen versions. + * bootstrap.conf (gnulib_modules): Use getopt-gnu + Ensure ChangeLog exists, for automake. + rather than obsolete "getopt" module. + Add gitlog-to-changelog. + Add git-version-gen. + Add gnu-make, gnumakefile and maintainer-makefile. + * Makefile.am (dist-hook, gen-ChangeLog): New rules, to generate + ChangeLog and insert it into the distribution tarball. + (EXTRA_DIST): Add ChangeLog-2007. - Copyright (C) 1992, 1993 Jean-loup Gailly + maint: retire the last VC'd ChangeLog file + * ChangeLog-2007: Rename from ChangeLog. + From now on, the ChangeLog file will be generated automatically + from commit logs. - Copying and distribution of this file, with or without - modification, are permitted provided the copyright notice - and this notice are preserved. + maint: rename .cvsignore files to .gitignore + * .gitignore: Renamed from .cvsignore. + * doc/.gitignore: Likewise. + * lib/.gitignore: Likewise. + * m4/.gitignore: Likewise.