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  


A set is a collection of package dependency specifications.

Built-in Sets

The following sets are always available:

Defined by repositories, system consists of core packages that make up a basic system.
Consists of the system set, plus all packages that have been installed as targets (as opposed to merely pulled in as dependencies of a target).
The names of all installed packages.
The names plus slots of all installed packages.
The set of upgrades which must be performed to resolve security holes.
The set of insecure packages (mostly for internal use).
An empty set.

Some sets, such as system, are made by combining sets from multiple repositories. For these sets, the parts of the set defined by each individual repository can be accessed using setname::reponame.

User Defined Sets

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.

When using the Paludis environment, the user can create their own sets. A set named foo is defined in the file foo.conf, which is a standard configuration file, or in the file foo.bash, which is a dynamic standard configuration file. Sets may be specified in any of the following directories:

Overriding built-in sets in this manner is not recommended. Strange things will happen.

Each line in a user set file consists of an operator, followed by whitespace, followed by a package dependency specification or, for some operators, a set name. Permitted operators are:

Indicates that the specification or set name is part of the set.
Indicates that the specification is part of the set if and only if a package whose name is equal to the name part of the specification is installed. May not be used with a set name.
Like ?, but considers the slot part of the specification (if any) in addition to the name part.

If the set foo exists and is not a builtin set, the special set foo* is automatically generated by Paludis. The foo* set is like the foo set, except that it behaves as if every operator is a *. In addition, any set names inside that set are treated as if they were setname*, so that the operator behaviour override is recursive.