Message-Id: <201604091644.u39GiLDV011856@delorie.com> Date: Sat, 09 Apr 2016 17:04:24 +0200 From: "Juan Manuel Guerrero (juan DOT guerrero AT gmx DOT de) [via djgpp-announce AT delorie DOT com]" To: djgpp-announce AT delorie DOT com Subject: ANNOUNCE: DJGPP port of GNU gzip 1.7 uploaded. Content-Type: text/plain; charset=ISO-8859-15; format=flowed Reply-To: djgpp AT delorie DOT com 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 . Send suggestions and bug reports concerning the DJGPP port to comp.os.msdos.djgpp or . If you are not sure if the failure is really a gzip failure or a djgpp specific failure, report it here and *not* to . Enjoy. Guerrero, Juan Manuel