debian/gzip
11 years agoversion 1.5 v1.5
Jim Meyering [Sun, 17 Jun 2012 19:22:23 +0000 (21:22 +0200)]
version 1.5

* NEWS: Record release date.

11 years agobuild: update gnulib for fixed maint.mk
Jim Meyering [Sun, 17 Jun 2012 19:22:07 +0000 (21:22 +0200)]
build: update gnulib for fixed maint.mk

11 years agobuild: update gnulib submodule; bootstrap and init.sh, too
Jim Meyering [Sun, 17 Jun 2012 18:15:06 +0000 (19:15 +0100)]
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).

12 years agodoc: document -rf change
Paul Eggert [Tue, 24 Apr 2012 16:29:28 +0000 (09:29 -0700)]
doc: document -rf change

* NEWS: Document the ZFS fix.

12 years agogzip: remove CLOSEDIR
Paul Eggert [Tue, 24 Apr 2012 16:22:52 +0000 (09:22 -0700)]
gzip: remove CLOSEDIR

* gzip.c (CLOSEDIR): Remove; no longer used.

12 years agogzip: port gzip -rf to ZFS
Paul Eggert [Tue, 24 Apr 2012 16:16:17 +0000 (09:16 -0700)]
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.

12 years agogzip: fix nondeterministic compression results
Paul Eggert [Sun, 18 Mar 2012 18:07:02 +0000 (11:07 -0700)]
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.

12 years agotests: make all test scripts executable; work with automake-1.12
Jim Meyering [Wed, 11 Jan 2012 20:35:41 +0000 (21:35 +0100)]
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.

12 years agobuild: accommodate newer bootstrap from gnulib
Jim Meyering [Wed, 11 Jan 2012 20:31:50 +0000 (21:31 +0100)]
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.

12 years agomaint: update all copyright year number ranges
Jim Meyering [Sun, 1 Jan 2012 08:38:31 +0000 (09:38 +0100)]
maint: update all copyright year number ranges

Run "make update-copyright".

12 years agozless: decompress stdin too, if less 429 or later
Paul Eggert [Thu, 22 Dec 2011 00:11:43 +0000 (16:11 -0800)]
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>.

12 years agobuild: update gnulib submodule to latest
Jim Meyering [Tue, 29 Nov 2011 17:18:55 +0000 (18:18 +0100)]
build: update gnulib submodule to latest

12 years agobuild: accommodate gnulib's new warnings with --enable-gcc-warnings
Jim Meyering [Tue, 29 Nov 2011 17:33:31 +0000 (18:33 +0100)]
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.

12 years agotests: use "compare exp out", not "compare out exp"
Jim Meyering [Tue, 29 Nov 2011 17:14:02 +0000 (18:14 +0100)]
tests: use "compare exp out", not "compare out exp"

Likewise, when an empty file is expected, use "compare /dev/null out",
not "compare out /dev/null". I.e., specify the expected/desired contents
via the first file name.  Prompted by a suggestion from Bruno Haible
in http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020/focus=29154

Run these commands:

    git grep -l -E 'compare [^ ]+ exp' \
      |xargs perl -pi -e 's/\b(compare) (\S+) (exp\S*)/$1 $3 $2/'
    git grep -l -E 'compare [^ ]+ /dev/null' \
      |xargs perl -pi -e 's,\b(compare) (\S+) (/dev/null),$1 $3 $2,'

12 years agobuild: update gnulib submodule to latest
Jim Meyering [Sat, 5 Nov 2011 15:11:42 +0000 (16:11 +0100)]
build: update gnulib submodule to latest

12 years ago* tests/zgrep-signal: Don't assume exit status 141 on PIPE signal.
Paul Eggert [Thu, 3 Nov 2011 00:26:18 +0000 (17:26 -0700)]
* 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>.

12 years ago* tests/zgrep-signal: Use perl instead of a nonportable shell trap.
Paul Eggert [Wed, 2 Nov 2011 21:27:33 +0000 (14:27 -0700)]
* 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>.

12 years ago* tests/zgrep-signal: Test for Fedora 15 signal bug.
Paul Eggert [Wed, 2 Nov 2011 20:38:12 +0000 (13:38 -0700)]
* tests/zgrep-signal: Test for Fedora 15 signal bug.

Also, don't assume that SIGPIPE is SIG_DFL on entry.

12 years agobuild: update gnulib submodule to latest
Jim Meyering [Wed, 2 Nov 2011 17:41:11 +0000 (18:41 +0100)]
build: update gnulib submodule to latest

