I've put '@smart-live-rebuild' into /var/lib/portage/world_sets to have it run on every @world upgrade. However, it seems that SLR is being run on every emerge invocation, e.g.: ``` # emerge -1vB libpng-compat These are the packages that would be built, in order: Calculating dependencies... done! *** Forking to drop superuser privileges ... *** Updating the repositories using 6 parallel jobs... -> https://github.com/mgorny/eclean-kernel.git [HEAD] --> git ls-remote https://github.com/mgorny/eclean-kernel.git HEAD [...] *** Found 5 packages to rebuild (out of 21 live packages). [ebuild N ] media-libs/libpng-compat-1.5.30:1.5::gentoo ABI_X86="32 64 -x32" 740 KiB Total: 1 package (1 new), Size of downloads: 740 KiB ``` So while it doesn't use the set indeed, it unnecessarily evaluates its contents.
Resolving @world is always done in order to be able to conditionally write the package name in bold (in case a given package is in @world). https://github.com/gentoo/portage/blob/601b5728bc0c1f76c28d41aae68fd946f19fd0f9/lib/_emerge/resolver/output.py#L278-L287 pkg_info.{system,world} are initialized here: https://github.com/gentoo/portage/blob/601b5728bc0c1f76c28d41aae68fd946f19fd0f9/lib/_emerge/resolver/output.py#L869