| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
* Makefile.am (gzip.doc): Generate gzip.doc in the source directory, not in the
build directory.
|
| |
|
|
|
|
|
|
| |
* Makefile.am (gzip_LDADD): Add LIB_FDATASYNC as gnulib-tool suggests.
It’s not likely to make much difference nowadays (does anybody still
run Solaris 10 x86?) but it shouldn’t hurt to add it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem reported by Antonio Diaz Diaz via Dagobert Michelsen in:
https://bugs.gnu.org/16876
* Makefile.am (.in): Substitute for 'gzip', 'zdiff', 'zgrep'.
($(GZIP_TRANSFORMED), $(ZDIFF_TRANSFORMED), $(ZGREP_TRANSFORMED)):
New rules to build forwarding shell scripts, if needed.
Add these files to BUILT_SOURCES and MOSTLY_CLEANFILES if needed.
* configure.ac (GZIP_TRANSFORMED, ZDIFF_TRANSFORMED, ZGREP_TRANSFORMED):
New substituted vars.
(GZIP_IS_TRANSFORMED, ZDIFF_IS_TRANSFORMED, ZGREP_IS_TRANSFORMED):
New Automake conditions.
* gunzip.in, gzexe.in, zcat.in, zcmp.in, zdiff.in, zegrep.in:
* zfgrep.in, zforce.in, zgrep.in, zless.in, zmore.in, znew.in:
Quote possibly-transformed subcommand names.
|
|
|
|
|
|
|
|
|
| |
Problem reported by Michael Felt (Bug#30029).
* Makefile.am (ZLESS_MAN, ZLESS_PROG): New macros.
(man_MANS, bin_SCRIPTS): Use them.
* configure.ac: Check for 'less'.
* tests/Makefile.am (ZLESS_PROG): New macro.
(built_programs): Use it.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a symbol is extern but never used by another module, make it
static instead, or remove it if it is not used anywhere.
* Makefile.am (gzip_SOURCES): Remove lzw.c.
* bits.c (bi_buf, bi_valid) [!IBM_Z_DFLTCC]:
* deflate.c (prev_length, match_start, max_chain_length)
(good_match, lm_init):
* gzip.c (verbose) [!DEBUG]:
* unlzw.c (block_mode):
Now static.
* gzip.c (help, main, do_lzw):
* revision.h:
Simplify by assuming !LZW.
* util.c (setcrc): Define only if IBM_Z_DFLTCC.
(make_simple_name): Define only if NO_MULTIPLE_DOTS.
|
|
|
|
|
|
|
| |
Run "make update-copyright" and then...
* gnulib: Update to latest with copyright year adjusted.
* tests/init.sh: Sync with gnulib to pick up copyright year.
* bootstrap: Likewise.
|
|
|
|
|
|
|
| |
Run "make update-copyright" and then...
* gnulib: Update to latest with copyright year adjusted.
* tests/init.sh: Sync with gnulib to pick up copyright year.
* bootstrap: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Future versions of IBM Z mainframes will provide DFLTCC instruction,
which implements deflate algorithm in hardware with estimated
compression and decompression performance orders of magnitude faster
than the current gzip and ratio comparable with that of level 1.
This patch adds DFLTCC support to gzip. In order to enable it, the
following build commands should be used:
$ ./configure --enable-dfltcc
$ make
When built like this, gzip would compress in hardware on level 1, and in
software on all other levels. Decompression will always happen in
hardware. In order to enable DFLTCC compression for levels 1-6 (i.e. to
make it used by default) one could either add -DDFLTCC_LEVEL_MASK=0x7e
at compile time, or set the environment variable DFLTCC_LEVEL_MASK to
0x7e at run time.
Two DFLTCC compression calls produce the same results only when they
both are made on machines of the same generation, and when the
respective buffers have the same offset relative to the start of the
page. Therefore care should be taken when using hardware compression
when reproducible results are desired. One such use case - reproducible
software builds - is handled explicitly: when SOURCE_DATE_EPOCH
environment variable is set, the hardware compression is disabled.
This patch tries to add DFLTCC support in a least intrusive way.
All SystemZ-specific code was placed into a separate file, but
unfortunately there is still a noticeable amount of changes in the
main gzip code. Below is the summary of those changes.
DFLTCC will refuse to write an End-of-block Symbol if there is no input
data, thus in some cases it is necessary to do this manually. In order
to achieve this, bi_buf and bi_valid were promoted to extern variables.
lm_init() function moves the input buffer into the window, which is not
desirable for DFLTCC. Therefore, its invocation was moved to
software-only deflate(). In addition to initializing the window, this
function also used to convert compression level to flags, which is still
needed for DFLTCC. This responsibility was handed off to zip() function.
To achieve maximum performance with DFLTCC, inbuf and outbuf must be
256k big and page-aligned. Additionally, for DFLTCC to work at all, the
window must be page-aligned.
In addition to compression, DFLTCC computes CRC-32 checksum, therefore,
whenever it's used, software checksumming needs to be suppressed and its
results replaced by those of dfltcc. This is achieved by introducing the
new getcrc() and setcrc() functions.
Unlike the current software implementation, DFLTCC decompresses data
into the output buffer, and not the window. Therefore, just like
flushing the window, flushing the output buffer must honor the test
flag.
Finally, znew-k test assumes that "znew -K" would not convert the test
.Z file to .gz, which is not the case with DFLTCC. Since this is not the
main point of the test, this assumption was relaxed.
|
|
|
|
| |
* gnulib: Also update submodule for its copyright updates.
|
|
|
|
|
|
| |
* gnulib: Update to latest.
* bootstrap: Update from gnulib.
* all files: Run "make update-copyright".
|
|
|
|
|
|
| |
* Makefile.am (.in): Ensure that each generated script is unwritable.
This makes it less likely that someone (even me) will mistakenly
modify one of those generated files.
|
|
|
|
|
| |
* gnulib: Update to latest.
* all files: Run "make update-copyright".
|
|
|
|
| |
* Makefile.am (check-local): Use plain diff rather than
|
|
|
|
|
| |
* Makefile.am (gen-ChangeLog): Don't ignore failure of
gitlog-to-changelog. This syncs to coreutils' copy of this rule.
|
|
|
|
|
|
| |
* Makefile.am (new_path): New variable.
(check-local): Use $(PATH_SEPARATOR) rather than a literal ":",
to avoid "make syntax-check" failure.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* NEWS: Document this.
* gzexe.in, gunzip.in, zcat.in, zcmp.in, zdiff.in, zegrep.in:
* zfgrep.in, zforce.in, zgrep.in, zless.in, zmore.in, znew.in:
Remove support for undocumented --__bindir option. Callers can
set PATH instead; that's less error-prone. This fixes some
'make check' failures on my Solaris 11 box, which occurred
because the test scripts were mistakenly testing the installed
gzip rather than the gzip in the working directory.
* Makefile.am (.in): Don't replace bindir.
(check-local): Set PATH instead of using --__bindir.
* tests/help-version (gunzip_setuphelp, gzexe_setuphelp)
(zcat_setuphelp, zcmp_setuphelp, zdiff_setuphelp)
(zegrep_setuphelp, zfgrep_setuphelp, zforce_setuphelp)
(zgrep_setuphelp, zless_setuphelp, zmore_setuphelp)
(znew_setuphelp): Remove. All uses removed.
(lbracket_setup): Default args to empty.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* deflate.c: Include verify.h.
(RSYNC_WIN, RSYNC_SUM_MATCH): Define.
(rsync_sum, rsync_chunk_end): Declare file-scoped globals.
(lm_init): Initialize globals.
(fill_window): Update rsync_chunk_end.
(rsync_roll): New function.
(RSYNC_ROLL): New macro.
(FLUSH_BLOCK): Update for new "pad" parameter.
(deflate_fast): Use RSYNC_ROLL and flush/pad.
(deflate): Likewise.
* trees.c (flush_block): Add "pad" parameter.
* gzip.c (rsync): New global.
(RSYNCABLE_OPTION, longopts, help): Add the option.
(main): Set the new global.
* gzip.h (rsync): Declare new global.
(flush_block): Update prototype.
* doc/gzip.texi: Document it.
* gzip.1: Likewise.
* bootstrap.conf: Use verify module.
* NEWS (New feature): Mention it.
* Makefile.am (check-local): Add tests and use AM_V__* command-
hiding opions. Reported against Debian here:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=118118
|
|
|
|
|
|
|
|
|
| |
Run "make update-copyright" and then...
* gzip.c: Transform the copyright notice via s/2015/2016/.
* gnulib: Update to latest.
* tests/init.sh: Update from gnulib.
* bootstrap: Likewise.
|
| |
|
| |
|
|
|
|
|
| |
* Makefile.am (ACLOCAL_AMFLAGS): Don't use this deprecated variable.
* configure.ac: Do this instead: AC_CONFIG_MACRO_DIR([m4]).
|
|
|
|
| |
Run "make update-copyright".
|
|
|
|
|
|
|
|
|
| |
On Solaris 11, /usr/bin/grep -e does not work.
Problem reported by Petr Sumbera in
<http://lists.gnu.org/archive/html/bug-gzip/2012-10/msg00003.html>.
* Makefile.am (.in): Substitute @GREP@.
* configure.ac (AC_PROG_GREP): Invoke.
* zgrep.in (grep): Use @GREP@.
|
|
|
|
| |
Run "make update-copyright".
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and all files therein. This was proposed months prior, and no
one objected.
* amiga/Makefile.gcc: Remove file.
* amiga/Makefile.sasc: Likewise.
* amiga/match.a: Likewise.
* amiga/tailor.c: Likewise.
* amiga/utime.h: Likewise.
* atari/Makefile.st: Likewise.
* msdos/Makefile.bor: Likewise.
* msdos/Makefile.djg: Likewise.
* msdos/Makefile.msc: Likewise.
* msdos/doturboc.bat: Likewise.
* msdos/gzip.prj: Likewise.
* msdos/match.asm: Likewise.
* msdos/tailor.c: Likewise.
* nt/Makefile.nt: Likewise.
* os2/Makefile.os2: Likewise.
* os2/gzip.def: Likewise.
* os2/gzip16.def: Likewise.
* vms/Makefile.gcc: Likewise.
* vms/Makefile.mms: Likewise.
* vms/Makefile.vms: Likewise.
* vms/Readme.vms: Likewise.
* vms/gzip.hlp: Likewise.
* vms/makegzip.com: Likewise.
* vms/vms.c: Likewise.
* Makefile.am (EXTRA_DIST): Remove those file names.
|
|
|
|
|
|
|
|
|
|
| |
* Makefile.am (gzip_SOURCES): Remove crypt.c
(EXTRA_DIST): Remove crypt.h
* crypt.c, crypt.h: Remove files.
* unpack.c: Don't #include "crypt.h"
* zip.c: Likewise
* util.c: Likewise.
* unzip.c: Likewise.
|
|
|
|
|
|
| |
* Makefile.am (EXTRA_DIST): Move lzw.h and gzip.h from here to ...
(noinst_HEADERS): ...here.
For convenience, since the tight-scope rule uses $(noinst_HEADERS).
|
|
|
|
| |
Run "make update-copyright", so "make syntax-check" works in 2011.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile.am (EXTRA_DIST): Remove all primos/ files.
* primos/build.cpl: Remove file.
* primos/ci.opts: Likewise.
* primos/include/errno.h: Likewise.
* primos/include/fcntl.h: Likewise.
* primos/include/stdlib.h: Likewise.
* primos/include/sysStat.h: Likewise.
* primos/include/sysTypes.h: Likewise.
* primos/primos.c: Likewise.
* primos/readme: Likewise.
|
|
|
|
| |
* Makefile.am (EXTRA_DIST): Add cfg.mk.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before this change, in development, gzip's --version output could lag
behind reality by a couple deltas or by a "-dirty" suffix. That would
lead to spurious failure of the new --version-$VERSION PATH cross-check.
* Makefile.am (version.c, version.h): New rules.
(BUILT_SOURCES): Set/append.
(noinst_LIBRARIES, noinst_libver_a_SOURCES): Define.
(gzip_LDADD): Add libver.a.
(DISTCLEANFILES): Define.
* gzip.c (license): Use Version, not VERSION.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile.am (SUBDIRS): List tests after ".".
Move most test-related things from here to ...
* tests/Makefile.am: ... here.
* configure.ac (AC_CONFIG_FILES): Add tests/Makefile.
* tests/helin-segv: Adjust.
* tests/help-version: Likewise.
* tests/hufts: Likewise.
* tests/memcpy-abuse: Likewise.
* tests/mixed: Likewise.
* tests/null-suffix-clobber: Likewise.
* tests/stdin: Likewise.
* tests/trailing-nul: Likewise.
* tests/zdiff: Likewise.
* tests/zgrep-f: Likewise.
* tests/zgrep-signal: Likewise.
* tests/znew-k: Likewise.
|
|
|
|
|
|
| |
* tests/init.cfg: New file. Make init.sh's stderr_fileno_ match
what the "exec 9>&2" we use in TESTS_ENVIRONMENT.
* Makefile.am (EXTRA_DIST): Add it.
|
|
|
|
|
| |
* bootstrap.conf (gnulib_modules): Add lib-ignore, in case it helps.
* Makefile.am (AM_LDFLAGS): Define it.
|
|
|
|
|
| |
* tests/null-suffix-clobber: New file.
* Makefile.am (TESTS): Add it.
|
|
|
|
|
| |
* tests/help-version: New file, from coreutils.
* Makefile.am (TESTS): Add it.
|
|
|
|
|
|
| |
* dist-check.mk: New file, from coreutils.
* cfg.mk: Include it.
* Makefile.am (distcheck-hook): New rule, to make us use it.
|
|
|
|
|
|
|
| |
* NEWS (Bug fixes): Mention the fix.
* Makefile.am (XFAIL_TESTS): Move tests/mixed from here...
(TESTS): ...to here.
* tests/mixed: Comment out the currently (always?) failing part.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
zgrep is not terminated gracefully when its grep/sed pipeline
is terminated by a signal. For example, a command like
zgrep -F .TH /usr/share/man/man1/*.gz | head
continues working long after the "head" process completes.
Another example, a command like
zgrep unmatched-pattern /usr/share/man/man1/*.gz
cannot be interrupted by sending a SIGQUIT with Ctrl-\ key, it outputs
zgrep: line 221: test: : integer expression expected
and goes on.
* zgrep.in: Terminate gracefully when the grep/sed pipeline is
terminated by a signal.
* tests/zgrep-signal: New test.
* Makefile.am (TESTS): Add it.
|
|
|
|
|
|
| |
* tests/mixed: Exercise "gzip -cdf" bug.
* Makefile.am (XFAIL_TESTS): Add it.
Mark Adler reported the bug.
|
|
|
|
|
|
| |
* tests/hufts: New test.
* Makefile.am (TESTS): Add tests/
(check-local): Remove the hufts-segv test from this rule.
|
|
|
|
|
|
| |
* Makefile.am (TESTS): Add tests/stdin.
(check-local): Move the stdin check to its own file:
* tests/stdin: New script.
|
|
|
|
|
|
|
| |
* znew.in: Change -K option to imply -t, do not use compress(1).
* znew.1: Document it.
* tests/znew-k: New test.
* Makefile.am (TESTS): Add it.
|
|
|
|
|
| |
* tests/helin-segv: New test.
* Makefile.am (TESTS): Add it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
...for some inputs, and some memcpy implementations. It is possible
that an offending input has to be compressed "from FAT filesystem
(MS-DOS, OS/2, NT)", since the sole reproducer no longer evokes a
CRC error when uncompressed and recompressed on a GNU/Linux system.
Also, using an unpatched reverse-memcpy-gzip on over 100,000 inputs
on a GNU/Linux system did not turn up another reproducer.
* inflate.c (inflate_codes): Don't call memcpy with overlapping regions.
Properly detect when source and destination overlap.
* tests/memcpy-abuse: New test, to trigger misbehavior.
* Makefile.am (TESTS): Add it.
* NEWS (Bug fixes): Mention it.
Reported by Alain Magloire in
http://thread.gmane.org/gmane.comp.gnu.gzip.bugs/307
|
|
|
|
|
|
|
|
|
| |
* tests/test-lib.sh: Remove file.
* tests/init.sh: New file, from gnulib.
* tests/trailing-nul: Use the new file.
* tests/zdiff: Likewise.
* tests/zgrep-f: Likewise.
* Makefile.am (EXTRA_DIST): List tests/init.sh, not test-lib.sh.
|
|
|
|
|
|
| |
Use this command:
git ls-files |grep -vE '^(\..*|COPYING|gnulib)$' |xargs \
env UPDATE_COPYRIGHT_USE_INTERVALS=1 build-aux/update-copyright
|
|
|
|
|
|
| |
* Makefile.am (AM_CFLAGS): Enable $(WERROR_CFLAGS).
* lib/Makefile.am (AM_CFLAGS): Enable both $(WARN_CFLAGS) and
$(WERROR_CFLAGS).
|