Subject: Re: rebuilding huge packages?
To: <>
From: Steven M. Bellovin <smb@research.att.com>
List: netbsd-users
Date: 03/22/2003 13:27:29
In message <20030321203442.C22607B4D@berkshire.research.att.com>, "Steven M. Be
llovin" writes:
>In message <20030321151503.A5318@noc.untraceable.net>, Andrew Brown writes:
>>>I want to install emacs21.  But when I try, either from source or
>>>the precompiled binary, it tells me that I need libungif>=4.1.0.1.
>>>When I attempted to pkg_delete it, I was told that the following packages 
>>>relied on it:
>>>
>
>...
>
>>>
>>>That's a long list, and some of those packages are *very* large.
>>>Worse yet, experience suggests that I'll find a pile of others
>>>that need to rebuilt.  Is there any sane way to do this?  I haven't
>>>had that much luck with 'make update'.
>>
>>pkgsrc/pkgtools/pkgdepgraph.  :)
>>
>
>Thanks.  Turns out I needed to upgrade pkgdepgraph first...


Well, the rebuild/reinstall is running, and I'm sure it will continue 
for a long time -- there were 221 packages that needed to be rebuilt, 
including such light-weight packages as mozilla and teTeX...  I have 
run into a few problems, one of which suggests a bug in pkgdepgraph and
one that has me afraid of a deeper issue.

First -- the generated rebuild.sh file tried to build /usr/pkgsrc/gmake
and /usr/pkgsrc/gettext.  The proper path is pgsrc/devel/gmake, etc.

Second, there are some packages being rebuilt by the ordinary 
dependency system.  Is that supposed to happen?  I was expecting to see 
a complete list.  (Aside: it would be very nice if there were a way to 
do a complete fetch of everything first -- I have a decent link from 
home (cable modem), but my office has much better bandwidth.)

The scary incident was that xterm stopped working -- it couldn't find
libXpm.so.4.  I wasn't too worried at first, since I saw it in the 
rebuild list, though I did wonder why something in the base system was 
dependent on something in pkgsrc.  But when I tried to rebuild it 
explicitly, I was told that it was part of my base system.  Presumably, 
it was needed once upon a time, but no longer when I installed some 
later version of X.  But when I deleted the package, it deleted that 
vital symlink.  This isn't good...  Now, I don't know if that happened 
because I did some manual installation instead of going through 
sysinst, but something very similar is going to happen to people when 2.0
comes out -- packages built against pth are going to need to be 
rebuilt.  The system installation process really needs to warn about 
packages that have been incorporated into the base system.  (Oh yes -- 
I'm back on the air because I recreated the symlink manually.)


		--Steve Bellovin, http://www.research.att.com/~smb (me)
		http://www.wilyhacker.com (2nd edition of "Firewalls" book)