X-Received: by 2002:a17:90b:1e12:b0:1b9:d1e7:22ba with SMTP id pg18-20020a17090b1e1200b001b9d1e722bamr7695520pjb.128.1645598097220; Tue, 22 Feb 2022 22:34:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1645598097; cv=none; d=google.com; s=arc-20160816; b=d0uGYKadt2jwaut6nZUfqy7eOGaUn/RriXhH4oiLg7elrAiwshTT3iSMQvfiMsYQ8k fBDrCXPSJSMH1/qRcf+HkO39l1r3mPBxJNNzJb3o7IqjHWo6rXeRj3smNU8CwU6A+aj0 jAhpNdGHZt5/NvymwyIK4IMs/r2uvQu3nll8KlaV5Qei2nrhc4yifMBJGHJ3qsVDy25L uOtVCjaBJFIxqR3pswtlAhxLooNGa42tc4hIdN8qBKVzxig4lBwsMS+FPBMZckA3Y1Zb KpdJ+txFr0bJmAD9vFsMRHcWDAoGfP3DD7tR5JgcZ09+ey0sd0nGNCtY6ZxtwPJ7vSCO /RTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :content-language:subject:references:cc:to:user-agent:mime-version :date:message-id:dkim-signature; bh=lr/gOX9xgp0nq2qYu+zDnEx5Mljg5EzzT3crt0n0JOI=; b=vB5ZIV1+InIQ8myEMochRzWXJKeMGkENzmpTAm70OadDH5pxnl1DPM2fAIKBXS2wnv gbZSgJ/mrjSzXd85ub49YemoK3vuG5BS5kq3/DyRJfYJ8NGMIytM5ilMa4AsMkvp7T19 Si5cW94vgKEBD2nmlMwnLoGZO0mVCexiQ95blENXveMTzv01/FRRh8EmxZQz51GHtQj4 7zismDuyw5PLP/FQoVrgQBBWSm9lR1/1AkU0WqQfSqWmNY24GLaTReWRV2fTAFr7pdBo 5wAeij8G24+ya9pRFatmwYi6Fa2U5CPpomI9Fz9tBwyjD5j/8GbliGVUio/9amWvgCTS 3FXw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=RV7SIwuv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h7si12838875pfi.157.2022.02.22.22.34.41; Tue, 22 Feb 2022 22:34:57 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=RV7SIwuv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237817AbiBWDJI (ORCPT + 99 others); Tue, 22 Feb 2022 22:09:08 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50848 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231752AbiBWDJF (ORCPT ); Tue, 22 Feb 2022 22:09:05 -0500 Received: from mail-pf1-x42a.google.com (mail-pf1-x42a.google.com [IPv6:2607:f8b0:4864:20::42a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4743D4A917; Tue, 22 Feb 2022 19:08:39 -0800 (PST) Received: by mail-pf1-x42a.google.com with SMTP id i6so14010810pfc.9; Tue, 22 Feb 2022 19:08:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:date:mime-version:user-agent:to:cc:references:subject :content-language:from:in-reply-to:content-transfer-encoding; bh=lr/gOX9xgp0nq2qYu+zDnEx5Mljg5EzzT3crt0n0JOI=; b=RV7SIwuv5XMqCcLWETrWXwl0P9OCI/vI4lXp3wsCKDfkgNvR9GQ03TQHUfixkGJ5Z+ A2Wt768FNZnXGwjl50fQcSZ83zjPfl+QAmru2ZZAR/gl5/40/tS8gtiWYLCcuoDg/mND WSl7Gou7ZVppQeyCWnozOdkHRvbyKcovwQxl6Om0m7LhymXWY6vXvPhxlSGVhRyJYr9M Zv27Rl8kBFAPBYG/uiO/aEgya69XbbY6XlLCfJNOofOFpOkphtNWVAeTiD8G8+hpMn1/ ve/9UtH4nDe3mWOBcUOcUhGBxQxtCl9G8mZ7fPyAFcSmn/wEhhMUyDJKR0O1IbqhiDnl Wg5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:to:cc :references:subject:content-language:from:in-reply-to :content-transfer-encoding; bh=lr/gOX9xgp0nq2qYu+zDnEx5Mljg5EzzT3crt0n0JOI=; b=pSE0nZlcuDhpLX0SfoqcTgf4dJv4uB0XDMlCAucBqnWMwefYSguG+jMR8LadjML4F3 NG2dZm572Fgq42pqg/VHBMfsqmWqKgCNCdi3B3Ho/GYoJnaAHlxcySVKMwWPVwqFvmSu cV8piVvMP1QFLrqtHXYX+sHquJ41dgELbQvlKC2MhMIioM151xUbAQBjT5rX23Uqb3DE b4fVV4W7laiGfoKlobm+vAqOj2Nx1RehCSlMLwVHUMMHaA91dkTG6IVKKRmNVBXE7OGQ IfbxlBZn4k2DZemMfoaB8llnjLQQN1baR7p+ApaNi4yr1Av79FEybGreE51GJzDLsg/Y Nw0w== X-Gm-Message-State: AOAM5338bI2hCNj6turlKIQxhoeagZ6iXy9l/X2LjyRef1qh7u7ZtGJr JBVfwwK7ktXHWERCvgge/L4= X-Received: by 2002:a63:51:0:b0:372:8dda:4fa with SMTP id 78-20020a630051000000b003728dda04famr22588931pga.75.1645585718732; Tue, 22 Feb 2022 19:08:38 -0800 (PST) Received: from [192.168.11.5] (KD106167171201.ppp-bb.dion.ne.jp. [106.167.171.201]) by smtp.gmail.com with ESMTPSA id m11-20020a17090a3f8b00b001bc299e0aefsm1042164pjc.56.2022.02.22.19.08.36 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 22 Feb 2022 19:08:38 -0800 (PST) Message-ID: Date: Wed, 23 Feb 2022 12:08:35 +0900 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 To: Randy Dunlap , =?UTF-8?B?VG9tYXN6IFdhcm5pZcWCxYJv?= Cc: corbet@lwn.net, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, Akira Yokosawa References: <525f3696-91f4-5a4a-c9ef-24758ccaa2bb@infradead.org> Subject: Re: [PATCH v4 00/11] Transform documentation into POD Content-Language: en-US From: Akira Yokosawa In-Reply-To: <525f3696-91f4-5a4a-c9ef-24758ccaa2bb@infradead.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,NICE_REPLY_A, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello Randy, Tomasz, On Tue, 22 Feb 2022 13:31:31 -0800, Randy Dunlap wrote: > Hi-- >=20 > On 2/21/22 21:39, Randy Dunlap wrote: >> Hi Tomasz, >>=20 >> On 2/18/22 10:16, Tomasz Warnie=C5=82=C5=82o wrote: >>> This series transforms the free-form general comments - mainly the us= age >>> instructions and the meta information - into the standard Perl >>> documentation format. Some of the original text is reduced out. And s= ome >>> is simply dropped. >>> >>> The transformation includes language, paragraphing and editorial >>> corrections. >>> >>> The only change in the script execution flow is the replacement of th= e >>> 'usage' function with the native standard Perl 'pod2usage'. >>> >>> The to-do suggestion to write POD found in the script is ancient, thu= s >>> 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 OPT= IONS >>> 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 >>> =20 >>> Here the DESCRIPTION and OPTIONS subseries is finished. The -h and -h= elp >>> parameters are handled by POD now. >>> =20 >>> 10) Drop obsolete comments >>> 11) Refresh the copyright lines >>> >>> Let's see what's wrong this time. >>=20 >> This patch series looks good to me. >> I'll do some testing with it now. >=20 > I did not encounter any problems in testing. >=20 > Tested-by: Randy Dunlap > Acked-by: Randy Dunlap >=20 > 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 al= phabets) -e program one line of program (several -e's allowed, omit p= rogramfile) -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.p= l. "./scripts/get_feat.pl -h | head -n 5" says: Usage: get_feat.pl [--debug] [--man] [--help] [--dir=3D] [--arch=3D= ] [--feature=3D|--feat=3D] [] Where 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-look= ing well-structured documentation in the first place. For the record, let me add a random tag to this whole series: Disliked-by: Akira Yokosawa This is by all means a personal preference, so I don't mind if Jon applie= s this series as is. Thanks, Akira >=20 >>> Tomasz Warnie=C5=82=C5=82o (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 modifie= r" >>> 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 >>=20 >=20 > --=20 > ~Randy