Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 387067 - sys-apps/portage-2.2: sets/portage.conf should use a layer of indirection for implementation classes
Summary: sys-apps/portage-2.2: sets/portage.conf should use a layer of indirection for...
Status: CONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Configuration (show other bugs)
Hardware: All All
: Normal enhancement (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 144480
  Show dependency tree
 
Reported: 2011-10-13 20:40 UTC by Zac Medico
Modified: 2013-01-12 12:56 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Zac Medico gentoo-dev 2011-10-13 20:40:28 UTC
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
Comment 1 Marius Mauch 2011-10-14 06:24:33 UTC
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.