Currently, /usr/share/portage/config/sets/portage.conf contains direct references to the class names that implement the sets. This is inconvenient if any other package manager wants to support this type of configuration file (which would be required in order to know the whole content of @world if the user has sets in world_sets). We can solve this if we add a new file that maps set type aliases to implementation classes, and having sets/portage.conf refer to the alias instead of the implementation class. For example, /usr/share/portage/config/sets_aliases/portage.conf could contain alias in the first column and implementation classes in the second column as follows: container portage.sets.base.DummyPackageSet world_file portage.sets.files.WorldSelectedSet system_packages portage.sets.profiles.PackagesSystemSet security_vuln portage.sets.security.NewAffectedSet static_file portage.sets.files.StaticFileSet
Before adding this please verify that other PMs actually *want* to support this type of config file (including variable expansion config values), otherwise it's just added complexity for nothing. For a really portable solution a new type of config file might be needed.