From owner-freebsd-stable Thu Feb 27 5:56:58 2003 Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B737D37B401 for ; Thu, 27 Feb 2003 05:56:54 -0800 (PST) Received: from amsfep13-int.chello.nl (amsfep13-int.chello.nl [213.46.243.24]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2AE1143FAF for ; Thu, 27 Feb 2003 05:56:53 -0800 (PST) (envelope-from einekoai@chello.nl) Received: from [192.168.1.6] ([212.187.7.57]) by amsfep13-int.chello.nl (InterMail vM.5.01.05.17 201-253-122-126-117-20021021) with ESMTP id <20030227135651.WZRJ14460.amsfep13-int.chello.nl@[192.168.1.6]>; Thu, 27 Feb 2003 14:56:51 +0100 Subject: Re: Upgrading ports and such From: Koop Mast To: "Brian T. Schellenberger" Cc: Gordon Broom , ajs@labs.mot.com, freebsd-stable@freebsd.org In-Reply-To: <200302270829.36028.bts@babbleon.org> References: <58951.1046312634@selfstyled.dyndns.org> <200302270829.36028.bts@babbleon.org> Content-Type: text/plain Organization: Message-Id: <1046354212.813.8.camel@lapbeest.bogus> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.2.2 Date: 27 Feb 2003 14:56:52 +0100 Content-Transfer-Encoding: 7bit Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG 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