Skip site navigation (1)Skip section navigation (2)
Date:      27 Feb 2003 14:56:52 +0100
From:      Koop Mast <einekoai@chello.nl>
To:        "Brian T. Schellenberger" <bts@babbleon.org>
Cc:        Gordon Broom <gjbroom@alumni.uwaterloo.ca>, ajs@labs.mot.com, freebsd-stable@freebsd.org
Subject:   Re: Upgrading ports and such
Message-ID:  <1046354212.813.8.camel@lapbeest.bogus>
In-Reply-To: <200302270829.36028.bts@babbleon.org>
References:  <58951.1046312634@selfstyled.dyndns.org> <200302270829.36028.bts@babbleon.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 2003-02-27 at 14:29, Brian T. Schellenberger wrote:
> FWIW, I have found only one way to update my ports / packages and get 
> things to work reasonably realiably:  I completely wipe out my old 
> system and replace it when I choose to upgrade at all.

I can be a lot simpler.
Take a look at sysutils/portupgrade

-Koop

> It would be nice if this were easier, but no matter how clever FreeBSD 
> gets the problems of different packages and ports at different points 
> in time wanting different library versions is a tough nut to crack.
> 
> Any time you partially upgrade, you wind up with parts of the system 
> from one point in time and other parts from another point in time, and 
> I'm not sure whether this ever *can* be made to always work quite right 
> when using shared libraries.  At the very least I think that some more 
> sophisticated system for seeing whether software has the "right" 
> version of a library, and better support for multiple "close" versions 
> of given library would be required to get this to work -- something 
> beyond the scope of the ports/packges system.
> 
> 
> 
> - - - - - - - -
> 
> Anyway, this is how *I* do it:
> 
> pkg_info -aI > pkg_list
> pkg_delete -a
> 
> Inevitably, some things don't get properly deleted by this process, so I 
> take advantage of the opportunity clean things up and just wipe out 
> /usr/local entirely.  (I actually keep /usr/local/src and 
> /usr/local/etc in a separate partition so that they survive this 
> process.)
> 
> and then
> 
> edit the pkg_list file to delete the version numbers and descriptors, 
> and add  "pkg_add -r"  to the start of each line.
> 
> Then I delete the lines for any ports that I have local patches for, use 
> non-default options with, or know I need to build from ports for some 
> other reason.
> 
> Having done that, I start up "script", so I can see the results, and 
> "source" (or "." for you sh/ksh folks out there) the file, so that I 
> pkg_add all my packages back in.
> 
> Then I build from ports the "exceptions" noted above AS WELL AS any 
> packages that failed to install (by examining the typescript file).
> 
> (And while I go through the typescript file I also take any "by hand" 
> actions required by my packages.)
> 
> Finally, I go to /usr/local/src and build and install all my local 
> software.
> 
> 
> This process is long and slow (although not nearly as long as slow as it 
> probably sounds; I can usually do the whole thing in a single evening, 
> unless some HUGE package like KDE or Galeon fails badly), so I only do 
> it occaisonally, but it is the only way I've had reasonably consistent 
> success.
> 
> Even so, it sometimes fails -- the mozilla problem was my major failure 
> this time around -- but since everything else was reasonably up to 
> date, I was able to fix up mozilla by just pkg_delete'ing fontconfig 
> and building it from the port.  (Actually I wound up building mozilla 
> and galeon from ports as well while I was trying to figure out what was 
> going on, but I verified later that this was not necessary.)
> 
> 
> I realize that "portupgrade" does wonderful things for a number of 
> people and it may work well for those of you who update your whole 
> systems weekly or so, but I have had very little luck with it myself.
> 
> My system obviously won't work well for those of you who have local 
> patches for most of the system; I only have a local patches for a 
> couple ports and take the default options on all but perhaps one port.
> 
> But I find it works better for me to just keep my system "perfectly 
> stable" for perhaps a six-month stretch and then update everything all 
> at once.
> 
> With rare exceptions I can update the system *itself* more frequently 
> (though often I don't even do that), but my luck with building ports 
> "piecemeal" has been attrocious.
> 
> And of course I always update the kernel & world just before I update 
> all my ports and packages.
> 
> 
> PS: Building everything from ports would of course be even nicer in a 
> number of ways but it would just take bloody forever with the "total 
> replacement" approach I use, especially since I use X and KDE for my 
> desktop but Galeon for my web browser.  Just building X, KDE, and 
> Galeon from ports literally takes days on my system.
> 
> Just one man's experience.
> 
> 
> PPS: This system is obviously badly suited to a server system due to the 
> extended downtime required.  However, I believe that all of the major 
> probelms I've had with mismatched versions have always involved pieces 
> (like the recent galeon/mozilla troubles) of the X-based user 
> interface, not any of the basic "server" applications.  Many of the 
> basic servers, of course, are part of the base system, anyway, and *it* 
> is an absolute dream to upgrade.
> 
> And those that are not are far less tangled up in a complex web of 
> interacting libraries that are themselves built from ports, so for a 
> server system I think that partial upgrades would work fine.
> 
> 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




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