12 years agotests: mixed: correct size-enumeration logic
Jim Meyering [Sun, 24 Jul 2011 09:43:47 +0000 (11:43 +0200)]
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.

12 years agomaint: avoid "make syntax-check" failure
Jim Meyering [Wed, 2 Nov 2011 17:47:50 +0000 (18:47 +0100)]
maint: avoid "make syntax-check" failure

* gzip.c (treat_stdin): Indent with spaces, not TABs.

12 years ago* gzip.c (treat_stdin): If quiet, be quiet with plain gzip -q.
Paul Eggert [Wed, 2 Nov 2011 17:35:00 +0000 (10:35 -0700)]
* 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>.

12 years agomaint: remove amiga, atari, msdos, nt, os2, vms sub-directories,
Jim Meyering [Wed, 10 Aug 2011 13:49:45 +0000 (15:49 +0200)]
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.

12 years agobuild: use largefile module and update to latest gnulib
Jim Meyering [Wed, 10 Aug 2011 13:40:07 +0000 (15:40 +0200)]
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.

12 years agomaint: update init.sh and bootstrap from gnulib
Jim Meyering [Tue, 12 Jul 2011 10:40:51 +0000 (12:40 +0200)]
maint: update init.sh and bootstrap from gnulib

* bootstrap: Update from gnulib.
* tests/init.sh: Update from gnulib.

12 years agomaint: use gnulib's realloc-gnu and malloc-gnu modules
Jim Meyering [Tue, 12 Jul 2011 10:38:33 +0000 (12:38 +0200)]
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.

12 years agobuild: update gnulib submodule to latest
Jim Meyering [Tue, 12 Jul 2011 10:26:46 +0000 (12:26 +0200)]
build: update gnulib submodule to latest

12 years ago* deflate.c: Export nice_match to assembler.
Paul Eggert [Tue, 21 Jun 2011 17:22:40 +0000 (10:22 -0700)]
* deflate.c: Export nice_match to assembler.

(static_unless_ASMV): New macro.
(nice_match): Use it.

12 years agobuild: fix "make syntax-check"
Jim Meyering [Wed, 8 Jun 2011 20:10:58 +0000 (22:10 +0200)]
build: fix "make syntax-check"

* cfg.mk (_gl_TS_unmarked_extern_vars): Add good_match.

12 years agobuild: avoid link failure: this time on i686 linux
Jim Meyering [Wed, 8 Jun 2011 20:00:15 +0000 (22:00 +0200)]
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.

12 years agobuild: avoid link failure on at least i386-FreeBSD7.2
Jim Meyering [Sat, 14 May 2011 10:56:08 +0000 (12:56 +0200)]
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.

12 years agoavoid new build failure on a system without <crypt.h>
Jim Meyering [Fri, 13 May 2011 10:28:31 +0000 (12:28 +0200)]
avoid new build failure on a system without <crypt.h>

* bits.c: Don't include "crypt.h", now that it's deleted.

12 years agomaint: use gnulib's new readme-release module
Jim Meyering [Fri, 13 May 2011 08:58:24 +0000 (10:58 +0200)]
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.

13 years agobuild: update gnulib submodule to latest
Jim Meyering [Mon, 9 May 2011 10:51:01 +0000 (12:51 +0200)]
build: update gnulib submodule to latest

13 years agomaint: prepare for gnulib's new tight-scope syntax-check rule
Jim Meyering [Mon, 9 May 2011 08:03:57 +0000 (10:03 +0200)]
maint: prepare for gnulib's new tight-scope syntax-check rule

* cfg.mk (_gl_TS_dir): Define.
(_gl_TS_unmarked_extern_vars): Define.

13 years agomaint: declare many variables to be static
Jim Meyering [Mon, 9 May 2011 08:00:25 +0000 (10:00 +0200)]
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.

13 years agomaint: remove crypt.[ch] stubs
Jim Meyering [Mon, 9 May 2011 07:54:16 +0000 (09:54 +0200)]
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.

13 years agomaint: limit scope of several functions
Jim Meyering [Mon, 9 May 2011 07:00:19 +0000 (09:00 +0200)]
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.

13 years agomaint: remove all uses of OF((...)) prototype-hiding macro
Jim Meyering [Mon, 9 May 2011 06:18:52 +0000 (08:18 +0200)]
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.

13 years agomaint: prepare for tight-scope rule: use noinst_HEADERS
Jim Meyering [Mon, 9 May 2011 06:02:49 +0000 (08:02 +0200)]
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).

