1 |
-----BEGIN PGP SIGNED MESSAGE----- |
2 |
Hash: SHA1 |
3 |
|
4 |
Alec Warner wrote: |
5 |
> On Fri, Oct 3, 2008 at 5:09 PM, Zac Medico <zmedico@g.o> wrote: |
6 |
> Hi everyone, |
7 |
> |
8 |
> Please consider a new "eapi" profile configuration file that will |
9 |
> designate the EAPI to which any package atoms within a given layer |
10 |
> of the profile stack must conform. This will allow package managers |
11 |
> to bail out with an informative error message if the user |
12 |
> accidentally selects a profile containing an EAPI that is not |
13 |
> supported by the currently installed package manager. |
14 |
> |
15 |
>> Long Long Ago there was a conversation about versioning profiles; is |
16 |
>> there some reason why you prefer the eapi method (which arguably has a |
17 |
>> smaller scope) over full profile api versioning (PAPI?) |
18 |
|
19 |
I'm not sure what the specific intentions of PAPI are, but the EAPI |
20 |
approach that I've suggested is intended to enable different layers |
21 |
of the stack to contain dependency atoms that conform to different |
22 |
EAPIs. For example, the base profile could remain at EAPI 0 and |
23 |
could thus be shared between some older profiles that conform to |
24 |
EAPI 0 (at all layers) and some newer profiles that contain some |
25 |
layers which require EAPI 1 or EAPI 2. |
26 |
|
27 |
By allowing a mix of different layers with different EAPIs, the |
28 |
intention is to promote code sharing since we can use a common base |
29 |
profile between older and newer profiles, yet still be able to use |
30 |
new EAPIs in newer profiles. |
31 |
|
32 |
>> Arguably we could use both in the future as well. |
33 |
> |
34 |
> In order to allow mixed EAPIs in the profiles, and to avoid having |
35 |
> to configure the EAPI in every single layer, each directory of the |
36 |
> profile stack should be able to either override or inherit the EAPI |
37 |
> value that may have been defined in a previous layer of the profile |
38 |
> stack. If no EAPI has been previously defined then it can be assumed |
39 |
> to be 0. |
40 |
> |
41 |
> The format of the configuration file can be very simple, containing |
42 |
> only the EAPI value and nothing more. For example, a file containing |
43 |
> just a single "0" character, followed by a newline, could be |
44 |
> created at profiles/base/eapi in order to explicitly declare that |
45 |
> atoms in the base profile conform to EAPI 0. However, this |
46 |
> particular declaration would be redundant since the base profile |
47 |
> does not inherit from any other profile and therefore it's EAPI |
48 |
> would be assumed to be 0 anyway. |
49 |
> |
50 |
> Does this seem like a good approach? Are there any suggestions for |
51 |
> improvements or alternative approaches? |
52 |
> |
53 |
>> PAPI :) |
54 |
|
55 |
Would PAPI provide the same benefits in terms of code sharing by |
56 |
allowing layers with different PAPIs to be mixed? |
57 |
|
58 |
- -- |
59 |
Thanks, |
60 |
Zac |
61 |
-----BEGIN PGP SIGNATURE----- |
62 |
Version: GnuPG v2.0.9 (GNU/Linux) |
63 |
|
64 |
iEYEARECAAYFAkjnrLYACgkQ/ejvha5XGaMvpgCgiRYrpXxCbbHsULEMdxfoYbsZ |
65 |
n7QAoNR3IiMYMX70YnlzTwrEWfgWXv7m |
66 |
=WaSP |
67 |
-----END PGP SIGNATURE----- |