diff options
-rw-r--r-- | archivers/gzip/Makefile | 8 | ||||
-rw-r--r-- | archivers/gzip/distinfo | 4 | ||||
-rw-r--r-- | archivers/gzip/files/extra-patch-gzip-rsyncable.diff | 31 | ||||
-rw-r--r-- | archivers/gzip/files/patch-gzip.1 | 30 | ||||
-rw-r--r-- | archivers/gzip/files/patch-gzip.c | 66 |
5 files changed, 21 insertions, 118 deletions
diff --git a/archivers/gzip/Makefile b/archivers/gzip/Makefile index c028bbfdcc0a..f7da523f4038 100644 --- a/archivers/gzip/Makefile +++ b/archivers/gzip/Makefile @@ -2,13 +2,11 @@ # $FreeBSD$ PORTNAME= gzip -PORTVERSION= 1.4 -PORTREVISION= 2 +PORTVERSION= 1.6 CATEGORIES= archivers -MASTER_SITES= ${MASTER_SITE_GNU} -MASTER_SITE_SUBDIR= ${PORTNAME} +MASTER_SITES= GNU -MAINTAINER= gabor@FreeBSD.org +MAINTAINER= johans@FreeBSD.org COMMENT= Compression utility designed to be a replacement for compress USES= charsetfix diff --git a/archivers/gzip/distinfo b/archivers/gzip/distinfo index 76f45039eab9..71038f815b36 100644 --- a/archivers/gzip/distinfo +++ b/archivers/gzip/distinfo @@ -1,2 +1,2 @@ -SHA256 (gzip-1.4.tar.gz) = d166cfd3da380da1bd535633e8890bfb5664f9e68870a611d1dc01a3e9f711ee -SIZE (gzip-1.4.tar.gz) = 907411 +SHA256 (gzip-1.6.tar.gz) = 97eb83b763d9e5ad35f351fe5517e6b71521d7aac7acf3e3cacdb6b1496d8f7e +SIZE (gzip-1.6.tar.gz) = 1074924 diff --git a/archivers/gzip/files/extra-patch-gzip-rsyncable.diff b/archivers/gzip/files/extra-patch-gzip-rsyncable.diff index 3f5978ecb3a8..99bde0038074 100644 --- a/archivers/gzip/files/extra-patch-gzip-rsyncable.diff +++ b/archivers/gzip/files/extra-patch-gzip-rsyncable.diff @@ -106,17 +106,17 @@ diff -u -r ../gzip-1.3.12.orig/deflate.c ./deflate.c lookahead -= match_length; -+ RSYNC_ROLL(strstart, 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. */ -@@ -652,9 +702,14 @@ +@@ -654,9 +704,14 @@ /* No match, output a literal byte */ Tracevv((stderr,"%c",window[strstart])); flush = ct_tally (0, window[strstart]); + RSYNC_ROLL(strstart, 1); lookahead--; - strstart++; + strstart++; } + if (rsync && strstart > rsync_chunk_end) { + rsync_chunk_end = 0xFFFFFFFFUL; @@ -206,11 +206,12 @@ diff -u -r ../gzip-1.3.12.orig/gzip.c ./gzip.c struct option longopts[] = { -@@ -260,6 +261,7 @@ +@@ -260,7 +261,8 @@ {"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 } }; @@ -223,12 +224,12 @@ diff -u -r ../gzip-1.3.12.orig/gzip.c ./gzip.c "With no FILE, or when FILE is -, read standard input.", "", @@ -469,6 +472,8 @@ - recursive = 1; + recursive = 1; #endif - break; -+ case 'R': -+ rsync = 1; break; - case 'S': + break; ++ case 'R': ++ rsync = 1; break; + case 'S': #ifdef NO_MULTIPLE_DOTS if (*optarg == '.') optarg++; diff -u -r ../gzip-1.3.12.orig/gzip.h ./gzip.h @@ -244,13 +245,13 @@ diff -u -r ../gzip-1.3.12.orig/gzip.h ./gzip.h extern off_t bytes_out; /* number of output bytes */ @@ -306,7 +307,7 @@ /* in trees.c */ - void ct_init OF((ush *attr, int *method)); - int ct_tally OF((int dist, int lc)); --off_t flush_block OF((char *buf, ulg stored_len, int eof)); -+off_t flush_block OF((char *buf, ulg stored_len, int pad, int eof)); + 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 */ - void bi_init OF((file_t zipfile)); + extern void bi_init (file_t zipfile); diff -u -r ../gzip-1.3.12.orig/trees.c ./trees.c --- ../gzip-1.3.12.orig/trees.c 2006-11-20 02:40:33.000000000 -0600 +++ ./trees.c 2008-09-01 20:53:37.000000000 -0500 diff --git a/archivers/gzip/files/patch-gzip.1 b/archivers/gzip/files/patch-gzip.1 deleted file mode 100644 index 319802792e35..000000000000 --- a/archivers/gzip/files/patch-gzip.1 +++ /dev/null @@ -1,30 +0,0 @@ ---- gzip.1.orig Fri Dec 8 14:45:37 2006 -+++ gzip.1 Tue Jun 5 21:44:20 2007 -@@ -4,7 +4,7 @@ - .SH SYNOPSIS - .ll +8 - .B gzip --.RB [ " \-acdfhlLnNrtvV19 " ] -+.RB [ " \-acdfhklLnNrtvV19 " ] - .RB [ \-S\ suffix ] - [ - .I "name \&..." -@@ -12,7 +12,7 @@ - .ll -8 - .br - .B gunzip --.RB [ " \-acfhlLnNrtvV " ] -+.RB [ " \-acfhklLnNrtvV " ] - .RB [ \-S\ suffix ] - [ - .I "name \&..." -@@ -223,6 +223,9 @@ - .TP - .B \-h --help - Display a help screen and quit. -+.TP -+.B \-k --keep -+Keep (don't delete) input files during compression or decompression. - .TP - .B \-l --list - For each compressed file, list the following fields: diff --git a/archivers/gzip/files/patch-gzip.c b/archivers/gzip/files/patch-gzip.c deleted file mode 100644 index e2536dd91c6a..000000000000 --- a/archivers/gzip/files/patch-gzip.c +++ /dev/null @@ -1,66 +0,0 @@ ---- gzip.c.orig Tue Mar 20 01:09:51 2007 -+++ gzip.c Tue Jun 5 21:43:50 2007 -@@ -216,6 +216,8 @@ - suppresses a "Broken Pipe" message with some shells. */ - static int volatile exiting_signal; - -+/* If nonzero, unlink input file on exit. */ -+static int remove_ifname = 1; - /* If nonnegative, close this file descriptor and unlink ofname on error. */ - static int volatile remove_ofname_fd = -1; - -@@ -243,6 +245,7 @@ - /* {"encrypt", 0, 0, 'e'}, encrypt */ - {"force", 0, 0, 'f'}, /* force overwrite of output file */ - {"help", 0, 0, 'h'}, /* give help */ -+ {"keep", 0, 0, 'k'}, /* keep (don't delete) input files */ - /* {"pkzip", 0, 0, 'k'}, force output in pkzip format */ - {"list", 0, 0, 'l'}, /* list .gz file contents */ - {"license", 0, 0, 'L'}, /* display software license */ -@@ -319,6 +322,7 @@ - " -f, --force force overwrite of output file and compress links", - " -h, --help give this help", - /* -k, --pkzip force output in pkzip format */ -+ " -k, --keep keep (don't delete) input files", - " -l, --list list compressed file contents", - " -L, --license display software license", - #ifdef UNDOCUMENTED -@@ -423,7 +427,7 @@ - z_suffix = Z_SUFFIX; - z_len = strlen(z_suffix); - -- while ((optc = getopt_long (argc, argv, "ab:cdfhH?lLmMnNqrS:tvVZ123456789", -+ while ((optc = getopt_long (argc, argv, "ab:cdfhH?klLmMnNqrS:tvVZ123456789", - longopts, (int *)0)) != -1) { - switch (optc) { - case 'a': -@@ -446,6 +450,8 @@ - force++; break; - case 'h': case 'H': - help(); do_exit(OK); break; -+ case 'k': -+ remove_ifname = 0; break; - case 'l': - list = decompress = to_stdout = 1; break; - case 'L': -@@ -825,7 +831,7 @@ - if (!to_stdout) - { - sigset_t oldset; -- int unlink_errno; -+ int unlink_errno = 0; - - copy_stat (&istat); - if (close (ofd) != 0) -@@ -833,7 +839,8 @@ - - sigprocmask (SIG_BLOCK, &caught_signals, &oldset); - remove_ofname_fd = -1; -- unlink_errno = xunlink (ifname) == 0 ? 0 : errno; -+ if (remove_ifname) -+ unlink_errno = xunlink (ifname) == 0 ? 0 : errno; - sigprocmask (SIG_SETMASK, &oldset, NULL); - - if (unlink_errno) - - |