13 years agomaint: update bootstrap and init.sh from gnulib
Jim Meyering [Thu, 14 Apr 2011 10:01:37 +0000 (12:01 +0200)]
maint: update bootstrap and init.sh from gnulib

* bootstrap: Likewise.
* tests/init.sh: Update from gnulib.

13 years agomaint: note that we'll remove amiga, atari, msdos, nt, os2, vms soon
Jim Meyering [Thu, 14 Apr 2011 09:56:05 +0000 (11:56 +0200)]
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.

13 years agobuild: update gnulib submodule to latest
Jim Meyering [Thu, 14 Apr 2011 07:33:44 +0000 (09:33 +0200)]
build: update gnulib submodule to latest

13 years agomaint: fix typos in vms manual: s/it\nit/\nit/
Jim Meyering [Thu, 14 Apr 2011 09:50:10 +0000 (11:50 +0200)]
maint: fix typos in vms manual: s/it\nit/\nit/

* vms/gzip.hlp: Remove doubled "it".

13 years agomaint: fix typos in comment: s/to to/to/
Jim Meyering [Sun, 10 Apr 2011 07:50:57 +0000 (09:50 +0200)]
maint: fix typos in comment: s/to to/to/

* deflate.c: Remove doubled 'to's.

13 years agomaint: stop using .x-sc_* files to list syntax-check exemptions
Jim Meyering [Sun, 20 Mar 2011 08:53:04 +0000 (09:53 +0100)]
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.

13 years agodoc: correct README-release
Jim Meyering [Fri, 18 Mar 2011 09:21:22 +0000 (10:21 +0100)]
doc: correct README-release

* README-release: Remove mention of -announce mailing list.
Unlike coreutils, gzip does not have its own.

13 years agodoc: update release procedure
Jim Meyering [Fri, 18 Mar 2011 09:18:01 +0000 (10:18 +0100)]
doc: update release procedure

* README-release: Resync from coreutils' file by the same name.

13 years agomaint: update copyright year ranges to include 2011
Jim Meyering [Mon, 3 Jan 2011 21:10:05 +0000 (22:10 +0100)]
maint: update copyright year ranges to include 2011

Run "make update-copyright", so "make syntax-check" works in 2011.

13 years agobuild: update gnulib submodule to latest
Jim Meyering [Mon, 3 Jan 2011 21:07:40 +0000 (22:07 +0100)]
build: update gnulib submodule to latest

13 years agomaint: avoid failure of new test for bindtextdomain
Jim Meyering [Mon, 3 Jan 2011 21:42:41 +0000 (22:42 +0100)]
maint: avoid failure of new test for bindtextdomain

* cfg.mk (local-checks-to-skip): Add sc_bindtextdomain.

13 years agomaint: avoid "make syntax-check" failure due to old-NEWS modification
Jim Meyering [Thu, 2 Dec 2010 10:44:41 +0000 (11:44 +0100)]
maint: avoid "make syntax-check" failure due to old-NEWS modification

* cfg.mk (old_NEWS_hash): Update, to reflect recent NEWS correction.

13 years ago* NEWS: The "gzip -f foo.gz" change occurred in 1.3.13, not 1.3.12
Paul Eggert [Wed, 1 Dec 2010 19:02:04 +0000 (11:02 -0800)]
* NEWS: The "gzip -f foo.gz" change occurred in 1.3.13, not 1.3.12

13 years agozgrep: don't assume traditional behavior with signal numbers
Paul Eggert [Wed, 10 Nov 2010 08:57:49 +0000 (00:57 -0800)]
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).

13 years agozgrep: fix shell portability bug with -f; fix mishandling of "-e -"
Paul Eggert [Tue, 9 Nov 2010 21:17:57 +0000 (13:17 -0800)]
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.

13 years agomaint: fix copyright dates that were munged by a maintenance script
Paul Eggert [Mon, 8 Nov 2010 16:06:15 +0000 (08:06 -0800)]
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.

13 years agomaint: anchor patterns in .gitignore files
Jim Meyering [Sat, 23 Oct 2010 08:24:39 +0000 (10:24 +0200)]
maint: anchor patterns in .gitignore files

* doc/.gitignore: Anchor patterns.
* lib/.gitignore: Likewise.
* m4/.gitignore: Likewise.

13 years agomaint: update bootstrap and init.sh from gnulib
Jim Meyering [Sat, 23 Oct 2010 08:16:21 +0000 (10:16 +0200)]
maint: update bootstrap and init.sh from gnulib

* bootstrap: Update.
* tests/init.sh: Update.

