On Sunday 02 March 2003 05:25 pm, Kirk Strauser wrote: > At 2003-03-03T00:28:21Z, Kent Stewart <[EMAIL PROTECTED]> writes: > > The -rR bothers me because it is making a lot of ports that don't > > need to be updated. > > It was my understand that if `-rR' would upgrade a port, then that > port needs to be upgraded. For a non-FreeBSD perspective, look at > Debian: you are extremely discouraged from upgrading a program > without upgrading all of its dependencies, and all of their > dependencies. > > > I typically have 2 or 3 lines that need updating and -ruf will > > force them. > > I'm allergic to the word `force'. It's usually a synonym for "Yes, I > really want you to break it!". > > I've never, ever used `-f' except when re-installing the same version > of a port (i.e. with different build options), and that may be why > I've never had the portupgrade problems that some people have. Take > this scenario: > > x, y, and z are installed. y depends on x and z. After cvsup'ing, > new versions of all three are installed. Furthermore, y explicitly > depends on the newest version of z to function correctly (real world > examples: libpng, gd). > > Now, if you `portupgrade -rR x', it will: > > 1. Recompile x > 2. Recurse to y > 3. Realize that it has to upgrade z > 4. Recompile z > 5. Recompile y > > so that y is correctly built with the new versions of x and z. On > the other hand, if you `portupgrade -R x', it will: > > 1. Recompile x > 2. Recurse to y > 3. Recompile y > > so that y is incorrectly built against a new version of x, but an old > version of z.
We are basically doing the same thing. A portversion -c would have shown x, y, and z. When I check the versions, I would have seen that y depended on x and z. I would specify x and z on the -ruf. This is what I called an interesection. If there is more than one intersection, I usually have rebuilt everything. I have seen situations where your -rR would have really been beneficial and faster than rebuilding everything. Kent > > > The way I understand it, a -rR kdebase will rebuild most of XFree86 > > and etc. > > True, but X doesn't update *that* often. > True! But the b-dep for kdebase is B-deps: Mesa-3.4.2_2 XFree86-fontEncodings-4.2.0 XFree86-fontScalable-4.2.0 XFree86-libraries-4.2.1_7 Xft-2.1_2 arts-1.1,1 cups-base-1.1.18.0_4 expat-1.95.6_1 fam-2.6.9_2 fontconfig-2.1_4 freetype2-2.1.3_1 gettext-0.11.5_1 gmake-3.80 imake-4.2.0_1 jpeg-6b_1 kdelibs-3.1 lcms-1.09 libart_lgpl2-2.3.11 libaudiofile-0.2.3 libiconv-1.8_2 libmng-1.0.4 libxml2-2.5.4 libxslt-1.0.27 open-motif-2.2.2_1 pcre-3.9 pkgconfig-0.15.0 png-1.2.5_2 python-2.2.2_2 qt-3.1.1_4 tiff-3.5.7 and a -R kdebase would have rebuilt all of this. The man page for portupgrade show -R --upward-recursive Act on all those packages required by the given packages as well. (When specified with -F, fetch recursively, including the brand new, uninstalled ports that an upgraded port requires) The b-deps fall into that category. Kent > > The AMD 2000+ uses 6-8 hours to rebuild everything but it will > > rebuild all of kde-3.1 in 3+. > > True, but you're also building KDE against old versions of required > libraries. Why not launch a `portupgrade -ra' just before you go to > bed? Then you can wake up to a shiny, happy new system in the > morning. -- Kent Stewart Richland, WA http://users.owt.com/kstewart/index.html To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-questions" in the body of the message