IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links
wiki:GentooImageUpdate

Version 7 (modified by jhoblitt, 17 years ago) ( diff )

--

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

ipp 0.5 update commands

emerge -K1va /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
emerge -K1va /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
# cleanup dead symlinks
find /bin /usr/bin /sbin /usr/sbin -type l ! -xtype f ! -xtype d -exec rm -f {} \;
Note: See TracWiki for help on using the wiki.