debian/gzip
17 years ago* NEWS: Version 1.3.12 released. v1.3.12
Paul Eggert [Fri, 13 Apr 2007 21:42:54 +0000 (21:42 +0000)]
* NEWS: Version 1.3.12 released.
* configure.ac (AC_INIT): Likewise.

* README: Update year in copyright notice.
* m4/shell.m4: Add copyright notice.

17 years ago* bootstrap (gnulib_tool_option_extras): Put this back; it was
Paul Eggert [Fri, 13 Apr 2007 21:23:04 +0000 (21:23 +0000)]
* bootstrap (gnulib_tool_option_extras): Put this back; it was
inadvertently omitted from gnulib.
(gnulib_tool_option): Use it.
* .cvsignore: Add *._bootmp*.
* lib/.cvsignore: Add stdlib.h, stdlib_.h, time.h, time_.h, unistd.h.
Remove alloca.c, alloca.h, alloca_.h, exit.h, getdelim.c, getdelim.h,
getline.c, getline.h, malloc.c, mbchar.c, mbchar.h, mbuiter.h, memchr.c,
regcomp.c, regex.c, regex.h, regex_internal.c, regex_internal.h,
regexec.c, rpmatch.c, stdint.h, stdint_.h, strcase.h, strcasecmp.c,
strncasecmp.c, strnlen1.c, strnlen1.h, timespec.h, wcwidth.h.
* m4/.cvsignore: Add stdlib_h.m4, time_h.m4.
Remove alloca.m4, codeset.m4, getdelim.m4, getline.m4,
longlong.m4, mbchar.m4, mbiter.m4, mbrtowc.m4, memchr.m4, regex.m4,
rpmatch.m4, ssize_t.m4, stdint.m4 strcase.m4, timespec.m4, ulonglong.m4,
wchar_t.m4, wcwidth.m4, wint_t.m4.

17 years ago* znew.in (tmp): Use $TMPDIR as temp directory, if given.
Paul Eggert [Thu, 29 Mar 2007 22:38:48 +0000 (22:38 +0000)]
* znew.in (tmp): Use $TMPDIR as temp directory, if given.
Suggested by Juan Manuel Guerrero.

17 years ago* README-hacking: New file, renamed from README-cvs.
Paul Eggert [Tue, 20 Mar 2007 05:09:51 +0000 (05:09 +0000)]
* README-hacking: New file, renamed from README-cvs.
* README-cvs: Remove.
* bootstrap: Sync from today's gnulib.
* bootstrap.conf (gnulib_modules): Add 'time'.
* gzip.c: Don't include timespec.h; 'time' fixes time.h for that.
* zip.c: Likewise.
* gzip.c: Don't include time.h or sys/time.h; gzip.h now includes
time.h, which is now enough.
* gzip.h: Include <time.h>.

17 years ago* README (WARNING): Reword to avoid mention of no-longer-existing
Paul Eggert [Fri, 16 Mar 2007 18:48:58 +0000 (18:48 +0000)]
* README (WARNING): Reword to avoid mention of no-longer-existing
section in INSTALL file.  Problem reported by Paul Townsend in
<http://lists.gnu.org/archive/html/bug-gzip/2007-03/msg00000.html>.

17 years ago* gzip.c (foreground): Initialize to zero. This doesn't fix a bug
Paul Eggert [Mon, 12 Feb 2007 05:24:34 +0000 (05:24 +0000)]
* gzip.c (foreground): Initialize to zero.  This doesn't fix a bug
since C guarantees it's zero, but it's more consistent with the
rest of the code.  Problem reported by Mark Adler.

