1 2010-01-20 Jim Meyering <meyering@redhat.com>
4 * NEWS: Record release date.
6 tests: exercise the segfault fix
7 * tests/helin-segv: New test.
8 * Makefile.am (TESTS): Add it.
10 gzip -d: do not clobber stack for valid input on x86_64
11 * unlzw.c (unlzw): Avoid integer overflow.
12 Aki Helin reported the segfault along with an input to trigger the bug.
13 * NEWS (Bug fixes): Mention it.
15 maint: avoid a minor "make syntax-check" failure
16 * .x-sc_file_system: Exempt NEWS, since it includes a literal
17 from an old diagnostic.
19 maint: remove unused file: README-alpha
20 * README-alpha: Remove unused file.
22 build: update gnulib submodule to latest
24 2010-01-11 Yuxi Zhang <YZhang@qnx.com>
26 gzip -d: use memcpy more often
27 * inflate.c (inflate_codes): Use memcpy (rather than slower
28 memcopy-like code) in more cases.
30 2010-01-11 Jim Meyering <meyering@redhat.com>
32 build: do not override gnulib-provided AM_CFLAGS options
33 Avoid a warning from automake:
34 lib/Makefile.am:24: AM_CFLAGS multiply defined in condition TRUE ...
35 lib/gnulib.mk:30: ... `AM_CFLAGS' previously defined here
36 lib/Makefile.am:20: `lib/gnulib.mk' included from here
38 * lib/Makefile.am (AM_CFLAGS): Append $(WARN_CFLAGS) and
39 $(WERROR_CFLAGS), i.e., use "+=", not "=".
40 This was introduced via 2009-12-17 commit 0341fc22,
41 "build: with --enable-gcc-warnings, use -Werror",
42 but fortunately is not a bug, because the definition
43 it would have overridden was always empty.
45 gzip -d would fail with a CRC error...
46 ...for some inputs, and some memcpy implementations. It is possible
47 that an offending input has to be compressed "from FAT filesystem
48 (MS-DOS, OS/2, NT)", since the sole reproducer no longer evokes a
49 CRC error when uncompressed and recompressed on a GNU/Linux system.
50 Also, using an unpatched reverse-memcpy-gzip on over 100,000 inputs
51 on a GNU/Linux system did not turn up another reproducer.
52 * inflate.c (inflate_codes): Don't call memcpy with overlapping regions.
53 Properly detect when source and destination overlap.
54 * tests/memcpy-abuse: New test, to trigger misbehavior.
55 * Makefile.am (TESTS): Add it.
56 * NEWS (Bug fixes): Mention it.
57 Reported by Alain Magloire in
58 http://thread.gmane.org/gmane.comp.gnu.gzip.bugs/307
60 2010-01-08 Jim Meyering <meyering@redhat.com>
62 tests: switch to gnulib's init.sh test infrastructure
63 * tests/test-lib.sh: Remove file.
64 * tests/init.sh: New file, from gnulib.
65 * tests/trailing-nul: Use the new file.
66 * tests/zdiff: Likewise.
67 * tests/zgrep-f: Likewise.
68 * Makefile.am (EXTRA_DIST): List tests/init.sh, not test-lib.sh.
70 build: update gnulib submodule to latest
72 2010-01-03 Jim Meyering <meyering@redhat.com>
74 maint: record update-copyright options for this package
75 * cfg.mk: Next time, just run "make update-copyright".
77 2010-01-01 Jim Meyering <meyering@redhat.com>
79 maint: update all FSF copyright year lists to include 2010
81 git ls-files |grep -vE '^(\..*|COPYING|gnulib)$' |xargs \
82 env UPDATE_COPYRIGHT_USE_INTERVALS=1 build-aux/update-copyright
84 2009-12-31 Jim Meyering <meyering@redhat.com>
86 maint: newer gnulib; don't hard-code my GPG key ID
87 * cfg.mk (gpg_key_ID): Remove definition, now that maint.mk automates it.
88 * gnulib: Update to lastest.
90 2009-12-30 Jim Meyering <meyering@redhat.com>
92 build: update gnulib submodule to latest
94 maint: remove lots of obsolete #if...HAVE_* checks
95 Remove many always-true cpp tests like #ifdef HAVE_UNISTD_H,
96 #ifdef HAVE_FCNTL_H and #ifdef SSIZE_MAX.
99 * inflate.c: Likewise.
100 * tailor.h: Likewise.
105 build: add a syntax-check
106 * cfg.mk (sc_prohibit_obsolete_HAVE_HEADER_H): New rule.
108 build: with --enable-gcc-warnings, use -Werror
109 * Makefile.am (AM_CFLAGS): Enable $(WERROR_CFLAGS).
110 * lib/Makefile.am (AM_CFLAGS): Enable both $(WARN_CFLAGS) and
113 build: quiet warnings from util.c
114 * configure.ac (warnings): Add -Wno-overflow and -Wno-type-limits.
116 build: avoid warning about possibly-no-return functions
117 * gzip.h (read_error, write_error): Mark these functions as "no-return".
119 build: avoid warning about ignored chown/fchown return value
120 * bootstrap.conf (gnulib_modules): Add ignore-value.
121 * gzip.c: Include "ignore-value.h".
122 (copy_stat): Explicitly ignore chown and fchown failure
124 build: update gnulib submodule to latest
126 2009-11-20 Jim Meyering <meyering@redhat.com>
128 build: unlzw.c: avoid warnings about unused macros
129 * configure.ac: Turn off -Wunused-macros.
131 build: avoid warnings about unused macros
132 * unzip.c (LOCTIM): Comment out unused macro.
133 * deflate.c (EQUAL): Remove definition. Use "0" at sole point of use.
135 build: util.c: avoid warnings about add_envopt
136 * util.c (add_envopt): The parameter "env" was used for two conflicting
137 purposes. One use required a const char* parameter, while the other
138 was used as an argument to free, which must not be "const".
139 Rename the parameter and use a new local variable for the second role.
141 build: avoid many const-related warnings
142 * gzip.c: Add "const" to many variables, to avoid compiler warnings.
143 * util.c (add_envopt): Make 3rd parameter const
144 (gzip_error): Make sole parameter const.
145 * gzip.h: Update prototypes.
147 build: avoid warnings from -Wstrict-prototypes
148 * gzip.c (main): Declare using a prototype.
149 (progerror): Likewise. And make parameter const.
151 build: use gnulib's fdopendir module
152 * bootstrap.conf (gnulib_modules): Add fdopendir.
153 * gzip.c (treat_dir): Don't depend on HAVE_FDOPENDIR.
154 Gnulib now guarantees its availability.
155 * configure.ac: Don't check for fdopendir here.
157 build: enable many warnings
158 * configure.ac: Add support for --enable-gcc-warnings.
159 * bootstrap.conf (gnulib_modules): Add manywarnings.
160 * Makefile.am (AM_CFLAGS): Add (WARN_CFLAGS) # $(WERROR_CFLAGS)
162 maint: tweak formatting of bootstrap.conf
163 * bootstrap.conf (gnulib_modules): Unindent list.
165 maint: cfg.mk: remove factored-out ftp host/dir definitions
166 * cfg.mk (gnu_ftp_host-alpha, gnu_ftp_host-beta gnu_ftp_host-stable):
167 (gnu_rel_host, url_dir_list): Remove definitions. The defaults,
168 now provided by maint.mk, are the same.
169 * gnulib: Update for latest, including those maint.mk additions.
171 build: "make stable" emitted an invalid gnupload command
172 * cfg.mk (gnu_ftp_host-stable): Rename from gnu_ftp_host-major.
173 * README-release: Change another s/major/stable/.
175 2009-10-30 Jim Meyering <meyering@redhat.com>
177 post-release administrivia
178 * NEWS: Add header line for next release.
179 * .prev-version: Record previous version.
180 * cfg.mk (old_NEWS_hash): Auto-update.
183 * NEWS: Record release date.
185 build: accommodate new syntax-check test
186 * amiga/tailor.c (_expand_args): Change each of three uses of
187 "exit(20)" to "exit(EXIT_FAILURE)".
188 * sample/add.c: Include <stdlib.h>.
189 (main): Use EXIT_FAILURE and EXIT_SUCCESS, not 1 and 0.
190 * sample/sub.c (main): Likewise.
191 * sample/zread.c (main): Likewise.
193 build: update gnulib submodule to latest
195 build: link with $(LIB_CLOCK_GETTIME)
196 * Makefile.am (gzip_LDADD): Add $(LIB_CLOCK_GETTIME), now that
197 utimens pulls in gettime.
198 (FILES_TO_CHECK): Remove $(gzip_LDADD), now that it may contain -lrt.
200 2009-10-28 Jim Meyering <meyering@redhat.com>
202 msdos: fix syntax in Makefile.djg
203 * msdos/Makefile.djg (gzip): Change each of two leading 8-space
204 sequences to a TAB. Reported by Allan Mui.
206 2009-10-20 Jim Meyering <meyering@redhat.com>
208 build: do not use AC_PREFIX_PROGRAM
209 * configure.ac: Do not use "AC_PREFIX_PROGRAM(gzip)".
210 It would induce behavior that is so surprising that it is probably
211 universally considered to be buggy, these days. Reported by Zube
212 in http://thread.gmane.org/gmane.comp.gnu.gzip.bugs/273
214 2009-10-10 Jim Meyering <meyering@redhat.com>
216 gzip: add tests for today's bug fix
217 * tests/trailing-nul: New file. Test for today's fix.
218 * Makefile.am (TESTS): Add new script.
219 * NEWS (Bug fixes): Mention it.
221 2009-10-10 Daniel Barkalow <barkalow@iabervon.org>
223 gzip: don't fail when there is exactly one trailing NUL byte
224 * gzip.c (get_method): Require the second byte of magic only if
225 the first byte was nonzero.
227 2009-10-09 Jim Meyering <meyering@redhat.com>
229 build: enable automake color- and parallel-test options
230 * configure.ac (AM_INIT_AUTOMAKE): Enable color-tests and parallel-tests.
232 zgrep: portability improvements; exercise "-f -"
233 * zgrep.in: Adjust loop not to use seq; it's not portable enough.
234 Fail if we don't find a free file descriptor.
235 (exists): New function; Use it in place of less portable "test -e".
236 Testing for existence of /dev/fd/$fd doesn't work on Solaris 10,
237 since all 256 always exist (as char devices), but testing for
238 /proc/$$/fd/$fd does work, so do that instead.
239 * Makefile.am (TESTS): Add tests/zgrep-f.
240 * tests/zgrep-f: New test; exercise this bug.
241 * NEWS (Bug fixes): Mention it.
243 2009-10-09 Carl Worth <cworth@cworth.org>
245 zgrep: handle "-f -" the same way that it works with grep
246 Before this change, echo needle|zgrep -f - haystack.gz would not work.
247 * zgrep.in: When the pattern comes from stdin, redirect it to a
248 different file descriptor, since we're about to use stdin.
250 2009-10-09 Jim Meyering <meyering@redhat.com>
252 zdiff would exit 2 (error) rather than 1 for differences
253 * zdiff.in: Save and restore cmp's exit status around a case
254 statement that would otherwise clobber its value.
255 * NEWS (Bug fixes): Mention it.
256 * tests/zdiff: New test; exercise both bugs.
257 * tests/test-lib.sh: New file. From coreutils.
258 * Makefile.am (EXTRA_DIST): Add tests/test-lib.sh.
259 (TESTS): Add tests/zdiff.
260 (TESTS_ENVIRONMENT): Define. From coreutils.
261 (EXTRA_DIST): Append all $(TESTS).
263 zdiff: fix malfunction when operating on two gzip'd inputs
264 zdiff would fail to print differences in two compressed inputs
265 * zdiff.in: Don't let cmp output mix with echo'd gzip exit
266 status values. Report and fix from Jörg-Volker Peetz via
267 <http://bugs.debian.org/434275>
268 * NEWS (Bug fixes): Mention it.
270 build: update gnulib submodule to latest
272 2009-10-07 Jim Meyering <meyering@redhat.com>
274 build: update gnulib submodule to latest
276 2009-10-06 Jim Meyering <meyering@redhat.com>
278 maint: clarify web-doc-update instructions
279 * README-release: sync a tiny change from coreutils.
281 2009-10-03 Jim Meyering <meyering@redhat.com>
283 build: update gnulib submodule to latest
285 doc: use gnu-web-doc-update module
286 * bootstrap.conf (gnulib_modules): Add it.
288 2009-10-02 Jim Meyering <meyering@redhat.com>
290 doc: describe release procedure
291 * README-release: New file.
293 2009-10-01 Jim Meyering <meyering@redhat.com>
295 maint: make cfg.mk slightly more generic
296 * cfg.mk (url_dir_list): Don't hard-code "coreutils". Use $(PACKAGE).
298 2009-09-30 Jim Meyering <meyering@redhat.com>
300 post-release administrivia
301 * NEWS: Add header line for next release.
302 * .prev-version: Record previous version.
303 * cfg.mk (old_NEWS_hash): Auto-update.
306 * NEWS: Record release date.
308 build: update gnulib submodule to latest
310 maint: update bootstrap script
311 * bootstrap (with_gettext): Update from coreutils.
313 maint: pull in two release-related modules from gnulib
314 * bootstrap.conf (gnulib_modules): Add announce-gen and gnupload.
316 build: use more gnulib modules for better POSIX compliance
317 * bootstrap.conf (gnulib_modules): Add modules exposed via
318 make CFLAGS=-DGNULIB_POSIXCHECK 2>&1 \
319 |perl -lne '/.* use gnulib module (\S+).*/ and print $1' \
320 |sort |uniq -c|sort -nr
321 Add these: calloc close fclose fprintf-posix lstat malloc
322 perror printf-posix realloc
324 2009-09-30 Karl Berry <karl@freefriends.org>
326 doc: update to FDL 1.3, minor clean-up
327 * NEWS, README, TODO: Update FDL s/1.2/1.3/.
329 2009-09-28 Karl Berry <karl@freefriends.org>
331 doc: update gzip.texi
332 * doc/gzip.texi: FDL 1.3+
333 Consistently (de)capitalize section names.
334 "User's" is not correct; seems best to simplify the title.
335 Throw in some "GNU"'s.
336 Make direntries be what we actually want.
339 2009-09-26 Jim Meyering <meyering@redhat.com>
341 maint: temporarily exempt failing syntax-check tests
342 * cfg.mk (local-checks-to-skip): Add the list of currently-failing
343 tests, to exempt them from "make syntax-check".
345 gzip: don't use an uninitialized file descriptor
346 gzip interprets an argument of "-" as indicating stdin, but when
347 "-" is not the first name on the command line, it doesn't work.
348 * gzip.c (treat_stdin): Initialize "ifd".
349 Patch and fine description by Lasse Collin in
350 http://www.mail-archive.com/bug-gzip@gnu.org/msg00213.html
351 * Makefile.am (check-local): Exercise the fix. Based on the above.
352 * NEWS (Bug fixes): Mention this.
354 maint: use a git submodule for gnulib
355 * .gitmodules: New file, to track gnulib.
356 * gnulib: New file, created by running this:
357 git submodule add git://git.sv.gnu.org/gnulib.git gnulib
359 maint: update existing copyright year lists to include 2009
360 * bootstrap.conf (gnulib_modules): Add update-copyright.
362 maint: include <config.h> first in many files
364 maint: avoid another "make syntax-check" failure
365 * lib/Makefile.am (match.$(OBJEXT)): Use $(ASCPPPOST), not @ASCPPPOST@.
367 maint: remove RCS $Id$ variables and comments
369 maint: change spelling in comments: s/filesystem/file system/
371 maint: don't use "the the"
372 * msdos/doturboc.bat: s/the the/the/.
374 maint: remove trailing blanks
376 maint: remove useless if-before-free tests
377 * gzip.c (do_exit): Remove useless if-before-free tests.
379 maint: remove useless casts to avoid "make syntax-check" failures
380 * gzip.c (do_exit): Remove anachronistic cast.
381 * inflate.c (huft_free): Likewise.
382 * util.c (add_envopt): Likewise.
383 * vms/vms.c (vms_expand_args): Likewise.
385 maint: new file: .prev-version
386 * .prev-version: New file, to record previous version number.
388 2009-09-06 Jim Meyering <meyering@redhat.com>
390 build: avoid spurious warnings from clang
391 * gzip.h (gzip_error): Declare with ATTRIBUTE_NORETURN.
393 maint: update build-from-scratch infrastructure
394 * bootstrap: Modernize.
395 * bootstrap.conf: Modernize.
398 2009-08-18 Jim Meyering <meyering@redhat.com>
400 inflate: avoid a leak on a error path
401 * inflate.c (inflate_dynamic): Don't leak
403 maint: ignore a few generated files
404 * lib/.gitignore: ignore more generated files.
406 tests: add a test for just-fixed bug
407 * tests/hufts-segv.gz: New file, from bug report.
408 * Makefile.am (EXTRA_DIST): Add tests/hufts-segv.gz.
409 (check-local): Exercise the bug.
411 tests: don't misinterpret a failing test as successful
412 * Makefile.am (check-local): Exit "1" upon failure, not 0.
414 2009-08-18 Thiemo Nagel <thiemo.nagel@ph.tum.de>
416 avoid creating an undersized buffer for the hufts table
417 A malformed input file can cause gzip to crash with a segmentation
418 violation or hang in an endless loop.
419 Reported in <http://bugs.debian.org/507263>.
420 * NEWS (Bug fixes): Mention it.
422 2009-08-18 Jim Meyering <meyering@redhat.com>
424 avoid silent data loss e.g., on NFS, due to unchecked close of stdout
425 * gzip.c: Include "closein.h".
426 (main): Use atexit (close_stdin);
427 * bootstrap.conf (gnulib_modules): Add closein.
428 Prompted by Mark Kidwell's report and patch in
429 http://bugs.debian.org/538187
430 * NEWS (Bug fixes): Mention it.
431 * */.gitignore: Update.
433 build: require automake-1.11 and produce xz-compressed tarballs, too
434 * configure.ac: Require automake-1.11. Use the dist-xz option.
436 build: avoid non-srcdir build failure
437 * Makefile.am (gzip.doc.gz): Use $(srcdir)/gzip.doc, not gzip.doc.
438 Don't redirect directly to $@. Use $(AM_V_GEN).
439 (gzip.doc, .in): Don't redirect directly to $@. Use $(AM_V_GEN).
440 * NEWS: Add template header for upcoming release.
442 build: enable git-version-gen, automake silent rules, generate ChangeLog
443 * configure.ac (AC_INIT): Use git-version-gen.
444 Use AM_SILENT_RULES([yes]).
445 (AM_INIT_AUTOMAKE): Drop gnits; conflicts with git-version-gen versions.
446 * bootstrap.conf (gnulib_modules): Use getopt-gnu
447 Ensure ChangeLog exists, for automake.
448 rather than obsolete "getopt" module.
449 Add gitlog-to-changelog.
451 Add gnu-make, gnumakefile and maintainer-makefile.
452 * Makefile.am (dist-hook, gen-ChangeLog): New rules, to generate
453 ChangeLog and insert it into the distribution tarball.
454 (EXTRA_DIST): Add ChangeLog-2007.
456 maint: retire the last VC'd ChangeLog file
457 * ChangeLog-2007: Rename from ChangeLog.
458 From now on, the ChangeLog file will be generated automatically
461 maint: rename .cvsignore files to .gitignore
462 * .gitignore: Renamed from .cvsignore.
463 * doc/.gitignore: Likewise.
464 * lib/.gitignore: Likewise.
465 * m4/.gitignore: Likewise.