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>