public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Akira Yokosawa <akiyks@gmail.com>
To: "Randy Dunlap" <rdunlap@infradead.org>,
	"Tomasz Warniełło" <tomasz.warniello@gmail.com>
Cc: corbet@lwn.net, linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org, Akira Yokosawa <akiyks@gmail.com>
Subject: Re: [PATCH v4 00/11] Transform documentation into POD
Date: Wed, 23 Feb 2022 12:08:35 +0900	[thread overview]
Message-ID: <ff98f455-0221-7ff0-08ed-8dea9f08694b@gmail.com> (raw)
In-Reply-To: <525f3696-91f4-5a4a-c9ef-24758ccaa2bb@infradead.org>

Hello Randy, Tomasz,

On Tue, 22 Feb 2022 13:31:31 -0800,
Randy Dunlap wrote:
> Hi--
> 
> On 2/21/22 21:39, Randy Dunlap wrote:
>> Hi Tomasz,
>> 
>> On 2/18/22 10:16, Tomasz Warniełło wrote:
>>> This series transforms the free-form general comments - mainly the usage
>>> instructions and the meta information - into the standard Perl
>>> documentation format. Some of the original text is reduced out. And some
>>> is simply dropped.
>>>
>>> The transformation includes language, paragraphing and editorial
>>> corrections.
>>>
>>> The only change in the script execution flow is the replacement of the
>>> 'usage' function with the native standard Perl 'pod2usage'.
>>>
>>> The to-do suggestion to write POD found in the script is ancient, thus
>>> I can't address its author with a "Suggested-by" tag.
>>>
>>> This version follows the advice received on v3, except I'm leaving
>>> the old copyrights untouched.
>>>
>>> The process consists of 14 steps.
>>>
>>> Patches beginning with no 3 are disfunctional until no 9 has been
>>> applied.
>>>
>>> 1) Add the basic POD sections
>>> 2) Relink argument parsing error handling to pod2usage
>>>
>>> The following subseries is disfunctional before its last part.
>>>
>>> 3) Translate the DESCRIPTION section
>>> 4) Translate the "Output format selection" subsection of OPTIONS
>>> 5) Translate the "Output format selection modifier" subsection of OPTIONS
>>> 6) Translate the "Output selection" subsection of OPTIONS
>>> 7) Translate the "Output selection modifiers" subsection of OPTIONS
>>> 8) Translate the "Other parameters" subsection of OPTIONS
>>> 9) Replace the usage function
>>>     
>>> Here the DESCRIPTION and OPTIONS subseries is finished. The -h and -help
>>> parameters are handled by POD now.
>>>     
>>> 10) Drop obsolete comments
>>> 11) Refresh the copyright lines
>>>
>>> Let's see what's wrong this time.
>> 
>> This patch series looks good to me.
>> I'll do some testing with it now.
> 
> I did not encounter any problems in testing.
> 
> Tested-by: Randy Dunlap <rdunlap@infradead.org>
> Acked-by: Randy Dunlap <rdunlap@infradead.org>
> 
> Thanks.

Well, I half expected Randy would find a few issues in the series,
but seeing Randy's Acked-by, let me express my concerns.

I won't delve into the details of each patch, but just compare the
end result to the current behavior.

First of all, comparison of "./scripts/kernel-doc -h | wc -l":

    before: 46
    after:  93

Such a bloat in line counts looks pretty alarming to me.

Especially, added SYNOPSIS of

     kernel-doc [-h] [-v] [-Werror]

       [ -man |

         -rst [-sphinx-version VERSION] [-enable-lineno] |

         -none

       ]

       [

         -export |

         -internal |

         [-function NAME] ... |

         [-nosymbol NAME] ...

       ]

       [-no-doc-sections]

       [-export-file FILE] ...

       FILE ...


is hard to parse for me.
This might be an accurate representation of command arguments,
but it would take some time for me to see which combination of
argument works for my use case.

