forked from Distrotech/gzip
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog-2007
1784 lines (1471 loc) · 70.4 KB
/
ChangeLog-2007
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2007-11-25 Paul Eggert <[email protected]>
* lib/.cvsignore: Update to match current gnulib.
* m4/.cvsignore: Likewise.
* gzip.c (handled_sig): Move out of install_signal_handlers, and
move previous to all uses of SIGPIPE, to fix a bug encountered when
porting to mingw32. Reported by Robert Millan in
<http://lists.gnu.org/archive/html/bug-gzip/2007-11/msg00007.html>.
2007-10-04 Paul Eggert <[email protected]>
* doc/gzip.texi: Adjust to new fdl.texi format, in gnulib.
* Makefile.am (gzip.doc.gz, check-local): Depend on $(bin_PROGRAMS).
(gzip.doc.gz): Use our gzip, not the system-installed one.
Problem reported by Chris Staub in
<http://lists.gnu.org/archive/html/bug-gzip/2007-10/msg00000.html>.
2007-07-03 Paul Eggert <[email protected]>
* COPYING: Update to GPLv3. All uses changed.
2007-06-13 Paul Eggert <[email protected]>
* zless.1: Fix some troff typos mentioned in the latest Debian patch.
Also, give a workaround for the pipe problem.
* gzip.c (copy_stat): Adjust to gnulib's renaming of futimens to
gl_futimens.
2007-06-04 Paul Eggert <[email protected]>
* gzip.c (get_method): Fix typo: "a a" -> "a" in diagnostic. Reported
by Justin Pryzby in Debian bug 426965 <http://bugs.debian.org/426965>.
2007-05-07 Paul Eggert <[email protected]>
* NEWS: 'gzip -f foo.gz' now works instead of complaining.
* gzip.c (make_ofname): Implement this.
Problem reported by Sven Hartrumpf in
<http://lists.gnu.org/archive/html/bug-gzip/2007-05/msg00003.html>.
* NEWS, gzip.1: Document that case is ignored when looking at file name
extensions.
* doc/gzip.texi (Overview): Likewise.
2007-05-04 Paul Eggert <[email protected]>
* Makefile.am (.in): Substitute @bindir@, not BINDIR, for
consistency with other substitutions.
(check-local): Use --__bindir . rather than setting GZIP_BINDIR=.,
to allay security concerns voiced by Joerg Lehners in
<http://lists.gnu.org/archive/html/bug-gzip/2007-04/msg00003.html>.
* gunzip.in, gzexe.in, zcat.in, zcmp.in, zdiff.in, zegrep.in, zfgrep.in:
* zforce.in, zgrep.in, zless.in, zmore.in, znew.in:
Support --__bindir rather than GZIP_BINDIR.
* gunzip.in, zcat.in, zcmp.in: Support --help and --version
directly, to avoid some confusion in help and version output.
Problem reported by Eric Blake in
<http://lists.gnu.org/archive/html/bug-gzip/2007-04/msg00006.html>.
2007-04-28 Paul Eggert <[email protected]>
* m4/shell.m4 (AC_PROG_SHELL): Check for old-fashioned shells that
don't allow "(" in front of case labels. Problem reported by midair
in <http://lists.gnu.org/archive/html/bug-gzip/2007-04/msg00004.html>.
Also, check for buggy shells that require ";;" before "esac".
2007-04-13 Paul Eggert <[email protected]>
* NEWS: Version 1.3.12 released.
* configure.ac (AC_INIT): Likewise.
* README: Update year in copyright notice.
* m4/shell.m4: Add copyright notice.
* bootstrap (gnulib_tool_option_extras): Put this back; it was
inadvertently omitted from gnulib.
(gnulib_tool_option): Use it.
* .cvsignore: Add *._bootmp*.
* lib/.cvsignore: Add stdlib.h, stdlib_.h, time.h, time_.h, unistd.h.
Remove alloca.c, alloca.h, alloca_.h, exit.h, getdelim.c, getdelim.h,
getline.c, getline.h, malloc.c, mbchar.c, mbchar.h, mbuiter.h, memchr.c,
regcomp.c, regex.c, regex.h, regex_internal.c, regex_internal.h,
regexec.c, rpmatch.c, stdint.h, stdint_.h, strcase.h, strcasecmp.c,
strncasecmp.c, strnlen1.c, strnlen1.h, timespec.h, wcwidth.h.
* m4/.cvsignore: Add stdlib_h.m4, time_h.m4.
Remove alloca.m4, codeset.m4, getdelim.m4, getline.m4,
longlong.m4, mbchar.m4, mbiter.m4, mbrtowc.m4, memchr.m4, regex.m4,
rpmatch.m4, ssize_t.m4, stdint.m4 strcase.m4, timespec.m4, ulonglong.m4,
wchar_t.m4, wcwidth.m4, wint_t.m4.
2007-03-29 Paul Eggert <[email protected]> (tiny change)
* znew.in (tmp): Use $TMPDIR as temp directory, if given.
Suggested by Juan Manuel Guerrero.
2007-03-19 Paul Eggert <[email protected]>
* README-hacking: New file, renamed from README-cvs.
* README-cvs: Remove.
* bootstrap: Sync from today's gnulib.
* bootstrap.conf (gnulib_modules): Add 'time'.
* gzip.c: Don't include timespec.h; 'time' fixes time.h for that.
* zip.c: Likewise.
* gzip.c: Don't include time.h or sys/time.h; gzip.h now includes
time.h, which is now enough.
* gzip.h: Include <time.h>.
2007-03-14 Paul Eggert <[email protected]>
* README (WARNING): Reword to avoid mention of no-longer-existing
section in INSTALL file. Problem reported by Paul Townsend in
<http://lists.gnu.org/archive/html/bug-gzip/2007-03/msg00000.html>.
2007-02-11 Paul Eggert <[email protected]>
* gzip.c (foreground): Initialize to zero. This doesn't fix a bug
since C guarantees it's zero, but it's more consistent with the
rest of the code. Problem reported by Mark Adler.
2007-02-08 Paul Eggert <[email protected]>
* zdiff.in: Don't use '((' in a shell script, as it's not portable
to some ksh implementations, e.g., Solaris 10 ksh M-11/16/88i.
Problem reported by Nelson H. F. Beebe in
<http://lists.gnu.org/archive/html/bug-gzip/2007-02/msg00005.html>.
2007-02-05 Paul Eggert <[email protected]>
* NEWS: Version 1.3.11 released.
* configure.ac (AC_INIT): Likewise.
* doc/gzip.texi: Convert Texinfo format into a more modern style.
Put in current output samples.
* .cvsignore: Add *.gz, gunzip, zcat, zcmp, zegrep, zfgrep.
* lib/.cvsignore: Add sys_time_.h, unistd_.h.
* m4/.cvsignore: Add gnulib-common.m4, sys_time_h.m4.
* gunzip.in, zcat.in, zcmp.in, zegrep.in, zfgrep.in: New files.
* Makefile.am (EXTRA_DIST): Add them.
(bin_SCRIPTS, MOSTLYCLEANFILES): Add gunzip, zcat, zcmp, zdgrep, zfgrep.
(.in): Use GZIP_BINDIR as the location of gzip binaries, if it is set.
(check-local): Use GZIP_BINDIR.
(install-exec-hook, remove-installed-links): Make 'uncompress' an
alias for gunzip.
* gzexe.1: At least one arg is required. Don't give cat as an
example, since gzexe refuses to compress cat due to a bootstrapping
issue. List more utilities in this category.
* gzexe.in, zdiff.in, zforce.in, zgrep.in, zless.in, zmore.in, znew.in:
Report our name in usage.
* gzexe.in: Don't compress bash. Don't use rmdir, so it's
OK to compress rmdir.
* gzip.c: Now requires that you compile with -DGNU_STANDARD=0 to
get non GNU-standard behavior. We now build with GNU-standard
behavior by default, so that programs do not depend on the names
of their executables.
* zdiff.in: Don't depend on the name of the executable, as per
GNU standard. Instead, rely on an internal --__cmp option.
Support ' in options. Check for failures in subsidiary gzip
invocations.
* zgrep.1: Clarify compression issues.
* zgrep.in: Don't assume POSIX-style case syntax. Remove unused var
have_optarg.
* zless.1: zless sets LESSMETACHARS now.
2007-01-10 Paul Eggert <[email protected]>
* m4/shell.m4 (AC_PROG_SHELL): Test that $(...) works.
Problem reported for SGI IRIX 6 by Nelson H. F. Beebe in
<http://lists.gnu.org/archive/html/bug-gzip/2007-01/msg00007.html>.
2007-01-04 Paul Eggert <[email protected]>
* zdiff.in (cmp0): New var.
Rewrite test for /dev/fd/3 to detect bugs in Solaris 8
/bin/bash 2.03. Problem reported by Nelson H. F. Beebe in
<http://lists.gnu.org/archive/html/bug-gzip/2007-01/msg00001.html>.
Avoid "for file; do", which doesn't work with Solaris 8 /bin/sh.
2007-01-03 Paul Eggert <[email protected]>
* zdiff.in: Test /dev//fd/3, not /dev/fd/3, to work around a problem
with Tru64 4.0F ksh M-11/16/88f reported by Thomas Koutcher in
<http://lists.gnu.org/archive/html/bug-gzip/2007-01/msg00000.html>.
2006-12-30 Paul Eggert <[email protected]>
* NEWS: Version 1.3.10 released.
* configure.ac (AC_INIT): Likewise.
* Makefile.am (check-local): Don't assume $(srcdir) is '.'.
(MAINTAINERCLEANFILES): Move gzip.doc.gz from here ...
(MOSTLYCLEANFILES): ... to here.
2006-12-29 Paul Eggert <[email protected]>
* zless.in: Work around a bug in less 394 and earlier; it
mishandles $%=~ in file names. Problem reported by
Sami Liedes in <http://bugs.debian.org/383358>.
* doc/gzip.texi: Swap order of dircategory entries, to pacify
Debian install-info 1.10.28. This should fix
<http://bugs.debian.org/404048>.
* zgrep.in (version): Fix bug: $grep wasn't evaluated.
* zgrep.in: Rewrite to make the option processing more
compatible with GNU and POSIX grep. Assume POSIX shell
for more stuff, since we're already assuming that.
* Makefile.am (check-local): Check zgrep -iV.
2006-12-26 Paul Eggert <[email protected]>
Fix Debian bug 367673 <http://bugs.debian.org/367673> plus several
other bugs discovered in the neighborhood.
* NEWS: gzip -q now exits with status 2 (not 1) on SIGPIPE.
zgrep has many bugs fixed with argument handling, special characters,
and exit status.
* gzip.c (abort_gzip_signal): Implement gzip -q change.
* zgrep.in: Implement zgrep change.
2006-12-23 Paul Eggert <[email protected]>
* NEWS: Fix bug reported by Martin Mares in
<http://bugs.debian.org/177942>.
* gzip.c (treat_stdin): Remove NO_STDIN_FSTAT and NO_PIPE_TIMESTAMP
stuff. It didn't work (led to syntax errors) and was confusing.
Report an error if stdin cannot be statted even if !list && no_time.
Get stdin's size if it is regular.
(treat_file): Do not report an error with setuid, setgid,
sticky, or non-regular, non-directory files if to_stdout.
Allow 'force' to override the caution about sticky files.
Use the same form for time stamps that treat_stdin uses.
* zdiff.in: Fix typo that broke most usages. Problem reported by
Jari Aalto in <http://bugs.debian.org/404114>. While we're at it,
fix a bunch of other problems. Handle "-" better. Send
diagnostics to stderr, not stdout. Use expr rather than echo |
sed, to handle special characters better. Report a diagnostic in
the 1-arg case, if the argument doesn't end in .gz or the like,
rather than having incomprehensible behavior. Do not require that
the inputs be regular files. Avoid creating a temporary entirely,
if /dev/fd works. If not, then resist denial-of-service attacks
better, by using mktemp.
* NEWS: Document this.
* Makefile.am (gzip.doc.gz): New rule.
(check-local): Depend on it, and test zdiff for Debian bug 404114.
2006-12-22 Paul Eggert <[email protected]>
* zdiff.1: Mention that these programs currently understand only
formats that gzip does. Problem reported by Jari Aalto in
<http://bugs.debian.org/404099>.
2006-12-20 Paul Eggert <[email protected]>
* inflate.c (huft_build): Fix regression that caused gzip to
refuse to uncompress null input (all zero length codes). Problem
reported by Yiorgos Adamopoulos. This regression was caused by
the security patch installed 2006-11-20, which in turn came from
Debian, which in turn apparently came from Thomas Biege of SuSe.
2006-12-15 Paul Eggert <[email protected]>
* NEWS, configure.ac (AC_INIT):
Version 1.3.9 released.
* Makefile.am (MOSTLYCLEANFILES): Add _match.i.
* configure.ac (for an assembler syntax supported by this package):
Remove _match.i.
* bootstrap (gnulib_tool_options_extras): New var.
(gnulib_tool_options): Use it.
* bootstrap.conf (gnulib_tool_options_extras): Avoid getline and
rpmatch. gzip doesn't need them, since it doesn't ENABLE_NLS.
2006-12-13 Bruno Haible <[email protected]>
* configure.ac: Use $CPPFLAGS everywhere $CPP is used, and use
$CPPFLAGS $CFLAGS everywhere $CC is used.
* lib/Makefile.am (match.$(OBJEXT)): Likewise.
* configure.ac: Test the exit code of the $CPP and $ASCPPPOST commands
separately.
2006-12-11 Paul Eggert <[email protected]>
* configure.ac (ASCPPPOST): Simplify to use just 'sed'.
* lib/Makefile.am (match.$(OBJEXT)): Check for CPP failure.
2006-12-11 Bruno Haible <[email protected]>
Cross-compilation support.
* configure.ac (ASCPP): Remove substituted variable.
(ASCPPPOST, ASCPPFLAGS): New substituted variables.
* lib/Makefile.am (ASCPP, LN_S): Remove unnecessary macro definitions.
(match.$(OBJEXT)): Use CPP, ASCPPFLAGS, ASCPPPOST instead of ASCPP.
* configure.ac: Add test for chown function.
* gzip.c (treat_file) [!HAVE_CHOWN]: Don't call chown.
* gzip.c: Include "timespec.h". This doesn't fix any bugs, but
it is clearer.
2006-12-11 Paul Eggert <[email protected]>
The SSIZE_MAX fix didn't work on NSK, so fix it in a more-reliable
(albeit more-complicated) way. Problem reported by Matthew Woehlke.
* gzip.h (read_buffer): New decl.
* unlzw.c (unlzw): Use read_buffer rather than read.
* zip.c (file_read): Likewise.
* util.c (copy, fill_inbuf): Likewise.
(read_buffer, write_buffer): New functions.
(write_buf): Use write_buffer rather than write.
Undo the previous SSIZE_MAX-related change; it didn't work.
* gzip.c: Include <limits.h>.
* util.c: Likewise.
* gzip.h: Don't include <limits.h>.
(INBUFSIZ): Don't worry about SSIZE_MAX here.
2006-12-08 Paul Eggert <[email protected]>
* NEWS, configure.ac (AC_INIT):
Version 1.3.8 released.
* gzexe.in (mktemp_status): New var, used to see whether
mktemp is a known command. Use this instead of confounding
mktemp's existence with its success.
* zdiff.in: Remove first line containing ":". This follows
up on the SEDCMD fix of 2006-12-01.
* zforce.in: Likewise.
* zgrep.in: Likewise.
* zless.in: Likewise.
* zmore.in: Likewise.
* znew.in: Likewise.
Fix problems in porting to NSK reported by Matthew Woehlke in
<http://lists.gnu.org/archive/html/bug-gzip/2006-12/msg00025.html> and
<http://lists.gnu.org/archive/html/bug-gzip/2006-12/msg00027.html>.
* gzip.h: Include <limits.h>, for SSIZE_MAX.
(INBUFSIZE): Don't make it any larger than SSIZE_MAX.
Problem reported by Matthew Woehlke in
<http://lists.gnu.org/archive/html/bug-gzip/2006-11/msg00013.html>.
* gzip.c: Don't include <limits.h>, as gzip.h now does this.
* util.c: Likewise.
* gzip.c (main): Set exiting_signal before installing signal handlers.
(install_signal_handlers): Don't set exiting_signal here. This
fixes a C99ism.
* zip.c: Include timespec.h, for time_stamp type.
2006-12-08 Ralf Wildenhues <[email protected]> (tiny change)
* gzexe.in: Work around FreeBSD shell trap bug.
* gzip.1: Fix typo.
* doc/gzip.texi: Likewise.
2006-12-08 Paul Eggert <[email protected]>
* .cvsignore: Add .deps, gzexe, gzip, zdiff, zforce, zgrep,
zless, zmore, znew.
* doc/.cvsignore: Add Makefile.
* lib/.cvsignore: Add .deps, Makefile, alloca.h, config.h, fcntl.h,
stamp-h1, stdint.h, sys.
* configure.ac (for assembler): Set ASFLAGS_config to
-Wa,--noexecstack if this seems advisable on this platform.
Problem reported by Mike Frysinger in
<http://lists.gnu.org/archive/html/bug-gzip/2006-12/msg00018.html>.
* lib/Makefile.am (match.$(OBJEXT)): Use ASFLAGS_config.
2006-12-07 Paul Eggert <[email protected]>
* Makefile.am (install-exec-hook): Fix bug when installing
symbolic links as aliases. Problem reported by Mike Frysinger.
* deflate.c (deflate_fast, deflate): Avoid core dump. Problem
originally reported by Jochen Friedrich and trivial patch supplied
by Anthony Towns; see <http://bugs.debian.org/184057>.
2006-12-06 Paul Eggert <[email protected]>
* NEWS, configure.ac (AC_INIT):
Version 1.3.7 released.
2006-12-06 Bruno Haible <[email protected]> (tiny change)
and Paul Eggert <[email protected]>
Fix build failure on case-insensitive file systems.
* configure.ac: Use match_.s instead of _match.s.
* Makefile.am (MOSTLYCLEANFILES): Likewise.
* lib/Makefile.am (match.$(OBJEXT)): Likewise.
(MOSTLYCLEANFILES): Likewise.
2006-12-06 Paul Eggert <[email protected]>
* NEWS: Document the fixes below.
* configure.ac (AC_CHECK_FUNCS_ONCE): Add siginterrupt.
* gzip.c (lstat) [!defined(HAVE_LSTAT) && !defined(lstat)]: Remove.
(SA_NOCLDSTOP, sigprocmask, sigset_t) [!defined SA_NOCLDSTOP]:
New macros.
(siginterrupt) [!defined SA_NOCLDSTOP && ! HAVE_SIGINTERRUPT]:
New macro.
(HAVE_WORKING_O_NOFOLLOW): Define to 0 if not defined.
(caught_signals, exiting_signal, remove_ofname_fd): New vars.
(remove_ofname): Remove; all uses changed to remove_ofname_fd.
(same_file, name_too_long): Remove.
(install_signal_handlers): New function. It prefers sigaction,
which is more reliable in the presence of race conditions.
Catch SIGXCPU and SIGXFSZ, too.
(main): Use it instead of installing them by hand.
(treat_file): Check for read error when closing ifd.
(treat_file, create_outfile, remove_output_file):
Avoid race conditions with signals.
(create_outfile, check_ofname): Remove most of the gorp about
working around ENAMETOOLONG deficiencies. It's obsolete now, and
anyway it had race conditions. Just rely on O_EXCL and
ENAMETOOLONG. The worst that can happen is that a file name will
be silently truncated on an obsolete machine, but no data will be lost.
(open_and_stat): Use HAVE_WORKING_O_NOFOLLOW rather than O_NOFOLLOW
to work around some O_NOFOLLOW bugs. Otherwise, fall back on
lstat only if lstat is available, as symlinks don't exist otherwise.
(open_input_file): Use O_NONBLOCK and O_NOCTTY too, to avoid
hanging gzip on special files.
(abort_gzip_signal): If sigaction is not available, ignore
signals. If we get the exiting signal, exit with ERROR status
rather than raising a signal.
* tailor.h (NO_ST_INO): Remove; no longer used now that same_file
is gone.
2006-12-05 Paul Eggert <[email protected]>
Port to Tandem NSK/OSS, which lacks fchdir. Problem reported by
Matthew Woehlke in
<http://lists.gnu.org/archive/html/bug-gzip/2006-11/msg00013.html>.
* bootstrap.conf (gnulib_modules): Remove openat, as it pulls in
fchdir.
* configure.ac: Check for fdopendir.
* gzip.c: Don't include openat.h; no longer needed.
(treat_dir) [!HAVE_FDOPENDIR]: Fall back on the old opendir method
since fdopendir is not available.
2006-12-04 Paul Eggert <[email protected]>
* NEWS: Describe the following change briefly.
* bootstrap.conf (gnulib_modules): Remove stat-macros; no longer
needed.
* gzip.c: Don't include stat-macros.h; no longer needed.
(treat_file): Refuse to compress files that are setuid, or setgid,
as this can in theory lead to security holes. Also, refuse to
compress files with the sticky bit set, on general principle.
(copy_stat): Don't copy the setuid, setgid, or sticky bits,
as (given the above change) they'll always be zero here.
Invoke chown before chmod, to close a race condition.
* .cvsignore: Add *.doc, build-aux.
* doc/.cvignore: New file.
* lib/.cvsignore: New file.
* m4/.cvsignore: New file.
2006-12-01 Paul Eggert <[email protected]>
* doc/gzip.texi (Overview): Mention limits of gzip format's
time stamps. Also, gzip doesn't always preserve time stamps.
* gzip.c (abort_gzip_signal): Don't call abort () as a "safeguard",
since it actually causes a core dump. Problem reported by
Jakub Bogusz.
* NEWS: Describe gzexe changes noted below.
* Makefile.am (.in): Don't bother with SEDCMD. This stuff isn't needed
any more (the hosts it caters to are long extinct), and was
questionable anyway since the code assumes the skip= line was line 2.
* configure.ac (AC_SYS_INTERPRETER, SEDCMD): Remove; no longer needed.
* gzexe.in: Sweep the code and fix some bugs.
My, what sharp teeth you have, gzexe!
The straw that broke this camel's back was Matthew Burgess's bug report
<http://lists.gnu.org/archive/html/bug-gzip/2006-11/msg00012.html>.
(IFS): Set it to the standard value, both here and in the
script gzexe generates.
Check for missing operand after parsing options, not before.
This fixes the case for "cpexe --".
Check for tail -n problem separately in gzexe and in the executable
it generates, in case it's a different 'tail'.
(trap): Remove $tmp only if $tmp is not the empty string.
Preserve exit status.
Don't use the nonstandard (and rarely available) "cpmod" utility.
Don't use "set -C"; it's no longer useful and it breaks things
in some cases.
(main loop): Handle file names beginning with "-".
Exit with status of failing program, not with 1.
Fix some bugs in printing diagnostics, and in quoting.
Require the skip= line to have at least one digit.
Use test -u and test -g rather than using the (less-reliable) ls.
Refuse to compress more programs, e.g., sh.
Use mktemp rather than tempfile. Build a copy of
the compressed or uncompressed executable in the same
directory as the executable, as that's less likely to go wrong
if disk space is low. Have the executable exit with status 127,
not 1, if the decompression process fails; this is more compatible
with meta-programs like nohup. Have the executable
uncompress to a temp file with the same basename as the executable;
this is more likely to go right. Fix a race condition where the
executable temporarily did not exist (in either old or new forms).
Check for race conditions better when mv fails. Do not attempt
to use cp to do the real work, only to copy permissions to a temp
file, since we don't want to trash running executables.
2006-11-26 Paul Eggert <[email protected]>
* inflate.c (inflate_dynamic, inflate): Don't send output to
stderr unless DEBUG is defined and 'verbose'. Problem reported by
Santiago Vila.
* zgrep.in: If the file name contains newline, &, \, or |, escape
the character so that 'sed' doesn't mishandle it as a replacement.
Problem reported by Bdale Garbee.
2006-11-25 Paul Eggert <[email protected]>
* gzip.1 (OPTIONS): ouput -> output. Problem reported by Matt
Taggart.
* vms/gzip.hlp: Likewise.
* Makefile.am (FILES_TO_CHECK): New macro.
(check-local): Check only the files in FILES_TO_CHECK, since some
files under the working directory might be mutating as the test is
run, e.g., with "make check >log". Problem reported by Jim
Meyering.
2006-11-20 Paul Eggert <[email protected]>
* NEWS, configure.ac (AC_INIT):
Version 1.3.6 released.
* NEWS: Describe 1.3.6's changes.
* NEWS, README, README-alpha, TODO: Change from GPL to FDL.
* .cvsignore, README-cvs, bootstrap, bootstrap.conf: New files.
* doc/Makefile.am, lib/Makefile.am: New files.
* THANKS: Change own email address to cs.ucla.edu. Add Sverre Jarp.
* TODO: Add new tasks to remove porting cruft and
all those buggy scripts.
* configure.ac: Renamed from configure.in.
(AC_PREREQ): Bump to 2.60.
(AC_INIT): Bump version to 1.3.6.
(AC_CONFIG_AUX_DIR): New.
(AC_CONFIG_HEADERS): Move config.h to lib.
Input is now lib/config.hin.
(AM_INIT_AUTOMAKE): Add gnits, dist-shar.
(AC_PROG_CC_STDC): New, replacing AC_PROG_CC.
(AM_PROG_CC_C_O, AC_PROG_RANLIB): New.
(AC_AIX, AC_GNU_SOURCE, AC_MINIX): Remove; gnulib does them now.
(gl_EARLY, gl_INIT): New.
match.c was moved to lib/match.c.
(AC_CHECK_HEADERS_ONCE): Replace AC_CHECK_HEADERS. Don't check
for sys/utime.h or utime.h.
(AC_CHECK_FUNCS_ONCE): Replace AC_CHECK_FUNCS. Check for fchmod
and fchown, not utime.
(AC_REPLACE_FUNCS): Remove; rpmatch is now done by gnulib.
(AC_CONFIG_FILES): Add doc/Makefile, lib/Makefile.
* bits.c: Use the more-usual form for copyright notices in source code.
* deflate.c: Likewise.
* gzip.c: Likewise.
* gzip.h: Likewise.
* inflate.c: Likewise.
* lzw.h: Likewise.
* revision.h: Likewise.
* tailor.h: Likewise.
* trees.c: Likewise.
* unpack.c: Likewise.
* unzip.c: Likewise.
* util.c: Likewise.
* crypt.c (dummy): Add decl so that pedantic compilers won't
complain about an empty file.
* gzip.c (license_msg): Use more-modern wording.
Include fcntl-safer.h, openat.h, stat-macros.h, stat-time.h.
Simply include <dirent.h> if !NO_DIR, removing a rats-nest of
#ifdefs.
Simply include <utimens.h> if !defined NO_UTIME, removing a
another rats-nest of #ifdefs.
(DIR_OPT, TIME_OPT): Remove.
(_D_EXACT_NAMLEN): Renamed from NAMLEN. All uses changed.
(S_ISDIR, S_ISREG, O_BINARY, O_CREAT, O_EXCL, S_IRUSR, S_IWUSR):
Remove; gnulib now does this.
(RETSIGTYPE): Remove; Autoconf does this.
(program_name): Renamed from progname, for compatibility with gnulib.
All uses changed.
(time_stamp): Now struct timespec, not time_t. All uses changd.
(remove_oftime): Now volatile.
(reset_times): Remove; now done by futimens.
(usage): Remove.
(try_help): New function.
(help, license): Don't output date as part of version.
A version number suffices.
(help): Redo help message to match style of coreutils etc.
(version): Don't bother printing compile-time configuration info
like STDC_HEADERS.
(main): Don't assume strlen (argv[0]) < INT_MAX (!).
On usage errors, suggest --help without outputting all the help.
(main, do_list): Remove unnecessary casts.
(treat_stdin, treat_file, get_method, copy_stat):
Support sub-second time stamp resolution.
(treat_file, copy_istat): Close some race conditions if files are
renamed as we read or write them.
(treat_file): Do not attempt to reset the access times of
directories that we read.
(open_and_stat, open_input_file): New functions.
(do_stat, get_istat): Remove; most of the contents went to these new
functions.
(make_ofname): Don't use WARN, as it affects exit status.
(get_method): When the original file name was truncated,
restore from its base name, not from its full name.
(do_list): Avoid undefined behavior with out-of-range time stamps.
ctime, for example, cannot be invoked on arbitrary time stamps safely,
since it might overrun an internal buffer. Do not assume that
localtime succeeds.
(copy_stat): Do not remove input file; that's now the caller's
responsibility. This avoids a problem if there is a write error
when the caller closes the output file.
(treat_dir): New arg FD, to avoid a race condition. All uses changed.
(remove_output_file): New function.
(abort_gzip): Use it.
(abort_gzip_signal): New function, which is async-signal-safe.
Exit with the signal that we got.
* gzip.h (program_name, time_stamp, abort_gzip): Adjust decls to
match gzip.c changes.
* inflate.c (huft_build): Return 2 if null input.
* tailor.h (HAVE_UTIME): Do not define; gnulib does this now.
(OPEN): Use open_safer, not plain open.
* unlzh.c (NPT): Set to 1<<TBIT, not to the maximum of NT and NP.
(make_table): Report an error if 1<<tablebits < nextcode.
(read_pt_len): Report an error if 16 < c.
* unpack.c (read_tree): Report an error if the tree has too many
leaves while reading it. Fix off-by-one error in final check.
* util.c: Include <xalloc.h>, for xalloc_die decl.
(gzip_base_name): Renamed from base_name, so we don't collide
with gnulib. All uses changed.
(add_envopt): Use xstrdup instead of xmalloc+strcpy.
Use xcalloc rather than calloc + check.
(gzip_error): Renamed from error, so we don't collide with gnulib.
All uses changed.
(xalloc_die): New function.
(xmalloc): Remove; no longer needed.
* zip.c (zip): Watch for time stamp overflow; the old code
mishandled negative time stamps.
* gzexe.in: Add support for --help, --version, --.
Don't call basename or sed if we can avoid it.
* zdiff.in: Likewise.
* zforce.in: Likewise.
* zgrep.in: Likewise.
* zless.in: Likewise.
* zmore.in: Likewise.
* znew.in: Likewise.
* zdiff.in: Protect against file names beginning with "-".
* zmore.in: Likewise.
* zgrep.in: Use printf rather than echo, to avoid problems with
leading "-" and backslash. Return status of subsidiary grep.
* zless.in: Add copyright notice.
* zless.1: We now pass "--" to LESSOPEN.
(BUGS): Mention that input file arguments are required.
Add copyright notice.
* COPYING: Update to current version.
* Makefile.am (SUBDIRS): New macro.
(AUTOMAKE_OPTIONS): Remove; now done in configure.ac.
(M4DIR, ACINCLUDE_INPUTS): Remove.
(EXTRA_DIST): Remove getopt.h.
(gzip_SOURCES): Remove getopt.c, getopt1.c, yesno.c.
(gzip_LDADD): Change from @LIBOBJS@ to lib/libgzip.a.
(AM_MAKEINFOFLAGS, info_TEXINFOS, gzip_TEXINFOS, ASCPP, LN_S):
(match.$(OBJEXT)): Move to subdirectory makefiles.
(.in): Substitute @VERSION@, too.
(check-local): New rule.
(MOSTLYCLEANFILES): Add _match.S.
* doc/gzip.texi: Renamed from gzip.texi. Change to GNU FDL
without invariant sections or cover texts. Don't put
version number or date into sample gzip -h output.
* lib/match.c: Renamed from match.c. Add ia64 version
written by Sverre Jarp (HP Labs).
* INSTALL: Remove from CVS; now created automatically by
the bootstrap script.
* Makefile.in: Likewise.
* aclocal.m4: Likewise.
* config.h.in: Likewise.
* configure: Likewise.
* depcomp: Likewise.
* fdl.texi: Likewise.
* getopt.c: Likewise.
* getopt.h: Likewise.
* getopt1.c: Likewise.
* gzip.doc: Likewise.
* gzip.info: Likewise.
* install-sh: Likewise.
* mdate-sh: Likewise.
* missing: Likewise.
* mkinstalldirs: Likewise.
* rpmatch.c: Likewise.
* stamp-vti: Likewise.
* texinfo.tex: Likewise.
* version.texi: Likewise.
* yesno.c: Likewise.
2002-09-30 Paul Eggert <[email protected]>
* NEWS, README, revision.h, configure.in (AM_INIT_AUTOMAKE):
Revision 1.3.5, dated today.
* util.c (fprint_off): Fix bug in printing values greater than
10 * 2**32 bytes. Bug reported by Bryan Andersen.
* Makefile.am (match.$(OBJEXT)): Use .S as extension for $(ASCPP),
to keep gcc happy.
* configure.in: Likewise.
Upgrade assembly-language checking for Autoconf 2.54, using cache vars.
(AC_PROG_CPP, AC_OBJEXT): Add.
* match.c: Accept __i386 and __i386__ as synonyms for i386.
Bug reported by "fork __" <[email protected]>.
2002-09-29 Paul Eggert <[email protected]>
* gzip.texi (Overview): Suggest how to use gunzip on zip files.
* zless.1, zless.in: Use LESSOPEN, not PAGER.
Suggested by <[email protected]>.
2002-09-28 Paul Eggert <[email protected]>
* zforce.in: Use shell pattern matching instead of 'expr', which
mishandles names like "+". Remove old check for 14-byte file
names on hosts with broken "mv" implementations, as such systems
aren't in use any more and it's better nowadays to support file
names longer than 14 bytes. Rely on "mv"'s error-reporting.
This fixes a portability bug reported by Ralf Neubauer, along
with some other bugs.
Remove dangling output symlinks properly.
Bug reported by Kalle Olavi Niemitalo.
* gzip.c (lstat): New macro, for platforms lacking lstat.
(do_stat): Use it.
(name_too_long, check_ofname): Use lstat instead of stat.
2002-09-27 Paul Eggert <[email protected]>
* zforce.in: Use "gzip -lv", not "gzip -v". Patch by Ralf
Neubauer.
* configure.in (ASCPP): Don't use test -a, as POSIX says it's
not portable.
* znew.in: Likewise.
* zmore.in: Likewise. Similarly, don't use test -o, or test -t
with no operand.
* gzexe.in (PATH): Set to same as other programs.
Don't assume "tail +22" works; POSIX removed this.
Check against compressing "tail".
Check against "skip=" line with no integer.
* zgrep.in: Exit with status 2 if trouble, for consistency with grep.
* gzip.c (main): Avoid core dump in diagnostic message if
incorrect suffix is given.
2002-09-26 Paul Eggert <[email protected]>
* zdiff.in: Use "trap -" instead of "trap". Patch by Nicolas Boullis.
Use names, not numbers, for signals. Patch by Andrew Stribblehill.
* NEWS, README, revision.h, configure.in (AM_INIT_AUTOMAKE):
Revision 1.3.4, dated today.
* README-alpha: Upgrade to Autoconf 2.54 and Automake 1.7.
* configure.in (AC_PREREQ): Move to start, and increase to 2.54.
(AC_INIT, AM_INIT_AUTOMAKE, AC_CONFIG_SRCDIR, AC_CONFIG_FILES,
AC_OUTPUT): Use modern style.
(AC_OBJEXT, AC_EXEEXT): Remove; obsolete.
(AC_GNU_SOURCE): Add.
(AC_HEADER_STDC): Renamed from AC_STDC_HEADERS.
(AC_CHECK_HEADERS): Remove stdlib.h, string.h, unistd.h; now done
by Autoconf.
(AC_SUBST): Remove CFLAGS; now done by Autoconf.
* gzip.texi: Use the GNU FDL for distribution terms, following the
recipe in the Texinfo manual. Use Automake-generated variables
for date and version.
* fdl.texi, mdate-sh: New files.
* Makefile.am (AM_MAKEINFOFLAGS): Add --no-split.
(gzip_TEXINFOS): New macro.
* tailor.h (NO_DIR): Define to 1, not the empty string.
* gzip.c (NO_DIR): Define to 0 if not defined. All uses changed.
(usage): Don't put '#if' inside printf, as the C standard says
that it is not portable if printf is a macro.
Don't lose output when decompressing truncated input.
Bug reported by Nadav Har'El.
* inflate.c (GETBYTE): New macro.
(NEXTBYTE): Use it.
(inflate_dynamic, inflate_block): Add a local variable w, needed
by GETBYTE.
2002-03-08 Paul Eggert <[email protected]>
* NEWS, README, revision.h, gzip.texi,
configure.in (AM_INIT_AUTOMAKE): Revision 1.3.3, dated today.
* README-alpha: Now using latest stable GNU tools.
Using the latest tools allows gzip to build correctly on hosts
conforming to POSIX 1003.1-2001.
* configure.in (match): Use AC_LIBOBJ; Autoconf 2.53 requires it.
(LIBOBJS): No longer need to subst, since AC_LIBOBJ does it.
(AC_PREREQ): Bump to 2.53.
* Makefile.am (install-exec-hook, remove-installed-links):
Work even when configured with --program-transform-name.
* gzip.c (license_msg): Update copyright.
(z_len): Now of type size_t.
2001-11-03 Paul Eggert <[email protected]>
* NEWS, README, revision.h, gzip.texi, configure.in (AM_INIT_AUTOMAKE):
Revision 1.3.2, dated today.
* Makefile.am (LN_S): New macro.
(install-exec-hook): Depend on remove-installed-links.
Affect $(DESTDIR)$(bindir), not just $(bindir).
(uninstall-local, remove-installed-links): New rules.
* README-alpha: This release built with autoconf 2.52f.
* TODO: Add rsync patch.
* configure.in: Add AC_PREREQ(2.52) and AC_PROG_LN_S.
* gzip.1, zmore.1: Fix troff glitches, using Eric S. Raymond's
suggestions for inspiration.
* m4/shell.m4(AC_PROG_SHELL): Add commentary and cleanup.
* gzip.texi, gzip.1: Add pointers to RFCs 1951 and 1952.
Mention that gzip --list reports file sizes modulo 2^32.
* gzip.1: Remove incorrect report of 2 GB bug. Add copyright notice.
2001-09-30 Paul Eggert <[email protected]>
* NEWS, README, revision.h, gzip.texi, configure.in (AM_INIT_AUTOMAKE):
Revision 1.3.1, dated today.
* INSTALL, getopt.c, getopt.h, getopt1.c, install-sh, missing,
mkinstalldirs, texinfo.tex:
Sync with latest version in other packages.
* acinclude.m4, config.guess, config.sub: Remove.
* depcomp, rpmatch.c, yesno.c: New files.
* ChangeLog, README, NEWS, TODO, configure.in, zgrep.in, zmore.in:
Add copyright notice.
* Makefile.am (ACLOCAL_AMFLAGS): New macro.
(ACINCLUDE_INPUTS): Remove all but shell.m4.
($(srcdir)/acinclude.m4): Remove.
(gzip_sources): Add yesno.c.
* TODO: Add i18n.
* configure.in (AC_CANONICAL_HOST): Remove.
(AC_AIX, AC_MINIX): Move earlier.
(AC_REPLACE_FUNCS): Add rpmatch.
* gzip.c (main):
Report error if -b operand is not a nonnegative integer.
(treat_file): Don't assume tab width is 8, or that characters are
one column wide.
(make_ofname): Use WARN to warn about unchanged files.
(get_method): "get newer version of gzip" -> "not supported"
(check_ofname): Use yesno instead of checking for 'y' ourselves.
(treat_file): Do not assume link count fits in int.
* gzip.h (yesno): New decl.
* util.c (display_ratio): Use floating point to compute ratio:
this avoids problems with integer overflow.
* zgrep.in: Add support for --, -H, -h, -L, -l, -C, -d, -m and
their long equivalents. Warn that -r and -d are not supported.
* zmore.in:
Check that file is readable before attempting to decompress it.
2000-10-09 Paul Eggert <[email protected]>
* configure.in (AC_CHECK_FUNCS): Add lstat.
2000-07-20 Paul Eggert <[email protected]>
Use a POSIX-compliant shell instead of /bin/sh.
Idea suggested by Albert Chin-A-Young <[email protected]>.
* m4/shell.m4: New file.
* configure.in (AC_PROG_SHELL): Add it.
* Makefile.am (ACINCLUDE_INPUTS): Add $(M4DIR)/shell.m4.
(.in): Replace /bin/sh with $(SHELL).
2000-04-17 Bruno Haible <[email protected]>
* Makefile.am (install-exec-hook): If hard links fail, try symlinks.
2000-04-02 Jim Meyering <[email protected]>
* Makefile.am (install-exec-hook): Remove link targets before
installing.
2000-01-02 Albert Chin-A-Young <[email protected]>
* gzip.texi: Add direntry.
1999-12-21 Paul Eggert <[email protected]>
* NEWS, README, revision.h, gzip.texi: Revision 1.3, dated today.
* gzip.c (license_msg, usage, version, help, license):
Adjust to current GNU coding standards.
(total_in, total_out): Remove unnecessary initialization.
* zip.c (file_read): Report read errors.
* util.c (fill_inbuf): Likewise.
* gzip.c (main): Don't assume EOF == -1.
* unlzw.c (unlzw): Likewise.
* util.c (copy, fill_inbuf): Likewise.
1999-11-18 Paul Eggert <[email protected]>
* m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS):
Work around a bug in the QNX shell, which doesn't
propagate exit status of failed commands inside shell assignments.
1999-10-07 Paul Eggert <[email protected]>
* NEWS, README, revision.h, gzip.texi:
Revision 1.2.4294967306 dated today. This is the successor to
revision 1.2.4.4294967305; automake requires the new (shorter) number.
Convert to automake.
* Makefile.am, gunzip.1, zcat.1, zcmp.1, AUTHORS: New files.
* revision.h (VERSION): Remove; moved to config.h.
* configure.in (AM_INIT_AUTOMAKE, AM_CONFIG_HEADER,
AC_CANONICAL_HOST, AC_OBJEXT): Add.
(AC_PROG_CPP): Remove.
(AC_SYS_LARGEFILE): Add, replacing older inline code.
(ASCPP): Use $OBJEXT.
(LIBOBJS): Add match.o if needed.
(AC_PROG_INSTALL): Remove.
(AC_EXT, AC_C_CONST): Add.
(AC_CHECK_HEADERS): Add, replacing lots of AC_HEADER_CHECKs.
All instances of defined(NO_TIME_H) changed to !defined(HAVE_TIME_H),
etc.
(AC_CHECK_FUNCS): Add utime.
(SEDCMD): Use $interpval, not $ac_cv_sys_interpreter.
(AC_PREFIX_PROGRAM): Add, replacing AC_PREFIX.
(ZCAT, G): Remove.
(LIBOBJS): Add.
(OBJA): Remove; LIBOBJS now does this.
* bits.c, gzip.c, deflate.c, inflate.c, lzw.c, trees.c, unlzh.c,
unlzw.c, unpack.c, unzip.c, util.c, zip.c: Include <config.h>
first; this is needed for proper large-file support, given the new
way of configuring large files.
* gzip.c: Include <sys/types.h>; Ultrix needs this.
(TIME_OPT): Use STRUCT_UTIMBUF instead of empty string.
(help): Add bug-report address.
(do_stat): Depend on HAVE_LSTAT, not S_IFLNK, S_ISLNK, and NO_SYMLINK.
1999-06-25 Paul Eggert <[email protected]>
* inflate.c (huft_build):
Set n to length of v, to detect improper tables.
Don't accidentally grow j past z.
1999-06-24 Paul Eggert <[email protected]>
* Makefile.in (check): Update texinfo.tex size.
* configure.in (ASMV):
Define with AC_DEFINE; do not manipulate DEFS directly,
as this doesn't work with recent autoconf versions.
1999-02-06 Paul Eggert <[email protected]>
* NEWS, README, revision.h, gzip.texi: Revision 1.2.4.4294967305,
dated today. This merges the changes from gzip 1.2.4a, which fix
some typographical errors in the documentation and update the