From owner-freebsd-ports-bugs@FreeBSD.ORG Wed Jun 6 02:00:09 2007 Return-Path: X-Original-To: freebsd-ports-bugs@hub.freebsd.org Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 2442716A468 for ; Wed, 6 Jun 2007 02:00:09 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id F3DA713C4B9 for ; Wed, 6 Jun 2007 02:00:08 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id l56208Ow043242 for ; Wed, 6 Jun 2007 02:00:08 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id l56208J2043241; Wed, 6 Jun 2007 02:00:08 GMT (envelope-from gnats) Resent-Date: Wed, 6 Jun 2007 02:00:08 GMT Resent-Message-Id: <200706060200.l56208J2043241@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Ighighi Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3EE0716A400 for ; Wed, 6 Jun 2007 01:55:47 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [69.147.83.33]) by mx1.freebsd.org (Postfix) with ESMTP id 2B3ED13C484 for ; Wed, 6 Jun 2007 01:55:47 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.13.1/8.13.1) with ESMTP id l561tkO9039343 for ; Wed, 6 Jun 2007 01:55:46 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.13.1/8.13.1/Submit) id l561tkMn039342; Wed, 6 Jun 2007 01:55:46 GMT (envelope-from nobody) Message-Id: <200706060155.l561tkMn039342@www.freebsd.org> Date: Wed, 6 Jun 2007 01:55:46 GMT From: Ighighi To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.0 Cc: Subject: ports/113397: [PATCH]: gzip(1) support for -k option as used by bzip2(1) X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 Jun 2007 02:00:09 -0000 >Number: 113397 >Category: ports >Synopsis: [PATCH]: gzip(1) support for -k option as used by bzip2(1) >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Wed Jun 06 02:00:08 GMT 2007 >Closed-Date: >Last-Modified: >Originator: Ighighi >Release: 6.2-STABLE >Organization: >Environment: FreeBSD orion 6.2-STABLE FreeBSD 6.2-STABLE #4: Sat Jun 2 05:22:26 VET 2007 root@orion:/usr/obj/usr/src/sys/CUSTOM i386 >Description: The new gzip(1) in the base system now supports the -k option as used by bzip2(1). See http://www.freebsd.org/cgi/query-pr.cgi?pr=103006 This patch does the same for archivers/gzip >How-To-Repeat: >Fix: Copy the attached patch to /usr/ports/archivers/gzip/files and reinstall Patch attached with submission follows: --- 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: --- 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) >Release-Note: >Audit-Trail: >Unformatted: