Start by making a static snapshot of the current state of the portage tree.

On gentoo.ifa.hawaii.edu,

rsync -avp /usr/portage/ /usr/portage-$DATE

then point the portage-ipp synlink to the new directory

gentoo usr # ls -lad portage*
drwxr-xr-x 162 root root 4096 Jun 30 07:38 portage
drwxr-xr-x 159 root root 4096 Aug 27  2008 portage-2008-08-27
drwxr-xr-x   3 root root 4096 Apr 22 12:26 portage-2009-04-22
drwxr-xr-x 162 root root 4096 Jun 23 13:46 portage-2009-06-23
lrwxrwxrwx   1 root root   18 Jun 23 13:44 portage-ipp -> portage-2009-06-23

On the binpkg build master (currently master.ipp), update the portage tree

emerge --sync -q

Then make sure you have the latest version of portage installed

emerge -1 portage

Update the kernel to the new deserved rev and make sure the /usr/src/linux symlink is correct. This is because some packages actually need a configured version of the kernel sources and not sure the linux headers package.

# XXX

Check to see if your using the latest Gentoo profile and switch to the latest if necessary

master ~ # profile-config list
Available profile symlink targets:
  [1]   default/linux/amd64/2008.0 *
  [2]   default/linux/amd64/2008.0/desktop
  [3]   default/linux/amd64/2008.0/developer
  [4]   default/linux/amd64/2008.0/no-multilib
  [5]   default/linux/amd64/2008.0/server
  [6]   hardened/amd64
  [7]   hardened/amd64/multilib
  [8]   selinux/2007.0/amd64
  [9]   selinux/2007.0/amd64/hardened
  [10]  hardened/linux/amd64

Update packages (particular Perl packages) under /usr/src/portage_overlay as needed and check with the equery tool to see if you can remove entries from /etc/portage.*

Then update the 'system' target to so the build tool chain is up to date.

emerge -e system

Make sure the current stable version of gcc is being used.

master ~ # gcc-config -l
 [1] x86_64-pc-linux-gnu-4.3.2 *

Start the world package rebuild.

emerge -e world

You will have to deal with varius package build problems and failures during the build. It's highly recommended that you run this under screen as it may take over a day to do the complete build. When the build is finished, removed all orphaned packages

emerge -p --prune

Then re-run the world build to make sure there are any phantom dependencies

emerge -e world

Cleanup any old binpkgs that are laying around

qpkg -cp

ipp 0.5 update commands

