Paludis Logo Introduction Hooks general.conf bashrc
Bugs, Requests, Support Syncers keywords.conf / platforms.conf suggestions.conf
Overview Fetchers use.conf / options.conf sets/
FAQ Env Vars licenses.conf / licences.conf repositories/
Clients File Formats mirrors.conf  
Configuration Dep Specs output.conf  
API specpath.conf package_mask.conf  

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