debian/0000775000000000000000000000000012263742537007203 5ustar debian/copyright0000664000000000000000000000213012256662701011126 0ustar This package is maintained for Debian by Bdale Garbee , and was built from the sources found at: ftp://ftp.gnu.org/gnu/gzip/ Copyright (C) 1999, 2001-2002, 2006-2007, 2009-2010 Free Software Foundation, Inc. Copyright (C) 1992-1993 Jean-loup Gailly This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ On Debian GNU/Linux systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL'. debian/changelog0000664000000000000000000005605012263742537011063 0ustar gzip (1.6-3ubuntu1) trusty; urgency=low * Merge from Debian unstable (lp: #1264431). Remaining changes: - debian/{control,rules}: Remove the Win32 build and mingw64 build-dependency, since mingw is in universe, and will remain so for the forseeable future. - Added autopkgtest tests -- Jackson Doak Sat, 28 Dec 2013 06:06:18 +1100 gzip (1.6-3) unstable; urgency=low * add a comment to the lintian overrides explaining them * updated rsyncable patch from Alexander Inyukhin, closesL #708423 * never include dir.gz in package, closes: #720917 -- Bdale Garbee Wed, 25 Dec 2013 16:09:40 -0700 gzip (1.6-2ubuntu1) saucy; urgency=low * Merge from Debian unstable, remaining changes: - debian/{control,rules}: Remove the Win32 build and mingw64 build-dependency, since mingw is in universe, and will remain so for the forseeable future. * Added autopkgtest tests -- Jackson Doak Mon, 12 Aug 2013 19:13:00 +1000 gzip (1.6-2) unstable; urgency=low * patch to update included gnulib for mingw-w64 changes, closes: #713950 -- Bdale Garbee Sat, 17 Aug 2013 14:22:53 +0200 gzip (1.6-1) unstable; urgency=low * new upstream version, closes: #704689, #690583, #521432, #96195, #693463 * merge diff from 1.5-1.1 NMU by Thorsten Glaser * patch for zgrep man page from Regid Ichira, closes: #687123 * restore rsyncable docs to man page, closes: #688305 -- Bdale Garbee Tue, 11 Jun 2013 12:49:33 -0600 gzip (1.5-1.1ubuntu1) quantal; urgency=low * Merge from Debian unstable, remaining changes: - debian/{control,rules}: Remove the Win32 build and mingw64 build-dependency, since mingw is in universe, and will remain so for the forseeable future. -- Steve Langasek Fri, 29 Jun 2012 02:14:23 +0000 gzip (1.5-1.1) unstable; urgency=low * Non-maintainer upload with permission of maintainer. * Clean up the debian/rules file to fix FTBFS caused by inclusion of build-indep on binary-arch target. -- Thorsten Glaser Wed, 20 Jun 2012 16:10:12 +0200 gzip (1.5-1) unstable; urgency=low * new upstream version, with updated gnulib that closes: #669434 * patch to restore zgrep -h from Pär-Ola Nilsson, closes: #658734 * patch to fix pack reference in gzip man page from Stéphane Aulery, closes: #308522 * patch to add --rsyncable doc to info page from Jörgen Grahn, closes: #637626 * patch to improve zdiff doc from Stéphane Aulery, closes: #269612 * patches to fix RFC URLs from Stéphane Aulery, closes: #636182 -- Bdale Garbee Tue, 19 Jun 2012 14:04:08 -0600 gzip (1.4-5ubuntu1) quantal; urgency=low * Merge from Debian unstable, remaining changes: - debian/{control,rules}: Remove the Win32 build and mingw64 build-dependency, since mingw is in universe, and will remain so for the forseeable future. -- Steve Langasek Wed, 02 May 2012 21:52:05 +0000 gzip (1.4-5) unstable; urgency=low * patch from upstream to address determinism issue, closes: #647522 -- Bdale Garbee Mon, 19 Mar 2012 11:07:22 +0100 gzip (1.4-4) unstable; urgency=low * enable hardening build flags, closes: #664499 -- Bdale Garbee Sun, 18 Mar 2012 20:16:45 +0100 gzip (1.4-3) unstable; urgency=low * patch from upstream for sys_stat.in.h to fix mingw32 builds, closes: #653960 -- Bdale Garbee Mon, 05 Mar 2012 22:13:33 -0700 gzip (1.4-2) unstable; urgency=low * patch to use DEB_HOST_ARCH in rules, closes: #644785 * fix missing stamp creating in rules file causing extra build cycle, closes: #648555 -- Bdale Garbee Sat, 12 Nov 2011 17:24:17 -0700 gzip (1.4-1ubuntu2) precise; urgency=low * debian/patches/zeroify-buffers.diff: clear gzip buffers between files. Thanks to Cyril Brulebois . Closes: #647522, LP: #871083. -- Steve Langasek Wed, 08 Feb 2012 23:59:13 +0000 gzip (1.4-1ubuntu1) precise; urgency=low * Merge with Debian testing. Remaining Ubuntu changes: - debian/{control,rules}: Remove the Win32 build and mingw64 build-dependency, since mingw is in universe, and will remain so for the forseeable future. -- Martin Pitt Wed, 19 Oct 2011 11:42:42 +0200 gzip (1.4-1) unstable; urgency=low * new upstream version, closes: #627121, #633927 * add Vcs entries to control file * patch zless LESSOPEN definition to allow handling of gunzip data on STDIN, closes: #248302 * Build using mingw-w64 instead of mingw32, closes: #623428 * update to current policy, source package formats, etc -- Bdale Garbee Wed, 20 Apr 2011 01:48:46 -0600 gzip (1.3.12-9) unstable; urgency=high * fix applied for CVE-2010-0001 which identified an integer underflow when decompressing files that are compressed using the LZW algorithm. This could lead to the execution of arbitrary code when trying to decompress a crafted LZW compressed gzip archive. * switch to using dh_lintian for override delivery -- Bdale Garbee Thu, 21 Jan 2010 07:38:41 +1300 gzip (1.3.12-8) unstable; urgency=low * Add Carl Worth as an uploader. * Fix "-f -" to work with zgrep, closes: #168606 * Avoid creating undersized hufts table, closes: #507263 -- Carl Worth Fri, 27 Feb 2009 12:54:37 -0800 gzip (1.3.12-7) unstable; urgency=low * improve package descriptions, remove ancient package relationship spec in control file, closes: #484547 -- Bdale Garbee Sun, 15 Feb 2009 10:54:48 -0700 gzip (1.3.12-6) unstable; urgency=low * strip the win32 gzip.exe binary during install, closes: #464455 * patch from Reuben Thomas for the zless.1 man page with pointers to lessfile and lesspipe, which are a better solution than zless in most cases... closes: #46787, #51162 * fix FTBFS when using gcc-4.3, closes: #476031 * remove the preinst since the --assert-support-predepends check should no longer be necessary -- Bdale Garbee Tue, 15 Apr 2008 14:03:26 -0600 gzip (1.3.12-5) unstable; urgency=low * patch for zgrep.in from Daniel Kobras, closes: #434429 * patch from upstream to fix compilation with mingw32, and patch from Robert Millan to build a win32 executable if mingw32 is available, all to fix a preseeding problem in the win32-loader for Debian Installer. closes: #457867 -- Bdale Garbee Mon, 04 Feb 2008 21:46:42 -0700 gzip (1.3.12-4) unstable; urgency=low * incorporate diffs from NMUs, closes: #434275, #433845, #438675 * define UNALIGNED_OK when building for amd64, closes: #386356 -- Bdale Garbee Wed, 19 Dec 2007 17:48:37 -0700 gzip (1.3.12-3.2) unstable; urgency=low * Non-maintainer upload. * Stop zdiff from dropping cmp's output. Patch thanks to Jorg-Volker Peetz (Closes: Bug#434275) -- Anthony Towns Sun, 14 Oct 2007 23:50:29 +1000 gzip (1.3.12-3.1) unstable; urgency=medium * Non-maintainer upload. * Rename futimens to gz_futimens, since glibc now defines an futimens function with a different prototype. Closes: #433845. * Urgency medium for the RC bug fix. -- Daniel Schepler Sat, 18 Aug 2007 17:11:52 -0400 gzip (1.3.12-3) unstable; urgency=low * fix bindir so gunzip, et al, work again, closes: #429462 -- Bdale Garbee Fri, 22 Jun 2007 01:08:59 +0100 gzip (1.3.12-2) unstable; urgency=low * fix typo in gzip fprintf, closes: #426965 * revert my zgrep.in patch since upstream handles alternates differently now -- Bdale Garbee Thu, 14 Jun 2007 00:17:37 -0400 gzip (1.3.12-1) unstable; urgency=low * new upstream version, closes: #177942, #225864, #362786, #366660, #367400, #383358, #402042, #404099, #404114, #419895 * fix delivery of upstream ChangeLog, closes: #404062 -- Bdale Garbee Wed, 13 Jun 2007 18:55:42 -0400 gzip (1.3.9-2) unstable; urgency=low * change direntry ordering in gzip.texi to work around bug in install-info, closes: #404048 -- Bdale Garbee Thu, 21 Dec 2006 09:16:16 -0700 gzip (1.3.9-1) unstable; urgency=low * new upstream version, closes: #366660, #403308 * clean up a few gratuitous differences from new upstream, leaving only the rsyncable patch and tweaks like zmore always using more * fix spelling error in documentation, closes: #395450 * upstream patch for regression uncompressing null input, closes: #403970 -- Bdale Garbee Wed, 20 Dec 2006 19:16:36 -0700 gzip (1.3.5-15) unstable; urgency=high * security update, covering the following alerts: CVE-2006-4334 CVE-2006-4335 CVE-2006-4336 CVE-2006-4337 CVE-2006-4338 -- Bdale Garbee Tue, 19 Sep 2006 06:35:26 -0600 gzip (1.3.5-14) unstable; urgency=medium * update section to match override * patch from Matthew Chapman to avoid deleting input file before we're sure the output file has been written without errors, closes: #366660 * patch from Reuben Thomas to fix zgrep return code, closes: #292896, #192891, #190442 * enable gzexe compressed files to work on systems where tempfile is not available while retaining preference for tempfile, closes: #334540 -- Bdale Garbee Tue, 20 Jun 2006 15:02:27 -0600 gzip (1.3.5-13) unstable; urgency=low * patch from Reuben Thomas fixes problem passing zgrep filenames starting with dashes, closes: #342501 * fix a spelling error in gzip man page, closes: #356011 * document the fact that zless doesn't work with stdin, closes: #320226, #345036 -- Bdale Garbee Sat, 15 Apr 2006 01:31:54 -0600 gzip (1.3.5-12) unstable; urgency=low * merge patch from Matt Zimmerman for futex hang due to improper signal handling, closes: #310053, #315612 * merge patch to add --rsyncable to the man page, closes: #289616, #295721 * don't return failing result code on harmless warning, closes: #169669 -- Bdale Garbee Mon, 11 Jul 2005 22:10:51 +0300 gzip (1.3.5-11) unstable; urgency=low * patch from Peter Samuelson for bashism in zgrep, closes: #314342, #314211, #312380, #310329 -- Bdale Garbee Wed, 15 Jun 2005 14:39:11 -0600 gzip (1.3.5-10) unstable; urgency=medium * remove PAGER reference from zmore.1, closes: #263792 * patch to improve zgrep argument sanitizing (CAN-2005-0758), closes: #308379 * patch isolated by Petter Reinholdtsen for CAN-2005-0988, closes: #303927 * patch for dir traversal bug (CAN-2005-1228), closes: #305255 * up the priority a click because of the security fixes * patch to support cross building, closes: #283730 -- Bdale Garbee Fri, 20 May 2005 22:34:49 -0600 gzip (1.3.5-9) unstable; urgency=low * eliminate the autoconf and automake build dependencies, since they are no longer needed, closes: #250766 * improve temp file usage in gzexe, closes: #257314, #259043 * have zmore use 'more' instead of honoring $PAGER, to avoid violating the principle of least astonishment, closes: #234212 * fix zgrep choke on filenames including a pipe character, closes: #216211 * incorporate watch file, closes: #248722 * suggest less, since we provide zless, closes: #217925 * use signames instead of signumbers for trap calls, closes: #259284 -- Bdale Garbee Sat, 24 Jul 2004 01:23:03 -0600 gzip (1.3.5-8) unstable; urgency=low * run autoreconf -i to address problem reported with dir.old.gz being included on rebuilds, closes: #249519 * change automake build dependency from automake1.7 to automaken * add lintian overrides to squelch the hardlink warnings * fix typo in inflate.c comments, closes: #201881 -- Bdale Garbee Sun, 23 May 2004 01:07:03 -0600 gzip (1.3.5-7) unstable; urgency=low * patch from David Mosberger to incorporate work done by Sverre Jarp on an ia64 version of match.c content. -- Bdale Garbee Thu, 10 Jul 2003 08:45:27 -0600 gzip (1.3.5-6) unstable; urgency=medium * patch for insecure temp file usage in znew, closes: #193375 -- Bdale Garbee Sat, 7 Jun 2003 09:05:11 -0600 gzip (1.3.5-5) unstable; urgency=low * apply patch from Anthony Towns that fixes seg faults on alpha during build of Xfree86 at the expense of slightly decreasing the effectiveness of the deflate implementation. closes: #184057, #187417 -- Bdale Garbee Wed, 16 Apr 2003 11:24:23 -0600 gzip (1.3.5-4) unstable; urgency=low * merge patch from Rusty Russell that adds --rsyncable option to gzip. This modifies the output stream to allow rsync to transfer updated .gz files much more effectively. The resulting .gz files should be compatible with the existing gunzip. The plan is that if this works out well for Debian, the functionality will be included in a future upstream gzip release. Closes: #116183, #118118, #134741 -- Bdale Garbee Thu, 13 Feb 2003 23:50:23 -0700 gzip (1.3.5-3) unstable; urgency=low * upload a fresh version so m68k, et al, will rebuild, closes: #167790 -- Bdale Garbee Wed, 6 Nov 2002 16:13:42 -0700 gzip (1.3.5-2) unstable; urgency=low * fix gzexe.in again as per what I did for 1.3.2-3 that accidentally got lost when I merged 1.3.5 from upstream... sigh. Closes: #167150 * hack on gzip.texi a little harder to squelch warning at install time from Debian's install-info, closes: #164106 -- Bdale Garbee Wed, 30 Oct 2002 20:21:42 -0700 gzip (1.3.5-1) unstable; urgency=low * new upstream version * fixes a bug in the incorrect-suffix diagnostic, which can lead to a core dump, closes: #152579 * removes dangling output symlinks properly, closes: #144759 * zless no longer thinks it is zmore in usage message, closes: #121810 * zless replaced with a much simpler script, closes: #124097 * uses shell pattern matching instead of 'expr', closes: #123295 * man page suggests how to use gunzip on zip files, closes: #146019 * uses "trap -" to avoid bashism, closes: #140972, #157111 * accepts __i386 and __i386__ as synonyms for i386, closes: #152694 * fixes printing values greater than 10 * 2**32 bytes, closes: #141189 * includes fix for zforce needing -v, closes: #123294 * hack gzip.texi so that the Debian install-info doesn't choke on it (grrr), and add texinfo as a build dependency * eliminate things hard-coded in postinst and prerm now handled by debhelper -- Bdale Garbee Wed, 9 Oct 2002 09:05:27 -0600 gzip (1.3.2-3) unstable; urgency=low * modify gzexe.in to hard-code /bin/gzip instead of trying to use BINDIR which yields /usr/bin/gzip. Don't use PATH since we have no idea what it might be when the gzexe'd executable gets run. Closes: #119641 -- Bdale Garbee Wed, 14 Nov 2001 23:00:59 -0700 gzip (1.3.2-2) unstable; urgency=low * fix silly mistake made when moving man pages from hard to soft links, so man pages for zegrep, zfgrep, and uncompress work again, closes: #118325 -- Bdale Garbee Mon, 5 Nov 2001 00:53:40 -0700 gzip (1.3.2-1) unstable; urgency=low * new upstream release, incorporating my diffs to 1.3.1 -- Bdale Garbee Sun, 4 Nov 2001 09:47:40 -0700 gzip (1.3.1-2) unstable; urgency=low * add build dependencies on autoconf and automake * fix infodir spec so we install in the build tree, not the system directory -- Bdale Garbee Sat, 3 Nov 2001 02:18:06 -0700 gzip (1.3.1-1) unstable; urgency=low * new upstream version! From alpha.gnu.org, on the explicit advice of the current upstream maintainers, who are working with Debian to prepare a new stable release that addresses many of the open issues in our BTS. . large file support handled in configure, closes: #108612, #83061, #113000 it appears the subtle problem with concatenation is fixed, closes: #114591 various segfault problems appear fixed, closes: #46312 gzip -r issues fixed, closes: #53645, #106186 problem with --no-filename option fixed, closes: #59067 zgrep -r disallowed - "I did not use the patch as it was not a complete . fix for the problem and I thought it would cause more problems than . it would cure. Instead, I simply disallowed zgrep -r", closes: #81288 error message reworded, closes: #76238 compression factor output fixed, closes: #80362 zgrep -H fixed, closes: #84371 permission issue when forced to compress linked file fixed, closes: #88918 manpage hardlinks fixed, closes: #94733 gzip --help now goes to stdout, closes: #97020 zless no longer runs less if file doesn't exist, closes: #109097 problem with -best fixed, closes: #17650 zgrep now understands --, closes: #28475 file size output by gzip fixed for large files, closes: #40721 * fix location referenced for GPL on Debian systems, closes: #112095 * move install-info remove call from from postrm to prerm -- Bdale Garbee Sat, 3 Nov 2001 01:01:02 -0700 gzip (1.2.4-33) unstable; urgency=low * update to current policy -- Bdale Garbee Thu, 2 Dec 1999 01:10:58 -0700 gzip (1.2.4-32) unstable; urgency=low * update prototype for and definition of basename function for compatibility with glibc2.0, still in use on m68k. Closes: #45058 -- Bdale Garbee Wed, 15 Sep 1999 02:01:47 -0600 gzip (1.2.4-31) unstable; urgency=medium * fix problems I induced while merging the upstream patch in the last upload, most notably omitting zless from the package. Closes: #44883, #44885, #44890, #44882, #44887, #44895, #44896 -- Bdale Garbee Sun, 12 Sep 1999 12:06:00 -0600 gzip (1.2.4-30) unstable; urgency=low * upstream patch, closes: #28872 1998-11-18 Paul Eggert gzip.c (get_method): Don't complain about trailing zeros at the end of a gzipped file, as they're commonly appended to fill out a block (e.g. by GNU tar). * update to FHS compliance -- Bdale Garbee Fri, 10 Sep 1999 21:34:07 -0600 gzip (1.2.4-29) unstable; urgency=low * apply patch from Vincent Renardias that improves behavior when trying to decompress a corrupted .gz file. Closes 7472, 16385 -- Bdale Garbee Wed, 27 Jan 1999 20:50:12 -0700 gzip (1.2.4-28) frozen unstable; urgency=medium * patch zforce to make it work at all, closes 22760 * patch to fix decompression of concatenated gzip files, closes 30537 -- Bdale Garbee Fri, 22 Jan 1999 10:43:09 -0700 gzip (1.2.4-27) frozen unstable; urgency=low * patch from Jean-loup (upstream maintainer) for zgrep.in to fix the problems with -A and -B successfully passing to grep. Closes 21209. -- Bdale Garbee Sat, 25 Apr 1998 22:47:15 -0600 gzip (1.2.4-26) frozen unstable; urgency=low * fix FSF address in copyright file, lintian now reports no errors * minor tweak to Makefile to fix warnings during dh_installmanpages run -- Bdale Garbee Tue, 24 Mar 1998 00:40:48 -0700 gzip (1.2.4-25) frozen unstable; urgency=low * update znew.in and zdiff.in to do save tempfile handling, closes 19794 -- Bdale Garbee Sat, 21 Mar 1998 23:48:26 -0700 gzip (1.2.4-24) unstable; urgency=low * minor fix for complaints about short files, closes 19159 -- Bdale Garbee Wed, 11 Mar 1998 02:21:50 -0700 gzip (1.2.4-23) unstable; urgency=high * respond to security advisory from Alan Cox via Christian Hudon, fixes an obscure possibility to get gzip to execute code -- Bdale Garbee Wed, 11 Mar 1998 02:16:59 -0700 gzip (1.2.4-22) unstable; urgency=high * gzexe modified to use tempfile in response to security advisory -- Bdale Garbee Sat, 31 Jan 1998 14:30:20 -0700 gzip (1.2.4-21) unstable; urgency=low * fix from the upstream maintainer for voluminous "Broken Pipe" messages when using 'zgrep -l' or equivalent. Closes bug 15178. -- Bdale Garbee Sun, 4 Jan 1998 00:56:21 -0700 gzip (1.2.4-20) unstable; urgency=low * freshen rules file to match current debhelper * improve handling of undocumented executables. Closes bug 13578. -- Bdale Garbee Sun, 4 Jan 1998 00:56:21 -0700 gzip (1.2.4-19) unstable; urgency=low * change dependency to Pre-Depends, to keep dpkg from getting hosed during libc6 upgrades. Closes 15091. * switch from debmake to debhelper. In the process, closes 15412. -- Bdale Garbee Mon, 8 Dec 1997 23:42:49 -0700 gzip (1.2.4-18) unstable; urgency=low * don't install INSTALL in the doc directory, closes bug 13224. -- Bdale Garbee Fri, 5 Sep 1997 15:06:35 -0600 gzip (1.2.4-17) unstable; urgency=low * fix distribution problem in changelog file -- Bdale Garbee Fri, 5 Sep 1997 15:06:35 -0600 gzip (1.2.4-16) stable frozen unstable; urgency=low * libc6 * tweaks to rules file to install Changelog, closes bug 12488 -- Bdale Garbee Thu, 4 Sep 1997 22:46:28 -0600 gzip (1.2.4-15) stable frozen unstable; urgency=low * fix minor security issue - race condition reported on bugtraq list * rework debian/rules to build with debugging then strip -- Bdale Garbee Fri, 14 Mar 1997 21:14:44 -0700 gzip (1.2.4-14) stable frozen unstable; urgency=medium * The -13 upload was built against a libc5 too new for 'stable'. -- Bdale Garbee Thu, 28 Nov 1996 11:37:31 -0700 gzip (1.2.4-13) stable frozen unstable; urgency=medium * Fix missing "essential" flag on package, lost during standards update. * Push this version back into stable to solve the 'compress' link problem. -- Bdale Garbee Tue, 19 Nov 1996 09:14:14 -0700 gzip (1.2.4-12) unstable; urgency=low * New packag format. -- Bdale Garbee Sat, 02 Nov 1996 14:47:42 -0800 Thu Jul 18 01:30:22 MDT 1996 Bdale Garbee * add zegrep and zfgrep links in /usr/bin (Bug#3326) * add an extended description (Bug#3591) * tweak control files to use dpkg-name, etc. Fri May 24 07:37:54 MDT 1996 Bdale Garbee * don't provide a 'compress' link since it breaks things, but provide an 'uncompress' link since it's useful. * fix some administrivia Sun Apr 14 20:39:19 MDT 1996 Bdale Garbee * change gzexe.in to not use BINDIR, but assume gzip is in PATH * add Architecture field in the control file Wed Jan 17 00:07:00 MST 1996 Bdale Garbee * switch targets in the Makefile to also install the links called 'compress' and 'uncompress' since some utilities care about these, and we're unlikely to ever have a 'compress' package because of the intellectual property issues. Sat Dec 2 23:45:40 MST 1995 Bdale Garbee * building for ELF * add 'zless' as a near-clone of 'zmore', closes bug 1776 * unable to duplicate bug 1090, something has improved since then? * add libc5 dependency * new maintainer debian/rules0000775000000000000000000000722712263742004010260 0ustar #!/usr/bin/make -f # Debian rules file for gzip, requires the debhelper package. # Crafted by Bdale Garbee, bdale@gag.com, 5 November 2000 # Cleanup by Thorsten Glaser, tg@debian.org, 20 June 2012 # based on the rules file of the jupp package # Comment this to turn off debhelper verbose mode. export DH_VERBOSE=1 shellescape='$(subst ','\'',$(1))' shellexport=$(1)=$(call shellescape,${$(1)}) DEB_BUILD_ARCH=$(shell dpkg-architecture -qDEB_BUILD_ARCH) DEB_HOST_ARCH=$(shell dpkg-architecture -qDEB_HOST_ARCH) DEB_HOST_GNU_TYPE=$(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) # Automatic ${CC} selection for cross-compiles # is ${CC} defined anywhere (other than implicit rules?) ifneq (,$(findstring $(origin CC),default undefined)) # no - then default to gcc (or cross-gcc) ifneq (${DEB_BUILD_ARCH},${DEB_HOST_ARCH}) CC= ${DEB_HOST_GNU_TYPE}-gcc else CC= gcc endif endif EXTRA_CFLAGS= -Wall EXTRA_CPPFLAGS= ifeq (${DEB_HOST_ARCH},amd64) EXTRA_CPPFLAGS+= -DUNALIGNED_OK endif # Automatic dpkg-buildflags selection, backport-friendly ifneq (,$(wildcard /usr/share/dpkg/buildflags.mk)) # dpkg-dev (>= 1.16.1~) DEB_CFLAGS_MAINT_APPEND=${EXTRA_CFLAGS} DEB_CPPFLAGS_MAINT_APPEND=${EXTRA_CPPFLAGS} # maybe turn this on later #DEB_BUILD_MAINT_OPTIONS=hardening=+all include /usr/share/dpkg/buildflags.mk else # old-fashioned way to determine build flags CFLAGS= -O$(if $(findstring noopt,${DEB_BUILD_OPTIONS}),0,2) -g CFLAGS+= ${EXTRA_CFLAGS} LDFLAGS+= ${EXTRA_LDFLAGS} endif # maybe turn this on later #ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) #NUMJOBS= $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) #MAKEFLAGS+= -j${NUMJOBS} #endif # whitespace-safe path to source directory _topdir=$(call shellescape,$(shell pwd)) CONFIGURE_ARGS= --prefix=/usr \ --bindir=/bin \ --infodir=${_topdir}/debian/gzip/usr/share/info \ --mandir=${_topdir}/debian/gzip/usr/share/man ifneq (${DEB_BUILD_ARCH},${DEB_HOST_ARCH}) CONFIGURE_ARGS+= --host=${DEB_HOST_GNU_TYPE} endif reconf-stamp: cp -f /usr/share/misc/config.sub build-aux/config.sub cp -f /usr/share/misc/config.guess build-aux/config.guess autoreconf -v :>$@ configure: configure-stamp configure-stamp: reconf-stamp dh_testdir mkdir -p builddir cd builddir && env \ $(foreach i,CC CFLAGS CPPFLAGS LDFLAGS,$(call shellexport,$i)) \ ../configure ${CONFIGURE_ARGS} :>$@ build: build-stamp build-arch: build-stamp build-stamp: configure-stamp dh_testdir ${MAKE} -C builddir ifeq (,$(filter nocheck,${DEB_BUILD_OPTIONS})) ifeq (${DEB_BUILD_ARCH},${DEB_HOST_ARCH}) ${MAKE} -C builddir check endif endif :>$@ clean: dh_testdir dh_testroot -rm -f build-stamp build-indep-stamp configure-stamp configure-indep-stamp reconf-stamp -rm -rf builddir builddir-indep dh_clean binary: binary-arch binary-arch: build-stamp dh_testdir dh_testroot if test -x "$$(which dh_prep)"; then dh_prep; else dh_clean -k; fi dh_installdirs ${MAKE} -C builddir install \ prefix=${_topdir}/debian/gzip/usr \ bindir=${_topdir}/debian/gzip/bin dh_testdir -s dh_testroot -s dh_installdocs -s README* TODO dh_installman *.1 dh_installinfo -s doc/gzip.info dh_installchangelogs -s ChangeLog dh_link -s dh_lintian -s dh_strip -s dh_compress -s ln -s gunzip.1.gz debian/gzip/usr/share/man/man1/uncompress.1.gz ln -s zgrep.1.gz debian/gzip/usr/share/man/man1/zegrep.1.gz ln -s zgrep.1.gz debian/gzip/usr/share/man/man1/zfgrep.1.gz rm -f ${_topdir}/debian/gzip/usr/share/info/dir.gz dh_fixperms -s dh_makeshlibs -s dh_installdeb -s dh_shlibdeps -s dh_gencontrol -s dh_md5sums -s dh_builddeb -s .PHONY: binary binary-arch binary-indep build build-arch build-indep clean .PHONY: configure configure-indep debian/gzip-win32.dirs0000664000000000000000000000002012256662701011763 0ustar usr/share/win32 debian/source/0000775000000000000000000000000012256662701010477 5ustar debian/source/format0000664000000000000000000000001412256662701011705 0ustar 3.0 (quilt) debian/source/lintian-overrides0000664000000000000000000000072612256662701014065 0ustar # Because gzip is an essential package, any new dependencies would be a # huge big deal (must also be essential, require Pre-Depends handling, # etc). I therefore carefully manage the control file contents, stick to # an older debhelper compat level to aid porting and back porting, and am # careful to only use specific debhelper tools I understand the effects of. gzip source: debhelper-but-no-misc-depends gzip-win32 gzip source: debhelper-but-no-misc-depends gzip debian/tests/0000775000000000000000000000000012263742004010332 5ustar debian/tests/simple-gzip0000664000000000000000000000023112263742004012511 0ustar #!/bin/sh set -e echo "Bla" > bla.file cp bla.file bla.file.orig gzip bla.file gunzip bla.file.gz cmp bla.file bla.file.orig rm bla.file bla.file.orig debian/tests/control0000664000000000000000000000004112263742004011730 0ustar Tests: simple-gzip Depends: gzip debian/README.build0000664000000000000000000000105512256662701011156 0ustar Note that using sudo during the build, such as with 'dpkg-buildpackage -rsudo' may fail because wine (which is needed to run mingw32) doesn't like being run as root when ~/.wine is owned by a normal user. The fix for this is to either build gzip with another root-gaining tool (fakeroot works fine), or to run the entire build as root (ick!). It may be possible to also solve this with some interesting set of wine options, but I'm not motivated to figure that out since fakeroot works. -- Bdale Garbee Tue, 15 Apr 2008 08:16:17 -0600 debian/dirs0000664000000000000000000000010212256662701010054 0ustar bin usr/share/info usr/share/lintian/overrides usr/share/man/man1 debian/control0000664000000000000000000000154512263742004010600 0ustar Source: gzip Section: utils Priority: required Maintainer: Ubuntu Developers XSBC-Original-Maintainer: Bdale Garbee Uploaders: Carl Worth Build-Depends: debhelper (>= 5), texinfo, autoconf, automake, autotools-dev, less XS-Testsuite: autopkgtest Standards-Version: 3.9.5 Vcs-Git: git://git.gag.com/debian/gzip Vcs-Browser: http://git.gag.com/?p=debian/gzip Package: gzip Architecture: any Essential: yes Pre-Depends: ${shlibs:Depends} Depends: dpkg (>= 1.15.4) | install-info Suggests: less Description: GNU compression utilities This package provides the standard GNU file compression utilities, which are also the default compression tools for Debian. They typically operate on files with names ending in '.gz', but can also decompress files ending in '.Z' created with 'compress'. debian/compat0000664000000000000000000000000212256662701010375 0ustar 5 debian/watch0000664000000000000000000000007712256662701010234 0ustar version=2 ftp://ftp.gnu.org/gnu/gzip/gzip-([\d\.\d]+)\.tar\.gz debian/patches/0000775000000000000000000000000012256662701010626 5ustar debian/patches/sigpipe.diff0000664000000000000000000000047212256662701013123 0ustar --- gzip-1.6.orig/gzip.c +++ gzip-1.6/gzip.c @@ -562,7 +562,11 @@ int main (int argc, char **argv) ALLOC(ush, tab_prefix1, 1L<<(BITS-1)); #endif +#ifdef SIGPIPE exiting_signal = quiet ? SIGPIPE : 0; +#else + exiting_signal = 0; +#endif install_signal_handlers (); /* And get to work */ debian/patches/rsyncable.diff0000664000000000000000000002553612256662701013455 0ustar --- a/deflate.c +++ b/deflate.c @@ -131,6 +131,14 @@ #endif /* Matches of length 3 are discarded if their distance exceeds TOO_FAR */ +#ifndef RSYNC_WIN +# define RSYNC_WIN 8192 +#endif +/* Size of rsync window, must be < MAX_DIST */ + +#define RSYNC_SUM_MATCH(sum) (((sum) & (RSYNC_WIN - 1)) == 0) +/* Whether window sum matches magic value */ + /* =========================================================================== * Local data used by the "longest match" routines. */ @@ -212,6 +220,8 @@ unsigned good_match; /* Use a faster search when the previous match is longer than this */ +local ulg rsync_sum; /* rolling sum of rsync window */ +local ulg rsync_chunk_end; /* next rsync sequence point */ /* Values for max_lazy_match, good_match and max_chain_length, depending on * the desired pack level (0..9). The values given below have been tuned to @@ -314,6 +324,10 @@ #endif /* prev will be initialized on the fly */ + /* rsync params */ + rsync_chunk_end = 0xFFFFFFFFUL; + rsync_sum = 0; + /* Set the default configuration parameters: */ max_lazy_match = configuration_table[pack_level].max_lazy; @@ -550,6 +564,8 @@ memcpy((char*)window, (char*)window+WSIZE, (unsigned)WSIZE); match_start -= WSIZE; strstart -= WSIZE; /* we now have strstart >= MAX_DIST: */ + if (rsync_chunk_end != 0xFFFFFFFFUL) + rsync_chunk_end -= WSIZE; block_start -= (long) WSIZE; @@ -579,13 +595,44 @@ } } +local void rsync_roll(unsigned start, unsigned num) +{ + unsigned i; + + if (start < RSYNC_WIN) { + /* before window fills. */ + for (i = start; i < RSYNC_WIN; i++) { + if (i == start + num) return; + rsync_sum += (ulg)window[i]; + } + num -= (RSYNC_WIN - start); + start = RSYNC_WIN; + } + + /* buffer after window full */ + for (i = start; i < start+num; i++) { + /* New character in */ + rsync_sum += (ulg)window[i]; + /* Old character out */ + rsync_sum -= (ulg)window[i - RSYNC_WIN]; + if (rsync_chunk_end == 0xFFFFFFFFUL && RSYNC_SUM_MATCH(rsync_sum)) + rsync_chunk_end = i; + } +} + +/* =========================================================================== + * Set rsync_chunk_end if window sum matches magic value. + */ +#define RSYNC_ROLL(s, n) \ + do { if (rsync) rsync_roll((s), (n)); } while(0) + /* =========================================================================== * Flush the current block, with given end-of-file flag. * IN assertion: strstart is set to the end of the current match. */ #define FLUSH_BLOCK(eof) \ flush_block(block_start >= 0L ? (char*)&window[(unsigned)block_start] : \ - (char*)NULL, (long)strstart - block_start, (eof)) + (char*)NULL, (long)strstart - block_start, flush-1, (eof)) /* =========================================================================== * Processes a new input file and return its compressed length. This @@ -596,7 +643,7 @@ local off_t deflate_fast() { IPos hash_head; /* head of the hash chain */ - int flush; /* set if current block must be flushed */ + int flush = 0; /* set if current block must be flushed, 2=>and padded */ unsigned match_length = 0; /* length of best match */ prev_length = MIN_MATCH-1; @@ -626,7 +673,8 @@ lookahead -= match_length; - /* Insert new strings in the hash table only if the match length + RSYNC_ROLL(strstart, match_length); + /* Insert new strings in the hash table only if the match length * is not too large. This saves time but degrades compression. */ if (match_length <= max_insert_length) { @@ -654,9 +702,14 @@ /* No match, output a literal byte */ Tracevv((stderr,"%c",window[strstart])); flush = ct_tally (0, window[strstart]); + RSYNC_ROLL(strstart, 1); lookahead--; strstart++; } + if (rsync && strstart > rsync_chunk_end) { + flush = 2; + rsync_chunk_end = 0xFFFFFFFFUL; + } if (flush) FLUSH_BLOCK(0), block_start = strstart; /* Make sure that we always have enough lookahead, except @@ -679,7 +732,7 @@ { IPos hash_head; /* head of hash chain */ IPos prev_match; /* previous match */ - int flush; /* set if current block must be flushed */ + int flush = 0; /* set if current block must be flushed */ int match_available = 0; /* set if previous match exists */ register unsigned match_length = MIN_MATCH-1; /* length of best match */ @@ -730,6 +783,7 @@ */ lookahead -= prev_length-1; prev_length -= 2; + RSYNC_ROLL(strstart, prev_length+1); do { strstart++; INSERT_STRING(strstart, hash_head); @@ -742,24 +796,38 @@ match_available = 0; match_length = MIN_MATCH-1; strstart++; - if (flush) FLUSH_BLOCK(0), block_start = strstart; + if (rsync && strstart > rsync_chunk_end) { + rsync_chunk_end = 0xFFFFFFFFUL; + flush = 2; + } + if (flush) FLUSH_BLOCK(0), block_start = strstart; } else if (match_available) { /* If there was no match at the previous position, output a * single literal. If there was a match but the current match * is longer, truncate the previous match to a single literal. */ Tracevv((stderr,"%c",window[strstart-1])); - if (ct_tally (0, window[strstart-1])) { - FLUSH_BLOCK(0), block_start = strstart; - } + flush = ct_tally (0, window[strstart-1]); + if (rsync && strstart > rsync_chunk_end) { + rsync_chunk_end = 0xFFFFFFFFUL; + flush = 2; + } + if (flush) FLUSH_BLOCK(0), block_start = strstart; + RSYNC_ROLL(strstart, 1); strstart++; lookahead--; } else { /* There is no previous match to compare with, wait for * the next step to decide. */ + if (rsync && strstart > rsync_chunk_end) { + rsync_chunk_end = 0xFFFFFFFFUL; + flush = 2; + FLUSH_BLOCK(0), block_start = strstart; + } match_available = 1; + RSYNC_ROLL(strstart, 1); strstart++; lookahead--; } --- a/doc/gzip.texi +++ b/doc/gzip.texi @@ -208,6 +208,7 @@ -V, --version display version number -1, --fast compress faster -9, --best compress better + --rsyncable Make rsync-friendly archive With no FILE, or when FILE is -, read standard input. @@ -358,6 +359,14 @@ into the directory and compress all the files it finds there (or decompress them in the case of @command{gunzip}). +@item --rsyncable +While compressing, synchronize the output occasionally based on +the input. This increases size by less than 1 percent most +cases, but means that the @command{rsync} program can much more efficiently +synchronize files compressed with this flag. @command{gunzip} +cannot tell the difference between a compressed file created +with this option, and one created without it. + @item --suffix @var{suf} @itemx -S @var{suf} Use suffix @var{suf} instead of @samp{.gz}. Any suffix can be --- a/gzip.c +++ b/gzip.c @@ -215,6 +215,7 @@ unsigned insize; /* valid bytes in inbuf */ unsigned inptr; /* index of next byte to be processed in inbuf */ unsigned outcnt; /* bytes in output buffer */ +int rsync = 0; /* make ryncable chunks */ static int handled_sig[] = { @@ -275,7 +276,7 @@ {"best", 0, 0, '9'}, /* compress better */ {"lzw", 0, 0, 'Z'}, /* make output compatible with old compress */ {"bits", 1, 0, 'b'}, /* max number of bits per code (implies -Z) */ - + {"rsyncable", 0, 0, 'R'}, /* make rsync-friendly archive */ { 0, 0, 0, 0 } }; @@ -359,6 +360,7 @@ " -Z, --lzw produce output compatible with old compress", " -b, --bits=BITS max number of bits per code (implies -Z)", #endif + " --rsyncable Make rsync-friendly archive", "", "With no FILE, or when FILE is -, read standard input.", "", @@ -489,8 +491,11 @@ #else recursive = 1; #endif - break; - case 'S': + break; + case 'R': + rsync = 1; break; + + case 'S': #ifdef NO_MULTIPLE_DOTS if (*optarg == '.') optarg++; #endif --- a/gzip.h +++ b/gzip.h @@ -140,6 +140,7 @@ extern unsigned insize; /* valid bytes in inbuf */ extern unsigned inptr; /* index of next byte to be processed in inbuf */ extern unsigned outcnt; /* bytes in output buffer */ +extern int rsync; /* deflate into rsyncable chunks */ extern off_t bytes_in; /* number of input bytes */ extern off_t bytes_out; /* number of output bytes */ @@ -287,7 +288,7 @@ /* in trees.c */ extern void ct_init (ush *attr, int *method); extern int ct_tally (int dist, int lc); -extern off_t flush_block (char *buf, ulg stored_len, int eof); +extern off_t flush_block (char *buf, ulg stored_len, int pad, int eof); /* in bits.c */ extern void bi_init (file_t zipfile); --- a/gzip.1 +++ b/gzip.1 @@ -5,6 +5,7 @@ .ll +8 .B gzip .RB [ " \-acdfhklLnNrtvV19 " ] +.RB [ --rsyncable ] .RB [ \-S\ suffix ] [ .I "name \&..." @@ -287,6 +288,16 @@ .I gunzip ). .TP +.B --rsyncable +While compressing, synchronize the output occasionally based on the input. +This increases size by less than 1 percent most cases, but means that the +.BR rsync (1) +program can take advantage of similarities in the uncompressed input +when syncronizing two files compressed with this flag. +.I gunzip +cannot tell the difference between a compressed file created with this option, +and one created without it. +.TP .B \-S .suf --suffix .suf When compressing, use suffix .suf instead of .gz. Any non-empty suffix can be given, but suffixes --- a/trees.c +++ b/trees.c @@ -856,9 +856,10 @@ * trees or store, and output the encoded block to the zip file. This function * returns the total compressed length for the file so far. */ -off_t flush_block(buf, stored_len, eof) +off_t flush_block(buf, stored_len, pad, eof) char *buf; /* input block, or NULL if too old */ ulg stored_len; /* length of input block */ + int pad; /* pad output to byte boundary */ int eof; /* true if this is the last block for a file */ { ulg opt_lenb, static_lenb; /* opt_len and static_len in bytes */ @@ -951,6 +952,10 @@ Assert (input_len == bytes_in, "bad input size"); bi_windup(); compressed_len += 7; /* align on byte boundary */ + } else if (pad && (compressed_len % 8) != 0) { + send_bits((STORED_BLOCK<<1)+eof, 3); /* send block type */ + compressed_len = (compressed_len + 3 + 7) & ~7L; + copy_block(buf, 0, 1); /* with header */ } return compressed_len >> 3; debian/patches/gnulib-mingw-w64.diff0000664000000000000000000000232012256662701014472 0ustar Description: Use __cdecl instead of cdecl Author: Paul Eggert Origin: http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=86725346a1b116f3c2da26c124288f5f4495bf69 diff --git a/lib/msvc-inval.c b/lib/msvc-inval.c index ef2b860..1873e23 100644 --- a/lib/msvc-inval.c +++ b/lib/msvc-inval.c @@ -28,7 +28,7 @@ # if MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING -static void cdecl +static void __cdecl gl_msvc_invalid_parameter_handler (const wchar_t *expression, const wchar_t *function, const wchar_t *file, @@ -45,7 +45,7 @@ gl_msvc_invalid_parameter_handler (const wchar_t *expression, # if defined _MSC_VER -static void cdecl +static void __cdecl gl_msvc_invalid_parameter_handler (const wchar_t *expression, const wchar_t *function, const wchar_t *file, @@ -94,7 +94,7 @@ gl_msvc_inval_current (void) } } -static void cdecl +static void __cdecl gl_msvc_invalid_parameter_handler (const wchar_t *expression, const wchar_t *function, const wchar_t *file, debian/patches/series0000664000000000000000000000010112256662701012033 0ustar rsyncable.diff sigpipe.diff zgrep-man-diff gnulib-mingw-w64.diff debian/patches/zgrep-man-diff0000664000000000000000000000144412256662701013362 0ustar --- a/zgrep.1 2012-09-10 03:20:56.541637782 +0300 +++ b/zgrep.1 2012-09-10 03:18:21.000000000 +0300 @@ -11,7 +11,13 @@ zgrep \- search possibly compressed file invokes .I grep on compressed or gzipped files. -All options specified are passed directly to +These +.I grep +options will cause +.I zgrep +to terminate with an error code: +.BI (-[drRzZ] | --di* | --exc* | --inc* | --rec* | --nu*) . +All other options specified are passed directly to .IR grep . If no file is specified, then the standard input is decompressed if necessary and fed to grep. @@ -23,6 +29,8 @@ If the GREP environment variable is set, uses it as the .I grep program to be invoked. +.SH EXIT CODE +2 - An option that is not supported was specified. .SH AUTHOR Charles Levert (charles@comm.polymtl.ca) .SH "SEE ALSO"