~ubuntu-branches/ubuntu/precise/gzip/precise

1.1.3 by Bdale Garbee
Import upstream version 1.4
1
2007-11-25  Paul Eggert  <eggert@cs.ucla.edu>
2
3
	* lib/.cvsignore: Update to match current gnulib.
4
	* m4/.cvsignore: Likewise.
5
6
	* gzip.c (handled_sig): Move out of install_signal_handlers, and
7
	move previous to all uses of SIGPIPE, to fix a bug encountered when
8
	porting to mingw32.  Reported by Robert Millan in
9
	<http://lists.gnu.org/archive/html/bug-gzip/2007-11/msg00007.html>.
10
11
2007-10-04  Paul Eggert  <eggert@cs.ucla.edu>
12
13
	* doc/gzip.texi: Adjust to new fdl.texi format, in gnulib.
14
15
	* Makefile.am (gzip.doc.gz, check-local): Depend on $(bin_PROGRAMS).
16
	(gzip.doc.gz): Use our gzip, not the system-installed one.
17
	Problem reported by Chris Staub in
18
	<http://lists.gnu.org/archive/html/bug-gzip/2007-10/msg00000.html>.
19
20
2007-07-03  Paul Eggert  <eggert@cs.ucla.edu>
21
22
	* COPYING: Update to GPLv3.  All uses changed.
23
24
2007-06-13  Paul Eggert  <eggert@cs.ucla.edu>
25
26
	* zless.1: Fix some troff typos mentioned in the latest Debian patch.
27
	Also, give a workaround for the pipe problem.
28
29
	* gzip.c (copy_stat): Adjust to gnulib's renaming of futimens to
30
	gl_futimens.
31
32
2007-06-04  Paul Eggert  <eggert@cs.ucla.edu>
33
34
	* gzip.c (get_method): Fix typo: "a a" -> "a" in diagnostic.  Reported
35
	by Justin Pryzby in Debian bug 426965 <http://bugs.debian.org/426965>.
36
37
2007-05-07  Paul Eggert  <eggert@cs.ucla.edu>
38
39
	* NEWS: 'gzip -f foo.gz' now works instead of complaining.
40
	* gzip.c (make_ofname): Implement this.
41
	Problem reported by Sven Hartrumpf in
42
	<http://lists.gnu.org/archive/html/bug-gzip/2007-05/msg00003.html>.
43
44
	* NEWS, gzip.1: Document that case is ignored when looking at file name
45
	extensions.
46
	* doc/gzip.texi (Overview): Likewise.
47
48
2007-05-04  Paul Eggert  <eggert@cs.ucla.edu>
49
50
	* Makefile.am (.in): Substitute @bindir@, not BINDIR, for
51
	consistency with other substitutions.
52
	(check-local): Use --__bindir . rather than setting GZIP_BINDIR=.,
53
	to allay security concerns voiced by Joerg Lehners in
54
	<http://lists.gnu.org/archive/html/bug-gzip/2007-04/msg00003.html>.
55
	* gunzip.in, gzexe.in, zcat.in, zcmp.in, zdiff.in, zegrep.in, zfgrep.in:
56
	* zforce.in, zgrep.in, zless.in, zmore.in, znew.in:
57
	Support --__bindir rather than GZIP_BINDIR.
58
59
	* gunzip.in, zcat.in, zcmp.in: Support --help and --version
60
	directly, to avoid some confusion in help and version output.
61
	Problem reported by Eric Blake in
62
	<http://lists.gnu.org/archive/html/bug-gzip/2007-04/msg00006.html>.
63
64
2007-04-28  Paul Eggert  <eggert@cs.ucla.edu>
65
66
	* m4/shell.m4 (AC_PROG_SHELL): Check for old-fashioned shells that
67
	don't allow "(" in front of case labels.  Problem reported by midair
68
	in <http://lists.gnu.org/archive/html/bug-gzip/2007-04/msg00004.html>.
69
	Also, check for buggy shells that require ";;" before "esac".
70
71
2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
72
73
	* NEWS: Version 1.3.12 released.
74
	* configure.ac (AC_INIT): Likewise.
75
76
	* README: Update year in copyright notice.
77
	* m4/shell.m4: Add copyright notice.
78
79
	* bootstrap (gnulib_tool_option_extras): Put this back; it was
80
	inadvertently omitted from gnulib.
81
	(gnulib_tool_option): Use it.
82
	* .cvsignore: Add *._bootmp*.
83
	* lib/.cvsignore: Add stdlib.h, stdlib_.h, time.h, time_.h, unistd.h.
84
	Remove alloca.c, alloca.h, alloca_.h, exit.h, getdelim.c, getdelim.h,
85
	getline.c, getline.h, malloc.c, mbchar.c, mbchar.h, mbuiter.h, memchr.c,
86
	regcomp.c, regex.c, regex.h, regex_internal.c, regex_internal.h,
87
	regexec.c, rpmatch.c, stdint.h, stdint_.h, strcase.h, strcasecmp.c,
88
	strncasecmp.c, strnlen1.c, strnlen1.h, timespec.h, wcwidth.h.
89
	* m4/.cvsignore: Add stdlib_h.m4, time_h.m4.
90
	Remove alloca.m4, codeset.m4, getdelim.m4, getline.m4,
91
	longlong.m4, mbchar.m4, mbiter.m4, mbrtowc.m4, memchr.m4, regex.m4,
92
	rpmatch.m4, ssize_t.m4, stdint.m4 strcase.m4, timespec.m4, ulonglong.m4,
93
	wchar_t.m4, wcwidth.m4, wint_t.m4.
94
95
2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
96
97
	* znew.in (tmp): Use $TMPDIR as temp directory, if given.
98
	Suggested by Juan Manuel Guerrero.
99
100
2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
101
102
	* README-hacking: New file, renamed from README-cvs.
103
	* README-cvs: Remove.
104
	* bootstrap: Sync from today's gnulib.
105
	* bootstrap.conf (gnulib_modules): Add 'time'.
106
	* gzip.c: Don't include timespec.h; 'time' fixes time.h for that.
107
	* zip.c: Likewise.
108
	* gzip.c: Don't include time.h or sys/time.h; gzip.h now includes
109
	time.h, which is now enough.
110
	* gzip.h: Include <time.h>.
111
112
2007-03-14  Paul Eggert  <eggert@cs.ucla.edu>
113
114
	* README (WARNING): Reword to avoid mention of no-longer-existing
115
	section in INSTALL file.  Problem reported by Paul Townsend in
116
	<http://lists.gnu.org/archive/html/bug-gzip/2007-03/msg00000.html>.
117
118
2007-02-11  Paul Eggert  <eggert@cs.ucla.edu>
119
120
	* gzip.c (foreground): Initialize to zero.  This doesn't fix a bug
121
	since C guarantees it's zero, but it's more consistent with the
122
	rest of the code.  Problem reported by Mark Adler.