# wipe out any extra packages that ended up in the world file
#cd to root as root
echo "sys-apps/ipp-node" > /var/lib/portage/world
emerge -K1 /data/portage/packages/All/portage-2.1.6.13.tbz2 
emerge -C sys-apps/man-pages dev-db/mysql
emerge -K1 /data/portage/packages/All/mysql-5.0.tbz2
# required by net-ftp/ftpbase
rm /etc/ftpusers /etc/pam.d/ftp
# conflicts with texlive
emerge -C app-text/tetex
equery list -i  2> /dev/null | grep perl-gcpan | xargs emerge -C
# nagios 2.x conficts with nagios 3.x
emerge -C nagios-nrpe nagios-plugins
emerge -K1 -O /data/portage/packages/All/*
# we just broke nagios so restart it
/etc/init.d/nrpe restart
# remove packages now outside the 'world' set
emerge --prune --nodeps
emerge --depclean --with-bdeps y
# fix gcc links
gcc-config 1
# fix dbus -- needed by gvim
dbus-uuidgen --ensure
# cleanup dead symlinks
find /bin /usr/bin /sbin /usr/sbin -type l ! -xtype f ! -xtype d -exec rm -f {} \;

ERRORS

rm     /usr/lib64/perl5/vendor_perl/5.8.8/Compress/Zlib.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/auto/Compress/Zlib/autosplit.ix
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Compress/Deflate.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Compress/RawDeflate.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Compress/Base.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Compress/Gzip.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Compress/Zip.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Compress/Zlib/Constants.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Compress/Zlib/Extra.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Compress/Adapter/Deflate.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Compress/Adapter/Identity.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Compress/Gzip/Constants.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Compress/Base/Common.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Compress/Zip/Constants.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Uncompress/AnyUncompress.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Uncompress/RawInflate.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Uncompress/AnyInflate.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Uncompress/Inflate.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Uncompress/Gunzip.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Uncompress/Unzip.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Uncompress/Base.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Uncompress/Adapter/Inflate.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Uncompress/Adapter/Identity.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/File/GlobMapper.pm

rm     /usr/lib64/perl5/vendor_perl/5.8.8/Compress/Zlib.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/auto/Compress/Zlib/autosplit.ix

rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Compress/Adapter/Deflate.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Compress/Adapter/Identity.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Compress/Deflate.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Compress/Gzip.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Compress/Gzip/Constants.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Compress/RawDeflate.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Compress/Zip.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Compress/Zip/Constants.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Compress/Zlib/Constants.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Compress/Zlib/Extra.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Uncompress/Adapter/Identity.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Uncompress/Adapter/Inflate.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Uncompress/AnyInflate.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Uncompress/Gunzip.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Uncompress/Inflate.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Uncompress/RawInflate.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Uncompress/Unzip.pm

rm     /usr/lib64/perl5/vendor_perl/5.8.8/File/GlobMapper.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Compress/Base.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Compress/Base/Common.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Uncompress/AnyUncompress.pm
rm     /usr/lib64/perl5/vendor_perl/5.8.8/IO/Uncompress/Base.pm



rm     /usr/share/gapi-2.0/atk-api.xml
rm     /usr/lib64/mono/gac/policy.2.8.atk-sharp/0.0.0.0__35e10195dab3c99f/policy.2.8.atk-sharp.dll
rm     /usr/lib64/mono/gac/policy.2.8.atk-sharp/0.0.0.0__35e10195dab3c99f/policy.2.8.config
rm     /usr/lib64/mono/gac/policy.2.4.atk-sharp/0.0.0.0__35e10195dab3c99f/policy.2.4.config
rm     /usr/lib64/mono/gac/policy.2.4.atk-sharp/0.0.0.0__35e10195dab3c99f/policy.2.4.atk-sharp.dll
rm     /usr/lib64/mono/gac/policy.2.6.atk-sharp/0.0.0.0__35e10195dab3c99f/policy.2.6.atk-sharp.dll
rm     /usr/lib64/mono/gac/policy.2.6.atk-sharp/0.0.0.0__35e10195dab3c99f/policy.2.6.config
rm     /usr/lib64/mono/gtk-sharp-2.0/policy.2.8.atk-sharp.dll
rm     /usr/lib64/mono/gtk-sharp-2.0/policy.2.6.atk-sharp.dll
rm     /usr/lib64/mono/gtk-sharp-2.0/policy.2.4.atk-sharp.dll
rm     /usr/lib64/mono/gtk-sharp-2.0/atk-sharp.dll




rm     /usr/share/man/man1/mktemp.1.bz2
rm     /bin/mktemp

rm     /usr/share/ss/ct_c.awk
rm     /usr/share/ss/ct_c.sed
rm     /usr/share/et/et_h.awk
rm     /usr/share/et/et_c.awk
rm     /usr/share/man/man3/com_err.3.bz2
rm     /usr/share/man/man1/mk_cmds.1.bz2
rm     /usr/share/man/man1/compile_et.1.bz2
rm     /usr/include/ss/ss.h
rm     /usr/include/ss/ss_err.h
rm     /usr/include/et/com_err.h
rm     /usr/bin/mk_cmds
rm     /usr/bin/compile_et
rm     /usr/lib64/libcom_err.so
rm     /usr/lib64/libss.so
rm     /usr/lib64/libcom_err.a
rm     /usr/lib64/libss.a
rm     /usr/lib64/pkgconfig/com_err.pc
rm     /usr/lib64/pkgconfig/ss.pc
rm     /lib64/libss.so.2.0
rm     /lib64/libcom_err.so.2.1
rm     /lib64/libcom_err.so
rm     /lib64/libss.so
rm     /lib64/libcom_err.so.2
rm     /lib64/libss.so.2
rm    /usr/share/pygtk/2.0/defs/gconf.defs
rm      /usr/share/pygtk/2.0/argtypes/gconf-arg-types.py

rm     /usr/share/gapi-2.0/gdk-api.xml
rm     /usr/lib64/libgdksharpglue-2.so
rm     /usr/lib64/mono/gac/policy.2.8.gdk-sharp/0.0.0.0__35e10195dab3c99f/policy.2.8.config
rm     /usr/lib64/mono/gac/policy.2.8.gdk-sharp/0.0.0.0__35e10195dab3c99f/policy.2.8.gdk-sharp.dll
rm     /usr/lib64/mono/gac/policy.2.4.gdk-sharp/0.0.0.0__35e10195dab3c99f/policy.2.4.config
rm     /usr/lib64/mono/gac/policy.2.4.gdk-sharp/0.0.0.0__35e10195dab3c99f/policy.2.4.gdk-sharp.dll
rm     /usr/lib64/mono/gac/policy.2.6.gdk-sharp/0.0.0.0__35e10195dab3c99f/policy.2.6.config
rm     /usr/lib64/mono/gac/policy.2.6.gdk-sharp/0.0.0.0__35e10195dab3c99f/policy.2.6.gdk-sharp.dll
rm     /usr/lib64/mono/gtk-sharp-2.0/policy.2.4.gdk-sharp.dll
rm     /usr/lib64/mono/gtk-sharp-2.0/gdk-sharp.dll
rm     /usr/lib64/mono/gtk-sharp-2.0/policy.2.6.gdk-sharp.dll
rm     /usr/lib64/mono/gtk-sharp-2.0/policy.2.8.gdk-sharp.dll
rm      /usr/lib64/libglibsharpglue-2.so
rm     /usr/lib64/mono/gac/policy.2.4.glib-sharp/0.0.0.0__35e10195dab3c99f/policy.2.4.config
rm     /usr/lib64/mono/gac/policy.2.4.glib-sharp/0.0.0.0__35e10195dab3c99f/policy.2.4.glib-sharp.dll
rm     /usr/lib64/mono/gac/policy.2.6.glib-sharp/0.0.0.0__35e10195dab3c99f/policy.2.6.config
rm     /usr/lib64/mono/gac/policy.2.6.glib-sharp/0.0.0.0__35e10195dab3c99f/policy.2.6.glib-sharp.dll
rm     /usr/lib64/mono/gac/policy.2.8.glib-sharp/0.0.0.0__35e10195dab3c99f/policy.2.8.config
rm     /usr/lib64/mono/gac/policy.2.8.glib-sharp/0.0.0.0__35e10195dab3c99f/policy.2.8.glib-sharp.dll
rm     /usr/lib64/pkgconfig/glib-sharp-2.0.pc
rm     /usr/lib64/mono/gtk-sharp-2.0/policy.2.4.glib-sharp.dll
rm     /usr/lib64/mono/gtk-sharp-2.0/glib-sharp.dll
rm     /usr/lib64/mono/gtk-sharp-2.0/policy.2.6.glib-sharp.dll
rm     /usr/lib64/mono/gtk-sharp-2.0/policy.2.8.glib-sharp.dll

rm     /usr/lib64/libglibsharpglue-2.so
rm     /usr/lib64/mono/gac/policy.2.4.glib-sharp/0.0.0.0__35e10195dab3c99f/policy.2.4.config
rm     /usr/lib64/mono/gac/policy.2.4.glib-sharp/0.0.0.0__35e10195dab3c99f/policy.2.4.glib-sharp.dll
rm     /usr/lib64/mono/gac/policy.2.6.glib-sharp/0.0.0.0__35e10195dab3c99f/policy.2.6.config
rm     /usr/lib64/mono/gac/policy.2.6.glib-sharp/0.0.0.0__35e10195dab3c99f/policy.2.6.glib-sharp.dll
rm     /usr/lib64/mono/gac/policy.2.8.glib-sharp/0.0.0.0__35e10195dab3c99f/policy.2.8.config
rm     /usr/lib64/mono/gac/policy.2.8.glib-sharp/0.0.0.0__35e10195dab3c99f/policy.2.8.glib-sharp.dll
rm     /usr/lib64/mono/gtk-sharp-2.0/glib-sharp.dll
rm     /usr/lib64/mono/gtk-sharp-2.0/policy.2.4.glib-sharp.dll
rm     /usr/lib64/mono/gtk-sharp-2.0/policy.2.6.glib-sharp.dll
rm     /usr/lib64/mono/gtk-sharp-2.0/policy.2.8.glib-sharp.dll
rm     /usr/lib64/pkgconfig/glib-sharp-2.0.pc
rm   /usr/share/dbus-1/services/org.gnome.SettingsDaemon.service
rm   /usr/include/gnome-settings-daemon-2.0/gnome-settings-daemon/gnome-settings-client.h
rm   /usr/libexec/gnome-settings-daemon
rm   /usr/lib64/pkgconfig/gnome-settings-daemon.pc
rm   /etc/gconf/schemas/desktop_gnome_font_rendering.schemas
rm   /etc/gconf/schemas/apps_gnome_settings_daemon_keybindings.schemas
rm   /etc/gconf/schemas/apps_gnome_settings_daemon_screensaver.schemas

 rm /usr/bin/scanpci
rm  /usr/include/GL/internal/dri_interface.h

rm  /etc/X11/mwm/system.mwmrc

rm  /usr/share/pygtk/2.0/defs/applet.defs
rm /usr/share/pygtk/2.0/defs/_gnomedesktop.defs
rm /usr/share/pygtk/2.0/defs/gnomekeyring.defs
rm /usr/share/pygtk/2.0/defs/mediaprofiles.defs

edit /etc/nagios/nrpe.cfg

# ALLOWED HOST ADDRESSES
allowed_hosts=127.0.0.1,128.171.227.75,128.171.160.220

# COMMAND DEFINITIONS
# The following examples use hardcoded command arguments...
command[check_users]=/usr/lib/nagios/plugins/check_users -w 32 -c 48
command[check_load]=/usr/lib/nagios/plugins/check_load --percpu -w 4,4,2 -c 8,8,4
command[check_swap]=/usr/lib/nagios/plugins/check_swap -w 20% -c 10%
command[check_disk1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /
command[check_disk2]=/usr/lib/nagios/plugins/check_disk -w 3% -c 2% --ereg-path='^/export/.*$'
command[check_zombie_procs]=/usr/lib/nagios/plugins/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 500 -c 600
command[check_dns_default]=/usr/lib/nagios/plugins/check_dns -H conductor.ps1.ifa.hawaii.edu
command[check_ssh]=/usr/lib/nagios/plugins/check_ssh localhost