Let's see what "perl --help | head -n10" says:

    Usage: perl [switches] [--] [programfile] [arguments]

      -0[octal]         specify record separator (\0, if no argument)

      -a                autosplit mode with -n or -p (splits $_ into @F)

      -C[number/list]   enables the listed Unicode features

      -c                check syntax only (runs BEGIN and CHECK blocks)

      -d[:debugger]     run program under debugger

      -D[number/list]   set debugging flags (argument is a bit mask or alphabets)

      -e program        one line of program (several -e's allowed, omit programfile)

      -E program        like -e, but enables all optional features


The "Usage:" doesn't tell much about available switches, but as they are covered
immediately after, this is good enough.

"perl --help | wc -l" says: 33

Let's see one of the few scripts with POD documents: ./scripts/get_feat.pl.

"./scripts/get_feat.pl -h | head -n 5" says:

    Usage:

        get_feat.pl [--debug] [--man] [--help] [--dir=<dir>] [--arch=<arch>]

        [--feature=<feature>|--feat=<feature>] <COMAND> [<ARGUMENT>]



        Where <COMMAND> can be:


, which I can parse easily.

"./scripts/get_feat.pl -h | wc -l" says: 37

So my preference is to keep current free-form help text for the brevity. 
Nowadays, ./scripts/kernel-doc is mostly invoked by
Documentation/sphinx/kerneldoc.py.
I don't see much point for such a non-user-facing script having nice-looking
well-structured documentation in the first place.

For the record, let me add a random tag to this whole series:

Disliked-by: Akira Yokosawa <akiyks@gmail.com>

This is by all means a personal preference, so I don't mind if Jon applies
this series as is.

        Thanks, Akira

> 
>>> Tomasz Warniełło (11):
>>>   scripts: kernel-doc: Add the basic POD sections
>>>   scripts: kernel-doc: Relink argument parsing error handling to
>>>     pod2usage
>>>   scripts: kernel-doc: Translate the DESCRIPTION section
>>>   scripts: kernel-doc: Translate the "Output format selection"
>>>     subsection of OPTIONS
>>>   scripts: kernel-doc: Translate the "Output format selection modifier"
>>>     subsection of OPTIONS
>>>   scripts: kernel-doc: Translate the "Output selection" subsection of
>>>     OPTIONS
>>>   scripts: kernel-doc: Translate the "Output selection modifiers"
>>>     subsection of OPTIONS
>>>   scripts: kernel-doc: Translate the "Other parameters" subsection of
>>>     OPTIONS
>>>   scripts: kernel-doc: Replace the usage function
>>>   scripts: kernel-doc: Drop obsolete comments
>>>   scripts: kernel-doc: Refresh the copyright lines
>>>
>>>  scripts/kernel-doc | 347 +++++++++++++++++++++------------------------
>>>  1 file changed, 159 insertions(+), 188 deletions(-)
>>>
>>>
>>> base-commit: 2a987e65025e2b79c6d453b78cb5985ac6e5eb26
>> 
> 
> -- 
> ~Randy


  reply	other threads:[~2022-02-23  3:08 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-18 18:16 [PATCH v4 00/11] Transform documentation into POD Tomasz Warniełło
2022-02-18 18:16 ` [PATCH v4 01/11] scripts: kernel-doc: Add the basic POD sections Tomasz Warniełło
2022-02-22  6:10   ` Randy Dunlap
2022-02-22 21:27     ` Tomasz Warniełło
2022-02-18 18:16 ` [PATCH v4 02/11] scripts: kernel-doc: Relink argument parsing error handling to pod2usage Tomasz Warniełło
2022-02-18 18:16 ` [PATCH v4 03/11] scripts: kernel-doc: Translate the DESCRIPTION section Tomasz Warniełło
2022-02-18 18:16 ` [PATCH v4 04/11] scripts: kernel-doc: Translate the "Output format selection" subsection of OPTIONS Tomasz Warniełło
2022-02-18 18:16 ` [PATCH v4 05/11] scripts: kernel-doc: Translate the "Output format selection modifier" " Tomasz Warniełło
2022-02-18 18:16 ` [PATCH v4 06/11] scripts: kernel-doc: Translate the "Output selection" " Tomasz Warniełło
2022-02-18 18:16 ` [PATCH v4 07/11] scripts: kernel-doc: Translate the "Output selection modifiers" " Tomasz Warniełło
2022-02-18 18:16 ` [PATCH v4 08/11] scripts: kernel-doc: Translate the "Other parameters" " Tomasz Warniełło
2022-02-18 18:16 ` [PATCH v4 09/11] scripts: kernel-doc: Replace the usage function Tomasz Warniełło
2022-02-18 18:16 ` [PATCH v4 10/11] scripts: kernel-doc: Drop obsolete comments Tomasz Warniełło
2022-02-18 18:16 ` [PATCH v4 11/11] scripts: kernel-doc: Refresh the copyright lines Tomasz Warniełło
2022-02-22  5:39 ` [PATCH v4 00/11] Transform documentation into POD Randy Dunlap
2022-02-22 21:31   ` Randy Dunlap
2022-02-23  3:08     ` Akira Yokosawa [this message]
2022-02-23  3:17       ` Akira Yokosawa
2022-02-23 12:55         ` Tomasz Warniełło
2022-02-23 13:16           ` Akira Yokosawa
2022-02-23 14:04             ` Tomasz Warniełło
2022-02-24 18:42 ` Jonathan Corbet
2022-02-24 22:04   ` Tomasz Warniełło

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ff98f455-0221-7ff0-08ed-8dea9f08694b@gmail.com \
    --to=akiyks@gmail.com \
    --cc=corbet@lwn.net \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rdunlap@infradead.org \
    --cc=tomasz.warniello@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox