Paludis Logo Introduction Hooks environment.conf sets/
Bugs, Requests, Support Syncers keywords.conf repositories/
Overview Fetchers use.conf ebuild
FAQ Env Vars licenses.conf vdb
Clients File Formats mirrors.conf installed unpackaged
Configuration Dep Specs package_mask.conf  
API specpath.conf bashrc  

use.conf

This document applies only to clients using PaludisEnvironment. Any standard client that supports a --environment command line option uses PaludisEnvironment unless overridden, either by explicitly selecting another environment (e.g. --environment portage) or, on distributions also supporting Portage, by lack of a Paludis configuration and presence of a Portage configuration.

The use.conf file controls which use flags are and are not enabled. It is a standard configuration file which may be a bash file (use.bash) and which may use the use.conf.d/ directory.

Each line in the file consists of a specification followed by one or more use flags and labels. A specification may be any of:

Any token may be quoted using either single or double quotes.

A use flag or label can be:

Use flag settings are cumulative. This applies to expanded use flags too, so if you do not wish to inherit, say, default VIDEO_CARDS from your profile, you will need to use */* VIDEO_CARDS: -* radeon.

Special Flags

Paludis automatically adds special flags controlling how packages are built. These flags are all in the BUILD_OPTIONS group. Packages may have any of the following special flags:

split
If enabled, Paludis will split debugging information into /usr/lib/debug before merging binaries and libraries.
strip
If enabled, Paludis will strip debugging information before merging binaries and libraries.
recommended_tests
If set, Paludis will run any 'recommended' tests provided by a package.
optional_tests
If set, Paludis will run any 'optional' tests provided by a package.

Note that these special flags are not use flags from an ebuild perspective. They are used only by Paludis internals, and are not exported to ebuilds.

Example

# Accept some basic defaults for all packages, inheriting defaults from profiles
*/* -doc -nls -apache2 bash-completion -gnome -kde mpd flac aac cdparanoia \
  mmx mmxext rtc sse -arts -qt3 -cups real dvd threads dvdnav mp3 quicktime \
  pnm real vidix a52 3dnow 3dnowext amr bidi bl cddb dts srt unicode xvmc

# And set some USE_EXPAND defaults for all packages, explicitly overriding defaults
# from profiles
*/* LINGUAS:           -* en_GB en
*/* VIDEO_CARDS:       -* nv nvidia
*/* ALSA_CARDS:        -* emu10k1

# Some per package settings
app-editors/vim        -perl -python
app-crypt/gnupg        -X
media-sound/lame       -gtk

# And some wildcarding
dev-cpp/*              doc

# We like tests, and don't want debug symbols
*/*                    BUILD_OPTIONS: optional_tests -split strip

# But we do want split debug symbols for a few packages
dev-cpp/*              BUILD_OPTIONS: split strip