Saving old shared libs (Was: Re: HEADS UP: xorg upgrade plans)
dougb at FreeBSD.org
Thu May 17 20:06:05 UTC 2007
Kris Kennaway wrote:
> On Tue, May 08, 2007 at 12:06:59AM +0200, Thierry Thomas wrote:
>> Le Lun 7 mai 07 ? 22:58:50 +0200, Brooks Davis <brooks at freebsd.org>
>>> The other problem is that if you're going to automatically update all
>>> the dependencies for a port, you need to upgrade all the stuff that
>>> depends on them as well. For example the gettext upgrade got triggered
>>> on my laptop by upgrading something the used gmake. The result was that
>>> virtually nothing outside the base worked any more. Saving the shared
>>> library would have prevented this and allowed a more graceful upgrade
>>> over a few weeks. The fact that a basic desktop setup takes days to
>>> build on fairly fast hardware seems to be an indication that we need a
>>> workaround here. There are other possible solutions, but saving copied
>>> of libraries seems to be the accepted one at the moment.
>> For this kind of upgrades, it's possible to add
>> libgettextpo.so.1 libgettextpo.so.3
>> libintl.so.6 libintl.so.8
>> in your /etc/libmap.conf. Just delete these lines after the storm...
> It is possible, but this is not something that non-technical users
> will think of (nor should they have to).
> The question is whether portmaster is to be considered as a tool for
> advanced users only (those who are capable of cleaning up and
> repairing damage themselves when an upgrade fails), or if it is
> intended as a tool for ordinary users who don't want to (or are not
> capable of) doing this kind of manual repair work.
That's a fair question, and the answer in terms of how it got started
is definitely more the former than the latter. As feature requests
have come in and as a wider audience has been interested in the tool
I've tried to lower the bar quite a bit however.
At the same time, I think it's probably worthwhile to examine what the
goals of the ports system are in this regard. If the goal is to always
provide a fail-safe upgrade path for users then perhaps we should be
talking about moving that support into the ports infrastructure,
rather than talking about adding it to all the different upgrade tools.
That said, I have seen a fair bit of interest in adding the "save old
shared libs" feature, so I'll take a look at that after I'm done with
the "restart an aborted upgrade" stuff I'm working on now. What might
be useful in this regard is if someone were to start a new thread
describing exactly what the desired behavior is, and ideally to
include a description of how portupgrade does it now.
This .signature sanitized for your protection
More information about the freebsd-ports