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.
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.
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.
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.
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).
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.
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.
Jim Meyering [Thu, 14 Apr 2011 07:33:44 +0000 (09:33 +0200)]
build: update gnulib submodule to latest
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".
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.
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.
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.
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.
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.
Jim Meyering [Mon, 3 Jan 2011 21:07:40 +0000 (22:07 +0100)]
build: update gnulib submodule to latest
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.
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.
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
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).
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.
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.
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.
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.
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.
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.
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.
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.
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>.
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.
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.
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
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.
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.
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
Paul Eggert [Sat, 3 Jul 2010 03:54:00 +0000 (20:54 -0700)]
Mention that gzip -d now handles FHCRC.
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.
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.
Paul Eggert [Thu, 1 Jul 2010 17:09:47 +0000 (10:09 -0700)]
Update Info-ZIP name and coordinates (thanks to Greg Roelofs).
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>.
Jim Meyering [Mon, 26 Apr 2010 16:55:22 +0000 (18:55 +0200)]
build: update gnulib submodule to latest
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.
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.
Eric Blake [Wed, 7 Apr 2010 13:36:20 +0000 (07:36 -0600)]
maint: ignore more built files
* .gitignore: Add version files.
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).
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.
Jim Meyering [Wed, 7 Apr 2010 06:16:51 +0000 (08:16 +0200)]
tests: pull help-version from grep
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.
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.
Jim Meyering [Tue, 6 Apr 2010 09:38:29 +0000 (11:38 +0200)]
tests: s/framework_failure/framework_failure_/
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.
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.
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_.
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.
Eric Blake [Tue, 6 Apr 2010 16:13:17 +0000 (10:13 -0600)]
maint: ignore generated files
* .gitignore: Ignore recent gnulib additions.
Eric Blake [Tue, 6 Apr 2010 16:00:01 +0000 (10:00 -0600)]
maint: update bootstrap
* bootstrap: Use latest copy from gnulib/build-aux.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Jim Meyering [Sun, 7 Feb 2010 11:21:36 +0000 (12:21 +0100)]
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.
Jim Meyering [Sun, 7 Feb 2010 11:04:22 +0000 (12:04 +0100)]
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.
Jim Meyering [Thu, 4 Feb 2010 07:09:23 +0000 (08:09 +0100)]
tests: add more tests of gzip -cdf
* tests/mixed: Test "gzip -cdf" for a range of small uncompressed files.
Jim Meyering [Wed, 3 Feb 2010 08:36:00 +0000 (09:36 +0100)]
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.
Mark Adler [Wed, 3 Feb 2010 09:11:33 +0000 (10:11 +0100)]
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.
Dmitry V. Levin [Sat, 30 Jan 2010 22:36:35 +0000 (22:36 +0000)]
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.
Jim Meyering [Wed, 3 Feb 2010 08:21:02 +0000 (09:21 +0100)]
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.
Jim Meyering [Wed, 3 Feb 2010 07:53:02 +0000 (08:53 +0100)]
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 : $_'
Dmitry V. Levin [Mon, 1 Feb 2010 21:40:41 +0000 (00:40 +0300)]
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.
Jim Meyering [Tue, 2 Feb 2010 07:19:36 +0000 (08:19 +0100)]
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.
Jim Meyering [Mon, 1 Feb 2010 14:02:34 +0000 (15:02 +0100)]
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.
Jim Meyering [Mon, 1 Feb 2010 12:49:22 +0000 (13:49 +0100)]
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.
Jim Meyering [Mon, 1 Feb 2010 12:34:46 +0000 (13:34 +0100)]
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.
Jim Meyering [Mon, 1 Feb 2010 10:09:14 +0000 (11:09 +0100)]
tests: note that znew-k test depends on length of temp file name
* tests/znew-k: Tweak diagnostic, factor and add a surprising comment.
Jim Meyering [Mon, 1 Feb 2010 09:47:42 +0000 (10:47 +0100)]
build: update gnulib submodule to latest
Dmitry V. Levin [Fri, 29 Jan 2010 16:23:40 +0000 (19:23 +0300)]
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.
Jim Meyering [Wed, 20 Jan 2010 18:34:55 +0000 (19:34 +0100)]
maint: update README-release procedure
* README-release: sync from coreutils.
Jim Meyering [Wed, 20 Jan 2010 16:28:01 +0000 (17:28 +0100)]
post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
Jim Meyering [Wed, 20 Jan 2010 16:24:59 +0000 (17:24 +0100)]
version 1.4
* NEWS: Record release date.
Jim Meyering [Mon, 11 Jan 2010 07:20:52 +0000 (08:20 +0100)]
tests: exercise the segfault fix
* tests/helin-segv: New test.
* Makefile.am (TESTS): Add it.
Jim Meyering [Sun, 10 Jan 2010 16:13:01 +0000 (17:13 +0100)]
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.
Jim Meyering [Wed, 20 Jan 2010 13:38:13 +0000 (14:38 +0100)]
maint: avoid a minor "make syntax-check" failure
* .x-sc_file_system: Exempt NEWS, since it includes a literal
from an old diagnostic.
Jim Meyering [Wed, 20 Jan 2010 13:32:59 +0000 (14:32 +0100)]
maint: remove unused file: README-alpha
* README-alpha: Remove unused file.
Jim Meyering [Wed, 20 Jan 2010 13:19:55 +0000 (14:19 +0100)]
build: update gnulib submodule to latest
Yuxi Zhang [Mon, 11 Jan 2010 17:28:30 +0000 (18:28 +0100)]
gzip -d: use memcpy more often
* inflate.c (inflate_codes): Use memcpy (rather than slower
memcopy-like code) in more cases.
Jim Meyering [Mon, 11 Jan 2010 10:51:13 +0000 (11:51 +0100)]
build: do not override gnulib-provided AM_CFLAGS options
Avoid a warning from automake:
lib/Makefile.am:24: AM_CFLAGS multiply defined in condition TRUE ...
lib/gnulib.mk:30: ... `AM_CFLAGS' previously defined here
lib/Makefile.am:20: `lib/gnulib.mk' included from here
* lib/Makefile.am (AM_CFLAGS): Append $(WARN_CFLAGS) and
$(WERROR_CFLAGS), i.e., use "+=", not "=".
This was introduced via 2009-12-17 commit
0341fc22,
"build: with --enable-gcc-warnings, use -Werror",
but fortunately is not a bug, because the definition
it would have overridden was always empty.
Jim Meyering [Sun, 10 Jan 2010 19:53:10 +0000 (20:53 +0100)]
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
Jim Meyering [Fri, 8 Jan 2010 18:18:37 +0000 (19:18 +0100)]
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.
Jim Meyering [Fri, 8 Jan 2010 10:33:04 +0000 (11:33 +0100)]
build: update gnulib submodule to latest
Jim Meyering [Sun, 3 Jan 2010 17:25:27 +0000 (18:25 +0100)]
maint: record update-copyright options for this package
* cfg.mk: Next time, just run "make update-copyright".
Jim Meyering [Fri, 1 Jan 2010 15:16:21 +0000 (16:16 +0100)]
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
Jim Meyering [Thu, 31 Dec 2009 15:42:41 +0000 (16:42 +0100)]
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.
Jim Meyering [Wed, 30 Dec 2009 16:12:08 +0000 (17:12 +0100)]
build: update gnulib submodule to latest
Jim Meyering [Sun, 20 Dec 2009 18:41:39 +0000 (19:41 +0100)]
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.
Jim Meyering [Sun, 20 Dec 2009 16:41:12 +0000 (17:41 +0100)]
build: add a syntax-check
* cfg.mk (sc_prohibit_obsolete_HAVE_HEADER_H): New rule.