Subject: pkg/21942: Suggestion for "make replace" target in pkgsrc
To: None <gnats-bugs@gnats.netbsd.org>
From: None <xavier@injep.fr>
List: netbsd-bugs
Date: 06/20/2003 14:07:55
>Number:         21942
>Category:       pkg
>Synopsis:       Suggestion for make replace : keep previous libs
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Fri Jun 20 12:09:01 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     Xavier HUMBERT
>Release:        NetBSD 1.6T
>Organization:
INJEP
>Environment:
System: NetBSD frodo.injep.fr 1.6T NetBSD 1.6T (XAVIER) #2: Mon May 12 15:56:26 CEST 2003 root@frodo.injep.fr:/usr/obj.i386/sys/arch/i386/compile/XAVIER i386
Architecture: i386
Machine: i386
>Description:
	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.
>How-To-Repeat:
>Fix:
	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/libncurses++.a
/usr/pkg/lib/libncurses++.la
/usr/pkg/lib/libncurses++.so -> libncurses++.so.5.3
/usr/pkg/lib/libncurses++.so.5 -> libncurses++.so.5.3
/usr/pkg/lib/libncurses++.so.5.2
/usr/pkg/lib/libncurses++.so.5.3
/usr/pkg/lib/libncurses.a
/usr/pkg/lib/libncurses.la
/usr/pkg/lib/libncurses.so -> libncurses.so.5.3
/usr/pkg/lib/libncurses.so.5 -> libncurses.so.5.3
/usr/pkg/lib/libncurses.so.5.2
/usr/pkg/lib/libncurses.so.5.3
	should be in /usr/pkg/lib after upgrading ncurses from 5.2 to 5.3

Best regards,

Xavier
-- 
Xavier HUMBERT  -  Systemes et Reseaux     |     labo-info@injep.fr
INJEP                                      |     humbert@injep.fr

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