A set is a collection of package dependency specifications.
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
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
foo.conf, which is a standard configuration file, or in the file
which is a dynamic standard configuration file. Sets may be specified in any of the following directories:
confdiris the directory in which
use.confet al. reside.
DATADIR/paludis/sets/. On most systems,
LIBEXECDIR/paludis/sets/. On most systems,
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.
?, 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.