Subject: Re: rebuilding huge packages?
To: Steve Bellovin <smb@research.att.com>
From: Andrew Brown <atatat@atatdot.net>
List: netbsd-users
Date: 03/21/2003 15:15:03
>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:
>
>        magicpoint-1.09anb1
>        gtk-engines-0.12nb1
>        xscreensaver-gnome-4.06nb1
>        control-center-1.4.0.4
>        galeon-1.2.7nb1
>        gabber-0.8.7nb4
>        gnumeric-1.0.12nb2
>        gal-0.22
>        gnome-vfs-1.0.3
>        GConf-1.0.9nb1
>        bonobo-1.0.18nb3
>        oaf-0.6.10
>        libglade-0.17nb2
>        glibwww-0.2nb2
>        gnome-media-1.2.3nb3
>        gnome-users-guide-1.2nb1
>        libgtop-1.0.13
>        gnome---1.2.2
>        gnome-print-0.36nb1
>        gdk-pixbuf-gnome-0.18.0
>        gbib-0.1.1b
>        gnome-libs-1.4.1.4nb1
>        imlib-1.9.14nb2
>        xplanet-0.93nb2
>
>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.  :)

>Note that I'm perfectly willing to do the compilations.  But I'd like to
>get an ordered list of exactly what to delete and what to compile.  Is
>there any way to get that?

from pkgdepgraph(1):

           $ lintpkgsrc -i > pkgdepgraph.in
           $ audit-packages >> pkgdepgraph.in
           $ pkgdepgraph -D pkgdepgraph.in > delete_order
           $ pkgdepgraph -R pkgdepgraph.in > rebuild.sh
           $ pkg_delete `cat delete_order`
           $ sh rebuild.sh

note that this will delete *all* out-of-date pkgs and anything that
depends on them.  if you *just* wanna attack libungif, replace steps
1-4 of the above with:

           $ pkgdepgraph -D -O libungif > delete_order
           $ pkgdepgraph -R -O libungif > rebuild.sh

-- 
|-----< "CODE WARRIOR" >-----|
codewarrior@daemon.org             * "ah!  i see you have the internet
twofsonet@graffiti.com (Andrew Brown)                that goes *ping*!"
werdna@squooshy.com       * "information is power -- share the wealth."