Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 5 Jan 2008 18:06:02 GMT
From:      Garrett Cooper <gcooper@FreeBSD.org>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   misc/119368: [PATCH] pkg_add(1) doesn't keep dependent packages with -K flag
Message-ID:  <200801051806.m05I62Xb006020@www.freebsd.org>
Resent-Message-ID: <200801051810.m05IA1nH019956@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         119368
>Category:       misc
>Synopsis:       [PATCH] pkg_add(1) doesn't keep dependent packages with -K flag
>Confidential:   no
>Severity:       non-critical
>Priority:       high
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sat Jan 05 18:10:01 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Garrett Cooper
>Release:        Affects FreeBSD 4.x~5.x+
>Organization:
n/a
>Environment:
n/a
>Description:
pkg_add(1) in its current form doesn't keep 

The 'bug' is a usage bug, and is solved using the following patch:

<http://students.washington.edu/youshi10/posted/pkg_add_keep_flag_prop.patch>.

The patch was originally requested by Maslan [1], and due to lack of feedback a PR wasn't filed.

This trivial patch has been tested and is functionally correct, as noted by Jason C Wells [2].

Please note that the link above will only be available until March~April 2008 as I have graduated and my student account at the University of Washington will expire then.

1. hackers@ discussion thread:
<http://lists.freebsd.org/pipermail/freebsd-hackers/2007-November/022133.html>.

2. ports@ discussion thread: <http://lists.freebsd.org/pipermail/freebsd-ports/2008-January/046019.html>.
>How-To-Repeat:
n/a
>Fix:
See link/enclosed patch noted.

Patch attached with submission follows:

--- add/perform.c	2007-11-09 18:46:02.000000000 -0800
+++ add/perform.c.old	2007-11-09 18:44:10.000000000 -0800
@@ -343,7 +343,7 @@
 			if (!Force)
 			    ++code;
 		    }
-		    else if (vsystem("(pwd; /bin/cat +CONTENTS) | %s %s %s %s -S", PkgAddCmd, Verbose ? "-v" : "", PrefixRecursive ? prefixArg : "", KeepPackage ? "-K" : "")) {
+		    else if (vsystem("(pwd; /bin/cat +CONTENTS) | %s %s %s -S", PkgAddCmd, Verbose ? "-v" : "", PrefixRecursive ? prefixArg : "")) {
 			warnx("pkg_add of dependency '%s' failed%s",
 				p->name, Force ? " (proceeding anyway)" : "!");
 			if (!Force)


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200801051806.m05I62Xb006020>