From patchwork Mon Oct 17 16:46:38 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mauro Carvalho Chehab X-Patchwork-Id: 9379935 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 5165B600CA for ; Mon, 17 Oct 2016 16:47:07 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4014F28417 for ; Mon, 17 Oct 2016 16:47:07 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3456A29118; Mon, 17 Oct 2016 16:47:07 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id EACE029193 for ; Mon, 17 Oct 2016 16:47:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1030257AbcJQQrC (ORCPT ); Mon, 17 Oct 2016 12:47:02 -0400 Received: from bombadil.infradead.org ([198.137.202.9]:58691 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1030203AbcJQQqv (ORCPT ); Mon, 17 Oct 2016 12:46:51 -0400 Received: from 177.205.70.59.dynamic.adsl.gvt.net.br ([177.205.70.59] helo=vento.lan) by bombadil.infradead.org with esmtpsa (Exim 4.85_2 #1 (Red Hat Linux)) id 1bwB3n-000157-01; Mon, 17 Oct 2016 16:46:47 +0000 Date: Mon, 17 Oct 2016 14:46:38 -0200 From: Mauro Carvalho Chehab To: Markus Heiser Cc: Jonathan Corbet , Jani Nikula , Linux Media Mailing List , linux-doc@vger.kernel.org Subject: Re: [PATCH 1/4] doc-rst: reST-directive kernel-cmd / include contentent from scripts Message-ID: <20161017144638.139491ad@vento.lan> In-Reply-To: <1475738420-8747-2-git-send-email-markus.heiser@darmarit.de> References: <1475738420-8747-1-git-send-email-markus.heiser@darmarit.de> <1475738420-8747-2-git-send-email-markus.heiser@darmarit.de> X-Mailer: Claws Mail 3.14.0 (GTK+ 2.24.31; x86_64-redhat-linux-gnu) MIME-Version: 1.0 X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Hi Markus, Em Thu, 6 Oct 2016 09:20:17 +0200 Markus Heiser escreveu: > From: Markus Heiser > > The ``kernel-cmd`` directive includes contend from the stdout of a > command-line. With the ``kernel-cmd`` directive we can include the > output of any (Perl or whatever) script. This is a more general solution > for other workarounds like the "kernel_include + parseheaders" solution. Unfortunately, there are some problems with kernel-cmd: it seems that it only partially parses the ReST file, not accepting several ReST tags. See the enclosed patch and see the produced html file at: Documentation/output/user/MAINTAINERS.html Then run the script manually with: ./Documentation/sphinx/format_maintainers.pl MAINTAINERS >Documentation/user/MAINTAINERS.rst And see the produced html output after re-building the user book. PS.: You can test it on my git tree, with has the code to produce it at the lkml-books branch, at http:://git.linuxtv.org/mchehab/experimental.git Regards, Mauro [PATCH] docs-rst: user: add MAINTAINERS including MAINTAINERS using ReST is tricky, because all maintainer's entries are like: FOO SUBSYSTEM: M: My Name L: mailing@list S: Maintained F: foo/bar On ReST, this would be displayed on a single line. Using alias, like |M|, |L|, ... won't solve, as an alias in Sphinx doesn't accept breaking lines. So, instead of changing every line at MAINTAINERS, let's use kernel-cmd extension in order to parse it via a script. Signed-off-by: Mauro Carvalho Chehab --- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/Documentation/sphinx/format_maintainers.pl b/Documentation/sphinx/format_maintainers.pl new file mode 100755 index 000000000000..fb3af2a30c36 --- /dev/null +++ b/Documentation/sphinx/format_maintainers.pl @@ -0,0 +1,44 @@ +#!/usr/bin/perl + +my $is_rst = 1; + +# For now, ignore file tags, like F, N, X, K. +my %tags = ( + 'P' => 'Person', + 'M' => 'Mail', + 'R' => 'Designated reviewer', + 'L' => 'Mailing list', + 'W' => 'Web page', + 'Q' => 'Patchwork', + 'T' => 'Develoment tree', + 'S' => 'Status', +); + +while (<>) { + if ($is_rst) { + if (m/^\s+\-+$/) { + $is_rst = 0; + next; + } + print $_; + next; + } + + next if (m/^$/); + + if (m/^([A-Z])\:(.*)/) { + my $tag = $1; + my $value = $2; + + my $meaning; + + next if (!defined($tags{$tag})); + + printf " - %s:\n %s\n\n", $tags{$tag}, $value; + next; + } + + print "\n$_"; +} + +print "\n"; diff --git a/Documentation/user/MAINTAINERS.rst b/Documentation/user/MAINTAINERS.rst new file mode 100644 index 000000000000..9b01b51749bd --- /dev/null +++ b/Documentation/user/MAINTAINERS.rst @@ -0,0 +1 @@ +.. kernel-cmd:: format_maintainers.pl $srctree/MAINTAINERS diff --git a/Documentation/user/index.rst b/Documentation/user/index.rst index 6fbb2dc4b3b7..c4bfd45f0649 100644 --- a/Documentation/user/index.rst +++ b/Documentation/user/index.rst @@ -32,3 +32,4 @@ Contents: java bad_memory basic_profiling + MAINTAINERS diff --git a/MAINTAINERS b/MAINTAINERS index 1cd38a7e0064..d46ffec4e682 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1,12 +1,14 @@ - - - List of maintainers and how to submit kernel changes +List of maintainers and how to submit kernel changes +==================================================== Please try to follow the guidelines below. This will make things easier on the maintainers. Not all of these guidelines matter for every trivial patch so apply some common sense. -1. Always _test_ your changes, however small, on at least 4 or +Tips for patch submitters +------------------------- + +1. Always **test** your changes, however small, on at least 4 or 5 people, preferably many more. 2. Try to release a few ALPHA test versions to the net. Announce @@ -15,7 +17,7 @@ trivial patch so apply some common sense. you will find things like the fact version 3 firmware needs a magic fix you didn't know about, or some clown changed the chips on a board and not its name. (Don't laugh! Look at the - SMC etherpower for that.) + SMC ``etherpower`` for that.) 3. Make sure your changes compile correctly in multiple configurations. In particular check that changes work both as a @@ -25,7 +27,7 @@ trivial patch so apply some common sense. testing and await feedback. 5. Make a patch available to the relevant maintainer in the list. Use - 'diff -u' to make the patch easy to merge. Be prepared to get your + ``diff -u`` to make the patch easy to merge. Be prepared to get your changes sent back with seemingly silly requests about formatting and variable names. These aren't as silly as they seem. One job the maintainers (and especially Linus) do is to keep things @@ -33,28 +35,34 @@ trivial patch so apply some common sense. your driver to get around a problem actually needs to become a generalized kernel feature ready for next time. - PLEASE check your patch with the automated style checker - (scripts/checkpatch.pl) to catch trivial style violations. - See Documentation/CodingStyle for guidance here. + .. attention:: + + **PLEASE:** + + - check your patch with the automated style checker + (``scripts/checkpatch.pl``) to catch trivial style violations. + See :ref:`Documentation/CodingStyle ` for guidance + here. - PLEASE CC: the maintainers and mailing lists that are generated - by scripts/get_maintainer.pl. The results returned by the - script will be best if you have git installed and are making - your changes in a branch derived from Linus' latest git tree. - See Documentation/SubmittingPatches for details. + - CC: the maintainers and mailing lists that are generated + by ``scripts/get_maintainer.pl``. The results returned by the + script will be best if you have git installed and are making + your changes in a branch derived from Linus' latest git tree. + See :ref:`Documentation/SubmittingPatches ` + for details. - PLEASE try to include any credit lines you want added with the - patch. It avoids people being missed off by mistake and makes - it easier to know who wants adding and who doesn't. + - try to include any credit lines you want added with the + patch. It avoids people being missed off by mistake and makes + it easier to know who wants adding and who doesn't. - PLEASE document known bugs. If it doesn't work for everything - or does something very odd once a month document it. + - document known bugs. If it doesn't work for everything + or does something very odd once a month document it. - PLEASE remember that submissions must be made under the terms - of the Linux Foundation certificate of contribution and should - include a Signed-off-by: line. The current version of this - "Developer's Certificate of Origin" (DCO) is listed in the file - Documentation/SubmittingPatches. + - remember that submissions must be made under the terms + of the Linux Foundation certificate of contribution and should + include a Signed-off-by: line. The current version of this + "Developer's Certificate of Origin" (DCO) is listed in the file + :ref:`Documentation/SubmittingPatches `. 6. Make sure you have the right to send any changes you make. If you do changes at work you may find your employer owns the patch @@ -66,64 +74,103 @@ trivial patch so apply some common sense. 8. Happy hacking. -Descriptions of section entries: - - P: Person (obsolete) - M: Mail patches to: FullName - R: Designated reviewer: FullName - These reviewers should be CCed on patches. - L: Mailing list that is relevant to this area - W: Web-page with status/info - Q: Patchwork web based patch tracking system site - T: SCM tree type and location. - Type is one of: git, hg, quilt, stgit, topgit - S: Status, one of the following: - Supported: Someone is actually paid to look after this. - Maintained: Someone actually looks after it. - Odd Fixes: It has a maintainer but they don't have time to do +Descriptions of section entries +------------------------------- + +- ``P:`` Person (obsolete) +- ``M:`` Mail patches to: FullName +- ``R:`` Designated reviewer: FullName + + - These reviewers should be CCed on patches. + +- ``L:`` Mailing list that is relevant to this area +- ``W:`` Web-page with status/info +- ``Q:`` Patchwork web based patch tracking system site +- ``T:`` SCM tree type and location. + + - Type is one of: **git**, **hg**, **quilt**, **stgit**, **topgit** + +- ``S:`` Status, one of the following: + + - Supported: + Someone is actually paid to look after this. + - Maintained: + Someone actually looks after it. + - Odd Fixes: + It has a maintainer but they don't have time to do much other than throw the odd patch in. See below.. - Orphan: No current maintainer [but maybe you could take the + - Orphan: + No current maintainer [but maybe you could take the role as you write your new code]. - Obsolete: Old code. Something tagged obsolete generally means + - Obsolete: + Old code. Something tagged obsolete generally means it has been replaced by a better system and you should be using that. - F: Files and directories with wildcard patterns. +- ``F:`` Files and directories with wildcard patterns. + A trailing slash includes all files and subdirectory files. - F: drivers/net/ all files in and below drivers/net - F: drivers/net/* all files in drivers/net, but not below - F: */net/* all files in "any top level directory"/net - One pattern per line. Multiple F: lines acceptable. - N: Files and directories with regex patterns. - N: [^a-z]tegra all files whose path contains the word tegra - One pattern per line. Multiple N: lines acceptable. - scripts/get_maintainer.pl has different behavior for files that - match F: pattern and matches of N: patterns. By default, - get_maintainer will not look at git log history when an F: pattern - match occurs. When an N: match occurs, git log history is used - to also notify the people that have git commit signatures. - X: Files and directories that are NOT maintained, same rules as F: - Files exclusions are tested before file matches. - Can be useful for excluding a specific subdirectory, for instance: - F: net/ - X: net/ipv6/ - matches all files in and below net excluding net/ipv6/ - K: Keyword perl extended regex pattern to match content in a + + ============================== ====================================== + ``F:`` ``drivers/net/`` all files in and below + ``drivers/net`` + ``F:`` ``drivers/net/*`` all files in ``drivers/net``, + but not below + ``F:`` ``*/net/*`` all files in "any top level + directory" ``/net`` + ============================== ====================================== + + One pattern per line. Multiple ``F:`` lines acceptable. +- ``N:`` Files and directories with regex patterns. + + ============================ ======================================== + ``N:`` ``[^a-z]tegra`` all files whose path contains + the word ``tegra`` + ============================ ======================================== + + One pattern per line. Multiple ``N:`` lines acceptable. + ``scripts/get_maintainer.pl`` has different behavior for files that + match ``F:`` pattern and matches of ``N:`` patterns. By default, + get_maintainer will not look at git log history when an ``F:`` + pattern match occurs. When an ``N:`` match occurs, git log history + is used to also notify the people that have git commit signatures. +- ``X:`` Files and directories that are NOT maintained, same rules as + ``F:`` Files exclusions are tested before file matches. + Can be useful for excluding a specific subdirectory, for instance: + + ============================ ======================================== + ``F:`` ``net/`` matches all files in and below + ``net`` ... + ``X:`` ``net/ipv6/`` ... excluding ``net/ipv6/`` + ============================ ======================================== + +- ``K:`` Keyword perl extended regex pattern to match content in a patch or file. For instance: - K: of_get_profile - matches patches or files that contain "of_get_profile" - K: \b(printk|pr_(info|err))\b - matches patches or files that contain one or more of the words - printk, pr_info or pr_err - One regex pattern per line. Multiple K: lines acceptable. -Note: For the hard of thinking, this list is meant to remain in alphabetical -order. If you could add yourselves to it in alphabetical order that would be -so much easier [Ed] + =========================================== ========================= + ``K:`` ``of_get_profile`` matches patches or files + that contain + ``of_get_profile`` + ``K:`` ``\b(printk|pr_(info|err))\b`` matches patches or + files that contain one + or more of the words + ``printk``, ``pr_info`` + or ``pr_err`` + =========================================== ========================= + + One regex pattern per line. Multiple ``K:`` lines acceptable. + +.. note:: + + For the hard of thinking, this list is meant to remain in alphabetical + order. If you could add yourselves to it in alphabetical order that would be + so much easier [Ed] Maintainers List (try to look for most precise areas first) +----------------------------------------------------------- ----------------------------------- + 3C59X NETWORK DRIVER M: Steffen Klassert L: netdev@vger.kernel.org