aboutsummaryrefslogtreecommitdiffstats
path: root/archivers
diff options
context:
space:
mode:
Diffstat (limited to 'archivers')
-rw-r--r--archivers/gzip/Makefile1
-rw-r--r--archivers/gzip/files/patch-gzip.130
-rw-r--r--archivers/gzip/files/patch-gzip.c66
3 files changed, 97 insertions, 0 deletions
diff --git a/archivers/gzip/Makefile b/archivers/gzip/Makefile
index 905e79f35ccd..f4c82486bd4c 100644
--- a/archivers/gzip/Makefile
+++ b/archivers/gzip/Makefile
@@ -7,6 +7,7 @@
PORTNAME= gzip
PORTVERSION= 1.3.12
+PORTREVISION= 1
CATEGORIES= archivers
MASTER_SITES= ${MASTER_SITE_GNU}
MASTER_SITE_SUBDIR= ${PORTNAME}
diff --git a/archivers/gzip/files/patch-gzip.1 b/archivers/gzip/files/patch-gzip.1
new file mode 100644
index 000000000000..319802792e35
--- /dev/null
+++ b/archivers/gzip/files/patch-gzip.1
@@ -0,0 +1,30 @@
+--- 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
new file mode 100644
index 000000000000..e2536dd91c6a
--- /dev/null
+++ b/archivers/gzip/files/patch-gzip.c
@@ -0,0 +1,66 @@
+--- 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)
+
+