Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev@l.g.o
Cc: "Michał Górny" <mgorny@g.o>
Subject: [gentoo-dev] [PATCH] glep-0067: Add 'proxied' and 'watcher' maint types
Date: Fri, 02 Aug 2019 20:55:49
Message-Id: 20190802205536.21822-1-mgorny@gentoo.org
1 Add two new maintainer types: 'proxied' for proxied maintainers,
2 and 'watcher' for people who wish to be CC-ed on bugs but are not
3 maintainers (e.g. upstream developers).
4
5 While at it, clarify that subproject member inheritance does not carry
6 over lead status to parent projects.
7
8 Signed-off-by: Michał Górny <mgorny@g.o>
9 ---
10 glep-0067.rst | 68 ++++++++++++++++++++++++++++++++++++++++++++++-----
11 1 file changed, 62 insertions(+), 6 deletions(-)
12
13 diff --git a/glep-0067.rst b/glep-0067.rst
14 index e22f216..6a3fb96 100644
15 --- a/glep-0067.rst
16 +++ b/glep-0067.rst
17 @@ -4,10 +4,10 @@ Title: Package maintenance structure
18 Author: Michał Górny <mgorny@g.o>
19 Type: Standards Track
20 Status: Final
21 -Version: 1
22 +Version: 2
23 Created: 2015-12-13
24 -Last-Modified: 2016-01-13
25 -Post-History: 2015-11-03, 2016-05-29
26 +Last-Modified: 2019-08-02
27 +Post-History: 2015-11-03, 2016-05-29, 2019-08-02
28 Content-Type: text/x-rst
29 ---
30
31 @@ -23,6 +23,13 @@ Maintainer listings in ``metadata.xml`` become uniform, and can be used
32 directly to assign bugs.
33
34
35 +Change log
36 +==========
37 +v2
38 + Added new maintainer types: proxied and watcher. Added explicit list of valid
39 + types. Clarified inheritance of lead role when inheriting subproject members.
40 +
41 +
42 Motivation
43 ==========
44
45 @@ -144,13 +151,29 @@ of the ``<maintainer/>`` element. The e-mail address, human-readable name
46 and maintenance description are placed in ``<email/>``, ``<name/>``
47 and ``<description/>`` sub-elements appropriately.
48
49 +There are four defined maintainer types:
50 +
51 +person
52 + Indicates a maintainer that is not a project, and has commit access
53 + to the repository.
54 +
55 +proxied
56 + Indicates a proxied maintainer, i.e. a maintainer that does not have
57 + direct commit access and needs a proxy to commit the changes.
58 +
59 +watcher
60 + Indicates a non-maintainer that wishes to be CC-ed on bug reports,
61 + e.g. a upstream developer.
62 +
63 +project
64 + Indicates a maintainer that is a project defined in ``projects.xml``.
65 +
66 .. code:: xml
67
68 <pkgmetadata>
69 - <maintainer type="person">
70 + <maintainer type="proxied">
71 <email>foo@×××××××.com</email>
72 <name>Foo Barsky</name>
73 - <description>Proxied maintainer</description>
74 </maintainer>
75 <maintainer type="person">
76 <email>example@g.o</email>
77 @@ -159,6 +182,10 @@ and ``<description/>`` sub-elements appropriately.
78 <maintainer type="project">
79 <email>proxy-maint@g.o</email>
80 </maintainer>
81 + <maintainer type="watcher">
82 + <email>upstream@×××××××.org</email>
83 + <name>Foo Barsky</name>
84 + </maintainer>
85 </pkgmetadata>
86
87 Project structure
88 @@ -194,7 +221,8 @@ Each ``<subproject/>`` element has the following attributes:
89 of exactly one other ``<project/>``),
90 - optional ``inherit-members=""`` attribute whose non-empty value indicates
91 that subproject members are to be considered members of the parent project
92 - as well.
93 + as well. Note that subproject members do not carry their lead status, i.e.
94 + a lead of a subproject is not implicitly a lead of the parent project.
95
96 Each ``<member/>`` has the following sub-elements:
97
98 @@ -283,6 +311,10 @@ For packages which have no maintainers, repository-specific bug assignment
99 rules apply. In particular, ::gentoo packages with no maintainer are assigned
100 to ``maintainer-needed@g.o``.
101
102 +Please note that watcher-type maintainers do not count towards package
103 +maintainers. They are always CC-ed to bug reports, and if a package has only
104 +watcher-type maintainers, it is assumed not to have a maintainer.
105 +
106 Maintainer expansion
107 --------------------
108
109 @@ -428,6 +460,30 @@ maintainers can add themselves to ``metadata.xml`` in a single commit to
110 the repository. If external database was used, the database would have to be
111 updated in addition to the repository commit.
112
113 +Additional maintainer types
114 +---------------------------
115 +
116 +v2 of this specification adds two new maintainer types: proxied and watcher.
117 +
118 +Previously, proxied maintainers were distinguished by not having a Gentoo e-mail
119 +address. However, nowadays we have developers without direct Gentoo repository
120 +commit access as maintainers. There is also no reason to assume that
121 +in the future we would not have developers using non-Gentoo e-mail addresses.
122 +Adding explicit notation for proxied maintainers resolves that problem.
123 +
124 +Technically, we could have also added an explicit type for the proxy. However,
125 +proxies are expected to take responsibility for the proxied packages, and they
126 +often explicitly or implicitly share the role of a proxy with the role
127 +of co-maintainer. Furthermore, the proxy-maint project frequently is the proxy.
128 +Therefore, providing such explicit information would require possibility
129 +of combining multiple type notations and would introduce additional complexity
130 +for no clear benefit.
131 +
132 +The original specification did not account for watchers at all. Their presence
133 +normally does not cause problems, until packages become unmaintained. When
134 +the package has no maintainers, watchers implicitly get promoted to primary
135 +maintainers, and programs incorrectly assume that the package has a maintainer.
136 +
137
138 Backwards Compatibility
139 =======================
140 --
141 2.22.0

Replies