-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Ciaran McCreesh wrote:
> On Fri, 03 Oct 2008 00:10:56 -0700
> Zac Medico <[EMAIL PROTECTED]> wrote:
>> For the new "sets" profile configuration file format, the simplest
>> possible layout could have a set name in the first column and a
>> package atom in the second column. The package atom should match an
>> ebuild which exhibits the "set" property. In addition to the set
>> name and atom columns, we may also want to include an EAPI column
>> which the package manager can use to ensure that it parses the atom
>> syntax correctly.
> 
> We probably want to start putting a profile_eapi file in each profile
> directory or something like that... Get package managers to refuse to
> use any profile that contains a directory using an eapi it doesn't
> know. This'll help sort out the slot deps in profiles issue too.

That's a good idea. If we do that then we can assume that all atoms
in the profile conform to the specified EAPI.

>> Similar to the proposed "virtual" property [2], the "set" property
>> will indicate that dependency calculations should consider the
>> ebuild to have zero installation cost.
> 
> If we go this route, that needs to be a property of its own, really.
> Otherwise we'll end up with a dozen properties all of which imply
> particular different real properties.

Perhaps, but there's a trade-off in having to specify two properties
when a single property can have compound meaning. For example,
Donnie (dberkholz) has previously expressed some concern about
PROPERTIES being more fine-grained than they need to be [1].

>> I order to determine which atoms correspond to a given set, the
>> first step is to lookup the set name from the profile's "sets"
>> configuration files. The corresponding package atom is then resolved
>> to a specific ebuild which should exhibit the "set" property. The
>> dependency atoms from this ebuild's RDEPEND variable will serve to
>> make up the atoms of the package set. In cases when these atoms
>> resolve to other ebuilds that exhibit he "set" property then those
>> other ebuilds act as nested sets and this nesting process is
>> recursive with no limit on the depth of nesting. The nested sets do
>> not necessarily have to be mapped to specific set names by the
>> profile's "sets" configuration files. If nested sets are anonymous
>> in this sense then their atoms still become a part of the set that
>> they are nested within, just as they would if they had been given a
>> name by the profile's "sets" configuration files.
> 
> Why not just invent a syntax that lets you take an arbitrary ebuild
> and use an arbitrary dep key from it as a set? Say, something like
> @RDEPEND(=foo/bar-1.23) . No need for any PROPERTIES or mapping
> mess at all...

Well, that wouldn't allow for nesting. The idea behind the
PROPERTIES=set approach is to integrate meta-ebuilds into the sets
framework in a way maximizes reuse of the advantages that
meta-ebuilds have to offer [2].

>> Does this seem like a good approach? Are there any suggestions for
>> improvements or alternative approaches?
> 
> This looks to me as if you're trying to find uses for PROPERTIES,
> rather than trying to find ways to solve a problem.

No, I'm trying to integrate meta-ebuilds into the sets framework and
it just happens the PROPERTIES metadata offers a convenient way to
separate meta-ebuilds from normal ebuilds.

[1]
http://archives.gentoo.org/gentoo-dev/msg_10a7e736c3bd2dea4223f599a463994e.xml
[2]
http://archives.gentoo.org/gentoo-dev/msg_f0c6b1f3a047fc83ef237e0304af6697.xml
- --
Thanks,
Zac
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEARECAAYFAkjmQBAACgkQ/ejvha5XGaP4sgCdEWuCSpUZKTwxKxOxZOTEIn3R
bgkAnROJHVeYYG5K7rorJloHjvjNUkAe
=fZP5
-----END PGP SIGNATURE-----

Reply via email to