debian/gzip
8 years agofsync output file before closing
Paul Eggert [Tue, 23 Feb 2016 07:21:49 +0000 (23:21 -0800)]
fsync output file before closing

Problem reported by Yanyan Jiang 蒋炎岩 in: http://bugs.gnu.org/22768
* NEWS: Document this.
* bootstrap.conf (gnulib_modules): Add fsync.
* gzip.c (treat_file): Call fsync just before closing the output.
* lib/.gitignore, m4/.gitignore: Add fsync-related gnulib files.

8 years agodoc: correct a diagnostic in man page to match actual
Jason Leschnik [Thu, 21 Jan 2016 04:19:06 +0000 (04:19 +0000)]
doc: correct a diagnostic in man page to match actual

* gzip.1: s/no change/unchanged/
This addresses http://debbugs.gnu.org/22413

8 years agomaint: update copyright year, bootstrap, init.sh
Jim Meyering [Fri, 1 Jan 2016 23:04:08 +0000 (15:04 -0800)]
maint: update copyright year, bootstrap, init.sh

Run "make update-copyright" and then...

* gzip.c: Transform the copyright notice via s/2015/2016/.
* gnulib: Update to latest.
* tests/init.sh: Update from gnulib.
* bootstrap: Likewise.

8 years agomaint: avoid three warnings from the very latest gcc-built-from-git
Jim Meyering [Mon, 2 Nov 2015 05:58:42 +0000 (21:58 -0800)]
maint: avoid three warnings from the very latest gcc-built-from-git

* unzip.c (unzip): Correct two format strings to match the types of the corresponding arguments.
* unlzw.c (unlzw): Cast an "int" to unsigned to match expected type of %x.

8 years agomaint: adjust copyright notices in *.in files to be consistent
Jim Meyering [Mon, 24 Aug 2015 17:08:16 +0000 (10:08 -0700)]
maint: adjust copyright notices in *.in files to be consistent

The copyright year ranges in *.in files were not being updated,
because of a missing ", Inc." suffix.  Add that, run
run "make udpate-copyright", and ensure 2010..2015 year
ranges are covered.
* gunzip.in: Update copyright notice and year ranges.
* gzexe.in: Likewise.
* zcat.in: Likewise.
* zdiff.in: Likewise.
* zforce.in: Likewise.
* zgrep.in: Likewise.
* zless.in: Likewise.
* zmore.in: Likewise.
* znew.in: Likewise.

8 years agobuild: avoid -Wshift-negative-value warning
Jim Meyering [Mon, 24 Aug 2015 16:10:51 +0000 (09:10 -0700)]
build: avoid -Wshift-negative-value warning

Configured with --enable-gcc-warnings, a gcc-6.x build would fail with this:

  gzip.c:118:32: error: left shift of negative value
   #define OFF_T_MIN (~ (off_t) 0 << (sizeof (off_t) * CHAR_BIT - 1))

* gzip.c [OFF_T_MAX]: Define in terms of TYPE_MAXIMUM, not OFF_T_MIN.
[OFF_T_MIN]: Remove now-unused definition.
Include "intprops.h" for definiton of TYPE_MAXIMUM.
* bootstrap.conf (gnulib_modules): Add intprops.

8 years agomaint: remove dead code
Jim Meyering [Wed, 29 Jul 2015 05:31:30 +0000 (22:31 -0700)]
maint: remove dead code

This package has not been compilable with -DCRYPT
since commit v1.4-82-g9d1b943.  Remove final vestiges.
* bits.c (copy_block) [CRYPT]: Remove #ifdef'd code.
* inflate.c (NEXTBYTE) [CRYPT]: Likewise.
Prompted by a report from Flávio Medeiros
that HEADER and T might be used uninitialized.

9 years agogzip: make the GZIP env var obsolescent
Paul Eggert [Mon, 16 Mar 2015 21:25:17 +0000 (14:25 -0700)]
gzip: make the GZIP env var obsolescent

