NetBSD Problem Report #21942
Received: (qmail 16472 invoked by uid 605); 20 Jun 2003 12:08:04 -0000
Message-Id: <20030620120755.00B0811EFA@frodo.injep.fr>
Date: Fri, 20 Jun 2003 14:07:55 +0200 (CEST)
From: xavier@injep.fr
Sender: gnats-bugs-owner@netbsd.org
To: gnats-bugs@gnats.netbsd.org
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
>Closed-Date:
>Last-Modified: Fri Sep 19 11:28:00 +0000 2003
>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:
From: Frederick Bruckman <fredb@immanent.net>
To: gnats-bugs@gnats.netbsd.org
Cc:
Subject: Subject: Re: pkg/21942: Suggestion for "make replace" target in
pkgsrc
Date: Mon, 23 Jun 2003 13:01:24 -0500 (CDT)
In article <20030620120755.00B0811EFA@frodo.injep.fr>,
xavier@injep.fr 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:
ftp://ftp.netbsd.org/pub/NetBSD/misc/fredb/pkg_hack.tar.gz
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.
Frederick
State-Changed-From-To: open->suspended
State-Changed-By: agc
State-Changed-When: Fri Sep 19 07:25:09 EDT 2003
State-Changed-Why:
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
Responsible-Changed-Why:
agc took responsibility for this one
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.36 2007/11/24 03:27:39 kano Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.