Not sure of any books, but some documents on the Gentoo Wiki about the
various projects are helpful.
I use /etc/portage/package.{use,accept_keywords}/* in a somewhat unusual
way. For each package
that needs tuning the USE flags beyond the eselected profile and some
globals in make.conf, I have
a file named "<catedory>.<pkg>" (e.g. media-libs.mesa) with a few handling
some multiples. This lets me
tune packages in a fine grained manner, and still see which ones I have
fixed quickly.
For example:
In eselect profile: default/linux/amd64/13.0/desktop/kde
In make.conf:
(may well repeat some from profile, try to group by functionality)
USE="smp \
cdr dvd dvdr css usb -bluetooth \
caps branding unicode ipv6 tcpd \
kde qt4 qt3support plasma gtk -gnome \
dbus udev udisks perl samba \
icu idn maildir -mbox \
alsa -pulseaudio ffmpeg -libav gstreamer \
X glamor opengl xattr xine xinerama xv xvid \
sdl wxwidgets \
ogg theora vorbis flac dirac schroedinger mp3 mp4 matroska mtp \
a52 aac audiofile cdda faac libsamplerate sndfile x264 \
vdpau xcb vaapi quvi \
lzma lzo lz4 zlib \
cvs git subversion \
sqlite mysql introspection \
bash-completion vim-syntax \
fontconfig truetype threads nptl \
ruby_targets_ruby21 -ruby_targets_ruby19 -ruby19 \
-nepomuk -semantic-desktop \
-ldap -evo -eds \
offensive"
and an ls(1) of
/etc/portage/package.accept_keywords
:
app-admin.mcelog
app-arch.lzma
app-cdr.k3b
app-emulation.qemu
app-emulation.virtualbox
app-forensics.unhide
app-portage.layman
app-text.yodl
dev-libs.libebml
dev-libs.nss
dev-libs.pugixml
dev-python.pyGPG
dev-python.pymountboot
...
virtual.ffmpeg
virtual.libusb
www-client.chromium
www-client.firefox
x11-libs.libva
x11-libs.libva-intel-driver
x11-libs.libva-vdpau-driver
x11-libs.wxGTK
zzzpackages.keywords
The last entry is an empty file to catch the "automagic" changes portage
may propose so that they can be
broken out into individual files. package.use/* is similar.
I have found some wedged cases where there isn't any way to solve it except
by using
some "unstable" arch packages (while waiting for them to be stabilized.)
It may seem unwieldy, but I fnid it much easier to deal with than one big
file with all the
packages isted in it.
For example, in /etc/portage/package.use/app-office.akonadi-server I have:
app-office/akonadi-server soprano -sqlite
which makes the emerge be quiet about having both mysql and sqlite enabled.
Don't be afraid to ask questions, it is an easy cure.
--
G.Wolfe Woodbury
[email protected]