To keep my Gentoo up to date, I use daily and weekly update scripts which also always run revdep-rebuild after the saturday night update :)
My daily update is via pkgcore to pull in all important security updates:
pmerge @glsa
That pulls in the Gentoo Linux Security Advisories - important updates with mostly short compile time. (You need pkgcore for that: "emerge pkgcore")
Also I use two cron scripts.
Note: It might be useful to add the lafilefixer to these scripts (source).
The following is my daily update (in /etc/cron.daily/update_glsa_programs.cron )
Daily Cron
#! /bin/sh
### Update the portage tree and the glsa packages via pkgcore
# spew a status message
echo $(date) "start to update GLSA" >> /tmp/cron-update.log
# Sync only portage
pmaint sync /usr/portage
# security relevant programs
pmerge -uDN @glsa > /tmp/cron-update-pkgcore-last.log || cat \
/tmp/cron-update-pkgcore-last.log >> /tmp/cron-update.log
# And keep everything working
revdep-rebuild
# Finally update all configs which can be updated automatically
cfg-update -au
echo $(date) "finished updating GLSA" >> /tmp/cron-update.log
And here's my weekly cron - executed every saturday night (in /etc/cron.weekly/update_installed_programs.cron ):
Weekly Cron
#!/bin/sh
### Update my computer using pgkcore,
### since that also works if some dependencies couldn't be resolved.
# Sync all overlays
eix-sync
## First use pkgcore
# security relevant programs (with build-time dependencies (-B))
pmerge -BuD @glsa
# system, world and all the rest
pmerge -BuD @system
pmerge -BuD @world
pmerge -BuD @installed
# Then use portage for packages pkgcore misses (inlcuding overlays)
# and for EMERGE_DEFAULT_OPTS="--keep-going" in make.conf
emerge -uD @security
emerge -uD @system
emerge -uD @world
emerge -uD @installed
# And keep everything working
emerge @preserved-rebuild
revdep-rebuild
# Finally update all configs which can be updated automatically
cfg-update -au