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
/et​c/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
redwo...@gmail.com

Reply via email to