123
124
2007-02-08  Paul Eggert  <eggert@cs.ucla.edu>
125
126
	* zdiff.in: Don't use '((' in a shell script, as it's not portable
127
	to some ksh implementations, e.g., Solaris 10 ksh M-11/16/88i.
128
	Problem reported by Nelson H. F. Beebe in
129
	<http://lists.gnu.org/archive/html/bug-gzip/2007-02/msg00005.html>.
130
131
2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
132
133
	* NEWS: Version 1.3.11 released.
134
	* configure.ac (AC_INIT): Likewise.
135
136
	* doc/gzip.texi: Convert Texinfo format into a more modern style.
137
	Put in current output samples.
138
139
	* .cvsignore: Add *.gz, gunzip, zcat, zcmp, zegrep, zfgrep.
140
	* lib/.cvsignore: Add sys_time_.h, unistd_.h.
141
	* m4/.cvsignore: Add gnulib-common.m4, sys_time_h.m4.
142
143
	* gunzip.in, zcat.in, zcmp.in, zegrep.in, zfgrep.in: New files.
144
	* Makefile.am (EXTRA_DIST): Add them.
145
	(bin_SCRIPTS, MOSTLYCLEANFILES): Add gunzip, zcat, zcmp, zdgrep, zfgrep.
146
	(.in): Use GZIP_BINDIR as the location of gzip binaries, if it is set.
147
	(check-local): Use GZIP_BINDIR.
148
	(install-exec-hook, remove-installed-links): Make 'uncompress' an
149
	alias for gunzip.
150
	* gzexe.1: At least one arg is required.  Don't give cat as an
151
	example, since gzexe refuses to compress cat due to a bootstrapping
152
	issue.  List more utilities in this category.
153
	* gzexe.in, zdiff.in, zforce.in, zgrep.in, zless.in, zmore.in, znew.in:
154
	Report our name in usage.
155
	* gzexe.in: Don't compress bash.  Don't use rmdir, so it's
156
	OK to compress rmdir.
157
	* gzip.c: Now requires that you compile with -DGNU_STANDARD=0 to
158
	get non GNU-standard behavior.  We now build with GNU-standard
159
	behavior by default, so that programs do not depend on the names
160
	of their executables.
161
	* zdiff.in: Don't depend on the name of the executable, as per
162
	GNU standard.  Instead, rely on an internal --__cmp option.
163
	Support ' in options.  Check for failures in subsidiary gzip
164
	invocations.
165
	* zgrep.1: Clarify compression issues.
166
	* zgrep.in: Don't assume POSIX-style case syntax.  Remove unused var
167
	have_optarg.
168
	* zless.1: zless sets LESSMETACHARS now.
169
170
2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
171
172
	* m4/shell.m4 (AC_PROG_SHELL): Test that $(...) works.
173
	Problem reported for SGI IRIX 6 by Nelson H. F. Beebe in
174
	<http://lists.gnu.org/archive/html/bug-gzip/2007-01/msg00007.html>.
175
176
2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
177
178
	* zdiff.in (cmp0): New var.
179
	Rewrite test for /dev/fd/3 to detect bugs in Solaris 8
180
	/bin/bash 2.03.  Problem reported by Nelson H. F. Beebe in
181
	<http://lists.gnu.org/archive/html/bug-gzip/2007-01/msg00001.html>.
182
	Avoid "for file; do", which doesn't work with Solaris 8 /bin/sh.
183
184
2007-01-03  Paul Eggert  <eggert@cs.ucla.edu>
185
186
	* zdiff.in: Test /dev//fd/3, not /dev/fd/3, to work around a problem
187
	with Tru64 4.0F ksh M-11/16/88f reported by Thomas Koutcher in
188
	<http://lists.gnu.org/archive/html/bug-gzip/2007-01/msg00000.html>.
189
190
2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
191
192
	* NEWS: Version 1.3.10 released.
193
	* configure.ac (AC_INIT): Likewise.
194
195
	* Makefile.am (check-local): Don't assume $(srcdir) is '.'.
196
	(MAINTAINERCLEANFILES): Move gzip.doc.gz from here ...
197
	(MOSTLYCLEANFILES): ... to here.
198
199
2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
200
201
	* zless.in: Work around a bug in less 394 and earlier; it
202
	mishandles $%=~ in file names.  Problem reported by
203
	Sami Liedes in <http://bugs.debian.org/383358>.
204
205
	* doc/gzip.texi: Swap order of dircategory entries, to pacify
206
	Debian install-info 1.10.28.  This should fix
207
	<http://bugs.debian.org/404048>.
208
209
	* zgrep.in (version): Fix bug: $grep wasn't evaluated.
210
211
	* zgrep.in: Rewrite to make the option processing more
212
	compatible with GNU and POSIX grep.  Assume POSIX shell
213
	for more stuff, since we're already assuming that.
214
	* Makefile.am (check-local): Check zgrep -iV.
215
216
2006-12-26  Paul Eggert  <eggert@cs.ucla.edu>
217
218
	Fix Debian bug 367673 <http://bugs.debian.org/367673> plus several
219
	other bugs discovered in the neighborhood.
220
	* NEWS: gzip -q now exits with status 2 (not 1) on SIGPIPE.
221
	zgrep has many bugs fixed with argument handling, special characters,
222
	and exit status.
223
	* gzip.c (abort_gzip_signal): Implement gzip -q change.
224
	* zgrep.in: Implement zgrep change.
225
226
2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
227
228
	* NEWS: Fix bug reported by Martin Mares in
229
	<http://bugs.debian.org/177942>.
230
	* gzip.c (treat_stdin): Remove NO_STDIN_FSTAT and NO_PIPE_TIMESTAMP
231
	stuff.  It didn't work (led to syntax errors) and was confusing.
232
	Report an error if stdin cannot be statted even if !list && no_time.
233
	Get stdin's size if it is regular.
234
	(treat_file): Do not report an error with setuid, setgid,
235
	sticky, or non-regular, non-directory files if to_stdout.
236
	Allow 'force' to override the caution about sticky files.
237
	Use the same form for time stamps that treat_stdin uses.
238
239
	* zdiff.in: Fix typo that broke most usages.  Problem reported by
240
	Jari Aalto in <http://bugs.debian.org/404114>.  While we're at it,
241
	fix a bunch of other problems.  Handle "-" better.  Send
242
	diagnostics to stderr, not stdout.  Use expr rather than echo |
243
	sed, to handle special characters better.  Report a diagnostic in
244
	the 1-arg case, if the argument doesn't end in .gz or the like,
245
	rather than having incomprehensible behavior.  Do not require that
246
	the inputs be regular files.  Avoid creating a temporary entirely,
247
	if /dev/fd works.  If not, then resist denial-of-service attacks
248
	better, by using mktemp.
249
	* NEWS: Document this.
250
	* Makefile.am (gzip.doc.gz): New rule.
251
	(check-local): Depend on it, and test zdiff for Debian bug 404114.
252
253
2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
254
255
	* zdiff.1: Mention that these programs currently understand only
256
	formats that gzip does.  Problem reported by Jari Aalto in
257
	<http://bugs.debian.org/404099>.
258
259
2006-12-20  Paul Eggert  <eggert@cs.ucla.edu>
260
261
	* inflate.c (huft_build): Fix regression that caused gzip to
262
	refuse to uncompress null input (all zero length codes).  Problem
263
	reported by Yiorgos Adamopoulos.  This regression was caused by
264
	the security patch installed 2006-11-20, which in turn came from
265
	Debian, which in turn apparently came from Thomas Biege of SuSe.
266
267
2006-12-15  Paul Eggert  <eggert@cs.ucla.edu>
268
269
	* NEWS, configure.ac (AC_INIT):
270
	Version 1.3.9 released.
271
272
	* Makefile.am (MOSTLYCLEANFILES): Add _match.i.
273
	* configure.ac (for an assembler syntax supported by this package):
274
	Remove _match.i.
275
276
	* bootstrap (gnulib_tool_options_extras): New var.
277
	(gnulib_tool_options): Use it.
278
	* bootstrap.conf (gnulib_tool_options_extras): Avoid getline and
279
	rpmatch.  gzip doesn't need them, since it doesn't ENABLE_NLS.
280
281
2006-12-13  Bruno Haible  <bruno@clisp.org>
282
283
	* configure.ac: Use $CPPFLAGS everywhere $CPP is used, and use
284
	$CPPFLAGS $CFLAGS everywhere $CC is used.
285
	* lib/Makefile.am (match.$(OBJEXT)): Likewise.
286
	* configure.ac: Test the exit code of the $CPP and $ASCPPPOST commands
287
	separately.
288
289
2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
290
291
	* configure.ac (ASCPPPOST): Simplify to use just 'sed'.
292
	* lib/Makefile.am (match.$(OBJEXT)): Check for CPP failure.
293
294
2006-12-11  Bruno Haible  <bruno@clisp.org>
295
296
	Cross-compilation support.
297
	* configure.ac (ASCPP): Remove substituted variable.
298
	(ASCPPPOST, ASCPPFLAGS): New substituted variables.
299
	* lib/Makefile.am (ASCPP, LN_S): Remove unnecessary macro definitions.
300
	(match.$(OBJEXT)): Use CPP, ASCPPFLAGS, ASCPPPOST instead of ASCPP.
301
	* configure.ac: Add test for chown function.
302
	* gzip.c (treat_file) [!HAVE_CHOWN]: Don't call chown.
303
	* gzip.c: Include "timespec.h".  This doesn't fix any bugs, but
304
	it is clearer.
305
306
2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
307
308
	The SSIZE_MAX fix didn't work on NSK, so fix it in a more-reliable
309
	(albeit more-complicated) way.  Problem reported by Matthew Woehlke.
310
	* gzip.h (read_buffer): New decl.
311
	* unlzw.c (unlzw): Use read_buffer rather than read.
312
	* zip.c (file_read): Likewise.
313
	* util.c (copy, fill_inbuf): Likewise.
314
	(read_buffer, write_buffer): New functions.
315
	(write_buf): Use write_buffer rather than write.
316
317
	Undo the previous SSIZE_MAX-related change; it didn't work.
318
	* gzip.c: Include <limits.h>.
319
	* util.c: Likewise.
320
	* gzip.h: Don't include <limits.h>.
321
	(INBUFSIZ): Don't worry about SSIZE_MAX here.
322
323
2006-12-08  Paul Eggert  <eggert@cs.ucla.edu>
324
325
	* NEWS, configure.ac (AC_INIT):
326
	Version 1.3.8 released.
327
328
	* gzexe.in (mktemp_status): New var, used to see whether
329
	mktemp is a known command.  Use this instead of confounding
330
	mktemp's existence with its success.
331
332
	* zdiff.in: Remove first line containing ":".  This follows
333
	up on the SEDCMD fix of 2006-12-01.
334
	* zforce.in: Likewise.
335
	* zgrep.in: Likewise.
336
	* zless.in: Likewise.
337
	* zmore.in: Likewise.
338
	* znew.in: Likewise.
339
340
	Fix problems in porting to NSK reported by Matthew Woehlke in
341
	<http://lists.gnu.org/archive/html/bug-gzip/2006-12/msg00025.html> and
342
	<http://lists.gnu.org/archive/html/bug-gzip/2006-12/msg00027.html>.
343
	* gzip.h: Include <limits.h>, for SSIZE_MAX.
344
	(INBUFSIZE): Don't make it any larger than SSIZE_MAX.
345
	Problem reported by Matthew Woehlke in
346
	<http://lists.gnu.org/archive/html/bug-gzip/2006-11/msg00013.html>.
347
	* gzip.c: Don't include <limits.h>, as gzip.h now does this.
348
	* util.c: Likewise.
349
	* gzip.c (main): Set exiting_signal before installing signal handlers.
350
	(install_signal_handlers): Don't set exiting_signal here.  This
351
	fixes a C99ism.
352
	* zip.c: Include timespec.h, for time_stamp type.
353
354
2006-12-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
355
356
	* gzexe.in: Work around FreeBSD shell trap bug.
357
	* gzip.1: Fix typo.
358
	* doc/gzip.texi: Likewise.
359
360
2006-12-08  Paul Eggert  <eggert@cs.ucla.edu>
361
362
	* .cvsignore: Add .deps, gzexe, gzip, zdiff, zforce, zgrep,
363
	zless, zmore, znew.
364
	* doc/.cvsignore: Add Makefile.
365
	* lib/.cvsignore: Add .deps, Makefile, alloca.h, config.h, fcntl.h,
366
	stamp-h1, stdint.h, sys.
367
368
	* configure.ac (for assembler): Set ASFLAGS_config to
369
	-Wa,--noexecstack if this seems advisable on this platform.
370
	Problem reported by Mike Frysinger in
371
	<http://lists.gnu.org/archive/html/bug-gzip/2006-12/msg00018.html>.
372
	* lib/Makefile.am (match.$(OBJEXT)): Use ASFLAGS_config.
373
374
2006-12-07  Paul Eggert  <eggert@cs.ucla.edu>
375
376
	* Makefile.am (install-exec-hook): Fix bug when installing
377
	symbolic links as aliases.  Problem reported by Mike Frysinger.
378
379
	* deflate.c (deflate_fast, deflate): Avoid core dump.  Problem
380
	originally reported by Jochen Friedrich and trivial patch supplied
381
	by Anthony Towns; see <http://bugs.debian.org/184057>.
382
383
2006-12-06  Paul Eggert  <eggert@cs.ucla.edu>
384
385
	* NEWS, configure.ac (AC_INIT):
386
	Version 1.3.7 released.
387
388
2006-12-06  Bruno Haible  <bruno@clisp.org>  (tiny change)
389
	and Paul Eggert  <eggert@cs.ucla.edu>
390
391
	Fix build failure on case-insensitive file systems.
392
	* configure.ac: Use match_.s instead of _match.s.
393
	* Makefile.am (MOSTLYCLEANFILES): Likewise.
394
	* lib/Makefile.am (match.$(OBJEXT)): Likewise.
395
	(MOSTLYCLEANFILES): Likewise.
396
397
2006-12-06  Paul Eggert  <eggert@cs.ucla.edu>
398
399
	* NEWS: Document the fixes below.
400
	* configure.ac (AC_CHECK_FUNCS_ONCE): Add siginterrupt.
401
	* gzip.c (lstat) [!defined(HAVE_LSTAT) && !defined(lstat)]: Remove.
402
	(SA_NOCLDSTOP, sigprocmask, sigset_t) [!defined SA_NOCLDSTOP]:
403
	New macros.
404
	(siginterrupt) [!defined SA_NOCLDSTOP && ! HAVE_SIGINTERRUPT]:
405
	New macro.
406
	(HAVE_WORKING_O_NOFOLLOW): Define to 0 if not defined.
407
	(caught_signals, exiting_signal, remove_ofname_fd): New vars.
408
	(remove_ofname): Remove; all uses changed to remove_ofname_fd.
409
	(same_file, name_too_long): Remove.
410
	(install_signal_handlers): New function.  It prefers sigaction,
411
	which is more reliable in the presence of race conditions.
412
	Catch SIGXCPU and SIGXFSZ, too.
413
	(main): Use it instead of installing them by hand.
414
	(treat_file): Check for read error when closing ifd.
415
	(treat_file, create_outfile, remove_output_file):
416
	Avoid race conditions with signals.
417
	(create_outfile, check_ofname): Remove most of the gorp about
418
	working around ENAMETOOLONG deficiencies.  It's obsolete now, and
419
	anyway it had race conditions.  Just rely on O_EXCL and
420
	ENAMETOOLONG.  The worst that can happen is that a file name will
421
	be silently truncated on an obsolete machine, but no data will be lost.
422
	(open_and_stat): Use HAVE_WORKING_O_NOFOLLOW rather than O_NOFOLLOW
423
	to work around some O_NOFOLLOW bugs.  Otherwise, fall back on
424
	lstat only if lstat is available, as symlinks don't exist otherwise.
425
	(open_input_file): Use O_NONBLOCK and O_NOCTTY too, to avoid
426
	hanging gzip on special files.
427
	(abort_gzip_signal): If sigaction is not available, ignore
428
	signals.  If we get the exiting signal, exit with ERROR status
429
	rather than raising a signal.
430
	* tailor.h (NO_ST_INO): Remove; no longer used now that same_file
431
	is gone.
432
433
2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
434
435
	Port to Tandem NSK/OSS, which lacks fchdir.  Problem reported by
436
	Matthew Woehlke in
437
	<http://lists.gnu.org/archive/html/bug-gzip/2006-11/msg00013.html>.
438
	* bootstrap.conf (gnulib_modules): Remove openat, as it pulls in
439
	fchdir.
440
	* configure.ac: Check for fdopendir.
441
	* gzip.c: Don't include openat.h; no longer needed.
442
	(treat_dir) [!HAVE_FDOPENDIR]: Fall back on the old opendir method
443
	since fdopendir is not available.
444
445
2006-12-04  Paul Eggert  <eggert@cs.ucla.edu>
446
447
	* NEWS: Describe the following change briefly.
448
	* bootstrap.conf (gnulib_modules): Remove stat-macros; no longer
449
	needed.
450
	* gzip.c: Don't include stat-macros.h; no longer needed.
451
	(treat_file): Refuse to compress files that are setuid, or setgid,
452
	as this can in theory lead to security holes.  Also, refuse to
453
	compress files with the sticky bit set, on general principle.
454
	(copy_stat): Don't copy the setuid, setgid, or sticky bits,
455
	as (given the above change) they'll always be zero here.
456
	Invoke chown before chmod, to close a race condition.
457
458
	* .cvsignore: Add *.doc, build-aux.
459
	* doc/.cvignore: New file.
460
	* lib/.cvsignore: New file.
461
	* m4/.cvsignore: New file.
462
463
2006-12-01  Paul Eggert  <eggert@cs.ucla.edu>
464
465
	* doc/gzip.texi (Overview): Mention limits of gzip format's
466
	time stamps.  Also, gzip doesn't always preserve time stamps.
467
468
	* gzip.c (abort_gzip_signal): Don't call abort () as a "safeguard",
469
	since it actually causes a core dump.  Problem reported by
470
	Jakub Bogusz.
471
472
	* NEWS: Describe gzexe changes noted below.
473
	* Makefile.am (.in): Don't bother with SEDCMD.  This stuff isn't needed
474
	any more (the hosts it caters to are long extinct), and was
475
	questionable anyway since the code assumes the skip= line was line 2.
476
	* configure.ac (AC_SYS_INTERPRETER, SEDCMD): Remove; no longer needed.
477
478
	* gzexe.in: Sweep the code and fix some bugs.
479
	My, what sharp teeth you have, gzexe!
480
	The straw that broke this camel's back was Matthew Burgess's bug report
481
	<http://lists.gnu.org/archive/html/bug-gzip/2006-11/msg00012.html>.
482
483
	(IFS): Set it to the standard value, both here and in the
484
	script gzexe generates.
485
	Check for missing operand after parsing options, not before.
486
	This fixes the case for "cpexe --".
487
	Check for tail -n problem separately in gzexe and in the executable
488
	it generates, in case it's a different 'tail'.
489
	(trap): Remove $tmp only if $tmp is not the empty string.
490
	Preserve exit status.
491
	Don't use the nonstandard (and rarely available) "cpmod" utility.
492
	Don't use "set -C"; it's no longer useful and it breaks things
493
	in some cases.
494
	(main loop): Handle file names beginning with "-".
495
	Exit with status of failing program, not with 1.
496
	Fix some bugs in printing diagnostics, and in quoting.
497
	Require the skip= line to have at least one digit.
498
	Use test -u and test -g rather than using the (less-reliable) ls.
499
	Refuse to compress more programs, e.g., sh.
500
	Use mktemp rather than tempfile.  Build a copy of
501
	the compressed or uncompressed executable in the same
502
	directory as the executable, as that's less likely to go wrong
503
	if disk space is low.  Have the executable exit with status 127,
504
	not 1, if the decompression process fails; this is more compatible
505
	with meta-programs like nohup.  Have the executable
506
	uncompress to a temp file with the same basename as the executable;
507
	this is more likely to go right.  Fix a race condition where the
508
	executable temporarily did not exist (in either old or new forms).
509
	Check for race conditions better when mv fails.  Do not attempt
510
	to use cp to do the real work, only to copy permissions to a temp
511
	file, since we don't want to trash running executables.
512
513
2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
514
515
	* inflate.c (inflate_dynamic, inflate): Don't send output to
516
	stderr unless DEBUG is defined and 'verbose'.  Problem reported by
517
	Santiago Vila.
518
519
	* zgrep.in: If the file name contains newline, &, \, or |, escape
520
	the character so that 'sed' doesn't mishandle it as a replacement.
521
	Problem reported by Bdale Garbee.
522
523
2006-11-25  Paul Eggert  <eggert@cs.ucla.edu>
524
525
	* gzip.1 (OPTIONS): ouput -> output.  Problem reported by Matt
526
	Taggart.
527
	* vms/gzip.hlp: Likewise.
528
529
	* Makefile.am (FILES_TO_CHECK): New macro.
530
	(check-local): Check only the files in FILES_TO_CHECK, since some
531
	files under the working directory might be mutating as the test is
532
	run, e.g., with "make check >log".  Problem reported by Jim
533
	Meyering.
534
535
2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
536
537
	* NEWS, configure.ac (AC_INIT):
538
	Version 1.3.6 released.
539
540
	* NEWS: Describe 1.3.6's changes.
541
	* NEWS, README, README-alpha, TODO: Change from GPL to FDL.
542
	* .cvsignore, README-cvs, bootstrap, bootstrap.conf: New files.
543
	* doc/Makefile.am, lib/Makefile.am: New files.
544
	* THANKS: Change own email address to cs.ucla.edu.  Add Sverre Jarp.
545
	* TODO: Add new tasks to remove porting cruft and
546
	all those buggy scripts.
547
548
	* configure.ac: Renamed from configure.in.
549
	(AC_PREREQ): Bump to 2.60.
550
	(AC_INIT): Bump version to 1.3.6.
551
	(AC_CONFIG_AUX_DIR): New.
552
	(AC_CONFIG_HEADERS): Move config.h to lib.
553
	Input is now lib/config.hin.
554
	(AM_INIT_AUTOMAKE): Add gnits, dist-shar.
555
	(AC_PROG_CC_STDC): New, replacing AC_PROG_CC.
556
	(AM_PROG_CC_C_O, AC_PROG_RANLIB): New.
557
	(AC_AIX, AC_GNU_SOURCE, AC_MINIX): Remove; gnulib does them now.
558
	(gl_EARLY, gl_INIT): New.
559
	match.c was moved to lib/match.c.
560
	(AC_CHECK_HEADERS_ONCE): Replace AC_CHECK_HEADERS.  Don't check
561
	for sys/utime.h or utime.h.
562
	(AC_CHECK_FUNCS_ONCE): Replace AC_CHECK_FUNCS.  Check for fchmod
563
	and fchown, not utime.
564
	(AC_REPLACE_FUNCS): Remove; rpmatch is now done by gnulib.
565
	(AC_CONFIG_FILES): Add doc/Makefile, lib/Makefile.
566
567
	* bits.c: Use the more-usual form for copyright notices in source code.
568
	* deflate.c: Likewise.
569
	* gzip.c: Likewise.
570
	* gzip.h: Likewise.
571
	* inflate.c: Likewise.
572
	* lzw.h: Likewise.
573
	* revision.h: Likewise.
574
	* tailor.h: Likewise.
575
	* trees.c: Likewise.
576
	* unpack.c: Likewise.
577
	* unzip.c: Likewise.
578
	* util.c: Likewise.
579
	* crypt.c (dummy): Add decl so that pedantic compilers won't
580
	complain about an empty file.
581
	* gzip.c (license_msg): Use more-modern wording.
582
	Include fcntl-safer.h, openat.h, stat-macros.h, stat-time.h.
583
	Simply include <dirent.h> if !NO_DIR, removing a rats-nest of
584
	#ifdefs.
585
	Simply include <utimens.h> if !defined NO_UTIME, removing a
586
	another rats-nest of #ifdefs.
587
	(DIR_OPT, TIME_OPT): Remove.
588
	(_D_EXACT_NAMLEN): Renamed from NAMLEN.  All uses changed.
589
	(S_ISDIR, S_ISREG, O_BINARY, O_CREAT, O_EXCL, S_IRUSR, S_IWUSR):
590
	Remove; gnulib now does this.
591
	(RETSIGTYPE): Remove; Autoconf does this.
592
	(program_name): Renamed from progname, for compatibility with gnulib.
593
	All uses changed.
594
	(time_stamp): Now struct timespec, not time_t.  All uses changd.
595
	(remove_oftime): Now volatile.
596
	(reset_times): Remove; now done by futimens.
597
	(usage): Remove.
598
	(try_help): New function.
599
	(help, license): Don't output date as part of version.
600
	A version number suffices.
601
	(help): Redo help message to match style of coreutils etc.
602
	(version): Don't bother printing compile-time configuration info
603
	like STDC_HEADERS.
604
	(main): Don't assume strlen (argv[0]) < INT_MAX (!).
605
	On usage errors, suggest --help without outputting all the help.
606
	(main, do_list): Remove unnecessary casts.
607
	(treat_stdin, treat_file, get_method, copy_stat):
608
	Support sub-second time stamp resolution.
609
	(treat_file, copy_istat): Close some race conditions if files are
610
	renamed as we read or write them.
611
	(treat_file): Do not attempt to reset the access times of
612
	directories that we read.
613
	(open_and_stat, open_input_file): New functions.
614
	(do_stat, get_istat): Remove; most of the contents went to these new
615
	functions.
616
	(make_ofname): Don't use WARN, as it affects exit status.
617
	(get_method): When the original file name was truncated,
618
	restore from its base name, not from its full name.
619
	(do_list): Avoid undefined behavior with out-of-range time stamps.
620
	ctime, for example, cannot be invoked on arbitrary time stamps safely,
621
	since it might overrun an internal buffer.  Do not assume that
622
	localtime succeeds.
623
	(copy_stat): Do not remove input file; that's now the caller's
624
	responsibility.  This avoids a problem if there is a write error
625
	when the caller closes the output file.
626
	(treat_dir): New arg FD, to avoid a race condition.  All uses changed.
627
	(remove_output_file): New function.
628
	(abort_gzip): Use it.
629
	(abort_gzip_signal): New function, which is async-signal-safe.
630
	Exit with the signal that we got.
631
	* gzip.h (program_name, time_stamp, abort_gzip): Adjust decls to
632
	match gzip.c changes.
633
	* inflate.c (huft_build): Return 2 if null input.
634
	* tailor.h (HAVE_UTIME): Do not define; gnulib does this now.
635
	(OPEN): Use open_safer, not plain open.
636
	* unlzh.c (NPT): Set to 1<<TBIT, not to the maximum of NT and NP.
637
	(make_table): Report an error if 1<<tablebits < nextcode.
638
	(read_pt_len): Report an error if 16 < c.
639
	* unpack.c (read_tree): Report an error if the tree has too many
640
	leaves while reading it.  Fix off-by-one error in final check.
641
	* util.c: Include <xalloc.h>, for xalloc_die decl.
642
	(gzip_base_name): Renamed from base_name, so we don't collide
643
	with gnulib.  All uses changed.
644
	(add_envopt): Use xstrdup instead of xmalloc+strcpy.
645
	Use xcalloc rather than calloc + check.
646
	(gzip_error): Renamed from error, so we don't collide with gnulib.
647
	All uses changed.
648
	(xalloc_die): New function.
649
	(xmalloc): Remove; no longer needed.
650
	* zip.c (zip): Watch for time stamp overflow; the old code
651
	mishandled negative time stamps.
652
653
	* gzexe.in: Add support for --help, --version, --.
654
	Don't call basename or sed if we can avoid it.
655
	* zdiff.in: Likewise.
656
	* zforce.in: Likewise.
657
	* zgrep.in: Likewise.
658
	* zless.in: Likewise.
659
	* zmore.in: Likewise.
660
	* znew.in: Likewise.
661
	* zdiff.in: Protect against file names beginning with "-".
662
	* zmore.in: Likewise.
663
	* zgrep.in: Use printf rather than echo, to avoid problems with
664
	leading "-" and backslash.  Return status of subsidiary grep.
665
	* zless.in: Add copyright notice.
666
667
	* zless.1: We now pass "--" to LESSOPEN.
668
	(BUGS): Mention that input file arguments are required.
669
	Add copyright notice.
670
671
	* COPYING: Update to current version.
672
673
	* Makefile.am (SUBDIRS): New macro.
674
	(AUTOMAKE_OPTIONS): Remove; now done in configure.ac.
675
	(M4DIR, ACINCLUDE_INPUTS): Remove.
676
	(EXTRA_DIST): Remove getopt.h.
677
	(gzip_SOURCES): Remove getopt.c, getopt1.c, yesno.c.
678
	(gzip_LDADD): Change from @LIBOBJS@ to lib/libgzip.a.
679
	(AM_MAKEINFOFLAGS, info_TEXINFOS, gzip_TEXINFOS, ASCPP, LN_S):
680
	(match.$(OBJEXT)): Move to subdirectory makefiles.
681
	(.in): Substitute @VERSION@, too.
682
	(check-local): New rule.
683
	(MOSTLYCLEANFILES): Add _match.S.
684
685
	* doc/gzip.texi: Renamed from gzip.texi.  Change to GNU FDL
686
	without invariant sections or cover texts.  Don't put
687
	version number or date into sample gzip -h output.
688
	* lib/match.c: Renamed from match.c.  Add ia64 version
689
	written by Sverre Jarp (HP Labs).
690
691
	* INSTALL: Remove from CVS; now created automatically by
692
	the bootstrap script.
693
	* Makefile.in: Likewise.
694
	* aclocal.m4: Likewise.
695
	* config.h.in: Likewise.
696
	* configure: Likewise.
697
	* depcomp: Likewise.
698
	* fdl.texi: Likewise.
699
	* getopt.c: Likewise.
700
	* getopt.h: Likewise.
701
	* getopt1.c: Likewise.
702
	* gzip.doc: Likewise.
703
	* gzip.info: Likewise.
704
	* install-sh: Likewise.
705
	* mdate-sh: Likewise.
706
	* missing: Likewise.
707
	* mkinstalldirs: Likewise.
708
	* rpmatch.c: Likewise.
709
	* stamp-vti: Likewise.
710
	* texinfo.tex: Likewise.
711
	* version.texi: Likewise.
712
	* yesno.c: Likewise.
713
714
2002-09-30  Paul Eggert  <eggert@twinsun.com>
715
716
	* NEWS, README, revision.h, configure.in (AM_INIT_AUTOMAKE):
717
	Revision 1.3.5, dated today.
718
719
	* util.c (fprint_off): Fix bug in printing values greater than
720
	10 * 2**32 bytes.  Bug reported by Bryan Andersen.
721
722
	* Makefile.am (match.$(OBJEXT)): Use .S as extension for $(ASCPP),
723
	to keep gcc happy.
724
	* configure.in: Likewise.
725
	Upgrade assembly-language checking for Autoconf 2.54, using cache vars.
726
	(AC_PROG_CPP, AC_OBJEXT): Add.
727
728
	* match.c: Accept __i386 and __i386__ as synonyms for i386.
729
	Bug reported by "fork __" <bouloumag@hotmail.com>.
730
731
2002-09-29  Paul Eggert  <eggert@twinsun.com>
732
733
	* gzip.texi (Overview): Suggest how to use gunzip on zip files.
734
735
	* zless.1, zless.in: Use LESSOPEN, not PAGER.
736
	Suggested by <antos@MAST.queensu.ca>.
737
738
2002-09-28  Paul Eggert  <eggert@twinsun.com>
739
740
	* zforce.in: Use shell pattern matching instead of 'expr', which
741
	mishandles names like "+".  Remove old check for 14-byte file
742
	names on hosts with broken "mv" implementations, as such systems
743
	aren't in use any more and it's better nowadays to support file
744
	names longer than 14 bytes.  Rely on "mv"'s error-reporting.
745
	This fixes a portability bug reported by Ralf Neubauer, along
746
	with some other bugs.
747
748
	Remove dangling output symlinks properly.
749
	Bug reported by Kalle Olavi Niemitalo.
750
	* gzip.c (lstat): New macro, for platforms lacking lstat.
751
	(do_stat): Use it.
752
	(name_too_long, check_ofname): Use lstat instead of stat.
753
754
2002-09-27  Paul Eggert  <eggert@twinsun.com>
755
756
	* zforce.in: Use "gzip -lv", not "gzip -v".  Patch by Ralf
757
	Neubauer.
758
759
	* configure.in (ASCPP): Don't use test -a, as POSIX says it's
760
	not portable.
761
	* znew.in: Likewise.
762
	* zmore.in: Likewise.  Similarly, don't use test -o, or test -t
763
	with no operand.
764
765
	* gzexe.in (PATH): Set to same as other programs.
766
	Don't assume "tail +22" works; POSIX removed this.
767
	Check against compressing "tail".
768
	Check against "skip=" line with no integer.
769
	* zgrep.in: Exit with status 2 if trouble, for consistency with grep.
770
771
	* gzip.c (main): Avoid core dump in diagnostic message if
772
	incorrect suffix is given.
773
774
2002-09-26  Paul Eggert  <eggert@twinsun.com>
775
776
	* zdiff.in: Use "trap -" instead of "trap".  Patch by Nicolas Boullis.
777
	Use names, not numbers, for signals.  Patch by Andrew Stribblehill.
778
779
	* NEWS, README, revision.h, configure.in (AM_INIT_AUTOMAKE):
780
	Revision 1.3.4, dated today.
781
782
	* README-alpha: Upgrade to Autoconf 2.54 and Automake 1.7.
783
	* configure.in (AC_PREREQ): Move to start, and increase to 2.54.
784
	(AC_INIT, AM_INIT_AUTOMAKE, AC_CONFIG_SRCDIR, AC_CONFIG_FILES,
785
	AC_OUTPUT): Use modern style.
786
	(AC_OBJEXT, AC_EXEEXT): Remove; obsolete.
787
	(AC_GNU_SOURCE): Add.
788
	(AC_HEADER_STDC): Renamed from AC_STDC_HEADERS.
789
	(AC_CHECK_HEADERS): Remove stdlib.h, string.h, unistd.h; now done
790
	by Autoconf.
791
	(AC_SUBST): Remove CFLAGS; now done by Autoconf.
792
793
	* gzip.texi: Use the GNU FDL for distribution terms, following the
794
	recipe in the Texinfo manual.  Use Automake-generated variables
795
	for date and version.
796
	* fdl.texi, mdate-sh: New files.
797
	* Makefile.am (AM_MAKEINFOFLAGS): Add --no-split.
798
	(gzip_TEXINFOS): New macro.
799
800
	* tailor.h (NO_DIR): Define to 1, not the empty string.
801
	* gzip.c (NO_DIR): Define to 0 if not defined.  All uses changed.
802
	(usage): Don't put '#if' inside printf, as the C standard says
803
	that it is not portable if printf is a macro.
804
805
	Don't lose output when decompressing truncated input.
806
	Bug reported by Nadav Har'El.
807
	* inflate.c (GETBYTE): New macro.
808
	(NEXTBYTE): Use it.
809
	(inflate_dynamic, inflate_block): Add a local variable w, needed
810
	by GETBYTE.
811
812
2002-03-08  Paul Eggert  <eggert@twinsun.com>
813
814
	* NEWS, README, revision.h, gzip.texi,
815
	configure.in (AM_INIT_AUTOMAKE): Revision 1.3.3, dated today.
816
817
	* README-alpha: Now using latest stable GNU tools.
818
	Using the latest tools allows gzip to build correctly on hosts
819
	conforming to POSIX 1003.1-2001.
820
821
	* configure.in (match): Use AC_LIBOBJ; Autoconf 2.53 requires it.
822
	(LIBOBJS): No longer need to subst, since AC_LIBOBJ does it.
823
	(AC_PREREQ): Bump to 2.53.
824
825
	* Makefile.am (install-exec-hook, remove-installed-links):
826
	Work even when configured with --program-transform-name.
827
828
	* gzip.c (license_msg): Update copyright.
829
	(z_len): Now of type size_t.
830
831
2001-11-03  Paul Eggert  <eggert@twinsun.com>
832
833
	* NEWS, README, revision.h, gzip.texi, configure.in (AM_INIT_AUTOMAKE):
834
	Revision 1.3.2, dated today.
835
836
	* Makefile.am (LN_S): New macro.
837
	(install-exec-hook): Depend on remove-installed-links.
838
	Affect $(DESTDIR)$(bindir), not just $(bindir).
839
	(uninstall-local, remove-installed-links): New rules.
840
	* README-alpha: This release built with autoconf 2.52f.
841
	* TODO: Add rsync patch.
842
	* configure.in: Add AC_PREREQ(2.52) and AC_PROG_LN_S.
843
	* gzip.1, zmore.1: Fix troff glitches, using Eric S. Raymond's
844
	suggestions for inspiration.
845
	* m4/shell.m4(AC_PROG_SHELL): Add commentary and cleanup.
846
847
	* gzip.texi, gzip.1: Add pointers to RFCs 1951 and 1952.
848
	Mention that gzip --list reports file sizes modulo 2^32.
849
	* gzip.1: Remove incorrect report of 2 GB bug.  Add copyright notice.
850
851
2001-09-30  Paul Eggert  <eggert@twinsun.com>
852
853
	* NEWS, README, revision.h, gzip.texi, configure.in (AM_INIT_AUTOMAKE):
854
	Revision 1.3.1, dated today.
855
856
	* INSTALL, getopt.c, getopt.h, getopt1.c, install-sh, missing,
857
	  mkinstalldirs, texinfo.tex:
858
	Sync with latest version in other packages.
859
860
	* acinclude.m4, config.guess, config.sub: Remove.
861
	* depcomp, rpmatch.c, yesno.c: New files.
862
863
	* ChangeLog, README, NEWS, TODO, configure.in, zgrep.in, zmore.in:
864
	Add copyright notice.
865
866
	* Makefile.am (ACLOCAL_AMFLAGS): New macro.
867
	(ACINCLUDE_INPUTS): Remove all but shell.m4.
868
	($(srcdir)/acinclude.m4): Remove.
869
	(gzip_sources): Add yesno.c.
870
871
	* TODO: Add i18n.
872
873
	* configure.in (AC_CANONICAL_HOST): Remove.
874
	(AC_AIX, AC_MINIX): Move earlier.
875
	(AC_REPLACE_FUNCS): Add rpmatch.
876
877
	* gzip.c (main):
878
	Report error if -b operand is not a nonnegative integer.
879
	(treat_file): Don't assume tab width is 8, or that characters are
880
	one column wide.
881
	(make_ofname): Use WARN to warn about unchanged files.
882
	(get_method): "get newer version of gzip" -> "not supported"
883
	(check_ofname): Use yesno instead of checking for 'y' ourselves.
884
	(treat_file): Do not assume link count fits in int.
885
886
	* gzip.h (yesno): New decl.
887
888
	* util.c (display_ratio): Use floating point to compute ratio:
889
	this avoids problems with integer overflow.
890
891
	* zgrep.in: Add support for --, -H, -h, -L, -l, -C, -d, -m and
892
	their long equivalents.  Warn that -r and -d are not supported.
893
894
	* zmore.in:
895
	Check that file is readable before attempting to decompress it.
896
897
2000-10-09  Paul Eggert  <eggert@twinsun.com>
898
899
	* configure.in (AC_CHECK_FUNCS): Add lstat.
900
901
2000-07-20  Paul Eggert  <eggert@twinsun.com>
902
903
	Use a POSIX-compliant shell instead of /bin/sh.
904
	Idea suggested by Albert Chin-A-Young <china@thewrittenword.com>.
905
906
	* m4/shell.m4: New file.
907
	* configure.in (AC_PROG_SHELL): Add it.
908
	* Makefile.am (ACINCLUDE_INPUTS): Add $(M4DIR)/shell.m4.
909
	(.in): Replace /bin/sh with $(SHELL).
910
911
2000-04-17  Bruno Haible  <haible@clisp.cons.org>
912
913
	* Makefile.am (install-exec-hook): If hard links fail, try symlinks.
914
915
2000-04-02  Jim Meyering  <meyering@ascend.com>
916
917
	* Makefile.am (install-exec-hook): Remove link targets before
918
	installing.
919
920
2000-01-02  Albert Chin-A-Young  <china@thewrittenword.com>
921
922
	* gzip.texi: Add direntry.
923
924
1999-12-21  Paul Eggert  <eggert@twinsun.com>
925
926
	* NEWS, README, revision.h, gzip.texi: Revision 1.3, dated today.
927
	* gzip.c (license_msg, usage, version, help, license):
928
	Adjust to current GNU coding standards.
929
	(total_in, total_out): Remove unnecessary initialization.
930
	* zip.c (file_read): Report read errors.
931
	* util.c (fill_inbuf): Likewise.
932
	* gzip.c (main): Don't assume EOF == -1.
933
	* unlzw.c (unlzw): Likewise.
934
	* util.c (copy, fill_inbuf): Likewise.
935
936
1999-11-18  Paul Eggert  <eggert@twinsun.com>
937
938
	* m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS):
939
	Work around a bug in the QNX shell, which doesn't
940
	propagate exit status of failed commands inside shell assignments.
941
942
1999-10-07  Paul Eggert  <eggert@twinsun.com>
943
944
	* NEWS, README, revision.h, gzip.texi:
945
	Revision 1.2.4294967306 dated today.  This is the successor to
946
	revision 1.2.4.4294967305; automake requires the new (shorter) number.
947
948
	Convert to automake.
949
950
	* Makefile.am, gunzip.1, zcat.1, zcmp.1, AUTHORS: New files.
951
952
	* revision.h (VERSION): Remove; moved to config.h.
953
954
	* configure.in (AM_INIT_AUTOMAKE, AM_CONFIG_HEADER,
955
	AC_CANONICAL_HOST, AC_OBJEXT): Add.
956
	(AC_PROG_CPP): Remove.
957
	(AC_SYS_LARGEFILE): Add, replacing older inline code.
958
	(ASCPP): Use $OBJEXT.
959
	(LIBOBJS): Add match.o if needed.
960
	(AC_PROG_INSTALL): Remove.
961
	(AC_EXT, AC_C_CONST): Add.
962
	(AC_CHECK_HEADERS): Add, replacing lots of AC_HEADER_CHECKs.
963
	All instances of defined(NO_TIME_H) changed to !defined(HAVE_TIME_H),
964
	etc.
965
	(AC_CHECK_FUNCS): Add utime.
966
	(SEDCMD): Use $interpval, not $ac_cv_sys_interpreter.
967
	(AC_PREFIX_PROGRAM): Add, replacing AC_PREFIX.
968
	(ZCAT, G): Remove.
969
	(LIBOBJS): Add.
970
	(OBJA): Remove; LIBOBJS now does this.
971
972
	* bits.c, gzip.c, deflate.c, inflate.c, lzw.c, trees.c, unlzh.c,
973
	unlzw.c, unpack.c, unzip.c, util.c, zip.c: Include <config.h>
974
	first; this is needed for proper large-file support, given the new
975
	way of configuring large files.
976
977
	* gzip.c: Include <sys/types.h>; Ultrix needs this.
978
	(TIME_OPT): Use STRUCT_UTIMBUF instead of empty string.
979
	(help): Add bug-report address.
980
	(do_stat): Depend on HAVE_LSTAT, not S_IFLNK, S_ISLNK, and NO_SYMLINK.
981
982
1999-06-25  Paul Eggert  <eggert@twinsun.com>
983
984
	* inflate.c (huft_build):
985
	Set n to length of v, to detect improper tables.
986
	Don't accidentally grow j past z.
987
988
1999-06-24  Paul Eggert  <eggert@twinsun.com>
989
990
	* Makefile.in (check): Update texinfo.tex size.
991
992
	* configure.in (ASMV):
993
	Define with AC_DEFINE; do not manipulate DEFS directly,
994
	as this doesn't work with recent autoconf versions.
995
996
1999-02-06  Paul Eggert  <eggert@twinsun.com>
997
998
	* NEWS, README, revision.h, gzip.texi: Revision 1.2.4.4294967305,
999
	dated today.  This merges the changes from gzip 1.2.4a, which fix
1000
	some typographical errors in the documentation and update the
1001
	bug-reporting address.
1002
1003
1999-01-27  Paul Eggert  <eggert@twinsun.com>
1004
1005
	* NEWS, README, revision.h (VERSION, REVDATE):
1006
	Revision 1.2.4.4294967304, dated today.
1007
1008
	Port to autoconf 2.13.
1009
1010
	* Makefile.in (next, next-fat, coherent):
1011
	Update dirent headers to match Autoconf 2.13.
1012
	* configure.in (AC_RETSIGTYP): Remove; superseded by AC_TYPE_SIGNAL.
1013
	(AC_DYNIX_SEQ, AC_XENIX_DIR, AC_DIR_HEADER): Remove; superseded by
1014
	AC_HEADER_DIRENT.
1015
	* tailor.h (HAVE_DIRENT_H, HAVE_SYS_DIR_H):
1016
	Define instad of DIRENT, SYSDIR.
1017
	* gzip.c (NAMLEN): Renamed from NLENGTH. Depend on Autoconf 2.13 names
1018
	HAVE_DIRENT_H, HAVE_SYS_NDIR_H, HAVE_SYS_DIR_H, HAVE_NDIR_H
1019
	instead of the oldfashioned names DIRENT, SYSDIR, SYSNDIR, NDIR.
1020
	(CLOSEDIR): New macro.
1021
	(progerror): New function.
1022
	(treat_stdin, treat_file, creat_outfile, get_istat, check_ofname,
1023
	treat_dir): Use it, for brevity.
1024
	(treat_dir): Report any I/O errors when reading directories.
1025
1026
	* COPYING, INSTALL, doc/texinfo.tex, install-sh:
1027
	Update to latest public versions.
1028
1029
1998-11-18  Paul Eggert  <eggert@twinsun.com>
1030
1031
	* NEWS, README, revision.h (VERSION, REVDATE):
1032
	Revision 1.2.4.4294967303, dated today.
1033
1034
	* gzip.c (get_method): Don't complain about trailing zeros at
1035
	the end of a gzipped file, as they're commonly appended to fill
1036
	out a block (e.g. by GNU tar).
1037
1038
	* configure.in (CPPFLAGS, LDFLAGS, LIBS): Add large-file support
1039
	for HP-UX 10.20 and later.
1040
1041
	* getopt.c, getopt.h, texinfo.tex: Sync with latest version at gnu.org.
1042
	* getopt1.c: New file.
1043
	* Makefile.in (SRCS): Add getopt1.c.
1044
	(OBJS): Add getopt1$O.
1045
	(getopt1$O): New dependency.
1046
	(check): Adjust desired size of compressed texinfo.tex to 55637,
1047
	to reflect the 1998-11-13 edition of texinfo.tex.
1048
1049
	* gpl.texinfo: Remove; its addresses were out of date and
1050
	these days the GPL isn't reprinted in manuals anyway.
1051
	* gzip.texi: Remove reference to gpl.texinfo.
1052
	* Makefile.in (GENFILES): Remove gpl.texinfo.
1053
1054
1998-11-13  Paul Eggert  <eggert@twinsun.com>
1055
1056
	* NEWS, README, revision.h (VERSION, REVDATE):
1057
	Revision 1.2.4.4294967302, dated today.
1058
1059
	* gzip.c (input_eof): New function.
1060
	(treat_stdin, treat_file): Use it to fix premature detection of EOF
1061
	bug when a gzipped file concatenation boundary is at a multiple of
1062
	INBUFSIZ.
1063
1064
	* Makefile.in (installman): Fix bug when installing from subdirectory.
1065
	($(srcdir)/gzip.info): Renamed from gzip.info.
1066
	($(srcdir)/gzip.info, realclean): Do not split gzip.info.
1067
1068
1998-10-26  Paul Eggert  <eggert@twinsun.com>
1069
1070
	* NEWS, README, revision.h (VERSION, REVDATE):
1071
	Revision 1.2.4.4294967301, dated today.
1072
1073
	* TODO: Update bug reporting address.
1074
1075
	* Makefile.in (datadir, libdir): Remove unused macros.
1076
	(mandir): Let configure set it.
1077
	(manextdir): New macro.
1078
	(alldirs): Remove datadir, libdir; add manextdir.
1079
	(TEXI2HTML): New macro.
1080
	(installman, uninstall): Install into manextdir, not mandir.
1081
	(install-strip): New rule.
1082
	(installdirs): No need to build $(prefix)/man separately,
1083
	as it's now in alldirs.
1084
	(match$O): Compile with $(CFLAGS).
1085
	(gzip_1.html): New rule.
1086
1087
	* gzip.c (get_istat): Remove lint by initializing z_suffix_errno.
1088
	(check_ofname): Do not assume unsigned char.
1089
1090
	* util.c (strlwr): Don't assume char is unsigned.
1091
	(warning): Renamed from `warn'.
1092
1093
	* gzip.h (tolow): Use tolower instead of relying on 'A'-'a'.
1094
	(warning): Renamed from warn.
1095
1096
	* trees.c (warning): Renamed from warn.
1097
1098
1998-10-14  Paul Eggert  <eggert@twinsun.com>
1099
1100
	Merge patches from Debian.
1101
1102
	* NEWS, README, revision.h (VERSION, REVDATE):
1103
	Revision 1.2.4.4294967300, dated today.
1104
1105
	* README, algorithm.doc, gzip.texi: Update maintainer address.
1106
1107
	* gzexe.in, zdiff.in, znew.in:
1108
	Close security hole portably, using `set -C'.
1109
1110
	* zgrep.in: Add -A, -B.
1111
1112
	* gzexe.in: Use `gzip', not full path, to run gzip.
1113
1114
	* zdiff.in: Report proper exit status.
1115
1116
	* gzip.h (base_name): Renamed from basename.  All uses changed.
1117
1118
	* gzip.c (z_suffix): Now char *, so that there's no limit to length.
1119
	All uses change.
1120
	(main): If --quiet, abort gzip when SIGPIPE received.
1121
	(get_suffix): Don't assume z_suffix's address is a constant.
1122
	(get_istat): Likewise.
1123
	Check for buffer overflow.
1124
	Preserve errno correctly.
1125
	(make_ofname): Check for buffer overflow.
1126
1127
	* util.c (fill_inbuf): Flush window before reporting read error.
1128
1129
	* inflate.c (inflate_dynamic): Don't dump core if tl == NULL.
1130
1131
	* Makefile.in (GENFILES): Add zless.in.
1132
	(SCRIPTS): Add zless.
1133
	(default): Build all programs, not just gzip.
1134
	(all): Add zless.
1135
	(installbin): Install zegrep, zfgrep.
1136
	(installman): Install zless man page.
1137
	(install_compress): Don't install compress.
1138
	(zless): New rule.
1139
1140
1998-09-16  Paul Eggert  <eggert@twinsun.com>
1141
1142
	* NEWS, README, revision.h: Bump version number to 1.2.4.4294967299.
1143
1144
	* tailor.h (UNLINK_READONLY_BUG): New macro.
1145
	* gzip.h (unlink): New decl.
1146
	* util.c (xunlink): New function.
1147
	* gzip.c
1148
	(treat_file, create_outfile, check_ofname, copy_stat, abort_gzip):
1149
	Use xunlink rather than unlink.
1150
	Do not chmod the file; xunlink will do that if need be.
1151
1152
1998-05-21  Paul Eggert  <eggert@twinsun.com>
1153
1154
	* NEWS, README, revision.h: Bump version number to 1.2.4.4294967298.
1155
	* Makefile.in (prefix): Set from @prefix@.
1156
	(distclean): Remove config.cache.
1157
1158
1998-01-15  Paul Eggert  <eggert@twinsun.com>
1159
1160
	* NEWS, README, revision.h:
1161
	Bump version number to indicate large-file support.
1162
1163
1997-10-08  Paul Eggert  <eggert@twinsun.com>
1164
1165
	* gzip.c (CHAR_BIT): Define if <limits.h> doesn't.
1166
	(OFF_T_MIN, OFF_T_MAX): New macros.
1167
	(do_list): Revert to fixed format, but this time don't assume
1168
	that 9 digits suffice; use a width taken from the maximum value
1169
	that off_t can represent.
1170
	(off_t): Do not typedef; autoconf handles this now.
1171
	* gzip.c, util.c (<limits.h>): Include if HAVE_LIMITS_H.
1172
	* gzip.h, util.c (fprint_off): Now takes int width argument.
1173
	* configure.in (AC_HAVE_HEADERS): Check for limits.h.
1174
	(AC_TYPE_OFF_T): Use this instead of grepping sys/types.h for off_t.
1175
	(AC_TYPE_SIZE_T): Use this instead of obsolescent AC_SIZE_T.
1176
	* tailor.h (NO_OFF_T): Remove.
1177
	(off_t): Define this instead.
1178
1179
1997-10-03  Paul Eggert  <eggert@twinsun.com>
1180
1181
	* Makefile.in, bits.c, configure.in, deflate.c, gzip.c, gzip.h,
1182
	inflate.c, trees.c, unlzw.c, unpack.c, unzip.c, util.c, zip.c:
1183
	Adjust to Solaris 2.6, which has large files but small off_t by default.
1184
	* gzip.c: Output more reasonable message if input file is too large.
1185
	* gzip.c, util.c: Propagate errno from point of error to `perror'.
1186
	* unzip.c: Allow uncompressing files larger than 4 gigabytes.
1187
	http://www.gzip.org/4g.patch (1996-07-21)
1188
1189
Wed Aug 18 09:34:23 1993  Jean-loup Gailly  (jloup@chorus.fr)
1190
1191
	* version 1.2.4
1192
	By default, do not restore file name and timestamp from those saved
1193
	  inside the .gz file (behave as 'compress'). Added the --name option
1194
          to force name and timestamp restoration.
1195
	Accept - as synonym for stdin.
1196
	Use manlinks=so or ln to support either hard links or .so in man pages
1197
	Accept foo.gz~ in zdiff.
1198
	Added support for Windows NT
1199
        Handle ENAMETOOLONG for strict Posix systems
1200
	Use --recursive instead of --recurse to comply with Webster and
1201
          the GNU stdandard.
1202
	Allow installation of shell scripts with a g prefix: make G=g install
1203
	Install by default zcat as gzcat if gzcat already exists in path.
1204
	Let zmore behave as more when invoked without parameters (give help)
1205
	Let gzip --list reject files not in gzip format even with --force.
1206
	Don't complain about non gzip files for options -rt or -rl.
1207
	Added advice in INSTALL for several systems.
1208
	Added makefile entries for NeXTstep 3.1 (if configure fails)
1209
	Avoid problem with memcpy on Pyramid (gave crc error on some files)
1210
	Support the -r option when compiled with Borland C++ on msdos.
1211
	Force lower case file names only for FAT file systems (not HPFS)
1212
	Rewrite one expression in inflate.c to avoid cc bug on Solaris x86.
1213
	In the msdos makefiles, get match.asm from the msdos subdirectory.
1214
	Catch SIGTERM and SIGHUP only if they are not ignored.
1215
        getopt.c: on Amiga, "#if !defined(const)" does not compile.
1216
	Use register parameters on Amiga.
1217
	Do not force names to lower case on Amiga.
1218
	Fix support of Atari TOS (Makefile.st and tailor.h)
1219
	In unlzw.c, do not suggest using zcat if zcat already used.
1220
	In INSTALL, suggest using bsdinst for HPUX.
1221
	Document Turbo C++ 1.0 bug in INSTALL.
1222
	Improved the documentation relative to the --no-name option.
1223
	Avoid signed/unsigned warnings in several files.
1224
	Added pointer to jka-compr19.el in README.
1225
	Added pointer to OS/2 executables in README.
1226
	Added --block-compress in tar -z example (gzip.1 and gzip.texi).
1227
	Don't keep rcsid in executable (avoid compilation warnings).
1228
	Check also the correctness of the first byte of an .Z file.
1229
	Return non zero status for an invalid option.
1230
        Remove "NEWFILES" from os2/gzip.def for Borland C++ on OS/2.
1231
	Remove "time stamp restored" message (just obey the -N request).
1232
1233
Thu Jun 24 10:27:57 1993  Jean-loup Gailly  (jloup@chorus.fr)
1234
1235
	* version 1.2.3
1236
	Don't display the output name when decompressing except with --verbose.
1237
	Remove usage of alloca in getopt.c and all makefiles.
1238
	Use ASCPP instead of CPP to avoid breaking AC_HEADER_CHECK on RiscOS.
1239
        Added the zfile shell script in subdirectory sample.
1240
	Moved the list of compiler bugs from README to INSTALL.
1241
	Added vms/Readme.vms.
1242
	Fix DIST_BUFSIZE check in unlzh.c for 16 bit machines.
1243
	Fix REGSIGTYP macro in configure.in.
1244
	Use 'define' instead of == in vms/gzip.hlp.
1245
	Avoid warnings in unlzh.c
1246
	Allow separate installation of binaries and man pages.
1247
	Simplified handling of file names with spaces in zgrep and znew.
1248
	Fix dependencies and remove rule for trees.c in amiga/Makefile.sasc
1249
	Add missing quote in gzexe.
1250
1251
Thu Jun 17 13:47:05 1993  Jean-loup Gailly  (jloup@chorus.fr)
1252
1253
	* version 1.2.2
1254
	Fix a compilation error in gzip.c on Sun with cc (worked with gcc).
1255
1256
Wed Jun 16 11:20:27 1993  Jean-loup Gailly  (jloup@chorus.fr)
1257
1258
	* version 1.2.1
1259
	 Let zmore act as more if the data is not gzipped.
1260
         By default, display output name only when name was actually truncated.
1261
	 Use absolute path names in gzexe'd programs for better security.
1262
	 In gzexe, use chmod 700 instead of 755 and don't gzexe tail,rm,etc...
1263
	 Update vms/gzip.hlp.
1264
	 Added a note about the fast options (-1 to -3) in algorithm.doc.
1265
	 Improved man page for zgrep.
1266
	 Minor fixes to gzip.texi.
1267
	 Always set LC_ALL and LANG in configure (for tr on HPUX)
1268
1269
Mon Jun 14 10:03:24 1993  Jean-loup Gailly  (jloup@chorus.fr)
1270
1271
	* version 1.2
1272
	 Added the --list option to display the file characteristics.
1273
         Added the --no-name option: do not save or restore original filename
1274
           Save the original name by default.
1275
         Allow gunzip --suffix "" to attempt decompression on any file
1276
           regardless of its extension if an original name is present.
1277
	 Add support for the SCO compress -H format.
1278
         gzip --fast now compresses faster (speed close to that of compress)
1279
           with degraded compression ratio (but still better than compress).
1280
	   Default level changed to -6 (acts exactly as previous level -5) to
1281
           be a better indication of its placement in the speed/ratio range.
1282
	 Use smart name truncation: 123456789012.c -> 123456789.c.gz
1283
	   instead of 12345678901.gz
1284
	 With --force, let zcat pass non gzip'ed data unchanged (zcat == cat)
1285
	 Added the zgrep shell script.
1286
	 Made sub.c useful for 16 bit sound, 24 bit images, etc..
1287
	 Supress warnings about suffix for gunzip -r, except with --verbose.
1288
	 Moved the sample programs to a subdirectory sample.
1289
	 On MSDOS, use .gz extension when possible (files without extension)
1290
	 Added a "Special targets" section in INSTALL.
1291
	 Use stty -g correctly in zmore.in.
1292
	 Use cheaper test for gzipness in zforce.in.
1293
	 Remove space before $ in match.S (no longer accepted by gas 2.x)
1294
	 For the shell scripts, do not assume that gzip is in the path.
1295
	 Fix syntax error and define lnk$library in vms/Makefile.mms
1296
	 REGSIGTYPE is void on the Amiga.
1297
	 Do not write empty line when decompressing stdin with --verbose.
1298
	 Fix the 1.1.2 fix for VMS (bug in get_suffix)
1299
	 Added warning in README about compiler bug on Solaris 2.1 for x86.
1300
	 Added warning about 'rehash' in INSTALL.
1301
	 Removed default value of read_buf in bits.c (supermax doesn't like).
1302
	 In tailor.h, added support for Borland C and Zortech C on OS/2.
1303
	 Added warning in gzexe about Ultrix buggy sh (use /bin/sh5 instead).
1304
	 Added warning in zdiff about AIX buggy sh (use /bin/ksh instead).
1305
	 In configure.in, do not try the asm code if DEFS contains NO_ASM
1306
1307
Fri Jun  4 09:49:33 1993  Jean-loup Gailly  (jloup@chorus.fr)
1308
1309
	* version 1.1.2
1310
	 Fix serious bug for VMS (-gz not removed when decompressing).
1311
	 Allow suffix other than .gz in znew.
1312
	 Do not display compression ratio when decompressing stdin.
1313
	 In zmore.in, work around brain damaged stty -g (Ultrix).
1314
	 Display a correct compression ratio for .Z files.
1315
	 Added .z to .gz renaming script in INTALL.
1316
	 Allow setting CFLAGS in configure.
1317
	 Add warning in README about bug in Concentrix cc compiler.
1318
	 Avoid || in Makefile.in (at least one make doesn't support this).
1319
	 Disable useless --ascii option for the Amiga.
1320
	 Add a pointer to the Primos executable in README.
1321
	 Added description of extra field in algorithm.doc.
1322
	 Do not redefine NULL in alloca.c.
1323
	 Added check for unsupported compression methods.
1324
	 Avoid getopt redeclaration on OSF/1.
1325
1326
Tue Jun  1 09:07:15 1993  Jean-loup Gailly  (jloup@chorus.fr)
1327
1328
	* version 1.1.1
1329
	 Fix serious bug in vms.c (== instead of =).
1330
	 Added --ascii option.
1331
	 Add workaround in configure.in for Ultrix (quote eval argument)
1332
	 Do not use unset in znew (not supported on Ultrix)
1333
	 Use tar.gz instead of tar.z for the distribution of gzip.
1334
	 Add missing menu item in gzip.texi.
1335
	 Use size_t instead of unsigned, add AC_SIZE_T in configure.in.
1336
1337
Fri May 28 11:40:01 1993  Jean-loup Gailly  (jloup@chorus.fr)
1338
1339
	* version 1.1
1340
	 Use .gz suffix by default, add --suffix option.
1341
	 Let gunzip accept a "_z" suffix (used by one 'compress' on Vax/VMS).
1342
	 Quit when reading garbage from stdin instead of reporting an error.
1343
	 Added sub.c and add.c for compression of 8 bit images.
1344
	 Added makefile for VAX/MMS and support for wildcards on VMS.
1345
	 Added support for MSC under OS/2.
1346
	 Added support for Prime/PRIMOS.
1347
	 Display compression ratio also when decompressing.
1348
	 Quit after --version (GNU standard)
1349
	 Use --force to bypass isatty() check.
1350
	 Accept --silent as synonym for --quiet (see longopts.table)
1351
	 Accept --to-stdout as synonym for --stdout (see longopts.table)
1352
	 Accept -H and -? in addition to -h and --help.
1353
	 Added comparison of zip and gzip in the readme file.
1354
	 Return an error code in all main compression/decompression functions.
1355
	 Continue processing other files in case of recoverable error.
1356
	 Add description of -f in znew.1.
1357
	 Do not keep uncompressed version for znew -t if .gz already exists.
1358
	 On Unix, use only st_ino and st_dev in same_file().
1359
	 Use S_IRUSR and S_IWUSR if they exist.
1360
	 "test $1 = -d" -> "test x$1 = x-d" in gzexe.
1361
	 In match.S, use symbol sysV68 to detect the Motorola Delta.
1362
	 Do not include memory.h with gcc (conflicting declarations on Sun).
1363
	 Fix more typos.
1364
	 On VMS, define unlink as delete also for gcc.
1365
	 In "make check", unset LANG because "wc -c" fails on Kanji.
1366
	 Renamed shdir as scriptdir.
1367
	 Use the 68020 code instead of 68000 code on the NeXT.
1368
	 Documented --uncompress as synonym for --decompress.
1369
	 Include the standard header files before gzip.h (needed on Bull).
1370
	 Do not assume that _POSIX_VERSION implies dirent.h present.
1371
	 Removed gzip-tar.patch since tar 1.11.2 handles gzip directly.
1372
	 Use less memory when compiled with -DSMALL_MEM (for MSDOS).
1373
	 Optimized updcrc().
1374
	 Don't complain if cc -E does not work correctly.
1375
	 Do not attempt reading 64K bytes on 16 bit Unix systems.
1376
	 Do not use the variable name 'overhead' which is reserved on Lynx!
1377
	 One BULL compiler does not like *p++ in inflate.c => *p, p++.
1378
	 Use casts on free and memcmp to avoid warnings.
1379
         Remove the "off by more than one minute" time stamp kludge, but
1380
           document how to avoid saving the time stamp on pipes if desired.
1381
	 Include crypt.h in inflate.c (one system predefines the CRYPT symbol).
1382
	 Add links to gunzip and (g)zcat in the default make rule.
1383
         Create installation directories if they do not exist.
1384
	 Clarified --prefix option in INSTALL.
1385
	 Use symbol mc68k in match.S for the DIAB DS90.
1386
	 Guard against zero length _match.s in configure.in.
1387
	 In zmore, restore all tty options using stty -g.
1388
	 Added support for MacOS
1389
	 Simplified makecrc.c.
1390
	 Avoid warnings in getopt.c, util.c, unlzw.c.
1391
	 Use autoconf 1.4, in particular for INSTALL and AC_HAVE_POUNDBANG
1392
	 Use .so instead of hard links for zcat.1, gunzip.1 and zcmp.1.
1393
	 Fixed declration of sig_type.
1394
	 Make consistency check in fcfree.
1395
	 Added ztouch.
1396
	 Do not complain if utime fails on a directory (for OS/2).
1397
1398
Thu Mar 18 18:56:43 1993  Jean-loup Gailly  (jloup@chorus.fr)
1399
1400
	* version 1.0.7
1401
	  Allow zmore to read from standard input (like more).
1402
	  Support the 68000 (Atari ST) in match.S.
1403
	  Retry partial writes (required on Linux when gzip is suspended in
1404
	    a pipe).
1405
	  Allow full pathnames and renamings in gzexe.
1406
	  Don't let gzexe compress setuid executables or gzip itself.
1407
	  Added vms/Makefile.gcc for gcc on the Vax.
1408
	  Give a pointer to Solaris and VMS executables of gzip in README.
1409
	  Allow installation of binaries and shell scripts in different dirs.
1410
	  Do not use alloca on the Cray.
1411
	  Provide strspn and strcspn if string.h does not exist.
1412
	  Define O_CREAT and O_EXCL from FCREAT and FEXCL if necessary.
1413
	  Remove gzip.doc in make realclean.
1414
	  Fixed many typos. (Corrections to my English are welcome.)
1415
	  Put "make manext=l install" at the correct place in INSTALL.
1416
	  Fix incorrect examples in INSTALL and give more examples.
1417
	  Include zdiff.1 for install and uninstall.
1418
	  Allows complex PAGER variable in zmore (e.g.: PAGER="col -x | more")
1419
	  Avoid warning on unused indfound in getopt.c.
1420
	  Cast memset arg to void* (required by some buggy compilers).
1421
	  Include sys/types.h before dirent.h in acgeneral.m4.
1422
	  Fix acgeneral.m4 AC_COMPILE_CHECK to avoid warnings.
1423
	  Don't use alloca.c with gcc. (One NeXT user did not have alloca.h).
1424
	  Change all error messages according to GNU standards.
1425
	  Restore time stamp only if off by more than one minute.
1426
	  Allow installation of zcat as gzcat.
1427
	  Suppress help message  and send compressed data to the terminal when
1428
	    gzip is invoked without parameters and without redirection.
1429
	   (Explicit request from Noah Friedman.)
1430
	  Add compile option GNU_STANDARD to respect the GNU coding standards:
1431
	    with -DGNU_STANDARD, behave as gzip even if invoked under the
1432
	    name gunzip. (Complaints to /dev/null or the FSF, not to me!)
1433
1434
Fri Mar 10 13:27:18 1993  Jean-loup Gailly  (jloup@chorus.fr)
1435
1436
	* version 1.0.6
1437
	  Let gzexe detect executables that are already gzexe'd.
1438
	  Don't try restoring record format on VMS (the simple 1.0.5 code
1439
	    worked correctly only on fixed-512 files). Suppress text_mode.
1440
	  Added asm version for 68000 in amiga/match.a.
1441
	  Use asm version for Atari TT.
1442
	  Fix "make clean" in vms/Makefile.vms.
1443
	  For OS/2, assume HPFS by default, add flag OS2FAT if necessary.
1444
	  Fixed some bugs in zdiff and define zcmp as a link to zdiff.
1445
	  Added zdiff.1
1446
	  Remove configure hack for NeXT; add general fix to autoconf instead
1447
	  Do not strip a ".z" extension if this results in an empty name.
1448
	  Avoid array overflow in get_prefix() for extensions > 10 chars.
1449
	  Accept either q or e to quit zmore.
1450
	  In zmore, try restoring tty mode in all cases.
1451
	  Use Motorola style for match.S on the NeXT.
1452
	  configure.in: unsetenv *hangs* with the Siemens csh...
1453
	  Update vms/gzip.hlp.
1454
1455
Thu Mar 4 14:13:34 1993  Jean-loup Gailly  (jloup@chorus.fr)
1456
1457
	* version 1.0.5
1458
	  For VMS, restore the file type for variable record format, otherwise
1459
	    extract in fixed length format (not perfect, but better than
1460
            forcing all files to be in stream_LF format).
1461
	  Use "-z" suffix for VMS.
1462
	  Use only .z, .*-z, .tgz, .taz as valid gzip extensions; update
1463
	   zforce accordingly.
1464
	  Allow a version number in input file names for VMS.
1465
	  Added sample program zread.c.
1466
	  Fix "make check" for some implementations of /bin/sh.
1467
	  Don't rely on stat() for filenames with extension > 3 chars
1468
	    on MSDOS, OS2 and Atari.
1469
	  Garbage collect files in /tmp created by gzexe.
1470
	  Quote $opt in znew.
1471
	  Use TOUCH env variable in znew if it exists.
1472
	  Better error message for gunzip on empty or truncated file.
1473
	  Allow prototypes in getopt.h when __STDC__ defined but 0.
1474
	  Added "make clean" in vms/Makefile.vms.
1475
	  Removed -g from default CFLAGS (with Noah's permission!)
1476
	  Avoid too many HAVE_xxx_H for most systems; use common defaults.
1477
	  Moved default Atari flags into tailor.h for consistency.
1478
	  Use memzero() to clear the hash table.
1479
	  Update vms/gzip.hlp to reflect the VMS behavior.
1480
	  Fix OS_CODE (to fit in a byte).
1481
	  Add utime.h for the Amiga.
1482
	  Add gcc support for the Amiga.
1483
	  Work around incorrect dirent.h for NeXT 2.0.
1484
	  Added Makefile entry for Coherent.
1485
1486
Fri Feb 22 11:20:49 1993  Jean-loup Gailly  (jloup@chorus.fr)
1487
1488
	* version 1.0.4
1489
	  Added optimized asm version for 68020.
1490
	  Add support for DJGPP.
1491
	  Add support for the Atari ST.
1492
	  Added zforce to rename gzip'ed files with truncated names.
1493
	  Do not install with name uncompress (some systems rely on the
1494
	    absence of any check in the old uncompress).
1495
	  Added missing function (fcfree) in msdos/tailor.c
1496
	  Let gunzip handle .tgz files, and let gzip skip them.
1497
	  Added 'stty min 1' in zmore for SysV and fixed trap code.
1498
	  Suppress .PHONY in Makefile.in, which breaks old makes.
1499
	  Added documentation about pcat and unpack in INSTALL.
1500
	  Add cast to getenv for systems without stdlib.h.
1501
	  Use VAXC instead of VMS to avoid confusion for gcc.
1502
	  Add -K to znew.1.
1503
	  Add gzexe.1.
1504
	  Try preserving file permissions in gzexe.
1505
	  Added -d option for gzexe.
1506
	  Guard against spaces in file names in gzexe.
1507
	  Use CMP env. variable in zcmp.
1508
	  Return a warning exit status for gzip of file with .z suffix.
1509
	  Suppress usage of d_ino which is not portable to all systems.
1510
	  Use #ifdef instead of #if for consistency.
1511
	  For VMS, use "cc util.c" instead of "cc util" (pb with logical names)
1512
	  Added utime() for Amiga.
1513
	  Renamed gzcat.1 as zcat.1.
1514
	  Include fcntl.h for Amiga (for read and write).
1515
	  For VMS, add definition of symbols and links in the makefiles.
1516
	  Give a VMS look to vms/gzip.hlp.
1517
	  Save the original name only when necessary.
1518
	  Add a mode parameter for open in read mode (required by VMS).
1519
	  For VMS, remove the version suffix from the original name.
1520
	  Accept both / and \ as path separator for MSDOS.
1521
	  Let gunzip extract stored .zip files correctly.
1522
	  Added warning about VFC format in vms/gzip.hlp.
1523
	  In znew, skip a bad file but process the others.
1524
	  Cleanup tailor.h.
1525
	  Use GZIP_OPT for VMS to avoid conflict with program name.
1526
	  Added description of GZIP variable in gzip.texi.
1527
1528
Thu Feb 11 17:21:32 1993  Jean-loup Gailly  (jloup@chorus.fr)
1529
1530
	* version 1.0.3
1531
	  Add -K option for znew to keep old .Z files if smaller.
1532
	  Add -q option (quiet) to cancel -v in GZIP env variable.
1533
          For Turbo C, normalize pointers before freeing them.
1534
          Add more safety checks in add_envopt().
1535
          Add do_exit() for uniform exit path (always free memory).
1536
          Reduce MAX_PATH_LEN for MSDOS.
1537
	  Include sys/types.h before signal.h
1538
	  Avoid strdup, the NeXT does not have it.
1539
          Made gzexe safer on systems with filename limitation to 14 chars.
1540
1541
Fri Feb  10 09:45:49 1993  Jean-loup Gailly  (jloup@chorus.fr)
1542
1543
	* version 1.0.2
1544
	  Added env variable GZIP for default options.
1545
	  Added support for the Amiga.
1546
	  znew now keeps the old .Z if it is smaller than the .z file.
1547
	  Added gzexe to compress rarely used executables.
1548
	  Reduce memory usage when using static allocation (no DYN_ALLOC).
1549
	  Better separation of warning and error return codes.
1550
	  Fix unlzw.c to make DYN_ALLOC and MAXSEG_64K independent options.
1551
	  Allow INBUFSIZ to be >= 32K in unlzw (don't use sign of rsize)
1552
	  Generate tar file in old format to avoid problems with old systems.
1553
	  Preserve time stamp in znew -P if touch -r works.
1554
	  Use ${PAGER-more} instead of ${PAGER:-more} in zmore.
1555
	  Do not use unsigned instead of mode_t.
1556
	  Better error message for trailing garbage in .z file; ignore this
1557
	   garbage on VMS.
1558
	  In zmore, use icanon instead of -cbreak on SYSV.
1559
	  Add trap handler in zmore.
1560
	  Use char* instead of void* for non STDC compilers.
1561
	  Added makefile entry for Xenix on 286.
1562
	  Return an error code when existing file was not overwritten.
1563
	  Use prototype of lzw.h for lzw.c.
1564
	  Fix znew with -P option alone.
1565
	  Give warning for directories even without -v.
1566
	  Close output file before unlink() in case of error.
1567
	  Suppress all target dependent ifdef from the portable files.
1568
	  Free all dynamically allocated variables upon exit.
1569
1570
Thu Feb 4 18:23:56 1993  Jean-loup Gailly  (jloup@chorus.fr)
1571
1572
	* version 1.0.1
1573
	  Fixed some trivial errors in msdos/Makefile.bor
1574
1575
Thu Feb 4 10:00:59 1993  Jean-loup Gailly  (jloup@chorus.fr)
1576
1577
	* version 1.0
1578
	  gzip now runs on Vax/VMS (Amiga support will come in next version).
1579
	  Do not overwrite files without -f when using /bin/sh.
1580
          Support the test option -t for compressed (.Z) files.
1581
	  Flush output for bad compressed files. Add warning in README.
1582
	  Added makefiles for MSDOS.
1583
	  Don't rely on presence of csh in configure
1584
	  Added gunzip.1 and gzcat.1.
1585
	  Updated znew.1.
1586
	  Check reserved flags in unlzw().
1587
	  Return dummy value in main to avoid lint warning.
1588
	  Define OF in lzw.h for lint.
1589
	  Allow both "znew -v -t" and "znew -vt".
1590
	  Don't overwrite the output file name for multiple parts.
1591
	  Echo just a warning if configure is out of date.
1592
	  Use ; instead of , in trees.c (confuses the SAS Amiga compiler).
1593
	  In INSTALL, document "DEFS='-DM_XENIX' ./configure".
1594
	  Use OTHER_PATH_SEP for more portability (DOS, OS2, VMS, AMIGA).
1595
	  Make all directories world writable for broken versions of tar.
1596
	  Use gzip -cd instead of zcat in zmore, zcmp, zdiff.
1597
	  Don't use GNU tar for distributions, some systems can't untar.
1598
	  Do not exit() for gzip --version.
1599
1600
Mon Jan 26 10:26:42 1993  Jean-loup Gailly  (jloup@chorus.fr)
1601
1602
	* Beta version 0.8.2
1603
	  Avoid 'far' declarations for MSDOS.
1604
	  Use test -f instead of test -x in configure.in (for Ultrix)
1605
	  Add empty else part to if in Makefile.in for broken shells.
1606
	  Use NO_UNDERLINE instead of UNDERLINE (pb with Linux cpp)
1607
	  Accept continuation files with -ff (for damage recovery)
1608
	  Small patch to Makefile.os2
1609
	  Use memzero instead of bzero to avoid potential conflicts
1610
	  Document restriction on extraction of zip files.
1611
	  Fix quoting in ACL_HAVE_SHELL_HACK.
1612
          Do not check file size on MSDOS because of bug in DIET.
1613
	  Allow zcat on a file with multiple links.
1614
	  Add fix in inflate.c for compatibility with pkzip 2.04c.
1615
	  Release gzip in tar.z and tar format. (No tar.Z).
1616
1617
Fri Jan 22 10:04:13 1993  Jean-loup Gailly  (jloup@chorus.fr)
1618
1619
	* Beta version 0.8.1
1620
	  Fixed Makefile.os2
1621
	  Fixed #if directives that TurboC does not like.
1622
	  Don't rely on uncompress in znew, use gzip -d.
1623
	  Add the pipe option -P in znew.
1624
	  Add some more ideas in TODO.
1625
	  Support both NDIR and SYSNDIR.
1626
1627
Sat Jan  21 15:46:38 1993  Jean-loup Gailly  (jloup@chorus.fr)
1628
1629
	* Beta version 0.8
1630
	  Support unpack.
1631
	  Check for _match.o in configure.in in addition to return status.
1632
	  Include <sys/types.h> in zip.c
1633
	  Define local variables and functions as local.
1634
	  Accept more alternative names for the program (pcat, gzcat, ...).
1635
	  Accept .exe as well as .EXE.
1636
	  Uncompress files with multiple links only with -f.
1637
	  Better error message for gunzip of non-existent file.z.
1638
	  Fix the entry for /etc/magic in INSTALL.
1639
	  Use AC_HAVE_HEADERS uniformly instead of special macros.
1640
	  Install the man pages as .1 by default instead of .l.
1641
	  Document crypt++.el in README.
1642
	  Fix for unlzw() on 16-bit machines (bitmask must be unsigned).
1643
	  Complain if input and output files are identical.
1644
	  Create a correct output name for files of exactly 13 chars.
1645
	  Do not overwrite CPP if set
1646
	  Check for i386 before trying to assemble match.s
1647
	  Check for underline in external name before assembling
1648
	  Add patch for tar 1.11.1.
1649
1650
Mon Jan  5 10:16:24 1993  Jean-loup Gailly  (jloup@chorus.fr)
1651
1652
	* Beta version 0.7
1653
	  Use "make check" instead of "make test".
1654
	  Do not rely on dirname in znew.
1655
	  Keep time stamp and pass options to gzip in znew.
1656
	  Rename .l files back to .1 to avoid conflict with lex
1657
	  Do not create .z.z files with gzip -r.
1658
	  Use nice_match in match.asm
1659
	  Unroll loops in deflate.c
1660
	  Do not attempt matches beyond the window end
1661
	  Allow again gunzip .zip files (was working in 0.5)
1662
	  Allow again compilation with TurboC 2.0 (was working in 0.4)
1663
1664
Tue Dec 30 20:00:19 1992  Jean-loup Gailly  (jloup@chorus.fr)
1665
1666
	* Beta version 0.6
1667
	  The .z extension is used by pack, not compact (README, gzip.1)
1668
	  Accept gzcat in addition to zcat.
1669
	  Use PAGER in zmore if defined.
1670
	  Man pages for /usr/local/man/manl should have extension .l.
1671
	  Don't redefine bzero on the NeXT
1672
	  Allow incomplete Huffman table if there is only one code.
1673
	  Don't lookahead more than 7 bits (caused premature EOF).
1674
	  Added "make test" to check for compiler bugs.
1675
	  Don't rely on `i386`; try to assemble directly
1676
	  Change magic header to avoid conflict with freeze 1.x.
1677
	  Added entry for /etc/magic in INSTALL.
1678
	  Do not destroy an input .zip file with more than one member.
1679
	  Display "untested" instead of "OK" for gzip -t foo.Z
1680
	  With -t, skip stdin in .Z format
1681
	  Allow multiple compressed members in an input file.
1682
	  Ignore a zero time stamp.
1683
	  Made znew safer.
1684
1685
Tue Dec 29 10:00:19 1992   Noah Friedman  (friedman@gnu.ai.mit.edu)
1686
1687
	  Added test for #!/bin/sh in configure.in.
1688
	  Fix some references to $srcdir in Makefile.in
1689
1690
Mon Dec 21 17:33:35 1992  Jean-Loup Gailly  (jloup@chorus.fr)
1691
1692
	* Beta version 0.5
1693
	  Put RCS ids in all files.
1694
	  Added znew to recompress old .Z files with gzip.
1695
	  Avoid "already .z suffix" messages for -r and no -v.
1696
	  Put back check for d_ino in treat_dir().
1697
	  Use HAVE_STRING_H instead of USG.
1698
	  Added os2/Makefile.os2
1699
	  Use SYSUTIME on OS/2.
1700
	  Info dir is $(prefix)/info, not $(prefix)/lib/info.
1701
	  Support long options, added getopt and alloca
1702
	  Support -V and -t
1703
	  Reorder configure.in according to suggestions in autoconf.info
1704
	  Allow links when not removing original file
1705
	  Allow either .z or .Z in zdiff
1706
1707
Wed Nov 25 11:40:04 1992  Jean-loup Gailly  (jloup@chorus.fr)
1708
1709
	* Beta version 0.4.1
1710
	  Save only the original base name, don't include any directory prefix.
1711
	  Don't use HAVE_LONG_FILE_NAMES (support multiple file system types).
1712
	  Fix declaration of abort_gzip in gzip.h.
1713
	  Include unistd.h when it exists to avoid warnings with gcc -Wall.
1714
1715
Mon Nov 23 12:39:01 1992    Jean-loup Gailly  (jloup@chorus.fr)
1716
1717
	* Beta version 0.4
1718
          Lots of cleanup
1719
	  Use autoconf generated 'configure'
1720
          Fixed the NO_MULTIPLE_DOTS code
1721
          Fixed the save_orig_name code
1722
          Support for MSDOS (Turbo C)
1723
1724
Thu Nov 19 15:18:22 1992    Jean-loup Gailly  (jloup@chorus.fr)
1725
1726
	* Beta version 0.3
1727
	  Added auto configuration. Just type "make" now.
1728
	  Don't overwrite compress by default in "make install". Use
1729
	    "make install_compress" to overwrite.
1730
	  Add match.s for 386 boxes.
1731
	  Added documentation in texinfo format.
1732
	  Provide help for "gunzip" invoked without redirected input.
1733
	  Save original file name when necessary.
1734
	  Support OS/2 (Kai-Uwe Rommel).
1735
1736
Tue Nov 17 14:32:53 1992  Jean-loup Gailly  (jloup@chorus.fr)
1737
1738
	* Alpha version 0.2.4
1739
	  Return 0 in get_istat() when ok (caused error with zcat).
1740
	  Don't update crc on compressed data (caused crc errors on
1741
	    large files).
1742
1743
Fri Nov 13 15:04:12 1992  Jean-loup Gailly  (jloup@chorus.fr)
1744
1745
	* Alpha version 0.2.3
1746
	  Initialize rsize in unlzw.c
1747
	  Initialize ofd for zcat.
1748
	  Do not use volatile ifname as argument of treat_dir.
1749
	  Add -1 to -9 in gzip.1.
1750
1751
Sat Oct 31 18:30:00 1992  Jean-loup Gailly  (jloup@chorus.fr)
1752
1753
	* Alpha version 0.2.2.
1754
	  Fix error messages.
1755
	  Accept gunzip on zip files.
1756
1757
Sat Oct 31 17:15:00 1992  Jean-loup Gailly  (jloup@chorus.fr)
1758
1759
	* Alpha version 0.2.1
1760
	  Use ctype.h in util.c (problem on SysV).
1761
	  Create BINDIR if it does not exist.
1762
	  Use cc by default.
1763
	  Added zcmp, zmore, zdiff.
1764
	  Fixed the man page gzip.1.
1765
1766
Sat Oct 31 17:00:00 1992  Jean-loup Gailly  (jloup@chorus.fr)
1767
1768
	* Alpha version 0.2
1769
	  Fixed compilation problems with gcc
1770
1771
Sat Oct 31 12:46:00 1992  Jean-loup Gailly  (jloup@chorus.fr)
1772
1773
	* Alpha version 0.1 released (under time pressure), so it's not
1774
	  much tested, sorry.
1775
1776
1777
	-----
1778
1779
	Copyright (C) 1997-2002, 2006-2010 Free Software Foundation, Inc.
1780
	Copyright (C) 1992, 1993 Jean-loup Gailly
1781
1782
	Copying and distribution of this file, with or without
1783
	modification, are permitted provided the copyright notice
1784
	and this notice are preserved.