After trying to use "emerge -b" and "emerge -k" directly, I ran into some issues with certain ebuilds. They didn't detect dependencies correctly because of RDEPEND and DEPEND variables differing. I have no idea if this problem still exists, but the script I created has been useful regardless.
So, on the fastest machine you have, devote a few gigs to building your Gentoo paradigm.
Code: Select all
mkdir /home/gentoo
cd /home/gentoo
tar -xjpf /path/to/stage3-i686-2006.1.tar.bz2Code: Select all
# gcc settings
CFLAGS="-O2 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j2"
# emerge settings
PORTAGE_NICENESS=3
CLEAN_DELAY=0
FEATURES="userpriv usersandbox"
USE="-arts -esd -gpm -kde -ldap -oss -qt3 -qt4"
PKGDIR="/paradigm/packages"
# xorg settings
INPUT_DEVICES="keyboard mouse"
# other input devices: synaptics
VIDEO_CARDS="vesa"
# other video cards: nv nvidia radeon fglrx i810First relink etc/make.profile:
Code: Select all
cd /home/gentoo/etc
rm -f make.profile
ln -s ../usr/portage/profiles/default-linux/x86/2006.1/desktop make.profileCode: Select all
# e1405 specific
sys-apps/855resolution
sys-apps/vbetool
x11-drivers/xf86-video-i810
x11-proto/glproto
x11-base/xorg-server
media-libs/mesa
x11-drivers/xf86-video-vesa
x11-drivers/xf86-input-mouse
x11-drivers/xf86-input-keyboard
sys-apps/suspend2-userui
sys-power/hibernate-script
# logjam
net-misc/logjam
# rtorrent
net-libs/libtorrent
net-p2p/rtorrent
# inkscape (stable version !compile 2006/08/13)
dev-libs/boehm-gc
# wine
media-gfx/fontforge
app-emulation/wine
# mplayer
media-libs/win32codecs
# banshee
media-sound/banshee
media-plugins/gst-plugins-faad
media-plugins/gst-plugins-lame
# easytag
media-sound/easytag
# gaim
x11-plugins/gaim-encryption
x11-plugins/slashexec
x11-plugins/gaim-xmms-remote
x11-plugins/guifications
net-im/gaim
Code: Select all
# Kathryn Kulick <gothgirl@gentoo.org> (20 Dec 2005)
# Gaim 2.0.0 beta1 plugins.
>=x11-plugins/gaim-encryption-3.0_beta1
>=x11-plugins/slashexec-1.1_beta1
>=x11-plugins/gaim-xmms-remote-1.9_beta1
>=x11-plugins/guifications-2.13_beta1
# Kathryn Kulick <gothgirl@gentoo.org> (19 Dec 2005)
# Gaim 2.0.0 beta1 added to tree for testing.
>=net-im/gaim-2.0.0_beta1
games-strategy/freecivCode: Select all
# system
sys-devel/gcc -gtk
app-arch/tar bzip2
app-editors/nano -spell
# world
app-editors/vim ruby
media-gfx/imagemagick -X bzip2
media-libs/mesa -motif
app-emulation/wine -cups
# mplayer
media-sound/lame -gtk
media-video/gpac aac
media-libs/x264-svn mp4
media-video/realplayer nsplugin
media-libs/win32codecs real quicktime
media-video/mplayer -gtk -sse2 aac cpudetection divx4linux dts dvdread matroska mmx musepack real sse theora xvid x264
# freevo
x11-libs/cairo glitz
dev-python/twisted -gtk
media-libs/smpeg -gtk mmx
media-video/ffmpeg aac dts mmx theora truetype vorbis xvid
media-libs/xine-lib -gnome a52 aac asf dts mad theora vorbis win32codecs
# gnome
dev-python/pycairo svg
net-dns/avahi howl-compat mdnsresponder-compat mono
net-fs/samba cups
net-print/cups samba
gnome-base/gnome-vfs avahi samba
app-misc/beagle evo pdf
gnome-base/nautilus beagle
www-client/mozilla-firefox java
media-video/totem a52 nsplugin theora xine
gnome-extra/gnome-games artworkextra guile
net-misc/vino avahi
dev-libs/gmime mono
gnome-base/gnome-applets acpi
sys-apps/dbus mono
app-text/ghostscript-gnu -gtk
app-text/evince nautilus
app-admin/gnome-system-tools nfs samba
x11-libs/vte -opengl
sys-apps/hal -crypt acpi
sys-apps/pmount -crypt
gnome-base/gnome-volume-manager -crypt
mail-client/evolution bogofilter mono
mail-client/mail-notification evolution gmail imap ldap pop
media-sound/banshee aac
media-gfx/gimp mmx svg
media-gfx/inkscape effects mmx
net-im/gaim avahi mono startup-notification
app-misc/tomboy galago
dev-java/blackdown-jre browserplugin
dev-java/blackdown-jdk browserplugin
app-office/openoffice java mono
net-misc/logjam gtkhtml svg
x11-wm/fvwm -gtk
media-sound/audacious aac mmx musepack wma
app-office/abiword spellCode: Select all
mount -o bind /usr/portage /home/gentoo/usr/portage
mount -t proc proc /home/gentoo/proc
chroot /home/gentoo /bin/bash
env-update && source /etc/profile
emerge --metadata
emerge portage
emerge -Deb system
etc-updateCode: Select all
#!/usr/bin/perl -w
use strict;
my $paradigm_dir = "/paradigm";
print "\n";
my $command = "@ARGV";
my $default1 = "-DNup world";
my $default2 = "-kp";
my($pass1, $pass2);
my $clean = 0;
if($command =~ m/^(-h|-help|--help)$/) {
usage();
} elsif($command eq "") {
print "assuming default options (use -h for help)...\n";
$pass1 = $default1;
$pass2 = $default2;
} elsif($command =~ m/-1/) {
($pass2, $pass1) = split("-1 ", $command);
if($pass2 eq "") {
$pass2 = $default2;
} else {
$pass2 =~ s/ $//;
}
} else {
$pass1 = $default1;
$pass2 = $command;
}
if($pass2 =~ m/b/) {
print "it looks like you're building packages, will auto-remove old binary packages.\n";
$clean = 1;
}
print "running 'emerge $pass1'...\n";
my @package = `emerge --nocolor --nospinner $pass1`;
my($old, $packages);
foreach(@package) {
chomp($_);
$old = "";
if(m/^\[ebuild/) {
if($clean == 1 && m/^\[ebuild.+?\] (\S+) \[.+\].+$/) {
$old = $_;
$old =~ s/^\[ebuild .+?\] \S+\/(\S+)-\d.+ \[(.+)\].+$/$1-$2/;
system("rm -fv $paradigm_dir/packages/*/$old.tbz2");
}
s/^\[ebuild .+?\] (\S+)-\d.+ .+$/$1/;
s/^\[ebuild .+?\] (\S+)-\d .+$/$1/;
$packages = $packages . " $_";
}
}
$packages =~ s/^ //;
#print "running 'emerge --quiet $pass2 $packages'\n";
system("emerge --quiet $pass2 $packages");
sub usage {
print "\nUsage: e2 [OPTIONS] (-1 OPTIONS) | [--update]...\n";
print "Two pass emerge to correctly install binary packages, among other things.\n\n";
print "OPTIONS specify options for second pass emerge, defaults to 'kp'\n";
print "-1 specify first pass emerge options, usually 'DNup world' is good\n";
print "\n";
}Code: Select all
./twofold.pl -b -1 -p grub gentoo-sources metalog dcron dhcpcd iptables gentoolkit alsa-utils cdrtools screen lynx telnet-bsd bind-tools ncftp keychain vim aspell-en unrar unace imagemagick ImageSize apache sambaCode: Select all
./twofold.pl -b -1 -p cpufrequtils 855resolution vbetool wireless-tools raidtools reiserfsprogs alsa-utils ipw3945Code: Select all
./twofold.pl -b -1 -p xorg-x11 xev x11-terms/aterm fvwm windowmaker gmrun freevoCode: Select all
./twofold.pl -b -1 -p gnome pmount gnome-screensaver gimp inkscape abiword logjam easytag banshee gaim tomboy tuxpaint tuxracer freeciv-vandien

