Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Mar 2003 10:00:18 -0600
From:      Peter Schultz <peter@jocose.org>
To:        stable@freebsd.org
Cc:        cbehanna@panasas.com, bks10@cornell.edu
Subject:   portupgrade [was: Re: setting kern.ngroups]
Message-ID:  <3E789412.6010602@jocose.org>
In-Reply-To: <200303181555.52996.cbehanna@panasas.com>
References:  <4394.192.168.1.5.1048003806.squirrel@wuhjuhbuh.afraid.org> <1048011633.2072.1.camel@pyanfar.ece.cmu.edu> <1372.192.168.1.5.1048020389.squirrel@wuhjuhbuh.afraid.org> <200303181555.52996.cbehanna@panasas.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Chris BeHanna wrote:
> On Tuesday 18 March 2003 15:46, Brian Szymanski wrote:
> 
>>>On Tue, 2003-03-18 at 12:28, Brian Szymanski wrote:
>>>
>>>>>Raising the maximum number of groups requires changes all over the
>>>>
>>>>place; even if you find them all and rebuild the world (yes, libc
>>>>depends on it as well) you'll find that any program that looks at
>>>>the group vector will blow up because it only has space reserved for
>>>>16 groups.  You don't want to go there.
>>>>
>>>>Aren't these programs broken by not using NGROUPS_MAX from
>>>>syslimits.h?
>>>
>>>My point is that changing syslimits.h doesn't help existing compiled
>>>code at all; you need to recompile everything that touches the group
>>>vector, which may be more code than you expect.  (Arguably they should
>>>use a runtime method of sizing the group vector but I've seen very few
>>>programs that do.)
>>
>>Ahhh, no problem. Fortunately we have source for all the code we are
>>running on the machine...
>>
>>Which brings up another question. Does anyone know of a good way to
>>rebuild all ports, without dealing with dependency hell?
> 
> 
>     Stupi^H^H^H^H^HBrave souls can do so via:
> 
>     cd /usr/ports/sysutils/portupgrade
>     make install clean
>     # edit /usr/local/etc/pkgtools.conf to taste
 >

It's a very good idea to make a copy of the ports INDEX file, and 
remember, make the environment for portupgrade use your copy.  I put 
mine in /var/db/pkg as it relates to everything else in the directory:

PORTS_INDEX=/var/db/pkg/INDEX
PORTS_DBDIR=/var/db/pkg


>     portsdb -uU
>     pkgdb -uF

So, before you you run these you should:
cvsup ports-cvsup
rm /var/db/pkg/INDEX* /var/db/pkg/pkgdb.db
cp /usr/ports/INDEX /var/db/pkg/INDEX

I say this because if the .db files are corrupt, or the INDEX is out of 
date, you will fix any potential problems.

One time my .db files were corrupt and it caused a lot of portupgrade 
errors.  If you're going to be rebuilding the whole files anyway, you 
might as well scrap the old ones.


>     portupgrade -af
>     #
>     # wait a very long time if you have X + KDE or X + GNOME installed
>     # otherwise, wait a merely long time
> 
> That will rebuild *everything*.  It gives me the shudders, though,
> because there are inevitably going to be broken ports.  It's a good
> idea to save the old packages portupgrade makes for awhile, so that
> you can back out a broken port to the previous known working version
> (when that is possible).
> 

I run portupgrade with reckless abandon.  :-)

Pete...


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?3E789412.6010602>