Add two new maintainer types: 'proxied' for proxied maintainers, and 'watcher' for people who wish to be CC-ed on bugs but are not maintainers (e.g. upstream developers).
While at it, clarify that subproject member inheritance does not carry over lead status to parent projects. Signed-off-by: Michał Górny <mgo...@gentoo.org> --- glep-0067.rst | 68 ++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 62 insertions(+), 6 deletions(-) diff --git a/glep-0067.rst b/glep-0067.rst index e22f216..6a3fb96 100644 --- a/glep-0067.rst +++ b/glep-0067.rst @@ -4,10 +4,10 @@ Title: Package maintenance structure Author: Michał Górny <mgo...@gentoo.org> Type: Standards Track Status: Final -Version: 1 +Version: 2 Created: 2015-12-13 -Last-Modified: 2016-01-13 -Post-History: 2015-11-03, 2016-05-29 +Last-Modified: 2019-08-02 +Post-History: 2015-11-03, 2016-05-29, 2019-08-02 Content-Type: text/x-rst --- @@ -23,6 +23,13 @@ Maintainer listings in ``metadata.xml`` become uniform, and can be used directly to assign bugs. +Change log +========== +v2 + Added new maintainer types: proxied and watcher. Added explicit list of valid + types. Clarified inheritance of lead role when inheriting subproject members. + + Motivation ========== @@ -144,13 +151,29 @@ of the ``<maintainer/>`` element. The e-mail address, human-readable name and maintenance description are placed in ``<email/>``, ``<name/>`` and ``<description/>`` sub-elements appropriately. +There are four defined maintainer types: + +person + Indicates a maintainer that is not a project, and has commit access + to the repository. + +proxied + Indicates a proxied maintainer, i.e. a maintainer that does not have + direct commit access and needs a proxy to commit the changes. + +watcher + Indicates a non-maintainer that wishes to be CC-ed on bug reports, + e.g. a upstream developer. + +project + Indicates a maintainer that is a project defined in ``projects.xml``. + .. code:: xml <pkgmetadata> - <maintainer type="person"> + <maintainer type="proxied"> <email>f...@example.com</email> <name>Foo Barsky</name> - <description>Proxied maintainer</description> </maintainer> <maintainer type="person"> <email>exam...@gentoo.org</email> @@ -159,6 +182,10 @@ and ``<description/>`` sub-elements appropriately. <maintainer type="project"> <email>proxy-ma...@gentoo.org</email> </maintainer> + <maintainer type="watcher"> + <email>upstr...@example.org</email> + <name>Foo Barsky</name> + </maintainer> </pkgmetadata> Project structure @@ -194,7 +221,8 @@ Each ``<subproject/>`` element has the following attributes: of exactly one other ``<project/>``), - optional ``inherit-members=""`` attribute whose non-empty value indicates that subproject members are to be considered members of the parent project - as well. + as well. Note that subproject members do not carry their lead status, i.e. + a lead of a subproject is not implicitly a lead of the parent project. Each ``<member/>`` has the following sub-elements: @@ -283,6 +311,10 @@ For packages which have no maintainers, repository-specific bug assignment rules apply. In particular, ::gentoo packages with no maintainer are assigned to ``maintainer-nee...@gentoo.org``. +Please note that watcher-type maintainers do not count towards package +maintainers. They are always CC-ed to bug reports, and if a package has only +watcher-type maintainers, it is assumed not to have a maintainer. + Maintainer expansion -------------------- @@ -428,6 +460,30 @@ maintainers can add themselves to ``metadata.xml`` in a single commit to the repository. If external database was used, the database would have to be updated in addition to the repository commit. +Additional maintainer types +--------------------------- + +v2 of this specification adds two new maintainer types: proxied and watcher. + +Previously, proxied maintainers were distinguished by not having a Gentoo e-mail +address. However, nowadays we have developers without direct Gentoo repository +commit access as maintainers. There is also no reason to assume that +in the future we would not have developers using non-Gentoo e-mail addresses. +Adding explicit notation for proxied maintainers resolves that problem. + +Technically, we could have also added an explicit type for the proxy. However, +proxies are expected to take responsibility for the proxied packages, and they +often explicitly or implicitly share the role of a proxy with the role +of co-maintainer. Furthermore, the proxy-maint project frequently is the proxy. +Therefore, providing such explicit information would require possibility +of combining multiple type notations and would introduce additional complexity +for no clear benefit. + +The original specification did not account for watchers at all. Their presence +normally does not cause problems, until packages become unmaintained. When +the package has no maintainers, watchers implicitly get promoted to primary +maintainers, and programs incorrectly assume that the package has a maintainer. + Backwards Compatibility ======================= -- 2.22.0