NetBSD Problem Report #21942

Received: (qmail 16472 invoked by uid 605); 20 Jun 2003 12:08:04 -0000
Message-Id: <>
Date: Fri, 20 Jun 2003 14:07:55 +0200 (CEST)
Subject: Suggestion for "make replace" target in pkgsrc 
X-Send-Pr-Version: 3.95

>Number:         21942
>Category:       pkg
>Synopsis:       Suggestion for make replace : keep previous libs
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    agc
>State:          suspended
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Fri Jun 20 12:09:01 +0000 2003
>Last-Modified:  Fri Sep 19 11:28:00 +0000 2003
>Originator:     Xavier HUMBERT
>Release:        NetBSD 1.6T
System: NetBSD 1.6T NetBSD 1.6T (XAVIER) #2: Mon May 12 15:56:26 CEST 2003 i386
Architecture: i386
Machine: i386
	When one use "make replace" to more-or-less safely upgrade a package (make upgrade is really dangerous),
	the Makefile target "replace" tar_ups the package, then delete it entirely, eventually leaving
	shared library dependencies broken for other packages.
	I suggest using the same mechanism as FreeBSD's portupgrade : when replacing a package, keep the shared libs
	in place, just upgrade the symlinks.
	E.g. :
/usr/pkg/lib/ ->
/usr/pkg/lib/ ->
/usr/pkg/lib/ ->
/usr/pkg/lib/ ->
	should be in /usr/pkg/lib after upgrading ncurses from 5.2 to 5.3

Best regards,

Xavier HUMBERT  -  Systemes et Reseaux     |
INJEP                                      |


From: Frederick Bruckman <>
Subject: Subject: Re: pkg/21942: Suggestion for "make replace" target in
Date: Mon, 23 Jun 2003 13:01:24 -0500 (CDT)

 In article <>, writes:
 >>Synopsis:       Suggestion for make replace : keep previous libs

 I don't know about "make-replace", but I have worked out a system
 to keep shared libraries, respecting dependencies -- and it works
 with binary packages, too:

 You should be able to find discussion on this by searching the mailing
 list archives. Also see PR pkg/10835.

 Because it's just a wrapper around the pkg_tools, it fails on a few
 packages which generate their PLIST entirely on-the-fly, such as "perl58",
 and "gcc3". When the package files' registration/de-registration is all
 done in "pkg_add" and "pkg_create" directly, this won't be a problem.

 Except for those few odd packages, it's been working fine for me for
 something like a year or more. What remains is to code the changes to
 the pkg tools. I suppose more people would try it, then.

State-Changed-From-To: open->suspended 
State-Changed-By: agc 
State-Changed-When: Fri Sep 19 07:25:09 EDT 2003 
I like this idea a whole lot, but we are moving to integrate package views 
into pkgsrc, which also attacks the exact same problem, only from a completely 
different angle. We also believe that package views are more scalable and 
useful for installations. 

I'm going to suspend the PR for just now. Thanks for pointing it out. 
(I actually looked into doing this on pkgsrc, but just couldn't find a 
neat way, and then package views' arrival kind of meant that there was 
a different approach to this. 

Responsible-Changed-From-To: pkg-manager->agc 
Responsible-Changed-By: agc 
Responsible-Changed-When: Fri Sep 19 07:25:09 EDT 2003 
agc took responsibility for this one 

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD:,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.