13 years agomaint: update to latest gnulib; use fdutimens, not gl_futimens
Rob Vermaas [Sat, 23 Oct 2010 07:29:18 +0000 (09:29 +0200)]
maint: update to latest gnulib; use fdutimens, not gl_futimens

* gzip.c (copy_stat): Use fdutimens, not gl_futimens.
* gnulib: Update to latest.

13 years agomaint: accommodate stricter syntax-check
Jim Meyering [Sat, 23 Oct 2010 07:42:37 +0000 (09:42 +0200)]
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.

13 years agomaint: make our use of gnulib's init.sh conform
Jim Meyering [Sat, 23 Oct 2010 07:09:44 +0000 (09:09 +0200)]
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.

13 years agomaint: describe policy on copyright year number ranges
Jim Meyering [Sat, 9 Oct 2010 13:25:21 +0000 (15:25 +0200)]
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.

13 years agozgrep: fix parsing of -Eh options
Paul Eggert [Wed, 15 Sep 2010 17:55:19 +0000 (10:55 -0700)]
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>.

13 years agogzip: fix NO_SIZE_CHECK for VMS
Paul Eggert [Tue, 17 Aug 2010 10:05:56 +0000 (03:05 -0700)]
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.

13 years agoalgorithm.doc: mention Internet RFC 1952 and modernize a bit
Paul Eggert [Sun, 15 Aug 2010 23:27:06 +0000 (16:27 -0700)]
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.

13 years agogzip: Use 0x%04x instead of %x when printing 16-bit checksums
Paul Eggert [Sun, 15 Aug 2010 22:50:12 +0000 (15:50 -0700)]
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

13 years agomaint: update bootstrap
Paul Eggert [Tue, 3 Aug 2010 21:17:00 +0000 (14:17 -0700)]
maint: update bootstrap

* bootstrap, bootstrap.conf, tests/init.sh: Merge from gnulib.

13 years agogzip: don't assume C99, and don't assume overlapping memcpy should work
Paul R. Eggert [Mon, 19 Jul 2010 17:22:10 +0000 (10:22 -0700)]
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.

13 years ago* gzip.c (get_method): don't assume size_t can be printed with %u
Paul R. Eggert [Mon, 19 Jul 2010 16:42:05 +0000 (09:42 -0700)]
* gzip.c (get_method): don't assume size_t can be printed with %u

13 years agoMention that gzip -d now handles FHCRC.
Paul Eggert [Sat, 3 Jul 2010 03:54:00 +0000 (20:54 -0700)]
Mention that gzip -d now handles FHCRC.

13 years agoDecode FHCRC flag properly, as per Internet RFC 1952.
Paul Eggert [Sat, 3 Jul 2010 03:41:11 +0000 (20:41 -0700)]
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.

13 years agoDon't assume that sizeof (long) == 4 when computing statistics.
Paul Eggert [Thu, 1 Jul 2010 18:46:56 +0000 (11:46 -0700)]
Don't assume that sizeof (long) == 4 when computing statistics.

* gzip.c (get_method): Don't assume sizeof (long) == 4.
* zip.c (zip): Likewise.

13 years agoUpdate Info-ZIP name and coordinates (thanks to Greg Roelofs).
Paul Eggert [Thu, 1 Jul 2010 17:09:47 +0000 (10:09 -0700)]
Update Info-ZIP name and coordinates (thanks to Greg Roelofs).

13 years ago* doc/gzip.texi (Sample): Fix backslash quoting problem.
Paul Eggert [Tue, 11 May 2010 23:36:20 +0000 (16:36 -0700)]
* 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>.

14 years agobuild: update gnulib submodule to latest
Jim Meyering [Mon, 26 Apr 2010 16:55:22 +0000 (18:55 +0200)]
build: update gnulib submodule to latest

14 years agomaint: remove primos support
Jim Meyering [Mon, 26 Apr 2010 16:52:15 +0000 (18:52 +0200)]
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.

14 years agobuild: include cfg.mk in the distribution tarball
Jim Meyering [Thu, 8 Apr 2010 08:56:17 +0000 (10:56 +0200)]
build: include cfg.mk in the distribution tarball

* Makefile.am (EXTRA_DIST): Add cfg.mk.

14 years agomaint: ignore more built files
Eric Blake [Wed, 7 Apr 2010 13:36:20 +0000 (07:36 -0600)]
maint: ignore more built files

* .gitignore: Add version files.

14 years agotests: help-version: cross-check PATH in tests
Jim Meyering [Wed, 7 Apr 2010 06:30:51 +0000 (08:30 +0200)]
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).