17 years ago* zdiff.in: Don't use '((' in a shell script, as it's not portable
Paul Eggert [Thu, 8 Feb 2007 22:54:59 +0000 (22:54 +0000)]
* zdiff.in: Don't use '((' in a shell script, as it's not portable
to some ksh implementations, e.g., Solaris 10 ksh M-11/16/88i.
Problem reported by Nelson H. F. Beebe in
<http://lists.gnu.org/archive/html/bug-gzip/2007-02/msg00005.html>.

17 years ago* NEWS: Version 1.3.11 released.
Paul Eggert [Mon, 5 Feb 2007 23:31:58 +0000 (23:31 +0000)]
* NEWS: Version 1.3.11 released.
* configure.ac (AC_INIT): Likewise.

17 years ago* doc/gzip.texi: Convert Texinfo format into a more modern style.
Paul Eggert [Mon, 5 Feb 2007 23:29:04 +0000 (23:29 +0000)]
* doc/gzip.texi: Convert Texinfo format into a more modern style.
Put in current output samples.

17 years agoUpdate copyright year.
Paul Eggert [Mon, 5 Feb 2007 21:56:15 +0000 (21:56 +0000)]
Update copyright year.

17 years ago* .cvsignore: Add *.gz, gunzip, zcat, zcmp, zegrep, zfgrep.
Paul Eggert [Mon, 5 Feb 2007 21:35:47 +0000 (21:35 +0000)]
* .cvsignore: Add *.gz, gunzip, zcat, zcmp, zegrep, zfgrep.
* lib/.cvsignore: Add sys_time_.h, unistd_.h.
* m4/.cvsignore: Add gnulib-common.m4, sys_time_h.m4.

17 years ago* gunzip.in, zcat.in, zcmp.in, zegrep.in, zfgrep.in: New files.
Paul Eggert [Mon, 5 Feb 2007 20:54:25 +0000 (20:54 +0000)]
* gunzip.in, zcat.in, zcmp.in, zegrep.in, zfgrep.in: New files.
* Makefile.am (EXTRA_DIST): Add them.
(bin_SCRIPTS, MOSTLYCLEANFILES): Add gunzip, zcat, zcmp, zdgrep, zfgrep.
(.in): Use GZIP_BINDIR as the location of gzip binaries, if it is set.
(check-local): Use GZIP_BINDIR.
(install-exec-hook, remove-installed-links): Make 'uncompress' an
alias for gunzip.
* gzexe.1: At least one arg is required.  Don't give cat as an
example, since gzexe refuses to compress cat due to a bootstrapping
issue.  List more utilities in this category.
* gzexe.in, zdiff.in, zforce.in, zgrep.in, zless.in, zmore.in, znew.in:
Report our name in usage.
* gzexe.in: Don't compress bash.  Don't use rmdir, so it's
OK to compress rmdir.
* gzip.c: Now requires that you compile with -DGNU_STANDARD=0 to
get non GNU-standard behavior.  We now build with GNU-standard
behavior by default, so that programs do not depend on the names
of their executables.
* zdiff.in: Don't depend on the name of the executable, as per
GNU standard.  Instead, rely on an internal --__cmp option.
Support ' in options.  Check for failures in subsidiary gzip
invocations.
* zgrep.1: Clarify compression issues.
* zgrep.in: Don't assume POSIX-style case syntax.  Remove unused var
have_optarg.
* zless.1: zless sets LESSMETACHARS now.

17 years agoUse -eq, not =, in case expr outputs leading zeros or something
Paul Eggert [Thu, 11 Jan 2007 06:01:54 +0000 (06:01 +0000)]
Use -eq, not =, in case expr outputs leading zeros or something
silly like that.

17 years ago* m4/shell.m4 (AC_PROG_SHELL): Test that $(...) works.
Paul Eggert [Thu, 11 Jan 2007 05:59:16 +0000 (05:59 +0000)]
* m4/shell.m4 (AC_PROG_SHELL): Test that $(...) works.
Problem reported for SGI IRIX 6 by Nelson H. F. Beebe in
<http://lists.gnu.org/archive/html/bug-gzip/2007-01/msg00007.html>.

17 years ago* zdiff.in (cmp0): New var.
Paul Eggert [Thu, 4 Jan 2007 08:03:20 +0000 (08:03 +0000)]
* zdiff.in (cmp0): New var.
Rewrite test for /dev/fd/3 to detect bugs in Solaris 8
/bin/bash 2.03.  Problem reported by Nelson H. F. Beebe in
<http://lists.gnu.org/archive/html/bug-gzip/2007-01/msg00001.html>.
Avoid "for file; do", which doesn't work with Solaris 8 /bin/sh.

17 years ago* zdiff.in: Test /dev//fd/3, not /dev/fd/3, to work around a problem
Paul Eggert [Thu, 4 Jan 2007 05:24:04 +0000 (05:24 +0000)]
* zdiff.in: Test /dev//fd/3, not /dev/fd/3, to work around a problem
with Tru64 4.0F ksh M-11/16/88f reported by Thomas Koutcher in
<http://lists.gnu.org/archive/html/bug-gzip/2007-01/msg00000.html>.

17 years ago* Makefile.am (check-local): Don't assume $(srcdir) is '.'.
Paul Eggert [Sun, 31 Dec 2006 07:49:24 +0000 (07:49 +0000)]
* Makefile.am (check-local): Don't assume $(srcdir) is '.'.
(MAINTAINERCLEANFILES): Move gzip.doc.gz from here ...
(MOSTLYCLEANFILES): ... to here.

17 years ago* NEWS: Version 1.3.10 released.
Paul Eggert [Sun, 31 Dec 2006 07:36:26 +0000 (07:36 +0000)]
* NEWS: Version 1.3.10 released.
* configure.ac (AC_INIT): Likewise.

17 years ago* zless.in: Work around a bug in less 394 and earlier; it
Paul Eggert [Sat, 30 Dec 2006 04:06:44 +0000 (04:06 +0000)]
* zless.in: Work around a bug in less 394 and earlier; it
mishandles $%=~ in file names.  Problem reported by
Sami Liedes in <http://bugs.debian.org/383358>.

17 years ago* doc/gzip.texi: Swap order of dircategory entries, to pacify
Paul Eggert [Sat, 30 Dec 2006 03:15:15 +0000 (03:15 +0000)]
* doc/gzip.texi: Swap order of dircategory entries, to pacify
Debian install-info 1.10.28.  This should fix
<http://bugs.debian.org/404048>.

17 years ago* zgrep.in (version): Fix bug: $grep wasn't evaluated.
Paul Eggert [Sat, 30 Dec 2006 03:01:51 +0000 (03:01 +0000)]
* zgrep.in (version): Fix bug: $grep wasn't evaluated.

* zgrep.in: Rewrite to make the option processing more
compatible with GNU and POSIX grep.  Assume POSIX shell
for more stuff, since we're already assuming that.
* Makefile.am (check-local): Check zgrep -iV.

17 years agoMention Debian bug number.
Paul Eggert [Wed, 27 Dec 2006 08:07:01 +0000 (08:07 +0000)]
Mention Debian bug number.

17 years ago* NEWS: gzip -q now exits with status 2 (not 1) on SIGPIPE.
Paul Eggert [Wed, 27 Dec 2006 08:00:43 +0000 (08:00 +0000)]
* NEWS: gzip -q now exits with status 2 (not 1) on SIGPIPE.
zgrep has many bugs fixed with argument handling, special characters,
and exit status.
* gzip.c (abort_gzip_signal): Implement gzip -q change.
* zgrep.in: Implement zgrep change.

17 years ago* NEWS: Fix bug reported by Martin Mares in
Paul Eggert [Sun, 24 Dec 2006 05:45:23 +0000 (05:45 +0000)]
* NEWS: Fix bug reported by Martin Mares in
<http://bugs.debian.org/177942>.
* gzip.c (treat_stdin): Remove NO_STDIN_FSTAT and NO_PIPE_TIMESTAMP
stuff.  It didn't work (led to syntax errors) and was confusing.
Report an error if stdin cannot be statted even if !list && no_time.
Get stdin's size if it is regular.
(treat_file): Do not report an error with setuid, setgid,
sticky, or non-regular, non-directory files if to_stdout.
Allow 'force' to override the caution about sticky files.
Use the same form for time stamps that treat_stdin uses.

17 years ago* NEWS: Document this.
Paul Eggert [Sun, 24 Dec 2006 05:25:19 +0000 (05:25 +0000)]
* NEWS: Document this.

17 years ago* zdiff.in: Fix typo that broke most usages. Problem reported by
Paul Eggert [Sun, 24 Dec 2006 04:14:57 +0000 (04:14 +0000)]
* zdiff.in: Fix typo that broke most usages.  Problem reported by
Jari Aalto in <http://bugs.debian.org/404114>.  While we're at it,
fix a bunch of other problems.  Handle "-" better.  Send
diagnostics to stderr, not stdout.  Use expr rather than echo |
sed, to handle special characters better.  Report a diagnostic in
the 1-arg case, if the argument doesn't end in .gz or the like,
rather than having incomprehensible behavior.  Do not require that
the inputs be regular files.  Avoid creating a temporary entirely,
if /dev/fd works.  If not, then resist denial-of-service attacks
better, by using mktemp.
* Makefile.am (gzip.doc.gz): New rule.
(check-local): Depend on it, and test zdiff for Debian bug 404114.

17 years ago* zdiff.1: Mention that these programs currently understand only
Paul Eggert [Sat, 23 Dec 2006 01:02:17 +0000 (01:02 +0000)]
* zdiff.1: Mention that these programs currently understand only
formats that gzip does.  Problem reported by Jari Aalto in
<http://bugs.debian.org/404099>.

17 years ago* inflate.c (huft_build): Fix regression that caused gzip to
Paul Eggert [Wed, 20 Dec 2006 23:30:17 +0000 (23:30 +0000)]
* inflate.c (huft_build): Fix regression that caused gzip to
refuse to uncompress null input (all zero length codes).  Problem
reported by Yiorgos Adamopoulos.  This regression was caused by
the security patch installed 2006-11-20, which in turn came from
Debian, which in turn apparently came from Thomas Biege of SuSe.

17 years ago* configure.ac (for an assembler syntax supported by this package):
Paul Eggert [Fri, 15 Dec 2006 08:28:18 +0000 (08:28 +0000)]
* configure.ac (for an assembler syntax supported by this package):
Remove _match.i.

17 years ago* Makefile.am (MOSTLYCLEANFILES): Add _match.i.
Paul Eggert [Fri, 15 Dec 2006 08:25:02 +0000 (08:25 +0000)]
* Makefile.am (MOSTLYCLEANFILES): Add _match.i.

17 years ago* NEWS, configure.ac (AC_INIT):
Paul Eggert [Fri, 15 Dec 2006 08:18:02 +0000 (08:18 +0000)]
* NEWS, configure.ac (AC_INIT):
Version 1.3.9 released.

* 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.

17 years ago* configure.ac: Use $CPPFLAGS everywhere $CPP is used, and use
Paul Eggert [Thu, 14 Dec 2006 02:12:30 +0000 (02:12 +0000)]
* 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.

17 years ago* configure.ac (ASCPPPOST): Simplify to use just 'sed'.
Paul Eggert [Tue, 12 Dec 2006 00:03:17 +0000 (00:03 +0000)]
* configure.ac (ASCPPPOST): Simplify to use just 'sed'.
* lib/Makefile.am (match.$(OBJEXT)): Check for CPP failure.

2006-12-11  Bruno Haible  <bruno@clisp.org>

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  <eggert@cs.ucla.edu>

17 years agoThe SSIZE_MAX fix didn't work on NSK, so fix it in a more-reliable
Paul Eggert [Mon, 11 Dec 2006 18:54:39 +0000 (18:54 +0000)]
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 <limits.h>.
* util.c: Likewise.
* gzip.h: Don't include <limits.h>.
(INBUFSIZ): Don't worry about SSIZE_MAX here.

17 years ago* NEWS, configure.ac (AC_INIT):
Paul Eggert [Sat, 9 Dec 2006 07:19:57 +0000 (07:19 +0000)]
* NEWS, configure.ac (AC_INIT):
Version 1.3.8 released.

17 years ago* gzexe.in (mktemp_status): New var, used to see whether
Paul Eggert [Sat, 9 Dec 2006 06:58:27 +0000 (06:58 +0000)]
* 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.

17 years ago* zdiff.in: Remove first line containing ":". This follows
Paul Eggert [Sat, 9 Dec 2006 04:25:56 +0000 (04:25 +0000)]
* zdiff.in: Remove first line containing ":".  This follows
up on the SEDCMD fix of 2006-12-01.
* zforce.in: Likewise.
* zgrep.in: Likewise.
* zless.in: Likewise.
* zmore.in: Likewise.
* znew.in: Likewise.

17 years agoFix problems in porting to NSK reported by Matthew Woehlke in
Paul Eggert [Sat, 9 Dec 2006 01:19:52 +0000 (01:19 +0000)]
Fix problems in porting to NSK reported by Matthew Woehlke in
<http://lists.gnu.org/archive/html/bug-gzip/2006-12/msg00025.html> and
<http://lists.gnu.org/archive/html/bug-gzip/2006-12/msg00027.html>.
* gzip.h: Include <limits.h>, for SSIZE_MAX.
(INBUFSIZE): Don't make it any larger than SSIZE_MAX.
Problem reported by Matthew Woehlke in
<http://lists.gnu.org/archive/html/bug-gzip/2006-11/msg00013.html>.
* gzip.c: Don't include <limits.h>, 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.

17 years ago* gzexe.in: Work around FreeBSD shell trap bug.
Paul Eggert [Fri, 8 Dec 2006 18:45:37 +0000 (18:45 +0000)]
* gzexe.in: Work around FreeBSD shell trap bug.
* gzip.1: Fix typo.
* doc/gzip.texi: Likewise.

17 years ago* .cvsignore: Add .deps, gzexe, gzip, zdiff, zforce, zgrep,
Paul Eggert [Fri, 8 Dec 2006 09:32:33 +0000 (09:32 +0000)]
* .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.

17 years ago* configure.ac (for assembler): Set ASFLAGS_config to
Paul Eggert [Fri, 8 Dec 2006 09:30:30 +0000 (09:30 +0000)]
* configure.ac (for assembler): Set ASFLAGS_config to
-Wa,--noexecstack if this seems advisable on this platform.
Problem reported by Mike Frysinger in
<http://lists.gnu.org/archive/html/bug-gzip/2006-12/msg00018.html>.
* lib/Makefile.am (match.$(OBJEXT)): Use ASFLAGS_config.

17 years agoFix typo in comment.
Paul Eggert [Fri, 8 Dec 2006 00:20:33 +0000 (00:20 +0000)]
Fix typo in comment.

17 years ago* Makefile.am (install-exec-hook): Fix bug when installing
Paul Eggert [Fri, 8 Dec 2006 00:08:54 +0000 (00:08 +0000)]
* Makefile.am (install-exec-hook): Fix bug when installing
symbolic links as aliases.  Problem reported by Mike Frysinger.

17 years ago* deflate.c (deflate_fast, deflate): Avoid core dump. Problem
Paul Eggert [Thu, 7 Dec 2006 23:53:00 +0000 (23:53 +0000)]
* deflate.c (deflate_fast, deflate): Avoid core dump.  Problem
originally reported by Jochen Friedrich and trivial patch supplied
by Anthony Towns; see <http://bugs.debian.org/184057>.

17 years agoRegenerte.
Paul Eggert [Thu, 7 Dec 2006 07:55:14 +0000 (07:55 +0000)]
Regenerte.

17 years ago* NEWS, configure.ac (AC_INIT):
Paul Eggert [Thu, 7 Dec 2006 07:51:55 +0000 (07:51 +0000)]
* NEWS, configure.ac (AC_INIT):
Version 1.3.7 released.

2006-12-06  Bruno Haible  <bruno@clisp.org>  (tiny change)

17 years agoFix build failure on case-insensitive file systems.
Paul Eggert [Thu, 7 Dec 2006 07:23:35 +0000 (07:23 +0000)]
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.

17 years ago* NEWS: Document the fixes below.
Paul Eggert [Thu, 7 Dec 2006 06:58:13 +0000 (06:58 +0000)]
* 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.

17 years agoPort to Tandem NSK/OSS, which lacks fchdir. Problem reported by
Paul Eggert [Wed, 6 Dec 2006 04:04:22 +0000 (04:04 +0000)]
Port to Tandem NSK/OSS, which lacks fchdir.  Problem reported by
Matthew Woehlke in
<http://lists.gnu.org/archive/html/bug-gzip/2006-11/msg00013.html>.
* 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.

17 years ago* NEWS: Describe the following change briefly.
Paul Eggert [Tue, 5 Dec 2006 07:45:00 +0000 (07:45 +0000)]
* 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.

17 years ago* .cvsignore: Add *.doc, build-aux.
Paul Eggert [Tue, 5 Dec 2006 07:25:24 +0000 (07:25 +0000)]
* .cvsignore: Add *.doc, build-aux.
* doc/.cvignore: New file.
* lib/.cvsignore: New file.
* m4/.cvsignore: New file.

17 years ago* doc/gzip.texi (Overview): Mention limits of gzip format's
Paul Eggert [Sat, 2 Dec 2006 06:13:03 +0000 (06:13 +0000)]
* doc/gzip.texi (Overview): Mention limits of gzip format's
time stamps.  Also, gzip doesn't always preserve time stamps.

any more (the hosts it caters to are long extinct), and was
questionable anyway since the code assumes the skip= line was line 2.

17 years ago* gzip.c (abort_gzip_signal): Don't call abort () as a "safeguard",
Paul Eggert [Sat, 2 Dec 2006 00:02:44 +0000 (00:02 +0000)]
* gzip.c (abort_gzip_signal): Don't call abort () as a "safeguard",
since it actually causes a core dump.  Problem reported by
Jakub Bogusz.

17 years ago* NEWS: Describe gzexe changes noted below.
Paul Eggert [Fri, 1 Dec 2006 20:52:52 +0000 (20:52 +0000)]
* 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
<http://lists.gnu.org/archive/html/bug-gzip/2006-11/msg00012.html>.

(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.

17 years ago* inflate.c (inflate_dynamic, inflate): Don't send output to
Paul Eggert [Mon, 27 Nov 2006 00:51:37 +0000 (00:51 +0000)]
* inflate.c (inflate_dynamic, inflate): Don't send output to
stderr unless DEBUG is defined and 'verbose'.  Problem reported by
Santiago Vila.

17 years ago* zgrep.in: If the file name contains newline, &, \, or |, escape
Paul Eggert [Sun, 26 Nov 2006 20:48:29 +0000 (20:48 +0000)]
* 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.

17 years ago* gzip.1 (OPTIONS): ouput -> output. Problem reported by Matt
Paul Eggert [Sun, 26 Nov 2006 06:23:40 +0000 (06:23 +0000)]
* gzip.1 (OPTIONS): ouput -> output.  Problem reported by Matt
Taggart.
* vms/gzip.hlp: Likewise.

17 years ago(check-local): Quote $file a bit better.
Paul Eggert [Sun, 26 Nov 2006 06:09:44 +0000 (06:09 +0000)]
(check-local): Quote $file a bit better.

17 years ago* Makefile.am (FILES_TO_CHECK): New macro.
Paul Eggert [Sun, 26 Nov 2006 06:00:49 +0000 (06:00 +0000)]
* 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.

17 years ago* NEWS, configure.ac (AC_INIT):
Paul Eggert [Mon, 20 Nov 2006 08:40:33 +0000 (08:40 +0000)]
* 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.
* deflate.c: Likewise.
* gzip.c: Likewise.
* gzip.h: Likewise.
* inflate.c: Likewise.
* lzw.h: Likewise.
* revision.h: Likewise.
* tailor.h: Likewise.
* trees.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 <dirent.h> if !NO_DIR, removing a rats-nest of
#ifdefs.
Simply include <utimens.h> 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<<TBIT, not to the maximum of NT and NP.
(make_table): Report an error if 1<<tablebits < nextcode.
(read_pt_len): Report an error if 16 < c.
* unpack.c (read_tree): Report an error if the tree has too many
leaves while reading it.  Fix off-by-one error in final check.
* util.c: Include <xalloc.h>, 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 "-".
* 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.

19 years agoUse set -C to close some security holes.
Paul Eggert [Fri, 25 Jun 2004 08:52:44 +0000 (08:52 +0000)]
Use set -C to close some security holes.

19 years agoUse just one temporary, not two.
Paul Eggert [Fri, 25 Jun 2004 08:35:54 +0000 (08:35 +0000)]
Use just one temporary, not two.

21 years agoInitial revision
Paul Eggert [Mon, 30 Sep 2002 22:59:08 +0000 (22:59 +0000)]
Initial revision

21 years agoInitial revision
Paul Eggert [Mon, 30 Sep 2002 09:28:35 +0000 (09:28 +0000)]
Initial revision

21 years agogzip 1.3.5
Paul Eggert [Mon, 30 Sep 2002 09:28:09 +0000 (09:28 +0000)]
gzip 1.3.5

21 years agogzip ChangeLog
Paul Eggert [Mon, 30 Sep 2002 09:20:09 +0000 (09:20 +0000)]
gzip ChangeLog

21 years agogzip 1.3.5
Paul Eggert [Mon, 30 Sep 2002 09:15:02 +0000 (09:15 +0000)]
gzip 1.3.5

21 years agogzip 1.3.5
Paul Eggert [Mon, 30 Sep 2002 08:36:40 +0000 (08:36 +0000)]
gzip 1.3.5

21 years ago(match.$(OBJEXT)): Use .S as extension for $(ASCPP),
Paul Eggert [Mon, 30 Sep 2002 07:27:15 +0000 (07:27 +0000)]
(match.$(OBJEXT)): Use .S as extension for $(ASCPP),
to keep gcc happy.

21 years agogzip 1.3.5
Paul Eggert [Mon, 30 Sep 2002 07:21:35 +0000 (07:21 +0000)]
gzip 1.3.5

21 years agogzip 1.3.5
Paul Eggert [Mon, 30 Sep 2002 06:57:29 +0000 (06:57 +0000)]
gzip 1.3.5

21 years agoInitial revision
Paul Eggert [Sun, 29 Sep 2002 22:46:00 +0000 (22:46 +0000)]
Initial revision

21 years agoUse LESSOPEN, not PAGER.
Paul Eggert [Sun, 29 Sep 2002 07:14:43 +0000 (07:14 +0000)]
Use LESSOPEN, not PAGER.

21 years agoUse shell pattern matching instead of 'expr', which mishandles names
Paul Eggert [Sun, 29 Sep 2002 06:45:28 +0000 (06:45 +0000)]
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.

21 years agogzip 1.3.5
Paul Eggert [Sat, 28 Sep 2002 08:19:37 +0000 (08:19 +0000)]
gzip 1.3.5

21 years agoSet ZMORE_PROGRAM_NAME, so that the usage message makes more sense.
Paul Eggert [Sat, 28 Sep 2002 08:19:37 +0000 (08:19 +0000)]
Set ZMORE_PROGRAM_NAME, so that the usage message makes more sense.

21 years agogzip 1.3.5
Paul Eggert [Sat, 28 Sep 2002 07:38:43 +0000 (07:38 +0000)]
gzip 1.3.5

21 years agoUse "gzip -lv", not "gzip -v". Patch by Ralf Neubauer.
Paul Eggert [Sat, 28 Sep 2002 06:55:01 +0000 (06:55 +0000)]
Use "gzip -lv", not "gzip -v".  Patch by Ralf Neubauer.

21 years agogzip 1.3.5
Paul Eggert [Sat, 28 Sep 2002 06:18:11 +0000 (06:18 +0000)]
gzip 1.3.5

21 years agogzip 1.3.5
Paul Eggert [Sat, 28 Sep 2002 05:53:14 +0000 (05:53 +0000)]
gzip 1.3.5

21 years agogzip 1.3.5
Paul Eggert [Fri, 27 Sep 2002 06:17:09 +0000 (06:17 +0000)]
gzip 1.3.5

21 years agogzip 1.3.5
Paul Eggert [Thu, 26 Sep 2002 08:33:24 +0000 (08:33 +0000)]
gzip 1.3.5

21 years ago(AM_MAKEINFOFLAGS): Add --no-split.
Paul Eggert [Thu, 26 Sep 2002 07:24:57 +0000 (07:24 +0000)]
(AM_MAKEINFOFLAGS): Add --no-split.
(gzip_TEXINFOS): New macro.

21 years agoUpdate to current versions of Autoconf and Automake.
Paul Eggert [Thu, 26 Sep 2002 07:23:45 +0000 (07:23 +0000)]
Update to current versions of Autoconf and Automake.

21 years agogzip 1.3.5
Paul Eggert [Wed, 25 Sep 2002 21:20:13 +0000 (21:20 +0000)]
gzip 1.3.5

21 years agoInitial revision
Paul Eggert [Mon, 2 Sep 2002 15:10:52 +0000 (15:10 +0000)]
Initial revision

22 years agoNow using GNU tools without patches to build.
Paul Eggert [Sat, 9 Mar 2002 00:38:15 +0000 (00:38 +0000)]
Now using GNU tools without patches to build.

22 years ago(install-exec-hook, remove-installed-links): Work even when configured
Paul Eggert [Sat, 9 Mar 2002 00:38:15 +0000 (00:38 +0000)]
(install-exec-hook, remove-installed-links): Work even when configured
with --program-transform-name.

22 years agoInitial revision
Paul Eggert [Tue, 19 Feb 2002 19:34:56 +0000 (19:34 +0000)]
Initial revision

22 years agoThis release built with autoconf 2.52f.
Paul Eggert [Sun, 4 Nov 2001 07:51:30 +0000 (07:51 +0000)]
This release built with autoconf 2.52f.

22 years ago(LN_S): New macro.
Paul Eggert [Sun, 4 Nov 2001 07:50:37 +0000 (07:50 +0000)]
(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.

22 years agoInitial revision
Paul Eggert [Sun, 4 Nov 2001 01:21:33 +0000 (01:21 +0000)]
Initial revision

22 years agoDon't use _AS_PATH_WALK; it's not portable to Autoconf 2.52.
Paul Eggert [Sun, 4 Nov 2001 01:18:43 +0000 (01:18 +0000)]
Don't use _AS_PATH_WALK; it's not portable to Autoconf 2.52.
Clean up the code a bit.

22 years agoUpgrade to latest version submitted to Autoconf-patches.
Paul Eggert [Sun, 4 Nov 2001 00:42:34 +0000 (00:42 +0000)]
Upgrade to latest version submitted to Autoconf-patches.

22 years agogzip 1.3.5
Paul Eggert [Sun, 4 Nov 2001 00:18:01 +0000 (00:18 +0000)]
gzip 1.3.5

22 years agogzip 1.3.5
Paul Eggert [Thu, 18 Oct 2001 19:02:29 +0000 (19:02 +0000)]
gzip 1.3.5

22 years agoVersion submitted to autoconf.
Paul Eggert [Wed, 3 Oct 2001 23:34:51 +0000 (23:34 +0000)]
Version submitted to autoconf.

22 years agogzip 1.3.5
Paul Eggert [Mon, 1 Oct 2001 06:53:41 +0000 (06:53 +0000)]
gzip 1.3.5

22 years ago(ACLOCAL_AMFLAGS): New macro.
Paul Eggert [Wed, 26 Sep 2001 07:13:35 +0000 (07:13 +0000)]
(ACLOCAL_AMFLAGS): New macro.
(ACINCLUDE_INPUTS): Remove all but shell.m4.
($(srcdir)/acinclude.m4): Remove.
(gzip_sources): Add yesno.c.

22 years agoDescribe patches used.
Paul Eggert [Wed, 26 Sep 2001 07:03:00 +0000 (07:03 +0000)]
Describe patches used.