Hi gcc-patches mailing list, Richard Earnshaw via Sourceware Forge <[email protected]> has requested that the following forgejo pull request be published on the mailing list.
Created on: 2026-05-29 15:13:48+00:00 Latest update: 2026-05-29 15:16:32+00:00 Changes: 3 changed files, 6198 additions, 12 deletions Head revision: rearnsha/gcc-TEST ref MAINT-yaml commit 528143f5f8d97be480cc2ab945ea338a7b461f77 Base revision: gcc/gcc-TEST ref trunk commit 8653813b1e4377bf01c3b1a45c11b9616f5886fe r17-981-g8653813b1e4377 Merge base: 8653813b1e4377bf01c3b1a45c11b9616f5886fe Full diff url: https://forge.sourceware.org/gcc/gcc-TEST/pulls/163.diff Discussion: https://forge.sourceware.org/gcc/gcc-TEST/pulls/163 Requested Reviewers: RFD: convert MAINTAINERS data to YAML. For the forge to be able to notify maintainers efficiently when a merge request is submitted, I need to be able to automate assigning reviewers as well as just labels. The information needed for this is largely in the MAINTAINERS file, but not in a format that is readily machine readable: it can be scraped, but it's a bit of an ad-hoc process and not something I'd want to maintain in the long term. To mitigate that, and to make it possible to augment this information with additional details, I've been experimenting with converting the raw data into YAML and then having a script build the official MAINTAINERS file form that. The results can be seen in the following patch. The results so far are /almost/ identical with only a limited set of differences, some of which can probably be resolved later on. - the free-form entries saying All XXX maintainers have been expanded into explicit lists; I really don't think it helps much to have yet another level of indirection to deal with here and in particular it complicates regenerating the MAINTAINERS file as the template rules would need to be handled specifically. - I've found some small sort-order differences; these could be easily rectified, but I think the sort order I'm using here (case-independent sort) is preferable to a case-dependent one: Lac should be sorted before LaD. It would be better, I think to tweak check-MAINTAINERS.py to prefer this new order, but that file becomes redundant if this code goes in. - I might have over-merged the entries for Feng Wang. That's easily fixable in the MAINTAINERS.yml data, but is an example of the kind of issue that I've faced with creating the machine-readable data from the raw files. Finally, the name for Naveen Gowda has changed in the DCO list. The email address used appears elsewhere in the MAINTAINERS file with a slightly different name. This could be fixed with a small extension to the YAML data (the DCO entry could take an optional name), if it really matters. One additional field that I've added is a marker for what I consider to be inactive accounts. The forge is likely to be more aggressive in emailing developers and I don't want it to be forever mailing people who have long ceased to contribute to the project. For now I've scraped the GCC commit logs and posts to [email protected] and [email protected]; anybody who has not contributed to one of those sources in the last two years has been marked as inactive. The generator script has an option (-a) to build a version of the MAINTAINERS file with inactive users removed: we have a lot of retired devs! This patch isn't ready to commit yet. Before I do that I need to write a schema checker for the YAML data and to add some additional checks for the consistency of the data; but there's no point in adding that until we have agreed on the basic format. Finally the full list of sources for the active developers needs to be agreed: are the three sources above enough, or should we be scraping more lists from the project? --- Convert the existing MAINTAINERS data to YAML and add a script to rebuild the MAINTAINERS file from it. ChangeLog: * MAINTAINERS: Regenerate from MAINTAINERS.yml contrib/ChangeLog: * MAINTAINERS.yml: New file. * gen-MAINTAINERS.py: New file. Thanks for taking the time to contribute to GCC! Please be advised that https://forge.sourceware.org/ is currently a trial that is being used by the GCC community to experiment with a new workflow based on pull requests. Pull requests sent here may be forgotten or ignored. Patches that you want to propose for inclusion in GCC should use the existing email-based workflow, see https://gcc.gnu.org/contribute.html Changed files: - A: contrib/MAINTAINERS.yml - A: contrib/gen-MAINTAINERS.py - M: MAINTAINERS Richard Earnshaw (1): MAINTAINERS: convert to a generated file MAINTAINERS | 29 +- contrib/MAINTAINERS.yml | 5898 ++++++++++++++++++++++++++++++++++++ contrib/gen-MAINTAINERS.py | 283 ++ 3 files changed, 6198 insertions(+), 12 deletions(-) create mode 100644 contrib/MAINTAINERS.yml create mode 100755 contrib/gen-MAINTAINERS.py -- 2.54.0
