# WARNING: default set configuration, DO NOT CHANGE.
# If you want to change anything redefine the relevant section in 
# /etc/portage/sets.conf. Any changes to this file will be lost on the next 
# portage update, and configuration errors here might upset portage in 
# unexpected ways.

# Not much that could be changed for world, so better leave it alone
[world]
class = portage.sets.base.DummyPackageSet
packages = @profile @selected @system

[profile]
class = portage.sets.ProfilePackageSet.ProfilePackageSet

[selected]
class = portage.sets.files.WorldSelectedSet

[selected-packages]
class = portage.sets.files.WorldSelectedPackagesSet

[selected-sets]
class = portage.sets.files.WorldSelectedSetsSet

# Same as for world, though later portage versions might use a different class
[system]
class = portage.sets.profiles.PackagesSystemSet

# For security there are multiple classes available, but differences are 
# rather small (normally there should be no visible difference):
# - AffectedSet: include all GLSAs that cover a vulnerable package
# - NewAffectedSet: include all GLSAs that cover a vulnerable package and 
#   haven't been applied previously
# - NewGlsaSet: include all GLSAs that haven't been applied
# - SecuritySet: include all GLSAs
[security]
class = portage.sets.security.NewAffectedSet

# A superset of the classic <parameter>world</parameter> target, a set created
# by this class contains SLOT atoms to match all installed packages. Note that
# use of this set makes it impossible for emerge to solve blockers by automatic
# uninstallation of blocked packages.
[installed]
class = portage.sets.dbapi.EverythingSet

# The following treats all files in /etc/portage/sets as a package set called
# '$filename'.
[usersets]
class = portage.sets.files.StaticFileSet
multiset = true
directory =  %(PORTAGE_CONFIGROOT)setc/portage/sets
world-candidate = True
user-set = True

# Set to rebuild all packages that need a preserved lib that only remains due
# to FEATURES=preserve-libs
[preserved-rebuild]
class = portage.sets.libs.PreservedLibraryConsumerSet

# Installed ebuilds that inherit from known live eclasses.
[live-rebuild]
class = portage.sets.dbapi.VariableSet
variable = INHERITED
includes = bzr cvs darcs git git-2 git-r3 golang-vcs mercurial subversion tla

# Installed packages that own files inside /lib/modules.
[module-rebuild]
class = portage.sets.dbapi.OwnerSet
files = /lib/modules

# Installed packages that own files inside /usr/lib/xorg/modules,
# excluding the package that owns /usr/bin/Xorg.
[x11-module-rebuild]
class = portage.sets.dbapi.OwnerSet
files = /usr/lib/xorg/modules
exclude-files = /usr/bin/Xorg

# Binary packages that have a different build time from a currently
# installed package of the exact same version.
[rebuilt-binaries]
class = portage.sets.dbapi.RebuiltBinaries

# Installed packages for which the highest visible ebuild
# version is lower than the currently installed version.
[downgrade]
class = portage.sets.dbapi.DowngradeSet

# Installed packages for which there are no visible ebuilds
# corresponding to the same $CATEGORY/$PN:$SLOT.
[unavailable]
class = portage.sets.dbapi.UnavailableSet

# Installed packages for which corresponding binary packages
# are not available.
[unavailable-binaries]
class = portage.sets.dbapi.UnavailableBinaries

# Installed packages for which vdb *DEPEND entries are outdated compared
# to the matching portdb entry.
[changed-deps]
class = portage.sets.dbapi.ChangedDepsSet
