Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Inconsistent and messy layout of team maintainership in Gentoo
Date: Wed, 16 Sep 2015 21:25:55
Message-Id: 20150916232533.235d40aa.mgorny@gentoo.org
1 Hello,
2
3 Right now we kinda have three layers of team package maintainership
4 in Gentoo:
5
6 1. e-mail aliases + bugzilla accounts,
7
8 2. herds,
9
10 3. projects.
11
12 Now if we get into the details, it's all very messy.
13
14
15 E-mail aliases are pretty much handled by obscure, proprietary
16 scripts. Formally Gentoo developers can read and modify them, but
17 willikins also provides read access to most of the aliases. E-mail
18 aliases specify the de-facto list of people receiving bug mail
19 and other package inquiries. E-mail aliases are either listed directly
20 as <maintainer/> objects, or indirectly provided through herds.
21
22 It should be noted that Bugzilla allows users to 'watch' particular
23 e-mail addresses, effectively subscribing users to the bug mail. This
24 can extend the list of people receiving bug mail for a package.
25
26 Herds are stored in data/api.git repository, as an .xml file.
27 Additionally, read access is provided through api.gentoo.org site.
28 Herds specify explicitly the de-facto maintainers of packages maintained
29 by herds. In the past they could alternatively refer to project pages
30 but that support was dropped along with project wiki migration. Herds
31 are also mapped to e-mail aliases (which may list different people).
32 Herds are listed as <herd> objects.
33
34 Projects are stored in the proprietary databases of our Wiki instance.
35 Projects may specify maintainers of packages where herd is supposed to
36 map directly to a project (though herds.xml doesn't provide a correct
37 mapping anymore), and also when the particular project's e-mail address
38 is listed as maintainer. Projects are usually (though not obligatorily)
39 mapped to e-mail aliases. There is no explicit listing for projects in
40 metadata.xml.
41
42
43 To summarize, I see the following issues:
44
45 1. All three layers are totally disjoint, stored in completely
46 different format in completely different places.
47
48 2. Only herds and aliases can be cleanly mapped via metadata.xml.
49
50 3. If an alias is given as maintainer, and the alias maps both to
51 a herd and a project, it is unclear which of the two it is.
52
53 4. Herds can no longer refer to projects, so all project members are
54 duplicated in herds (= increased maintenance burden).
55
56 5. Projects can't list members who do not have Wiki accounts or are
57 not Gentoo developers.
58
59 So, what are your thoughts for unmessing this?
60
61 --
62 Best regards,
63 Michał Górny
64 <http://dev.gentoo.org/~mgorny/>

Replies