1 |
Petteri Räty wrote: |
2 |
> 3) EAPI in locked down place in the ebuild |
3 |
> - Allows changing global scope |
4 |
> - EAPI can't be changed in an existing ebuild so the PM can trust |
5 |
> the value in the cache |
6 |
|
7 |
I don't see how this follows. The PM can compare the mtime on the file |
8 |
with the time the cache was updated and refresh if needed. Or we could |
9 |
require users to manually refresh the cache if they modify an ebuild. |
10 |
|
11 |
> - Does not allow changing versioning rules unless version becomes a |
12 |
> normal metadata variable |
13 |
|
14 |
I don't see how this follows. You can put any version in the filename |
15 |
that you like just as with the EAPI in the filename approach. A package |
16 |
manager won't process the filename if it doesn't understand the EAPI. |
17 |
The order of processing for a package manager would be: |
18 |
1. Scan for files named *.ebuild. |
19 |
2. Scan the nth line inside to obtain the EAPI. |
20 |
3. Take further action in accordance with the EAPI - possibly including |
21 |
obtaining the package name/version from the filename, or maybe somewhere |
22 |
else entirely. |
23 |
|
24 |
> * Needs more accesses to cache as now you don't have to load older |
25 |
> versions if the latest is not masked |
26 |
|
27 |
Why wouldn't you cache every version of a package with its EAPI for |
28 |
reference? I don't follow why this needs more cache hits. However, |
29 |
even if you had to hit the cache more often I don't see why a cache |
30 |
lookup would be expensive. Isn't it stored in a sensible format for |
31 |
rapid random access? |
32 |
|
33 |
My preference is obviously for embedding the EAPI inside the file in |
34 |
some manner. My second preference would be for only changing the file |
35 |
extension on rare occasions that are individually approved by the |
36 |
Council when things need to change dramatically, as opposed to any time |
37 |
the EAPI changes. |