* NEWS, gzip.1:
* doc/gzip.texi (Environment, Tapes): Document this.
* gzip.c (args): Remove static var; no longer needed now that
'main' frees it.  All uses removed.
(ENV_OPTION, shortopts): New constants.
(main): Warn about nontrivial uses of GZIP.  Reject dangerous uses.
* tests/gzip-env: New test case.
* tests/Makefile.am (TESTS): Add it.
* util.c (add_envopt): Create new vector instead of adding to old
one.  Only use changed.

9 years agomaint: adjust to recent gnulib
Paul Eggert [Sat, 14 Mar 2015 01:13:09 +0000 (18:13 -0700)]
maint: adjust to recent gnulib

* doc/.gitignore: Add gendocs_template_min.
* lib/.gitignore: Add assure.h.

9 years agomaint: ensure that --version's copyright date is current
Jim Meyering [Mon, 10 Jun 2013 01:35:47 +0000 (18:35 -0700)]
maint: ensure that --version's copyright date is current

* cfg.mk (sc_gzip_copyright_check): Ensure we keep this copyright
year number up to date.  Reported by Paul Eggert.
* gzip.c (license_msg): Include only the current year number,
as is done in nearly every other program.

9 years agognulib: update to latest
Jim Meyering [Sun, 8 Feb 2015 18:50:07 +0000 (10:50 -0800)]
gnulib: update to latest

9 years agomaint: update copyright year ranges to include 2015; update gnulib
Jim Meyering [Fri, 2 Jan 2015 05:42:13 +0000 (21:42 -0800)]
maint: update copyright year ranges to include 2015; update gnulib

9 years agomaint: move new NEWS entry into block for upcoming release
Jim Meyering [Mon, 10 Nov 2014 19:22:33 +0000 (11:22 -0800)]
maint: move new NEWS entry into block for upcoming release

* NEWS: Move the latest NEWS entry from the block for gzip-1.6
into the block for the upcoming release.

9 years agogzip: adjust -v output when -k is also specified
Paul Eggert [Mon, 10 Nov 2014 19:02:38 +0000 (11:02 -0800)]
gzip: adjust -v output when -k is also specified

Problem reported by Eric Benoit in: http://bugs.gnu.org/16401
* gzip.c (treat_file): When keeping a file, don't say it's replaced.
* NEWS: Document this.
* tests/keep: Test this.

9 years agomaint: enable more syntax checks
Jim Meyering [Tue, 19 Aug 2014 15:59:38 +0000 (08:59 -0700)]
maint: enable more syntax checks

* cfg.mk (local-checks-to-skip): Remove several rule names from this
list, thus enabling the corresponding checks.  To fix some, I made
syntactic changes to source files.  In other cases, I exempted certain
files from the checks.
Add exemptions for these:
  sc_prohibit_atoi_atof = ^(gzip|sample/sub)\.c$$
  sc_space_tab = ^lib/match\.c$$
  sc_useless_cpp_parens = ^(lib/match\.c|tailor\.h)$$
* configure.ac: Add quotes to fix under-quoting.
* deflate.c: Remove unnecessary cpp parentheses.
* tests/Makefile.am (TEST_ENVIRONMENT): Remove space-before-TAB.
* unlzw.c: Change some TABs to spaces.

9 years agomaint: avoid false positive match in check for double semicolon
Jim Meyering [Mon, 10 Nov 2014 15:46:47 +0000 (07:46 -0800)]
maint: avoid false positive match in check for double semicolon

* cfg.mk (exclude_file_name_regexp--sc_prohibit_double_semicolon):
Exempt the file, lib/match.c, from gnulib's new double-semicolon
check.

9 years agognulib+bootstrap: update to latest
Jim Meyering [Mon, 10 Nov 2014 15:16:29 +0000 (07:16 -0800)]
gnulib+bootstrap: update to latest

