1 |
On 15 Dec 2015 22:35, Ulrich Mueller wrote: |
2 |
> Whatever the format will be, the more important question is where this |
3 |
> would be implemented: |
4 |
> |
5 |
> - In the package manager, with user and group definition in profiles. |
6 |
> This seems to be what GLEP 27 suggests, and as far as I can see, it |
7 |
> would require an EAPI bump. Certainly doable, but last time we |
8 |
> bumped profiles to a new EAPI we had a rather long transition |
9 |
> period. |
10 |
> |
11 |
> - In user.eclass, which could be extended to use the EUSERS and |
12 |
> EGROUPS variables defined in ebuilds. The problem is, where would |
13 |
> one store the user and group definitions then? Profiles cannot be |
14 |
> accessed from an eclass. |
15 |
|
16 |
long term, i think profiles are better to hold the db as it provides for |
17 |
clean stacking and is trivial for site-specific extension/control, as well |
18 |
as image builders via something like catalyst. |
19 |
|
20 |
short/mid term, i was thinking of writing a new package that holds the db |
21 |
and tools to query/manage it. user.eclass would DEPEND on it and ask it |
22 |
for details, perhaps even doing the actual fs updates (the bash code here |
23 |
is not pretty wrt locks and python would be much nicer). that tool could |
24 |
even search additional site paths (like /usr/local) to locate overrides. |
25 |
|
26 |
the API to ebuilds/eclasses would be unchanged. in CrOS, we only look at |
27 |
the first argument (the user/group name) and load all other details from |
28 |
the db. we could seamlessly migrate over existing ebuilds by opting in to |
29 |
this simpler form. |
30 |
|
31 |
maybe the short/mid term solution is enough to not get into profile mess |
32 |
even if i think it's the correct data storage location. |
33 |
-mike |