package_mask.conf and package_unmask.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 package_mask.conf
file allows a package to be explicitly masked. The
package_unmask.conf
file allows repository and profile masked packages to be unmasked. Both are standard
configuration files which may be bash files (package_mask.bash
etc) and which may use a
.conf.d/
directory.
Each line in the file consists of a specification.
The specifications in package_unmask.conf
override the
specifications in package_mask.conf
. If a package version is
matched by entries in both files, it is unmasked.
Exheres layout repositories allow masks to be categories by a token such as "security" or "scm". To unmask a package, but only if its token is of a particular kind, follow the specification by one or more whitespace separated token names. If token names are specified this way, an unmask is only taken if at least one of the tokens matches the mask.
Example
An example package_mask.conf
:
# Mask gcc 4.2 for now sys-devel/gcc:4.2 # Mask all versions of Portage sys-apps/portage
And an example package_unmask.conf
:
# Ignore repository and profile masks for things in the toolchain overlay */*::toolchain # (Exheres layout repositories only) ignore security masks for PHP dev-lang/php security