* gnulib: Update the submodule.
* bootstrap: Update from gnulib.

9 years agotests: use local dir for output
Paul Eggert [Fri, 10 Oct 2014 18:41:25 +0000 (11:41 -0700)]
tests: use local dir for output

Reported by Kiyoshi KANAZAWA in: http://bugs.gnu.org/18679
* tests/unpack-invalid: Use local directory, not /tmp, for output.

9 years agogzip: fix --suffix=z bug (Bug#18239)
Paul Eggert [Sun, 10 Aug 2014 23:29:06 +0000 (16:29 -0700)]
gzip: fix --suffix=z bug (Bug#18239)

* gzip.c (get_suffix): Put --suffix string at the end
of the list of suffixes if it is a suffix of one one them.
* tests/z-suffix: New file.
* tests/Makefile.am (TESTS): Add it.

9 years agozgrep: exit with status 0 if a file matches and there's no trouble
Paul Eggert [Fri, 13 Jun 2014 01:43:08 +0000 (18:43 -0700)]
zgrep: exit with status 0 if a file matches and there's no trouble

Reported by Pavel Raiskup in: http://bugs.gnu.org/17760
* zgrep.in (res): Treat exit status 0 to be greater than 1.
Also, exit immediately on software configuration error.

9 years agodoc: use UTF-8 in the manual
Paul Eggert [Sat, 7 Jun 2014 21:22:39 +0000 (14:22 -0700)]
doc: use UTF-8 in the manual

* doc/gzip.texi: Switch to UTF-8 encoding.  Fix ASCIIisms.
Don't use @sc; plain caps are fine for GNU manuals.

9 years agomaint: update .gitignore files
Paul Eggert [Sat, 7 Jun 2014 21:20:29 +0000 (14:20 -0700)]
maint: update .gitignore files

* lib/.gitignore, m4/.gitignore: Adjust to match current sources.
Also, sort.

9 years agomaint: udpate all copyright notices via "make update-copyright"
Jim Meyering [Sat, 8 Mar 2014 19:41:30 +0000 (11:41 -0800)]
maint: udpate all copyright notices via "make update-copyright"

9 years agomaint: update copyright year range in gzip.texi
Jim Meyering [Sat, 7 Jun 2014 15:40:27 +0000 (08:40 -0700)]
maint: update copyright year range in gzip.texi

* doc/gzip.texi: Update copyright date.

9 years agomaint: update gnulib to latest and adapt streamsavedir usage
Jim Meyering [Sun, 4 May 2014 02:04:12 +0000 (19:04 -0700)]
maint: update gnulib to latest and adapt streamsavedir usage

* gnulib: Update module to latest.
* gzip.c (treat_dir): Gnulib's streamsavedir API has changed:
call it with a new argument, SAVEDIR_SORT_NONE, to retain the
preceding behavior.

10 years agozless: improve gzip failure checking, and port to new -V format
Paul Eggert [Fri, 7 Mar 2014 01:31:25 +0000 (17:31 -0800)]
zless: improve gzip failure checking, and port to new -V format

Problem reported by Jaroslaw Weglinski, and LESSOPEN change
suggested by Mark Nudelman, in: http://bugs.gnu.org/16951
This doesn't fix bug 16951 entirely, as 'less' needs to be changed
too, but it's a start.
* zless.in (check_exit_status): New var.
(LESSOPEN): Use it.
(use_input_pipe_on_stdin): Adjust to output format on Fedora 20,
where 'less -V' outputs "less 458 (POSIX regular expressions)"
on the first line.

10 years agogzip: fix permissions issue on Solaris-like systems
Paul Eggert [Thu, 24 Oct 2013 07:19:56 +0000 (00:19 -0700)]
gzip: fix permissions issue on Solaris-like systems

I.e., on systems that let users give files away.
* gzip.c (do_chown): New function.
(copy_stat): Use it, to change the group, then the permissions,
then the owner.  Idea suggested by Vladimir Marek in
<http://bugs.gnu.org/15672#11>

10 years agoznew: avoid denial-of-service issue
Paul Eggert [Fri, 4 Oct 2013 04:12:09 +0000 (21:12 -0700)]
znew: avoid denial-of-service issue

Reported by Rich Burridge in <http://bugs.gnu.org/15522>.
* znew.in: Rewrite to avoid the need for a temporary file in /tmp.
That way, we avoid the need for set -C
and worrying about denial of service.
Use touch -r and chmod --reference rather than cpmod.
Assume cp -p works, as it's now universal.
Quote 'echo' args better, while we're at it.
(warn, tmp, cpmod, cpmodarg): Remove.
(GZIP): Unset, so that we needn't test for gzip extension.
(ext): Now always '.gz'.
* znew.1: Document the change of implementation assumptions.

10 years agoFix spelling typo in newly-added comment.
Paul Eggert [Wed, 19 Jun 2013 15:51:51 +0000 (08:51 -0700)]
Fix spelling typo in newly-added comment.

10 years agotests: zgrep-signal race condition fix
Paul Eggert [Wed, 19 Jun 2013 15:46:29 +0000 (08:46 -0700)]
tests: zgrep-signal race condition fix

* tests/zgrep-signal: Check that Perl supports dup2.
(exec_with_SIGPIPE_SIGDFL): Remove.
(write_to_dangling_pipe): Simplify by moving more of it into Perl.
Fix race condition, where subcommand writes to a pipe before the ":"
command exits.  Problem reported by Thorsten Glaser in
<http://lists.gnu.org/archive/html/bug-gzip/2013-06/msg00028.html>.

10 years agozgrep: usage should say which grep options are not supported
Paul Eggert [Wed, 12 Jun 2013 18:42:34 +0000 (11:42 -0700)]
zgrep: usage should say which grep options are not supported

* zgrep.in (usage): Document which grep options are not supported.
Problem reported by Liron Paryente in
<http://lists.gnu.org/archive/html/bug-grep/2013-06/msg00005.html>.

10 years agogzip: port util.c to Compaq C V6.5-303
Paul Eggert [Wed, 12 Jun 2013 03:34:06 +0000 (20:34 -0700)]
gzip: port util.c to Compaq C V6.5-303

* util.c (crc_32_tab): Move definition to front, since this
compiler doesn't allow declarations of static arrays with
incomplete types.  Problem reported by Steven M. Schweda in
<http://lists.gnu.org/archive/html/bug-gzip/2013-06/msg00010.html>.

10 years agotests: zgrep-context assumes grep knows context
Paul Eggert [Wed, 12 Jun 2013 03:23:28 +0000 (20:23 -0700)]
tests: zgrep-context assumes grep knows context

* tests/Makefile.am (TESTS_ENVIRONMENT): Pass GREP too.
* tests/zgrep-context: Check that the underlying grep supports
context options.  Problem reported by Steven M. Schweda in
<http://lists.gnu.org/archive/html/bug-gzip/2013-06/msg00010.html>.

10 years agodoc: zgrep exit status, unsupported options
Paul Eggert [Wed, 12 Jun 2013 02:43:21 +0000 (19:43 -0700)]
doc: zgrep exit status, unsupported options

* zgrep.1 (EXIT STATUS, BUGS): New sections.
Problem reported by Bdale Garbee in
<http://lists.gnu.org/archive/html/bug-gzip/2013-06/msg00007.html>.

10 years agomaint: port to platforms lacking SIGPIPE
Paul Eggert [Wed, 12 Jun 2013 00:53:53 +0000 (17:53 -0700)]
maint: port to platforms lacking SIGPIPE

* tailor.h (SIGPIPE): Define to 0 if not defined.  This fixes a
porting bug introduced as part of 2012-11-16 syntax-check cleanup.
Problem reported by Bdale Garbee in
<http://lists.gnu.org/archive/html/bug-gzip/2013-06/msg00006.html>.

10 years agomaint: post-release administrivia
Jim Meyering [Sun, 9 Jun 2013 23:03:21 +0000 (16:03 -0700)]
maint: post-release administrivia

* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.

10 years agoversion 1.6 v1.6
Jim Meyering [Sun, 9 Jun 2013 23:00:41 +0000 (16:00 -0700)]
version 1.6

* NEWS: Record release date.

10 years agobuild: avoid automake warning that suggests use of subdir-objects
Jim Meyering [Sun, 9 Jun 2013 22:32:35 +0000 (15:32 -0700)]
build: avoid automake warning that suggests use of subdir-objects

* configure.ac (AM_INIT_AUTOMAKE): Use the subdir-objects option.

10 years agobuild: avoid warning about deprecated use of automake's ACLOCAL_AMFLAGS
Jim Meyering [Sun, 9 Jun 2013 22:28:28 +0000 (15:28 -0700)]
build: avoid warning about deprecated use of automake's ACLOCAL_AMFLAGS

* Makefile.am (ACLOCAL_AMFLAGS): Don't use this deprecated variable.
* configure.ac: Do this instead: AC_CONFIG_MACRO_DIR([m4]).

10 years agobuild: use more portable shell syntax in search of working shell
Jim Meyering [Sun, 9 Jun 2013 22:16:53 +0000 (15:16 -0700)]
build: use more portable shell syntax in search of working shell

* m4/shell.m4: Adjust sh/case syntax not to evoke a syntax
error from Solaris 10's /bin/sh.

10 years agobuild: update gnulib to latest, and bootstrap
Jim Meyering [Sun, 9 Jun 2013 20:37:48 +0000 (13:37 -0700)]
build: update gnulib to latest, and bootstrap

10 years agotests: exercise the new --keep option
Jim Meyering [Sun, 26 May 2013 18:52:17 +0000 (11:52 -0700)]
tests: exercise the new --keep option

* tests/keep: New file.
* tests/Makefile.am (TESTS): Add it.

10 years agogzip: add "--keep" option to retain (don't delete) input files
Rodrigo Campos [Mon, 1 Apr 2013 01:53:31 +0000 (22:53 -0300)]
gzip: add "--keep" option to retain (don't delete) input files

gzip now accepts the --keep (-k) option, for consistency with tools
like xz, lzip and bzip2.  With this option, gzip no longer removes
named input files when compressing and decompressing.
* doc/gzip.texi: Document it.
* gzip.1: Likewise.
* gunzip.in: Likewise.
* NEWS: Likewise.
* gzip.c: Add support for "--keep".

11 years agotests: redo patch for non-GNU gzip installed in /usr/local/bin
Paul Eggert [Mon, 15 Apr 2013 18:03:38 +0000 (11:03 -0700)]
tests: redo patch for non-GNU gzip installed in /usr/local/bin

Problem with previous patch reported by Antonio Diaz Diaz in
<http://lists.gnu.org/archive/html/bug-gzip/2013-04/msg00011.html>.
* tests/help-version (gunzip_setuphelp, gzexe_setuphelp)
(zcat_setuphelp, zcmp_setuphelp, zdiff_setuphelp)
(zegrep_setuphelp, zfgrep_setuphelp, zforce_setuphelp)
(zgrep_setuphelp, zless_setuphelp, zmore_setuphelp)
(znew_setuphelp): New functions, used when testing even --help.
(zdiff_setup, zcat_setup, znew_setup, zgrep_setup, gzexe_setup):
Use gzip_setuphelp to set --__bindir.

11 years agotests: work even if non-GNU gzip is installed in /usr/local/bin
Paul Eggert [Wed, 10 Apr 2013 22:26:47 +0000 (15:26 -0700)]
tests: work even if non-GNU gzip is installed in /usr/local/bin

Problem reported by Antonio Diaz Diaz in
<http://lists.gnu.org/archive/html/bug-gzip/2013-04/msg00004.html>.
* tests/help-version (zdiff_setup, zcat_setup, znew_setup, zgrep_setup)
(gzexe_setup): Pass --__bindir so that subsidiary programs are our
own's, not /usr/local/bin's.  This requires using 'eval' on the result.
(zcmp_setup, gunzip_setup, zmore_setup, zless_setup, zforce_setup)
(zegrep_setup, zfgrep_setup): Invoke one of the other setup functions,
to make the patterns more obvious and simplify future maintenance.
* zcmp.in, zegrep.in, zfgrep.in: Pass __bindir to subsidiary program.

11 years agomaint: adjust to Gnulib, Automake changes
Paul Eggert [Wed, 10 Apr 2013 21:22:31 +0000 (14:22 -0700)]
maint: adjust to Gnulib, Automake changes

* .gitignore: Add *.trs.
* lib/.gitignore: Add unused-parameter.h.

11 years agotests: port to Solaris 10 /bin/sh
Paul Eggert [Wed, 10 Apr 2013 21:21:31 +0000 (14:21 -0700)]
tests: port to Solaris 10 /bin/sh

* tests/Makefile.am (TESTS_ENVIRONMENT):
Use "FOO=val; export FOO" rather than "export FOO=val",
as the latter form doesn't work with Solaris /bin/sh.

11 years agogzip: port to DMF file systems
Paul Eggert [Mon, 25 Feb 2013 19:24:14 +0000 (11:24 -0800)]
gzip: port to DMF file systems

* util.c (read_buffer): When reading a file with O_NONBLOCK, if
the read fails with errno==EAGAIN, clear O_NONBLOCK and try again.
Problem reported by Vitezslav Cizek in
<http://lists.gnu.org/archive/html/bug-gzip/2013-02/msg00030.html>.

11 years agogzip: fix bug where you say "n" and gzip acts as if you said "y"
Paul Eggert [Tue, 5 Feb 2013 21:37:40 +0000 (13:37 -0800)]
gzip: fix bug where you say "n" and gzip acts as if you said "y"

Problem reported for GCC 4.7 x86-64 -O2 by Allan McRae in
<http://lists.gnu.org/archive/html/bug-gzip/2013-02/msg00000.html>.
* NEWS: Document this.  Use consistent format in earlier note.
* gzip.c: Include yesno.h.
* gzip.h (yesno): Remove decl; that's yesno.h's job.

11 years agomaint: adjust to Gnulib changes
Paul Eggert [Sun, 6 Jan 2013 15:58:30 +0000 (07:58 -0800)]
maint: adjust to Gnulib changes

* lib/.gitignore: Add glthread, math.c, unistd.c, wctype-h.c.
* m4/.gitignore: Remove inline.m4.

11 years agomaint: update all copyright year number ranges
Jim Meyering [Fri, 4 Jan 2013 11:05:02 +0000 (12:05 +0100)]
maint: update all copyright year number ranges

Run "make update-copyright".

11 years agobuild: update gnulib submodule to latest
Jim Meyering [Fri, 4 Jan 2013 11:02:07 +0000 (12:02 +0100)]
build: update gnulib submodule to latest

11 years agodiagnose unexpected EOF and zero lengths in packed data
Paul Eggert [Sat, 8 Dec 2012 18:45:18 +0000 (10:45 -0800)]
diagnose unexpected EOF and zero lengths in packed data

Problem reported by Aki Helin.
* NEWS: Mention Aki's reports.
* tests/unpack-invalid: New file,
with test data suggested by Aki.
* tests/Makefile.am (TESTS): Add it.
* unpack.c (read_byte): New function.
(look_bits, read_tree): Use it.
(read_tree): Check against zero bit length Huffman code.

11 years agogzip: diagnose invalid code in packed data
Paul Eggert [Fri, 16 Nov 2012 22:05:34 +0000 (14:05 -0800)]
gzip: diagnose invalid code in packed data

* unpack.c (unpack): When encountering a code out of range, report
it and fail rather than charging ahead with randomish output.
Problem reported by Aki Helin.

11 years agomaint: avoid new syntax-check failures
Jim Meyering [Sat, 17 Nov 2012 05:37:19 +0000 (21:37 -0800)]
maint: avoid new syntax-check failures

* cfg.mk (_gl_TS_unmarked_extern_vars): Append nice_match, to avoid
false-positive syntax-check failure on i686.
* gzip.c (SIGPIPE): Remove definition.  Now always provided via gnulib.
* lib/.gitignore: xsize.c, added by gnulib-tool.

11 years agogzip: fix debugging/porting typo
Paul Eggert [Fri, 16 Nov 2012 21:09:39 +0000 (13:09 -0800)]
gzip: fix debugging/porting typo

* unlzw.c (unlzw) [DEBUG]: Don't assume 'long' can be printed with %d.

11 years agomaint: merge build improvements from coreutils
Paul Eggert [Fri, 16 Nov 2012 19:44:06 +0000 (11:44 -0800)]
maint: merge build improvements from coreutils

* configure.ac: Invoke gl_ASSERT_NO_GNULIB_POSIXCHECK.
(--enable-gcc-warnings): Change help message.
(gl_GCC_VERSION_IFELSE): New macro.
Do not omit -Wunused-macros for main code.
Adjust other -W options as per coreutils.
* lib/Makefile.am (AM_CFLAGS): Use GNULIB_WARN_CFLAGS, not WARN_CFLAGS.
* unlzw.c (REGISTERS, REG1, REG2, ..., REG16): Remove.
All uses removed.  These provoked -Wunused-macros warnings.
This sort of fiddling with registers hasn't been needed for years.

11 years agobuild: update gnulib submodule to latest
Paul Eggert [Fri, 16 Nov 2012 19:07:01 +0000 (11:07 -0800)]
build: update gnulib submodule to latest

11 years agomaint: port to platforms lacking SIGPIPE
Paul Eggert [Fri, 16 Nov 2012 19:02:42 +0000 (11:02 -0800)]
maint: port to platforms lacking SIGPIPE

* gzip.c (SIGPIPE): Define to 0 if not already defined.

11 years agodoc: bring up to date and fix troff typos
Paul Eggert [Fri, 16 Nov 2012 18:54:23 +0000 (10:54 -0800)]
doc: bring up to date and fix troff typos

* doc/gzip.texi (Overview): Update RFC URLs.
* gzip.1: Likewise.  Don't say "SEE ALSO" to programs that almost
nobody has installed anymore.
* gzip.1, zmore.1: Fix some troff typos.
* zdiff.1: Clarify what happens with input files.  Don't talk
about temporary file names, as they're rarely used these days.

11 years agotests: exercise the grep -e portability fix
Paul Eggert [Wed, 24 Oct 2012 22:37:01 +0000 (15:37 -0700)]
tests: exercise the grep -e portability fix

Remove workaround for Solaris, since the bug should be fixed now.
Suggested by Petr Sumbera in
<http://lists.gnu.org/archive/html/bug-gzip/2012-10/msg00005.html>.
* tests/zgrep-context, tests/zgrep-f: All uses removed.
* tests/init.cfg (require_POSIX_grep_): Remove.

11 years agobuild: default to --enable-gcc-warnings in a git tree
Eric Blake [Tue, 23 Oct 2012 09:06:11 +0000 (11:06 +0200)]
build: default to --enable-gcc-warnings in a git tree

Anyone building from cloned sources can be assumed to have a new
enough environment, such that enabling gcc warnings by default will
be useful.  Tarballs still default to no warnings, and the default
can still be overridden with --disable-gcc-warnings.
* configure.ac (gl_gcc_warnings): Set default based on environment.

11 years agozgrep: do not assume standard 'grep' has -e
Paul Eggert [Sun, 21 Oct 2012 06:15:26 +0000 (23:15 -0700)]
zgrep: do not assume standard 'grep' has -e

On Solaris 11, /usr/bin/grep -e does not work.
Problem reported by Petr Sumbera in
<http://lists.gnu.org/archive/html/bug-gzip/2012-10/msg00003.html>.
* Makefile.am (.in): Substitute @GREP@.
* configure.ac (AC_PROG_GREP): Invoke.
* zgrep.in (grep): Use @GREP@.

11 years agozgrep: do not assume GNU expr
Paul Eggert [Wed, 15 Aug 2012 03:43:16 +0000 (20:43 -0700)]
zgrep: do not assume GNU expr

* zgrep.in: Do not assume '\+' has the GNU behavior in the BRE
given to 'expr', as POSIX does not guarantee that.  Come to think
of it, use a shell pattern rather than 'expr', as this is more
efficient.

11 years agotests: exercise the just-fixed part of zgrep
Jim Meyering [Tue, 7 Aug 2012 16:29:14 +0000 (18:29 +0200)]
tests: exercise the just-fixed part of zgrep

* tests/zgrep-context: New file.
* tests/Makefile.am (TESTS): Add it.

11 years agozgrep: handle a multi-digit context option like -15
Jim Meyering [Tue, 7 Aug 2012 08:21:55 +0000 (10:21 +0200)]
zgrep: handle a multi-digit context option like -15

* zgrep.in: Do not malfunction when given an option like -15.
Before, it could end up treating the pattern as a file name:

  $ echo x | gzip | zgrep -15 x
  gzip: x.gz: No such file or directory

* NEWS (Bug fixes): Mention it.
Reported by Dan Bloch via Thomas Bushnell in
https://bugs.launchpad.net/bugs/1032831

11 years agobuild: update gnulib, bootstrap and init.sh
Jim Meyering [Tue, 7 Aug 2012 07:45:19 +0000 (09:45 +0200)]
build: update gnulib, bootstrap and init.sh

11 years agomaint: fix misspellings in old ChangeLog and NEWS
Jim Meyering [Mon, 9 Jul 2012 12:00:07 +0000 (14:00 +0200)]
maint: fix misspellings in old ChangeLog and NEWS

* ChangeLog-2007: s/Supress/Suppress/
* NEWS: Likewise.
* cfg.mk (old_NEWS_hash): Update to match typo fix.

11 years agozmore: rewrite to fix bugs and assume POSIX
Paul Eggert [Wed, 20 Jun 2012 00:22:52 +0000 (17:22 -0700)]
zmore: rewrite to fix bugs and assume POSIX

Problem reported for Solaris 9 by Daniel in
<http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00007.html>.
Rather than figure out what exactly went wrong in Solaris 9
it was easier to rip out all the buggy compatibility and stty cruft.
* zmore.in: Don't use stty or trap; simply pipe the output to 'more'
and let it deal with signals and terminal control.
Use printf, not 'echo', to avoid problems with backslashes.
Don't assume ANS is not 's' in the environment.
Use a 'more'-style header instead of rolling our own style.
Paginate the header, too; the old behavior lost the header.
* NEWS, zmore.1: Document this.

11 years agomaint: add .mailmap
Jim Meyering [Sun, 17 Jun 2012 20:22:33 +0000 (22:22 +0200)]
maint: add .mailmap

* .mailmap: New file.  Unify two spellings of Paul's name,
to make git log output slightly cleaner.

11 years agomaint: post-release administrivia
Jim Meyering [Sun, 17 Jun 2012 19:27:37 +0000 (21:27 +0200)]
maint: post-release administrivia

* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.

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.