On Tue, Dec 06, 2011 at 05:06:33PM -0500, Mike Frysinger wrote:
> On Tuesday 06 December 2011 16:52:55 Brian Harring wrote:
> > On Tue, Dec 06, 2011 at 03:52:07PM -0500, Mike Frysinger wrote:
> > > On Tuesday 06 December 2011 14:28:02 Zac Medico wrote:
> > > > On 12/06/2011 10:04 AM, Mike Frysinger wrote:
> > > > > what might be interesting is if we had a "Gentoo default" set which
> > > > > is what would come in a stage3 rather than the current "stage3 is
> > > > > the system set". then we could move virtual/ssh out of the system
> > > > > set and into the "Gentoo default" set so it'd be easier for people
> > > > > to drop/etc...  but i'm not familiar enough with the portage support
> > > > > atm to say how feasible such an idea would be.
> > > > 
> > > > Similar to how we use packages.build to define the stage1 set, we could
> > > > add a packages.default to define the stage3 set. Alternatively, we
> > > > could use a meta-package to pull in the defaults, and adjust the
> > > > stage3 build to pull in that meta-package automatically.
> > > 
> > > the packages.default sounds like a good idea as then we'd be able to
> > > tweak/stack it on a per-profile basis like existing files.  i'll file a
> > > release bug on the topic, and then we can talk about moving virtual/ssh
> > > out of system and into that.
> > 
> > We really need something generic here rather than just introducing new
> > files; this basically duplicates sets for example.
> 
> sets isn't in stable portage yet, right ?  and is it stackable in profiles ?

Bluntly, portage set support from the tree isn't something I'm sure we 
really want to support /anyways/; it's fairly portage specific last I 
looked.  Also, it isn't stackable from profiles.

Simple example of why sets.conf cannot be relied on:

# xorg sets
[x11-module-rebuild]
class = portage.sets.dbapi.VariableSet
world-candidate = false
variable = CATEGORY
includes = x11-drivers

Or using a literal overlay example:
[jmbsvicetto sets]
class = portage.sets.files.StaticFileSet
multiset = true
directory = ${repository:jmbsvicetto}/sets/

So for any non portage PM, we'd have to translate portage class name 
paths, know the actual signature of the target (VariableSet for 
example), and perfectly emulate that- also emualate the 
${var:default} interpolation.

So... there's no way in hell sets.conf can, nor should be, relied on 
if we're even pretending to try and support multiple managers.  That's 
putting it nicely. :)

package.[set-name] from profiles is a potential, although that doesn't 
work perfectly for overlays (which typically get their profile from 
the master, thus precluding the overlay from injecting a node into the 
set); could come up with something though.

~harring

Reply via email to