14 years agotests: improve help-version
Jim Meyering [Wed, 7 Apr 2010 06:19:02 +0000 (08:19 +0200)]
tests: improve help-version

* tests/help-version: Use fail_, rather than echo+Exit.

14 years agotests: pull help-version from grep
Jim Meyering [Wed, 7 Apr 2010 06:16:51 +0000 (08:16 +0200)]
tests: pull help-version from grep

14 years agobuild: keep --version strictly up to date
Jim Meyering [Wed, 7 Apr 2010 06:52:09 +0000 (08:52 +0200)]
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.

14 years agotests: (portability) use st, not "status" as variable name
Jim Meyering [Tue, 6 Apr 2010 16:19:42 +0000 (18:19 +0200)]
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.

14 years agotests: s/framework_failure/framework_failure_/
Jim Meyering [Tue, 6 Apr 2010 09:38:29 +0000 (11:38 +0200)]
tests: s/framework_failure/framework_failure_/

14 years agotests: update init.sh from gnulib
Jim Meyering [Tue, 6 Apr 2010 09:36:52 +0000 (11:36 +0200)]
tests: update init.sh from gnulib

* tests/init.sh: Update from gnulib.

14 years agotests: run most tests via tests/Makefile.am
Jim Meyering [Tue, 6 Apr 2010 08:56:16 +0000 (10:56 +0200)]
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.

14 years agotests: skip tests that use grep's -f and -E options, if they don't work
Jim Meyering [Tue, 6 Apr 2010 07:22:54 +0000 (09:22 +0200)]
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_.

14 years agotests: arrange for skip and failure notices to go to stderr, not .log
Jim Meyering [Tue, 6 Apr 2010 07:08:03 +0000 (09:08 +0200)]
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.

14 years agomaint: ignore generated files
Eric Blake [Tue, 6 Apr 2010 16:13:17 +0000 (10:13 -0600)]
maint: ignore generated files

* .gitignore: Ignore recent gnulib additions.

14 years agomaint: update bootstrap
Eric Blake [Tue, 6 Apr 2010 16:00:01 +0000 (10:00 -0600)]
maint: update bootstrap

* bootstrap: Use latest copy from gnulib/build-aux.

14 years agobuild: use gnulib's lib-ignore module
Jim Meyering [Mon, 5 Apr 2010 19:46:23 +0000 (21:46 +0200)]
build: use gnulib's lib-ignore module

* bootstrap.conf (gnulib_modules): Add lib-ignore, in case it helps.
* Makefile.am (AM_LDFLAGS): Define it.

14 years agomaint: let configure-invoked cpp emit diagnostics to config.log
Jim Meyering [Mon, 5 Apr 2010 19:35:07 +0000 (21:35 +0200)]
maint: let configure-invoked cpp emit diagnostics to config.log

* configure.ac: Do not discard CPP's stderr.

14 years agobuild: update gnulib submodule to latest, and adapt
Jim Meyering [Mon, 5 Apr 2010 18:56:19 +0000 (20:56 +0200)]
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.

14 years agouse assembly code matcher when possible
Jim Meyering [Sat, 20 Mar 2010 12:05:58 +0000 (13:05 +0100)]
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.

14 years agodo not use stat.st_mtime of a non-regular file
Jim Meyering [Fri, 19 Mar 2010 17:09:20 +0000 (18:09 +0100)]
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.

14 years agotests: exercise the fix for the decompression data-loss bug
Jim Meyering [Fri, 19 Feb 2010 19:50:09 +0000 (20:50 +0100)]
tests: exercise the fix for the decompression data-loss bug

* tests/null-suffix-clobber: New file.
* Makefile.am (TESTS): Add it.

14 years agogzip: fix a data-loss bug when decompressing with --suffix=''
Jim Meyering [Sat, 20 Feb 2010 10:07:55 +0000 (11:07 +0100)]
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.

14 years agotests: add ---presume-input-tty option, solely for testing
Jim Meyering [Fri, 19 Feb 2010 19:52:04 +0000 (20:52 +0100)]
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.

14 years agodoc: minor adjustment to README-release
Jim Meyering [Sun, 7 Feb 2010 11:24:07 +0000 (12:24 +0100)]
doc: minor adjustment to README-release

* README-release: Tweak description, to sync from coreutils.

14 years agotests: add the help-version sanity tests from coreutils
Jim Meyering [Sun, 7 Feb 2010 11:22:58 +0000 (12:22 +0100)]
tests: add the help-version sanity tests from coreutils

* tests/help-version: New file, from coreutils.
* Makefile.am (TESTS): Add it.