-2001-11-03 Paul Eggert <eggert@twinsun.com>
+2012-06-17 Jim Meyering <meyering@redhat.com>
- * NEWS, README, revision.h, gzip.texi, configure.in (AM_INIT_AUTOMAKE):
- Revision 1.3.2, dated today.
+ version 1.5
+ * NEWS: Record release date.
- * 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: update gnulib for fixed maint.mk
- * 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.
-
-2001-09-30 Paul Eggert <eggert@twinsun.com>
+ 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).
- * NEWS, README, revision.h, gzip.texi, configure.in (AM_INIT_AUTOMAKE):
- Revision 1.3.1, dated today.
+2012-04-24 Paul Eggert <eggert@cs.ucla.edu>
- * INSTALL, getopt.c, getopt.h, getopt1.c, install-sh, missing,
- mkinstalldirs, texinfo.tex:
- Sync with latest version in other packages.
+ doc: document -rf change
+ * NEWS: Document the ZFS fix.
- * acinclude.m4, config.guess, config.sub: Remove.
- * depcomp, rpmatch.c, yesno.c: New files.
+ gzip: remove CLOSEDIR
+ * gzip.c (CLOSEDIR): Remove; no longer used.
- * ChangeLog, README, NEWS, TODO, configure.in, zgrep.in, zmore.in:
- Add copyright notice.
+ gzip: port gzip -rf to ZFS
+ Problem reported privately by Rich Burridge.
+ * bootstrap.conf: Add savedir.
+ * gzip.c: Include <savedir.h>.
+ (_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.
- * Makefile.am (ACLOCAL_AMFLAGS): New macro.
- (ACINCLUDE_INPUTS): Remove all but shell.m4.
- ($(srcdir)/acinclude.m4): Remove.
- (gzip_sources): Add yesno.c.
+2012-03-18 Paul Eggert <eggert@cs.ucla.edu>
- * TODO: Add i18n.
+ gzip: fix nondeterministic compression results
+ Reported by Jakub Wilk in <http://bugs.debian.org/647522>.
+ * deflate.c (fill_window): Don't let garbage pollute the dictionary.
- * configure.in (AC_CANONICAL_HOST): Remove.
- (AC_AIX, AC_MINIX): Move earlier.
- (AC_REPLACE_FUNCS): Add rpmatch.
+2012-01-11 Jim Meyering <meyering@redhat.com>
- * 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.
-
- * gzip.h (yesno): New decl.
+ 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.
- * util.c (display_ratio): Use floating point to compute ratio:
- this avoids problems with integer overflow.
+ 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.
- * zgrep.in: Add support for --, -H, -h, -L, -l, -C, -d, -m and
- their long equivalents. Warn that -r and -d are not supported.
+2012-01-01 Jim Meyering <meyering@redhat.com>
+
+ maint: update all copyright year number ranges
+ Run "make update-copyright".
+
+2011-12-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ 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
+ <http://lists.gnu.org/archive/html/bug-gzip/2011-12/msg00006.html>.
- * zmore.in:
- Check that file is readable before attempting to decompress it.
+2011-11-29 Jim Meyering <meyering@redhat.com>
+
+ build: update gnulib submodule to latest
-2000-10-09 Paul Eggert <eggert@twinsun.com>
+ 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.
- * configure.in (AC_CHECK_FUNCS): Add lstat.
+2011-11-29 Jim Meyering <meyering@redhat.com>
-2000-07-20 Paul Eggert <eggert@twinsun.com>
+ 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
- Use a POSIX-compliant shell instead of /bin/sh.
- Idea suggested by Albert Chin-A-Young <china@thewrittenword.com>.
+ Run these commands:
- * 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).
+ 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,'
-2000-04-17 Bruno Haible <haible@clisp.cons.org>
+2011-11-05 Jim Meyering <meyering@redhat.com>
- * Makefile.am (install-exec-hook): If hard links fail, try symlinks.
+ build: update gnulib submodule to latest
-2000-04-02 Jim Meyering <meyering@ascend.com>
+2011-11-03 Paul Eggert <eggert@cs.ucla.edu>
- * Makefile.am (install-exec-hook): Remove link targets before
- installing.
+ * tests/zgrep-signal: Don't assume exit status 141 on PIPE signal.
+ Problem reported by Eric Blake in
+ <http://lists.gnu.org/archive/html/bug-gzip/2011-11/msg00007.html>.
-2000-01-02 Albert Chin-A-Young <china@thewrittenword.com>
+2011-11-02 Paul Eggert <eggert@cs.ucla.edu>
- * gzip.texi: Add direntry.
+ * tests/zgrep-signal: Use perl instead of a nonportable shell trap.
+ Problem reported by Eric Blake in
+ <http://lists.gnu.org/archive/html/bug-gzip/2011-11/msg00005.html>.
-1999-12-21 Paul Eggert <eggert@twinsun.com>
+ * tests/zgrep-signal: Test for Fedora 15 signal bug.
+ Also, don't assume that SIGPIPE is SIG_DFL on entry.
- * 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.
+2011-11-02 Jim Meyering <meyering@redhat.com>
-1999-11-18 Paul Eggert <eggert@twinsun.com>
+ 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.
+ 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.
-1999-10-07 Paul Eggert <eggert@twinsun.com>
+ maint: avoid "make syntax-check" failure
+ * gzip.c (treat_stdin): Indent with spaces, not TABs.
- * 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.
+2011-11-02 Paul Eggert <eggert@cs.ucla.edu>
- Convert to automake.
+ * gzip.c (treat_stdin): If quiet, be quiet with plain gzip -q.
+ Problem reported by Michaël Guitton in
+ <http://lists.gnu.org/archive/html/bug-gzip/2011-11/msg00000.html>.
- * Makefile.am, gunzip.1, zcat.1, zcmp.1, AUTHORS: New files.
+2011-08-10 Jim Meyering <meyering@redhat.com>
- * revision.h (VERSION): Remove; moved to config.h.
+ 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 <meyering@redhat.com>
+
+ 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 <eggert@cs.ucla.edu>
+
+ * deflate.c: Export nice_match to assembler.
+ (static_unless_ASMV): New macro.
+ (nice_match): Use it.
+
+2011-06-08 Jim Meyering <meyering@redhat.com>
+
+ 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 <meyering@redhat.com>
+
+ 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 <meyering@redhat.com>
+
+ avoid new build failure on a system without <crypt.h>
+ * 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.
+
+2011-05-09 Jim Meyering <meyering@redhat.com>
+
+ 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.
+ * trees.c: Likewise.
+ * unlzh.c: Likewise.
+ * unpack.c: Likewise.
+ * util.c: Likewise.
+ * 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 <meyering@redhat.com>
+
+ 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 <meyering@redhat.com>
+
+ maint: fix typos in comment: s/to to/to/
+ * deflate.c: Remove doubled 'to's.
+
+2011-03-20 Jim Meyering <meyering@redhat.com>
+
+ 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 <meyering@redhat.com>
+
+ 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 <meyering@redhat.com>
+
+ 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 <meyering@redhat.com>
+
+ 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 <eggert@cs.ucla.edu>
+
+ * NEWS: The "gzip -f foo.gz" change occurred in 1.3.13, not 1.3.12
+
+2010-11-10 Paul Eggert <eggert@cs.ucla.edu>
+
+ 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 <eggert@cs.ucla.edu>
+
+ 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
+ <http://lists.gnu.org/archive/html/bug-gzip/2010-11/msg00000.html>.
+ 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 <eggert@cs.ucla.edu>
+
+ 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.
- * 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.
+2010-10-23 Jim Meyering <meyering@redhat.com>
- * 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 <config.h>
- first; this is needed for proper large-file support, given the new
- way of configuring large files.
+ maint: anchor patterns in .gitignore files
+ * doc/.gitignore: Anchor patterns.
+ * lib/.gitignore: Likewise.
+ * m4/.gitignore: Likewise.
- * gzip.c: Include <sys/types.h>; 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.
+ maint: update bootstrap and init.sh from gnulib
+ * bootstrap: Update.
+ * tests/init.sh: Update.
-1999-06-25 Paul Eggert <eggert@twinsun.com>
+2010-10-23 Rob Vermaas <rob.vermaas@gmail.com>
+
+ maint: update to latest gnulib; use fdutimens, not gl_futimens
+ * gzip.c (copy_stat): Use fdutimens, not gl_futimens.
+ * gnulib: Update to latest.
- * inflate.c (huft_build):
- Set n to length of v, to detect improper tables.
- Don't accidentally grow j past z.
+2010-10-23 Jim Meyering <meyering@redhat.com>
-1999-06-24 Paul Eggert <eggert@twinsun.com>
+ 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.
- * Makefile.in (check): Update texinfo.tex size.
+ 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.
- * configure.in (ASMV):
- Define with AC_DEFINE; do not manipulate DEFS directly,
- as this doesn't work with recent autoconf versions.
+2010-10-10 Jim Meyering <meyering@redhat.com>
+
+ 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.
-1999-02-06 Paul Eggert <eggert@twinsun.com>
+2010-09-15 Paul Eggert <eggert@cs.ucla.edu>
- * 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.
+ 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
+ <http://lists.gnu.org/archive/html/bug-gzip/2010-09/msg00007.html>.
-1999-01-27 Paul Eggert <eggert@twinsun.com>
+2010-08-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ 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-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ 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-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ maint: update bootstrap
+ * bootstrap, bootstrap.conf, tests/init.sh: Merge from gnulib.
- * NEWS, README, revision.h (VERSION, REVDATE):
- Revision 1.2.4.4294967304, dated today.
+2010-07-19 Paul R. Eggert <eggert@cs.ucla.edu>
- Port to autoconf 2.13.
+ 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-03 Paul Eggert <eggert@cs.ucla.edu>
+
+ Mention that gzip -d now handles FHCRC.
+
+2010-07-03 Paul Eggert <eggert@cs.ucla.edu>
+
+ 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 <eggert@cs.ucla.edu>
+
+ 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-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ * doc/gzip.texi (Sample): Fix backslash quoting problem.
+ Problem reported by Ole Tange in
+ <http://lists.gnu.org/archive/html/bug-gzip/2010-05/msg00000.html>.
+
+2010-04-26 Jim Meyering <meyering@redhat.com>
- * 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.
+ build: update gnulib submodule to latest
- * COPYING, INSTALL, doc/texinfo.tex, install-sh:
- Update to latest public versions.
+ 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.
-1998-11-18 Paul Eggert <eggert@twinsun.com>
+2010-04-08 Jim Meyering <meyering@redhat.com>
- * NEWS, README, revision.h (VERSION, REVDATE):
- Revision 1.2.4.4294967303, dated today.
+ build: include cfg.mk in the distribution tarball
+ * Makefile.am (EXTRA_DIST): Add cfg.mk.
+
+2010-04-07 Eric Blake <eblake@redhat.com>
- * 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: ignore more built files
+ * .gitignore: Add version files.
- * configure.in (CPPFLAGS, LDFLAGS, LIBS): Add large-file support
- for HP-UX 10.20 and later.
+2010-04-07 Jim Meyering <meyering@redhat.com>
+
+ 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).
- * 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.
+ 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 <meyering@redhat.com>
+
+ 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 <eblake@redhat.com>
+
+ maint: ignore generated files
+ * .gitignore: Ignore recent gnulib additions.
+
+ maint: update bootstrap
+ * bootstrap: Use latest copy from gnulib/build-aux.
+
+2010-04-06 Jim Meyering <meyering@redhat.com>
+
+ 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 <config.h>.
+ 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 <meyering@redhat.com>
+
+ 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 <meyering@redhat.com>
+
+ 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 <stdbool.h>.
+ (presume_input_tty): New global.
+ (main): Set it.
+ (treat_stdin, check_ofname): Use it.
+
+2010-02-07 Jim Meyering <meyering@redhat.com>
+
+ 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-04 Jim Meyering <meyering@redhat.com>
+
+ 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-04 Mark Adler <madler@alumni.caltech.edu>
+
+ 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-04 Dmitry V. Levin <ldv@altlinux.org>
+
+ 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 <meyering@redhat.com>
+
+ 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.
+
+ 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-03 Dmitry V. Levin <ldv@altlinux.org>
+
+ 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.
+ * znew.in: Likewise.
+
+2010-02-03 Jim Meyering <meyering@redhat.com>
+
+ 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 <meyering@redhat.com>
+
+ build: update gnulib submodule to latest
+
+2010-02-01 Dmitry V. Levin <ldv@altlinux.org>
+
+ 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 <meyering@redhat.com>
+
+ 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.
+
+ maint: remove unused file: README-alpha
+ * README-alpha: Remove unused file.
+
+ build: update gnulib submodule to latest
+
+2010-01-11 Yuxi Zhang <YZhang@qnx.com>
+
+ 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 <meyering@redhat.com>
+
+ 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
- * 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.
+ * 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-11 Jim Meyering <meyering@redhat.com>
+
+ 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 <meyering@redhat.com>
+
+ 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
-1998-11-13 Paul Eggert <eggert@twinsun.com>
+2010-01-03 Jim Meyering <meyering@redhat.com>
- * NEWS, README, revision.h (VERSION, REVDATE):
- Revision 1.2.4.4294967302, dated today.
+ maint: record update-copyright options for this package
+ * cfg.mk: Next time, just run "make update-copyright".
- * 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.
+2010-01-01 Jim Meyering <meyering@redhat.com>
- * 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: 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 <meyering@redhat.com>
+
+ 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 <meyering@redhat.com>
+
+ 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.
+
+ build: add a syntax-check
+ * cfg.mk (sc_prohibit_obsolete_HAVE_HEADER_H): New rule.
-1998-10-26 Paul Eggert <eggert@twinsun.com>
+ 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).
+
+ build: quiet warnings from util.c
+ * configure.ac (warnings): Add -Wno-overflow and -Wno-type-limits.
- * NEWS, README, revision.h (VERSION, REVDATE):
- Revision 1.2.4.4294967301, dated today.
+ build: avoid warning about possibly-no-return functions
+ * gzip.h (read_error, write_error): Mark these functions as "no-return".
+
+ 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
+
+ build: update gnulib submodule to latest
+
+2009-11-20 Jim Meyering <meyering@redhat.com>
+
+ build: unlzw.c: avoid warnings about unused macros
+ * configure.ac: Turn off -Wunused-macros.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ build: avoid warnings from -Wstrict-prototypes
+ * gzip.c (main): Declare using a prototype.
+ (progerror): Likewise. And make parameter const.
+
+ 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.
- * TODO: Update bug reporting address.
+ 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 <meyering@redhat.com>
- * 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.
+ post-release administrivia
+ * NEWS: Add header line for next release.
+ * .prev-version: Record previous version.
+ * cfg.mk (old_NEWS_hash): Auto-update.
- * gzip.c (get_istat): Remove lint by initializing z_suffix_errno.
- (check_ofname): Do not assume unsigned char.
+ version 1.3.14
+ * NEWS: Record release date.
- * util.c (strlwr): Don't assume char is unsigned.
- (warning): Renamed from `warn'.
+ 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 <stdlib.h>.
+ (main): Use EXIT_FAILURE and EXIT_SUCCESS, not 1 and 0.
+ * sample/sub.c (main): Likewise.
+ * sample/zread.c (main): Likewise.
- * gzip.h (tolow): Use tolower instead of relying on 'A'-'a'.
- (warning): Renamed from warn.
+ build: update gnulib submodule to latest
- * trees.c (warning): Renamed from warn.
+ 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.
-1998-10-14 Paul Eggert <eggert@twinsun.com>
-
- 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 <eggert@twinsun.com>
-
- * 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 <eggert@twinsun.com>
-
- * 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 <eggert@twinsun.com>
-
- * NEWS, README, revision.h:
- Bump version number to indicate large-file support.
-
-1997-10-08 Paul Eggert <eggert@twinsun.com>
-
- * gzip.c (CHAR_BIT): Define if <limits.h> 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 (<limits.h>): 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 <eggert@twinsun.com>
-
- * 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 <sys/types.h> 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.
-
-
-Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
-Copyright (C) 1992, 1993 Jean-loup Gailly
-
-This file is part of gzip (GNU zip).
+2009-10-28 Jim Meyering <meyering@redhat.com>
-gzip is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
+ 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.
-gzip is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with gzip; see the file COPYING. If not, write to
-the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.
+2009-10-20 Jim Meyering <meyering@redhat.com>
+
+ 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
+
+2009-10-10 Jim Meyering <meyering@redhat.com>
+
+ 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.
+
+2009-10-10 Daniel Barkalow <barkalow@iabervon.org>
+
+ 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.
+
+2009-10-09 Jim Meyering <meyering@redhat.com>
+
+ build: enable automake color- and parallel-test options
+ * configure.ac (AM_INIT_AUTOMAKE): Enable color-tests and parallel-tests.
+
+ 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.
+
+2009-10-09 Carl Worth <cworth@cworth.org>
+
+ 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.
+
+2009-10-09 Jim Meyering <meyering@redhat.com>
+
+ 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).
+
+ 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
+ <http://bugs.debian.org/434275>
+ * NEWS (Bug fixes): Mention it.
+
+ build: update gnulib submodule to latest
+
+2009-10-07 Jim Meyering <meyering@redhat.com>
+
+ build: update gnulib submodule to latest
+
+2009-10-06 Jim Meyering <meyering@redhat.com>
+
+ maint: clarify web-doc-update instructions
+ * README-release: sync a tiny change from coreutils.
+
+2009-10-03 Jim Meyering <meyering@redhat.com>
+
+ build: update gnulib submodule to latest
+
+ doc: use gnu-web-doc-update module
+ * bootstrap.conf (gnulib_modules): Add it.
+
+2009-10-02 Jim Meyering <meyering@redhat.com>
+
+ doc: describe release procedure
+ * README-release: New file.
+
+2009-10-01 Jim Meyering <meyering@redhat.com>
+
+ maint: make cfg.mk slightly more generic
+ * cfg.mk (url_dir_list): Don't hard-code "coreutils". Use $(PACKAGE).
+
+2009-09-30 Jim Meyering <meyering@redhat.com>
+
+ post-release administrivia
+ * NEWS: Add header line for next release.
+ * .prev-version: Record previous version.
+ * cfg.mk (old_NEWS_hash): Auto-update.
+
+ version 1.3.13
+ * NEWS: Record release date.
+
+ build: update gnulib submodule to latest
+
+ maint: update bootstrap script
+ * bootstrap (with_gettext): Update from coreutils.
+
+ maint: pull in two release-related modules from gnulib
+ * bootstrap.conf (gnulib_modules): Add announce-gen and gnupload.
+
+ 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
+
+2009-09-30 Karl Berry <karl@freefriends.org>
+
+ doc: update to FDL 1.3, minor clean-up
+ * NEWS, README, TODO: Update FDL s/1.2/1.3/.
+
+2009-09-28 Karl Berry <karl@freefriends.org>
+
+ 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.
+
+2009-09-26 Jim Meyering <meyering@redhat.com>
+
+ 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".
+
+ 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.
+
+ 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
+
+ maint: update existing copyright year lists to include 2009
+ * bootstrap.conf (gnulib_modules): Add update-copyright.
+
+ maint: include <config.h> first in many files
+
+ maint: avoid another "make syntax-check" failure
+ * lib/Makefile.am (match.$(OBJEXT)): Use $(ASCPPPOST), not @ASCPPPOST@.
+
+ maint: remove RCS $Id$ variables and comments
+
+ maint: change spelling in comments: s/filesystem/file system/
+
+ maint: don't use "the the"
+ * msdos/doturboc.bat: s/the the/the/.
+
+ maint: remove trailing blanks
+
+ maint: remove useless if-before-free tests
+ * gzip.c (do_exit): Remove useless if-before-free tests.
+
+ 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.
+
+ maint: new file: .prev-version
+ * .prev-version: New file, to record previous version number.
+
+2009-09-06 Jim Meyering <meyering@redhat.com>
+
+ build: avoid spurious warnings from clang
+ * gzip.h (gzip_error): Declare with ATTRIBUTE_NORETURN.
+
+ maint: update build-from-scratch infrastructure
+ * bootstrap: Modernize.
+ * bootstrap.conf: Modernize.
+ * cfg.mk: New file.
+
+2009-08-18 Jim Meyering <meyering@redhat.com>
+
+ 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 <thiemo.nagel@ph.tum.de>
+
+ 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 <http://bugs.debian.org/507263>.
+ * NEWS (Bug fixes): Mention it.
+
+2009-08-18 Jim Meyering <meyering@redhat.com>
+
+ 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.
+
+ 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.
+
+ maint: rename .cvsignore files to .gitignore
+ * .gitignore: Renamed from .cvsignore.
+ * doc/.gitignore: Likewise.
+ * lib/.gitignore: Likewise.
+ * m4/.gitignore: Likewise.