This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.
Please visit our production wiki at https://wiki.gentoo.org
/etc/portage/sets
For each file in /etc/portage/sets, a package set is created, defining a one-to-many relationship between a set name and an arbitrary group of package atoms. User-defined set names correspond to the name of the file. Each file should contain a list of package atoms and nested package sets, one per line. You can see the full list of sets that exist at any time with
user $
emerge --list-sets
Example
For the sake of example, say Larry wanted to run live ebuilds for GPU drivers, and desired an easy shorthand for rebuilding them on demand. He could define the following set:
/etc/portage/sets/gpu-stack
x11-libs/libdrm media-libs/mesa x11-drivers/xf86-video-ati x11-drivers/xf86-video-intel
Now, all that is needed trigger a rebuild of all of them at once is:
root #
emerge --ask @gpu-stack
These are the packages that would be merged, in order: Calculating dependencies \ ...done! [ebuild R #] x11-libs/libdrm-9999 [ebuild R #] x11-drivers/xf86-video-intel-9999 [ebuild R #] x11-drivers/xf86-video-ati-9999 [ebuild R ~] media-libs/mesa-9999 Would you like to merge these packages? [Yes/No]
Selecting "Yes" here will add the set to the /var/lib/portage/world_sets file. Use
--oneshot
to avoid this.To remove a user defined set from world_sets, use the --deselect
option to emerge, then clean up orphaned dependencies:
root #
emerge --deselect @gpu-stack
root #
emerge --ask --depclean
Do not use the
--depclean
or --unmerge
options to remove the set itself. Doing so may remove critical packages.See also
- System set (Portage) — contains the software packages required for a standard Gentoo Linux installation to run properly.
- World set (Portage) — encompasses the system set and the selected set.
External resources
For more detailed information about package sets, read the emerge manpage and search for "set" (/^\s*set).