Mail Archives: djgpp/2016/04/09/12:44:49
This is a port of GNU gzip 1.7 to MSDOS/DJGPP.
gzip (GNU zip) is a compression utility designed to be a replacement for
'compress'. Its main advantages over compress are much better compression
and freedom from patented algorithms.
DJGPP specific changes.
=======================
With the version 1.7 all DJGPP 2.03 support has been removed, specialy the
files snprintf.c and snprintf.h are no longer distributed with the port
because their functionality is now provided by the library.
This port is based on the previous ports gzip13N[bds].zip. This means, that
all the DJGPP specific funtionality introduced with those ports will also be
available in this new port. No new DJGPP specific functionality has been
added.
This is a recompilation of all new features introduced with previous ports
and also available in this port:
- Gzip now fully supports long file names on those platforms where DJGPP
can access them. This means, for example, that compressing `foo.tar' on
Windows 9X will produce `foo.tar.gz', not `foo.tgz'.
For backward compatibility, Gzip knows about butchered DOS-style
extensions of compressed files even when long file names are supported.
For example, if you have `foo.tgz' and you type "gunzip foo.tar", Gzip
will find the file even on Windows 9X. Short variants of compressed
extensions are checked *after* the long ones, so Gzip will try to find
`foo.tar.gz' before `foo.tgz'.
Long file name support is checked for each file submitted to Gzip, so
it will treat each one of them in accordance with the properties of the
file system where that file resides. In other words, you can compress
files that reside on DOS and Windows file systems within a single Gzip
command.
- Gzip will no longer appear to hang when its input comes from the console
device. Previous ports would hang when the user typed "gzip -f [Enter]".
This port allows you to either interrupt the program with Ctrl-C (if you
typed that command by mistake), or type in the input and end it with a ^Z
(if you really mean to compress the text you type from the keyboard).
This is done by avoiding to switch the console device to binary mode,
so any console reads are now done in text mode.
- The default compressed file extension is now `.gz', not `z'. This is so
that compressed file names on Windows 9X would have the usual `.gz'
extension, but it also means that `foo.cc' will now be compressed into
`foo.cgz' when long file names are not supported. Use the -N option to
`gunzip' to restore the original name, if the original file name had
more than one character in the extension.
- When restoring original file names, `gunzip' now converts all characters
that are not allowed in DOS/Windows file names to similar but valid
characters, and changes the file name if it is reserved by a DOS device
driver (like `aux.text' or `prn.tar') by prepending an underscore to it.
- In previous ports, uncompressing files with certain names on Windows 9X
when numeric tails are disabled would trigger false warnings about file
name truncation. This is now fixed.
- Truncation of long file names on plain DOS is somewhat smarter now:
`gunzip' treats several additional characters (like `-' and `_') as
part delimiters.
- Shell scripts `zmore', `zgrep' and others now work on DOS and
Windows, and are distributed with the binary distribution, as are all
the man pages supplied with the official GNU sources.
- Shell script `zdiff' does not work on DOS and Windows, because it uses
subshells to invoke gzip and to generate the error code (return value)
of the command. Unfortunatly this does not work with the port of bash.
All the changes done to the original distribution are documented in the
diffs file and located together with all the files needed to configure
the package (config.bat, config.sed, config.site, etc.) in the /djgpp
directory.
To build this port and run the test suite you will need LFN support.
The sources have been configured to be build in the /_build directory.
If for some reason it does not work for you, delete its contents and
configure from scratch again.
For further information about GNU gzip please read the info docs and NEWS file.
This is an verbatim extract of the NEWS file:
-------------------------------------------------------------------------------
* Noteworthy changes in release 1.7 (2016-03-27) [stable]
** Changes in behavior
The GZIP environment variable is now obsolescent; gzip now warns if
it is used, and rejects attempts to use dangerous options or operands.
You can use an alias or script instead.
Installed programs like 'zgrep' now use the PATH environment variable
as usual to find subsidiary programs like 'gzip' and 'grep'.
Previously they prepended the installation directory to the PATH,
which sometimes caused 'make check' to test the wrong gzip executable.
[bug introduced in gzip-1.3.13]
** New features
gzip now accepts the --synchronous option, which causes it to use
fsync and similar primitives to transfer output data to the output
file's storage device when the file system supports this. Although
this option makes gzip safer in the presence of system crashes, it
can make gzip considerably slower.
gzip now accepts the --rsyncable option. This option is accepted in
all modes, but has effect only when compressing: it makes the resulting
output more amenable to efficient use of rsync. For example, when a
large input file gets a small change, a gzip --rsyncable image of
that file will remain largely unchanged, too. Without --rsyncable,
even a tiny change in the input could result in a totally different
gzip-compressed output file.
** Bug fixes
gzip -k -v no longer reports that files are replaced.
[bug present since the beginning]
zgrep -f A B C no longer reads A more than once if A is not a regular file.
This better supports invocations like 'zgrep -f <(COMMAND) B C' in Bash.
[bug introduced in gzip-1.2]
-------------------------------------------------------------------------------
The port consists of the usual three packages produced using djdev205
that can be downloaded from ftp.delorie.com and mirrors as (time stamp 2016-04-05):
gzip 1.7 binaries, info and man format documentation:
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/gzip17b.zip
gzip 1.7 dvi, html, pdf and ps format documentation:
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/gzip17d.zip
gzip 1.7 source:
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/gzip17s.zip
Send gzip specific bug reports to <bug-gzip AT gnu DOT org>.
Send suggestions and bug reports concerning the DJGPP port
to comp.os.msdos.djgpp or <djgpp AT delorie DOT com>.
If you are not sure if the failure is really a gzip failure
or a djgpp specific failure, report it here and *not* to
<bug-gzip AT gnu DOT org>.
Enjoy.
Guerrero, Juan Manuel <juan DOT guerrero AT gmx DOT de>
- Raw text -