1 |
On Mon, 2019-12-09 at 13:48 -0800, Alec Warner wrote: |
2 |
> On Mon, Dec 9, 2019 at 12:17 AM Michał Górny <mgorny@g.o> wrote: |
3 |
> |
4 |
> > Hello, |
5 |
> > |
6 |
> > I think the policies proposed in GLEP 81 [1] were overenthusiastic |
7 |
> > and they don't stand collision with sad Gentoo developer reality. |
8 |
> > Instead of improving the quality of resulting packages, they rather |
9 |
> > hamper their adoption and cause growing frustration. |
10 |
> > |
11 |
> > The problems I see today are: |
12 |
> > |
13 |
> > |
14 |
> > 1. Mailing list reviews hamper the adoption of new user packages. |
15 |
> > |
16 |
> > Firstly, there are a few developers who obstructively refuse to |
17 |
> > communicate with others and especially to use the public mailing lists. |
18 |
> > While this is a separate problem, and a problem that needs to be |
19 |
> > resolved, this GLEP can't resolve it. Of course, there is no reason to |
20 |
> > believe that removing review requirement will actually make them migrate |
21 |
> > their packages but it's at least one obstacle out of the way. |
22 |
> > |
23 |
> > Secondly, even developers capable of communication find the two stage |
24 |
> > request-wait-commit workflow inconvenient. At any time, there are |
25 |
> > at least a few requests waiting for being committed, possibly with |
26 |
> > the developers forgetting about them. |
27 |
> > |
28 |
> > |
29 |
> > 2. Mailing list reviews don't serve their original purpose. |
30 |
> > |
31 |
> > The original purpose of mailing list reviews was to verify that |
32 |
> > the developers use new packages correctly. For example, Michael |
33 |
> > Orlitzky has found a lot of unnecessary home directories specified. |
34 |
> > Of course, that works only if people submit *ebuilds* for review. |
35 |
> > |
36 |
> > However, at some points developers arbitrarily decided to send only |
37 |
> > numbers for review. This defeats the purpose of the review in the first |
38 |
> > place. |
39 |
> > |
40 |
> > |
41 |
> > 3. Cross-distro syncing has no purpose. |
42 |
> > |
43 |
> > One of the original ideas was to reuse UID/GID numbers from other |
44 |
> > distros when available to improve sync. However, given the collisions |
45 |
> > between old Gentoo UIDs and other distros, other distros themselves, |
46 |
> > non-overlapping user/group names, etc. there seems to be little reason |
47 |
> > to actually do it. If we even managed some overlap, it would be minimal |
48 |
> > and quasi-random. |
49 |
> > |
50 |
> > While other distros provide a cheap way of choosing new UID/GID, it |
51 |
> > doesn't seem that many people actually use it. Then we hit pretty |
52 |
> > absurd situations when someone chooses one UID/GID, somebody else tells |
53 |
> > him to use the one from other distro. |
54 |
> > |
55 |
> > |
56 |
> > 4. Assignment mechanism is not collision-prone. |
57 |
> > |
58 |
> > The secondary goal of mailing list reviews is to prevent UID/GID |
59 |
> > collisions. Sadly, it doesn't work there either. Sometimes two people |
60 |
> > request the same UID/GID, and only sometimes somebody else notices. |
61 |
> > In the end, people have hard time figuring out which number is the 'next |
62 |
> > free', sometimes they discover the number's been taken when somebody |
63 |
> > else commits it first. |
64 |
> > |
65 |
> > |
66 |
> > All that considered, I'd like to open discussion how we could improve |
67 |
> > things. |
68 |
> > |
69 |
> > My proposal would be to: |
70 |
> > |
71 |
> > a. split the UID/GID range into 'high' (app) and 'low' (system) |
72 |
> > assignments, 'high' being >=100 and 'low' <100 (matching Apache suEXEC |
73 |
> > defaults), |
74 |
> > |
75 |
> > b. UIDs/GIDs in the 'high' range can be taken arbitrarily (recommending |
76 |
> > taking highest free), while in the 'low' range must be approved by QA, |
77 |
> > |
78 |
> > c. no review requirement for the 'high' range, just choose your UID/GID |
79 |
> > straight of uid-gid.txt and commit it. |
80 |
> > |
81 |
> |
82 |
> What is the mechanism to keep the uid-gid.txt aligned with tree content? is |
83 |
> there a CI check that says I am using the new acct-* eclasses AND I have a |
84 |
> UID / GID assigned that is not matching uid-gid.txt? I see the CI has |
85 |
> "ConflictingAccountIdentifiers", is this already doing this work (checking |
86 |
> that the ebuild matchines uid-gid.txt), or just scanning the whole tree and |
87 |
> ensuring that 2 packages don't re-use the same ID? |
88 |
> |
89 |
|
90 |
The latter. |
91 |
|
92 |
-- |
93 |
Best regards, |
94 |
Michał Górny |