GNU bug report logs - #29617
seq: `seq 1 --help' doesn't give help

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: coreutils; Reported by: chadweisman@HIDDEN; Keywords: confirmed patch; dated Fri, 8 Dec 2017 17:45:01 UTC; Maintainer for coreutils is bug-coreutils@HIDDEN.
Changed bug title to 'seq: `seq 1 --help' doesn't give help' from '`seq 1 --help' doesn't give help' Request was from Assaf Gordon <assafgordon@HIDDEN> to control <at> debbugs.gnu.org. Full text available.
Added tag(s) confirmed and patch. Request was from Assaf Gordon <assafgordon@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 20 Feb 2018 01:43:02 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 19 20:43:02 2018
Received: from localhost ([127.0.0.1]:51936 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1enwxS-0004aF-DC
	for submit <at> debbugs.gnu.org; Mon, 19 Feb 2018 20:43:02 -0500
Received: from eggs.gnu.org ([208.118.235.92]:41416)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <chadweisman@HIDDEN>) id 1enwxR-0004Zi-EY
 for submit <at> debbugs.gnu.org; Mon, 19 Feb 2018 20:43:02 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <chadweisman@HIDDEN>) id 1enwxK-0005a7-Tp
 for submit <at> debbugs.gnu.org; Mon, 19 Feb 2018 20:42:56 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,T_DKIM_INVALID
 autolearn=disabled version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:46011)
 by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32)
 (Exim 4.71) (envelope-from <chadweisman@HIDDEN>)
 id 1enwxK-0005Zp-OD
 for submit <at> debbugs.gnu.org; Mon, 19 Feb 2018 20:42:54 -0500
Received: from eggs.gnu.org ([2001:4830:134:3::10]:60608)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <chadweisman@HIDDEN>) id 1enwxJ-0007Oj-9w
 for bug-coreutils@HIDDEN; Mon, 19 Feb 2018 20:42:54 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <chadweisman@HIDDEN>) id 1enwxF-0005XO-6k
 for bug-coreutils@HIDDEN; Mon, 19 Feb 2018 20:42:53 -0500
Received: from smtp3.hushmail.com ([65.39.178.200]:43112)
 by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)
 (Exim 4.71) (envelope-from <chadweisman@HIDDEN>)
 id 1enwxE-0005WW-PM
 for bug-coreutils@HIDDEN; Mon, 19 Feb 2018 20:42:49 -0500
Received: from smtp3.hushmail.com (localhost [127.0.0.1])
 by smtp3.hushmail.com (Postfix) with SMTP id E7187E0906
 for <bug-coreutils@HIDDEN>; Tue, 20 Feb 2018 01:42:45 +0000 (UTC)
X-hush-tls-connected: 1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=hushmail.com;
 h=date:to:subject:from; s=hush;
 bh=o6tDLTrHwTajtebos2QpXfaO0apTkSRQL07Tji5y70U=;
 b=SKG4kjEdFdS6uuGN+OA7G0XSbTZVg7UF/BxuvfLRFufsTLOc45Q+pj3+Zy6Tnkfdc26edVb1HXxjxijMxUI7N5/VTqsBR8b3kkCuLXLNVEAqVPq6Opho9YWL6hfk6rR83MxKx875in8Y1Gw1R15JJaVOuPMDyUXRBQaOnCM2MAHbyZrJ9KpeMZlQb2OTmg4/kQ8S+qgKyTLmNUSz//XBm+DIt/tgdZoDCxcFmM0b5AHFCoWuDveQPOjmPUoJl72UL9C0nQvyv4d1gavIv448WVh52tWeKRp5E+GuLP+e/5K8BjTx6o6hD9i4n+49gSl/Be4UunA70y7ZC6DG4BlDnw==
Received: from smtp.hushmail.com (w3.hushmail.com [65.39.178.62])
 (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by smtp3.hushmail.com (Postfix) with ESMTPS;
 Tue, 20 Feb 2018 01:42:45 +0000 (UTC)
Received: by smtp.hushmail.com (Postfix, from userid 99)
 id 237C3C04F4; Tue, 20 Feb 2018 01:42:45 +0000 (UTC)
MIME-Version: 1.0
Date: Mon, 19 Feb 2018 20:42:44 -0500
To: "=?UTF-8?B?UMOhZHJhaWcgQnJhZHk=?=" <p@HIDDEN>,
 bug-coreutils@HIDDEN
Subject: Re: bug#29617: `seq 1 --help' doesn't give help
From: chadweisman@HIDDEN
In-Reply-To: <72e833da-2c91-8be1-33c6-c92925587317@HIDDEN>
References: <20171208173823.7BEF6C055F@HIDDEN>
 <20180218184125.BB134C04F4@HIDDEN>
 <72e833da-2c91-8be1-33c6-c92925587317@HIDDEN> 
Content-Type: multipart/mixed;
	boundary="=_91380d07c4023e02ff84840192f8cd8f"
Message-Id: <20180220014245.237C3C04F4@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy]
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -4.1 (----)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -4.1 (----)

--=_91380d07c4023e02ff84840192f8cd8f
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="UTF-8"



On 2/19/2018 at 8:35 PM, "Pádraig Brady" <P@HIDDEN> wrote:
>
>On 18/02/18 10:41, chadweisman@HIDDEN wrote:
>> 
>>> On 12/08/2017 11:38 AM, Eric B wrote:
>>>> Hello,
>>>>
>>>> I am using coreutils version 8.27 on Fedora, and I don't see 
>this fixed in 
>>>> 8.28's NEWS.
>>>>
>>>> $ seq 1 --help
>>>> seq: invalid floating point argument: ‘--help’
>>>> Try 'seq --help' for more information.
>> 
>>> Interesting bug!
>> 
>>>>
>>>> We should be able to put the options anywhere and not 
>necessarily before any 
>>>> arguments.
>> 
>>> Yes, when possible.
>> 
>>>> And even if not (e.g. POSIX conformance overrides,)
>> 
>>> POSIX does say you have to write 'foo -- --help' if you want to
>>> guarantee that --help is treated as a literal argument rather 
>than
>>> option, but it also says that the moment you specify '--help' 
>(or any
>>> other parameter starting with two dashes without the -- end-of-
>options
>>> parameter), you are already in undefined territory.  So we can 
>do
>>> whatever we want when encountering '--help' - which is part of 
>the
>>> reason WHY the GNU project prefers making 'foo args --help' 
>print help
>>> output where possible.
>> 
>>>> --help should be handled specially to conform to the GNU 
>coding standards. [1]
>> 
>>> Yes.
>> 
>>> But the reason that it fails is because we use getopt_long(...,
>>> "+f:s:w") - where the leading '+' specifically requests that we 
>NOT
>>> allow option reordering.  Why? Because 'seq' is MOST useful if 
>it can
>>> parse negative numbers easily.  We deemed it more important to 
>support
>>> 'seq 2 -1 1' without requiring the user to write 'seq -- 2 -1 
>1' - but
>>> in doing so, it also means that we can't reorder options, so 
>any obvious
>>> non-option (like '1' in your example) makes all other parameters
>>> non-options (including '--help' in your example).
>> 
>>> It might be possible to do a two-pass parse over argv: one that 
>looks
>>> just for --help (and where treating -1 as an option is a no-
>op), and the
>>> second that actually parses things in order now that it knows --
>help is
>>> not present.  But that's a lot of code to add for a corner 
>case, so I
>>> won't be writing the patch; but I also won't turn it down if 
>someone
>>> else wants to write the patch.
>> 
>> Hello,
>> 
>> I've taken a stab at fixing this problem because it affects me 
>fairly often.
>> 
>> Instead of using a two-pass system, I check if any of the args 
>we scan are --help or --version and bail if we see either.  See 
>attached patch.
>> 
>> The bad side of this approach is that the -f, -s, and -w options 
>and their associated long options aren't handled so `seq 1 -w 2 
>10` still shows an error.  Also, it's a kludgy sort of fix, so I 
>completely understand why you wouldn't want to include it.  But at 
>least it's a step in the right direction to give help when we can 
>instead of an error.
>> 
>> Chad
>> 
>
>Thanks for looking at this again.
>You attached the wrong patch.
>

Wow, did I ever!  Sorry for that.

>A helper function to prescan argv to look for --help and call 
>usage()
>or --version and call version_etc(), while bailing itself
>if it encounters '--', does seem useful to have in seq.
>Though note it probably shouldn't support abbreviations like --h 
>etc.
>
>BTW other commands that use '+' with getopt() to exist option
>processing early are tr, basename, pathchk, printf.
>Though all those could interpret --option as a valid argument
>and so wouldn't be appropriate to treat like this.
>Likewise for all the commands the exec, like chroot, env, ...
>as --options are very often passed to the delegate commands.
>

I also tried a two-pass approach but it ended up being pretty messy.  I can't help but think using argp would make this particular problem easier to handle.

Chad
--=_91380d07c4023e02ff84840192f8cd8f
Content-Transfer-Encoding: base64
Content-Type: application/octet-stream;
 name="coreutils-seq.patch"; 
Content-Disposition: attachment;
 filename="coreutils-seq.patch"; 

ZGlmZiAtLWdpdCBhL3NyYy9zZXEuYyBiL3NyYy9zZXEuYwppbmRleCA4MWJiOWZiZTYuLjcwMWQ4
N2Q5MiAxMDA2NDQKLS0tIGEvc3JjL3NlcS5jCisrKyBiL3NyYy9zZXEuYwpAQCAtMTQyLDYgKzE0
MiwxOSBAQCBzY2FuX2FyZyAoY29uc3QgY2hhciAqYXJnKQogewogICBvcGVyYW5kIHJldDsKIAor
ICAvKiBCYWlsIGVhcmx5IGlmIHdlIGVuY291bnRlciAtLWhlbHAgb3IgLS12ZXJzaW9uICovCisg
IGludCB6ID0gc2l6ZW9mIChsb25nX29wdGlvbnMpIC8gc2l6ZW9mIChzdHJ1Y3Qgb3B0aW9uKSAt
IDI7CisgIGludCB5ID0geiAtIDE7CisgIGlmICghc3RybmNtcCAoYXJnLCAiLS0iLCAyKSAmJiAh
c3RyY21wICgmYXJnWzJdLCBsb25nX29wdGlvbnNbeV0ubmFtZSkpCisgICAgdXNhZ2UgKEVYSVRf
U1VDQ0VTUyk7CisgIGlmICghc3RybmNtcCAoYXJnLCAiLS0iLCAyKSAmJiAhc3RyY21wICgmYXJn
WzJdLCBsb25nX29wdGlvbnNbel0ubmFtZSkpCisgICAgeworICAgICAgc3dpdGNoIChsb25nX29w
dGlvbnNbel0udmFsKQorICAgICAgICB7CisgICAgICAgICAgY2FzZV9HRVRPUFRfVkVSU0lPTl9D
SEFSIChQUk9HUkFNX05BTUUsIEFVVEhPUlMpOworICAgICAgICB9CisgICAgfQorCiAgIGlmICgh
IHhzdHJ0b2xkIChhcmcsIE5VTEwsICZyZXQudmFsdWUsIGNfc3RydG9sZCkpCiAgICAgewogICAg
ICAgZXJyb3IgKDAsIDAsIF8oImludmFsaWQgZmxvYXRpbmcgcG9pbnQgYXJndW1lbnQ6ICVzIiks
IHF1b3RlIChhcmcpKTsK
--=_91380d07c4023e02ff84840192f8cd8f--





Information forwarded to bug-coreutils@HIDDEN:
bug#29617; Package coreutils. Full text available.

Message received at 29617 <at> debbugs.gnu.org:


Received: (at 29617) by debbugs.gnu.org; 20 Feb 2018 01:35:10 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 19 20:35:10 2018
Received: from localhost ([127.0.0.1]:51931 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1enwpq-0004Oy-Gf
	for submit <at> debbugs.gnu.org; Mon, 19 Feb 2018 20:35:10 -0500
Received: from mail.magicbluesmoke.com ([82.195.144.49]:41910)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <P@HIDDEN>) id 1enwpn-0004Op-Lq
 for 29617 <at> debbugs.gnu.org; Mon, 19 Feb 2018 20:35:08 -0500
Received: from localhost.localdomain (unknown [76.21.115.186])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mail.magicbluesmoke.com (Postfix) with ESMTPSA id 1937D94FB;
 Tue, 20 Feb 2018 01:35:05 +0000 (GMT)
Subject: Re: bug#29617: `seq 1 --help' doesn't give help
To: chadweisman@HIDDEN, 29617 <at> debbugs.gnu.org
References: <20171208173823.7BEF6C055F@HIDDEN>
 <20180218184125.BB134C04F4@HIDDEN>
From: =?UTF-8?Q?P=c3=a1draig_Brady?= <P@HIDDEN>
Message-ID: <72e833da-2c91-8be1-33c6-c92925587317@HIDDEN>
Date: Mon, 19 Feb 2018 17:35:03 -0800
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101
 Thunderbird/45.8.0
MIME-Version: 1.0
In-Reply-To: <20180218184125.BB134C04F4@HIDDEN>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 29617
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 0.0 (/)

On 18/02/18 10:41, chadweisman@HIDDEN wrote:
> 
>> On 12/08/2017 11:38 AM, Eric B wrote:
>>> Hello,
>>>
>>> I am using coreutils version 8.27 on Fedora, and I don't see this fixed in 
>>> 8.28's NEWS.
>>>
>>> $ seq 1 --help
>>> seq: invalid floating point argument: ‘--help’
>>> Try 'seq --help' for more information.
> 
>> Interesting bug!
> 
>>>
>>> We should be able to put the options anywhere and not necessarily before any 
>>> arguments.
> 
>> Yes, when possible.
> 
>>> And even if not (e.g. POSIX conformance overrides,)
> 
>> POSIX does say you have to write 'foo -- --help' if you want to
>> guarantee that --help is treated as a literal argument rather than
>> option, but it also says that the moment you specify '--help' (or any
>> other parameter starting with two dashes without the -- end-of-options
>> parameter), you are already in undefined territory.  So we can do
>> whatever we want when encountering '--help' - which is part of the
>> reason WHY the GNU project prefers making 'foo args --help' print help
>> output where possible.
> 
>>> --help should be handled specially to conform to the GNU coding standards. [1]
> 
>> Yes.
> 
>> But the reason that it fails is because we use getopt_long(...,
>> "+f:s:w") - where the leading '+' specifically requests that we NOT
>> allow option reordering.  Why? Because 'seq' is MOST useful if it can
>> parse negative numbers easily.  We deemed it more important to support
>> 'seq 2 -1 1' without requiring the user to write 'seq -- 2 -1 1' - but
>> in doing so, it also means that we can't reorder options, so any obvious
>> non-option (like '1' in your example) makes all other parameters
>> non-options (including '--help' in your example).
> 
>> It might be possible to do a two-pass parse over argv: one that looks
>> just for --help (and where treating -1 as an option is a no-op), and the
>> second that actually parses things in order now that it knows --help is
>> not present.  But that's a lot of code to add for a corner case, so I
>> won't be writing the patch; but I also won't turn it down if someone
>> else wants to write the patch.
> 
> Hello,
> 
> I've taken a stab at fixing this problem because it affects me fairly often.
> 
> Instead of using a two-pass system, I check if any of the args we scan are --help or --version and bail if we see either.  See attached patch.
> 
> The bad side of this approach is that the -f, -s, and -w options and their associated long options aren't handled so `seq 1 -w 2 10` still shows an error.  Also, it's a kludgy sort of fix, so I completely understand why you wouldn't want to include it.  But at least it's a step in the right direction to give help when we can instead of an error.
> 
> Chad
> 

Thanks for looking at this again.
You attached the wrong patch.

A helper function to prescan argv to look for --help and call usage()
or --version and call version_etc(), while bailing itself
if it encounters '--', does seem useful to have in seq.
Though note it probably shouldn't support abbreviations like --h etc.

BTW other commands that use '+' with getopt() to exist option
processing early are tr, basename, pathchk, printf.
Though all those could interpret --option as a valid argument
and so wouldn't be appropriate to treat like this.
Likewise for all the commands the exec, like chroot, env, ...
as --options are very often passed to the delegate commands.

cheers,
Pádraig.




Information forwarded to bug-coreutils@HIDDEN:
bug#29617; Package coreutils. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 18 Feb 2018 18:41:45 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Feb 18 13:41:45 2018
Received: from localhost ([127.0.0.1]:50134 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1enTuD-0001Bb-Io
	for submit <at> debbugs.gnu.org; Sun, 18 Feb 2018 13:41:45 -0500
Received: from eggs.gnu.org ([208.118.235.92]:47460)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <chadweisman@HIDDEN>) id 1enTuB-0001BO-UN
 for submit <at> debbugs.gnu.org; Sun, 18 Feb 2018 13:41:44 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <chadweisman@HIDDEN>) id 1enTu5-0000TB-Jt
 for submit <at> debbugs.gnu.org; Sun, 18 Feb 2018 13:41:38 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,T_DKIM_INVALID
 autolearn=disabled version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:45316)
 by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32)
 (Exim 4.71) (envelope-from <chadweisman@HIDDEN>)
 id 1enTu5-0000T7-68
 for submit <at> debbugs.gnu.org; Sun, 18 Feb 2018 13:41:37 -0500
Received: from eggs.gnu.org ([2001:4830:134:3::10]:38419)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <chadweisman@HIDDEN>) id 1enTu2-0005rg-HW
 for bug-coreutils@HIDDEN; Sun, 18 Feb 2018 13:41:36 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <chadweisman@HIDDEN>) id 1enTty-0000RD-KD
 for bug-coreutils@HIDDEN; Sun, 18 Feb 2018 13:41:34 -0500
Received: from smtp1.hushmail.com ([65.39.178.135]:55226)
 by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)
 (Exim 4.71) (envelope-from <chadweisman@HIDDEN>)
 id 1enTty-0000Q7-2W
 for bug-coreutils@HIDDEN; Sun, 18 Feb 2018 13:41:30 -0500
Received: from smtp1.hushmail.com (localhost [127.0.0.1])
 by smtp1.hushmail.com (Postfix) with SMTP id 67FE3408E6
 for <bug-coreutils@HIDDEN>; Sun, 18 Feb 2018 18:41:26 +0000 (UTC)
X-hush-tls-connected: 1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=hushmail.com;
 h=date:to:subject:from; s=hush;
 bh=6kjxl/Rj3FzdmueJq/+XAMG3s+92b/57Aa+BVK2EAao=;
 b=pFWcJoCtMf4aem6AzQQosXTPmyMp9mCx2I2CDyCt+dLukpKqnQdjc5OAwfTPSe5/CTp/pVi35pKjj+7cTjREuRrQmdNDgku7D+oii1fSWHpVbh9nrup35GHaEmIFsKGcNnw0WkFOx3TBTSU/GazsbNmxHkRGZqS5/iKitFN7bJv7km+PQEWperK7fH6xT0RNbxnZQCFeIKZ4OzI9B1hFZoxYBaqtxyOxSq/ZYqZqwAsWRQiJqVrd1B8kOri+mxlMBtpRh7lRZYRUSAMmefJMc3lnxdmbLetmfWvGrkXDH1jANt0lCGxDOvhTxlnGPSeVsmNOe3AMCHNiNnvNyZ+y6A==
Received: from smtp.hushmail.com (w3.hushmail.com [65.39.178.62])
 (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by smtp1.hushmail.com (Postfix) with ESMTPS
 for <bug-coreutils@HIDDEN>; Sun, 18 Feb 2018 18:41:25 +0000 (UTC)
Received: by smtp.hushmail.com (Postfix, from userid 99)
 id BB134C04F4; Sun, 18 Feb 2018 18:41:25 +0000 (UTC)
MIME-Version: 1.0
Date: Sun, 18 Feb 2018 13:41:25 -0500
To: bug-coreutils@HIDDEN
Subject: Re: bug#29617: `seq 1 --help' doesn't give help
From: chadweisman@HIDDEN
Content-Type: multipart/mixed;
	boundary="=_9dfd592f53a338c1be49ca58d4e7f801"
Message-Id: <20180218184125.BB134C04F4@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy]
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -4.1 (----)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -4.1 (----)

--=_9dfd592f53a338c1be49ca58d4e7f801
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="UTF-8"


> On 12/08/2017 11:38 AM, Eric B wrote:
> > Hello,
> > 
> > I am using coreutils version 8.27 on Fedora, and I don't see this fixed in 
> > 8.28's NEWS.
> > 
> > $ seq 1 --help
> > seq: invalid floating point argument: ‘--help’
> > Try 'seq --help' for more information.

> Interesting bug!

> > 
> > We should be able to put the options anywhere and not necessarily before any 
> > arguments.

> Yes, when possible.

> > And even if not (e.g. POSIX conformance overrides,)

> POSIX does say you have to write 'foo -- --help' if you want to
> guarantee that --help is treated as a literal argument rather than
> option, but it also says that the moment you specify '--help' (or any
> other parameter starting with two dashes without the -- end-of-options
> parameter), you are already in undefined territory.  So we can do
> whatever we want when encountering '--help' - which is part of the
> reason WHY the GNU project prefers making 'foo args --help' print help
> output where possible.

> > --help should be handled specially to conform to the GNU coding standards. [1]

> Yes.

> But the reason that it fails is because we use getopt_long(...,
> "+f:s:w") - where the leading '+' specifically requests that we NOT
> allow option reordering.  Why? Because 'seq' is MOST useful if it can
> parse negative numbers easily.  We deemed it more important to support
> 'seq 2 -1 1' without requiring the user to write 'seq -- 2 -1 1' - but
> in doing so, it also means that we can't reorder options, so any obvious
> non-option (like '1' in your example) makes all other parameters
> non-options (including '--help' in your example).

> It might be possible to do a two-pass parse over argv: one that looks
> just for --help (and where treating -1 as an option is a no-op), and the
> second that actually parses things in order now that it knows --help is
> not present.  But that's a lot of code to add for a corner case, so I
> won't be writing the patch; but I also won't turn it down if someone
> else wants to write the patch.

Hello,

I've taken a stab at fixing this problem because it affects me fairly often.

Instead of using a two-pass system, I check if any of the args we scan are --help or --version and bail if we see either.  See attached patch.

The bad side of this approach is that the -f, -s, and -w options and their associated long options aren't handled so `seq 1 -w 2 10` still shows an error.  Also, it's a kludgy sort of fix, so I completely understand why you wouldn't want to include it.  But at least it's a step in the right direction to give help when we can instead of an error.

Chad
--=_9dfd592f53a338c1be49ca58d4e7f801
Content-Transfer-Encoding: base64
Content-Type: application/octet-stream;
 name="coreutils-seq-bug-29617.patch"; 
Content-Disposition: attachment;
 filename="coreutils-seq-bug-29617.patch"; 

ZGlmZiAtLWdpdCBhL3NyYy9jb3JldXRpbHMuYyBiL3NyYy9jb3JldXRpbHMuYwppbmRleCBlYTRk
N2VhNGIuLmVkYThjOTM0OCAxMDA2NDQKLS0tIGEvc3JjL2NvcmV1dGlscy5jCisrKyBiL3NyYy9j
b3JldXRpbHMuYwpAQCAtMTI4LDcgKzEyOCw3IEBAIGxhdW5jaF9wcm9ncmFtIChjb25zdCBjaGFy
ICpwcm9nX25hbWUsIGludCBwcm9nX2FyZ2MsIGNoYXIgKipwcm9nX2FyZ3YpCiB9CiAKIGludAot
bWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorY29yZXV0aWxzX21haW4gKGludCBhcmdjLCBj
aGFyICoqYXJndikKIHsKICAgY2hhciAqcHJvZ19uYW1lID0gbGFzdF9jb21wb25lbnQgKGFyZ3Zb
MF0pOwogICBpbnQgb3B0YzsKZGlmZiAtLWdpdCBhL3NyYy9sb2NhbC5tayBiL3NyYy9sb2NhbC5t
awpvbGQgbW9kZSAxMDA2NDQKbmV3IG1vZGUgMTAwNzU1CmluZGV4IDRlOGNiZjk4ZS4uNWFmM2Nm
ZDgyCi0tLSBhL3NyYy9sb2NhbC5taworKysgYi9zcmMvbG9jYWwubWsKQEAgLTEsNjYyICsxIEBA
Ci0jIE1ha2UgY29yZXV0aWxzIHByb2dyYW1zLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
LSotTWFrZWZpbGUtKi0KLSMgVGhpcyBpcyBpbmNsdWRlZCBieSB0aGUgdG9wLWxldmVsIE1ha2Vm
aWxlLmFtLgotCi0jIyBDb3B5cmlnaHQgKEMpIDE5OTAtMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4KLQotIyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSMjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0jIyB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBv
cgotIyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSMjCi0jIyBUaGlzIHBy
b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
LSMjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCi0jIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlCi0jIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y
ZSBkZXRhaWxzLgotIyMKLSMjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0jIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4g
IElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0KLSMgRklYTUU6
IG9uY2UgbGliLyBhbmQgZ251bGliLXRlc3RzLyBhcmUgYWxzbyBjb252ZXJ0ZWQsIGhvaXN0IHRv
IE1ha2VmaWxlLmFtCi1BTV9DRkxBR1MgPSAkKFdFUlJPUl9DRkxBR1MpCi0KLSMgVGhlIGxpc3Qg
b2YgYWxsIHByb2dyYW1zIChzZXBhcmF0ZWQgaW4gZGlmZmVyZW50IHZhcmlhYmxlcyB0byBleHBy
ZXNzCi0jIHRoZSBob3cgYW5kIHdoZW4gdGhleSBzaG91bGQgYmUgaW5zdGFsbGVkKSBpcyBkZWZp
bmVkIGluIHRoaXMgbWFrZWZpbGUKLSMgZnJhZ21lbnQsIGF1dG9nZW5lcmF0ZWQgYnkgdGhlICdn
ZW4tbGlzdHMtb2YtcHJvZ3JhbXMuc2gnIGF1eGlsaWFyeQotIyBzY3JpcHQuCi1pbmNsdWRlICQo
c3JjZGlyKS9zcmMvY3UtcHJvZ3MubWsKLQotRVhUUkFfUFJPR1JBTVMgPSBcCi0gICAkKG5vX2lu
c3RhbGxfX3Byb2dzKSBcCi0gICAkKGJ1aWxkX2lmX3Bvc3NpYmxlX19wcm9ncykgXAotICAgJChk
ZWZhdWx0X19wcm9ncykKLQotIyBUaGUgdXNlciBjYW4gdHdlYWsgdGhlc2UgbGlzdHMgYXQgY29u
ZmlndXJlIHRpbWUuCi1iaW5fUFJPR1JBTVMgPSBAYmluX1BST0dSQU1TQAotcGtnbGliZXhlY19Q
Uk9HUkFNUyA9IEBwa2dsaWJleGVjX1BST0dSQU1TQAotCi0jIE5lZWRlZCBieSB0aGUgdGVzdHN1
aXRlLgotbm9pbnN0X1BST0dSQU1TID0JCVwKLSAgc3JjL2dldGxpbWl0cwkJCVwKLSAgc3JjL21h
a2UtcHJpbWUtbGlzdAotCi1ub2luc3RfSEVBREVSUyA9CQlcCi0gIHNyYy9jaG93bi1jb3JlLmgJ
CVwKLSAgc3JjL2NvcHkuaAkJCVwKLSAgc3JjL2NwLWhhc2guaAkJCVwKLSAgc3JjL2RpZS5oCQkJ
XAotICBzcmMvZGlyY29sb3JzLmgJCVwKLSAgc3JjL2V4cGFuZC1jb21tb24uaAkJXAotICBzcmMv
ZmllbWFwLmgJCQlcCi0gIHNyYy9maW5kLW1vdW50LXBvaW50LmgJXAotICBzcmMvZnMuaAkJCVwK
LSAgc3JjL2ZzLWlzLWxvY2FsLmgJCVwKLSAgc3JjL2dyb3VwLWxpc3QuaAkJXAotICBzcmMvaW9i
bGtzaXplLmgJCVwKLSAgc3JjL2xvbmdsb25nLmgJCVwKLSAgc3JjL2xzLmgJCQlcCi0gIHNyYy9v
cGVyYW5kMnNpZy5oCQlcCi0gIHNyYy9wcm9nLWZwcmludGYuaAkJXAotICBzcmMvcmVtb3ZlLmgJ
CQlcCi0gIHNyYy9zZXQtZmllbGRzLmgJCVwKLSAgc3JjL3N5c3RlbS5oCQkJXAotICBzcmMvdW5h
bWUuaAotCi1FWFRSQV9ESVNUICs9CQlcCi0gIHNyYy9kY2dlbgkJXAotICBzcmMvZGlyY29sb3Jz
LmhpbglcCi0gIHNyYy9wcmltZXMuaAkJXAotICBzcmMvdGFjLXBpcGUuYwlcCi0gIHNyYy9leHRy
YWN0LW1hZ2ljCi0KLUNMRUFORklMRVMgKz0gJChTQ1JJUFRTKQotCi0jIEFsc28gcmVtb3ZlIHRo
ZXNlIHNvbWV0aW1lcy1idWlsdCBwcm9ncmFtcy4KLSMgRm9yIGV4YW1wbGUsIGV2ZW4gd2hlbiBl
eGNsdWRlZCwgdGhleSdyZSBidWlsdCB2aWEgJ3NjX2NoZWNrLUFVVEhPUlMnCi0jIG9yICdkaXN0
Jy4KLUNMRUFORklMRVMgKz0gJChub19pbnN0YWxsX19wcm9ncykKLQotbm9pbnN0X0xJQlJBUklF
UyArPSBzcmMvbGlidmVyLmEKLW5vZGlzdF9zcmNfbGlidmVyX2FfU09VUkNFUyA9IHNyYy92ZXJz
aW9uLmMgc3JjL3ZlcnNpb24uaAotCi0jIFRlbGwgdGhlIGxpbmtlciB0byBvbWl0IHJlZmVyZW5j
ZXMgdG8gdW51c2VkIHNoYXJlZCBsaWJyYXJpZXMuCi1BTV9MREZMQUdTID0gJChJR05PUkVfVU5V
U0VEX0xJQlJBUklFU19DRkxBR1MpCi0KLSMgRXh0cmEgbGlicmFyaWVzIG5lZWRlZCBieSBtb3Jl
IHRoYW4gb25lIHByb2dyYW0uICBXaWxsIGJlIHVwZGF0ZWQgbGF0ZXIuCi1jb3B5X2xkYWRkID0K
LXJlbW92ZV9sZGFkZCA9Ci0KLSMgU29tZXRpbWVzLCB0aGUgZXhwYW5zaW9uIG9mICQoTElCSU5U
TCkgaW5jbHVkZXMgLWxjIHdoaWNoIG1heQotIyBpbmNsdWRlIG1vZHVsZXMgZGVmaW5pbmcgdmFy
aWFibGVzIGxpa2UgJ29wdGluZCcsIHNvIGxpYmNvcmV1dGlscy5hCi0jIG11c3QgcHJlY2VkZSAk
KExJQklOVEwpIGluIG9yZGVyIHRvIGVuc3VyZSB3ZSB1c2UgR05VIGdldG9wdC4KLSMgQnV0IGxp
YmNvcmV1dGlscy5hIG11c3QgYWxzbyBmb2xsb3cgJChMSUJJTlRMKSwgc2luY2UgbGliaW50bCB1
c2VzCi0jIHJlcGxhY2VtZW50IGZ1bmN0aW9ucyBkZWZpbmVkIGluIGxpYmNvcmV1dGlscy5hLgot
TERBREQgPSBzcmMvbGlidmVyLmEgbGliL2xpYmNvcmV1dGlscy5hICQoTElCSU5UTCkgbGliL2xp
YmNvcmV1dGlscy5hCi0KLSMgRmlyc3QsIGxpc3QgYWxsIHByb2dyYW1zLCB0byBtYWtlIGxpc3Rp
bmcgcGVyLXByb2dyYW0gbGlicmFyaWVzIGVhc2llci4KLSMgU2VlIFsgYmVsb3cuCi1zcmNfYXJj
aF9MREFERCA9ICQoTERBREQpCi1zcmNfYmFzZTY0X0xEQUREID0gJChMREFERCkKLXNyY19iYXNl
MzJfTERBREQgPSAkKExEQUREKQotc3JjX2Jhc2VuYW1lX0xEQUREID0gJChMREFERCkKLXNyY19j
YXRfTERBREQgPSAkKExEQUREKQotc3JjX2NoY29uX0xEQUREID0gJChMREFERCkKLXNyY19jaGdy
cF9MREFERCA9ICQoTERBREQpCi1zcmNfY2htb2RfTERBREQgPSAkKExEQUREKQotc3JjX2Nob3du
X0xEQUREID0gJChMREFERCkKLXNyY19jaHJvb3RfTERBREQgPSAkKExEQUREKQotc3JjX2Nrc3Vt
X0xEQUREID0gJChMREFERCkKLXNyY19jb21tX0xEQUREID0gJChMREFERCkKLXNyY19ucHJvY19M
REFERCA9ICQoTERBREQpCi1zcmNfY3BfTERBREQgPSAkKExEQUREKQotaWYgIVNJTkdMRV9CSU5B
UlkKLXNyY19jb3JldXRpbHNfTERBREQgPSAkKExEQUREKQotZW5kaWYKLXNyY19jc3BsaXRfTERB
REQgPSAkKExEQUREKQotc3JjX2N1dF9MREFERCA9ICQoTERBREQpCi1zcmNfZGF0ZV9MREFERCA9
ICQoTERBREQpCi1zcmNfZGRfTERBREQgPSAkKExEQUREKQotc3JjX2RmX0xEQUREID0gJChMREFE
RCkKLSMgU2VlIGRpcl9MREFERCBiZWxvdwotc3JjX2RpcmNvbG9yc19MREFERCA9ICQoTERBREQp
Ci1zcmNfZGlybmFtZV9MREFERCA9ICQoTERBREQpCi1zcmNfZHVfTERBREQgPSAkKExEQUREKQot
c3JjX2VjaG9fTERBREQgPSAkKExEQUREKQotc3JjX2Vudl9MREFERCA9ICQoTERBREQpCi1zcmNf
ZXhwYW5kX0xEQUREID0gJChMREFERCkKLXNyY19leHByX0xEQUREID0gJChMREFERCkKLXNyY19m
YWN0b3JfTERBREQgPSAkKExEQUREKQotc3JjX2ZhbHNlX0xEQUREID0gJChMREFERCkKLXNyY19m
bXRfTERBREQgPSAkKExEQUREKQotc3JjX2ZvbGRfTERBREQgPSAkKExEQUREKQotc3JjX2dldGxp
bWl0c19MREFERCA9ICQoTERBREQpCi1zcmNfZ2luc3RhbGxfTERBREQgPSAkKExEQUREKQotc3Jj
X2dyb3Vwc19MREFERCA9ICQoTERBREQpCi1zcmNfaGVhZF9MREFERCA9ICQoTERBREQpCi1zcmNf
aG9zdGlkX0xEQUREID0gJChMREFERCkKLXNyY19ob3N0bmFtZV9MREFERCA9ICQoTERBREQpCi1z
cmNfaWRfTERBREQgPSAkKExEQUREKQotc3JjX2pvaW5fTERBREQgPSAkKExEQUREKQotc3JjX2tp
bGxfTERBREQgPSAkKExEQUREKQotc3JjX2xpbmtfTERBREQgPSAkKExEQUREKQotc3JjX2xuX0xE
QUREID0gJChMREFERCkKLXNyY19sb2duYW1lX0xEQUREID0gJChMREFERCkKLXNyY19sc19MREFE
RCA9ICQoTERBREQpCi0KLSMgVGhpcyBtdXN0ICpub3QqIGRlcGVuZCBvbiBhbnl0aGluZyBpbiBs
aWIvLCBzaW5jZSBpdCBpcyB1c2VkIHRvIGdlbmVyYXRlCi0jIHNyYy9wcmltZXMuaC4gIElmIGl0
IGRlcGVuZGVkIG9uIGxpYmNvcmV1dGlscy5hLCB0aGF0IHdvdWxkIHB1bGwgYWxsIGxpYi8qLmMK
LSMgaW50byBCVUlMVF9TT1VSQ0VTLgotc3JjX21ha2VfcHJpbWVfbGlzdF9MREFERCA9Ci0KLXNy
Y19tZDVzdW1fTERBREQgPSAkKExEQUREKQotc3JjX21rZGlyX0xEQUREID0gJChMREFERCkKLXNy
Y19ta2ZpZm9fTERBREQgPSAkKExEQUREKQotc3JjX21rbm9kX0xEQUREID0gJChMREFERCkKLXNy
Y19ta3RlbXBfTERBREQgPSAkKExEQUREKQotc3JjX212X0xEQUREID0gJChMREFERCkKLXNyY19u
aWNlX0xEQUREID0gJChMREFERCkKLXNyY19ubF9MREFERCA9ICQoTERBREQpCi1zcmNfbm9odXBf
TERBREQgPSAkKExEQUREKQotc3JjX251bWZtdF9MREFERCA9ICQoTERBREQpCi1zcmNfb2RfTERB
REQgPSAkKExEQUREKQotc3JjX3Bhc3RlX0xEQUREID0gJChMREFERCkKLXNyY19wYXRoY2hrX0xE
QUREID0gJChMREFERCkKLXNyY19waW5reV9MREFERCA9ICQoTERBREQpCi1zcmNfcHJfTERBREQg
PSAkKExEQUREKQotc3JjX3ByaW50ZW52X0xEQUREID0gJChMREFERCkKLXNyY19wcmludGZfTERB
REQgPSAkKExEQUREKQotc3JjX3B0eF9MREFERCA9ICQoTERBREQpCi1zcmNfcHdkX0xEQUREID0g
JChMREFERCkKLXNyY19yZWFkbGlua19MREFERCA9ICQoTERBREQpCi1zcmNfcmVhbHBhdGhfTERB
REQgPSAkKExEQUREKQotc3JjX3JtX0xEQUREID0gJChMREFERCkKLXNyY19ybWRpcl9MREFERCA9
ICQoTERBREQpCi1zcmNfcnVuY29uX0xEQUREID0gJChMREFERCkKLXNyY19zZXFfTERBREQgPSAk
KExEQUREKQotc3JjX3NoYTFzdW1fTERBREQgPSAkKExEQUREKQotc3JjX3NoYTIyNHN1bV9MREFE
RCA9ICQoTERBREQpCi1zcmNfc2hhMjU2c3VtX0xEQUREID0gJChMREFERCkKLXNyY19zaGEzODRz
dW1fTERBREQgPSAkKExEQUREKQotc3JjX3NoYTUxMnN1bV9MREFERCA9ICQoTERBREQpCi1zcmNf
c2hyZWRfTERBREQgPSAkKExEQUREKQotc3JjX3NodWZfTERBREQgPSAkKExEQUREKQotc3JjX3Ns
ZWVwX0xEQUREID0gJChMREFERCkKLXNyY19zb3J0X0xEQUREID0gJChMREFERCkKLXNyY19zcGxp
dF9MREFERCA9ICQoTERBREQpCi1zcmNfc3RhdF9MREFERCA9ICQoTERBREQpCi1zcmNfc3RkYnVm
X0xEQUREID0gJChMREFERCkKLXNyY19zdHR5X0xEQUREID0gJChMREFERCkKLXNyY19zdW1fTERB
REQgPSAkKExEQUREKQotc3JjX3N5bmNfTERBREQgPSAkKExEQUREKQotc3JjX3RhY19MREFERCA9
ICQoTERBREQpCi1zcmNfdGFpbF9MREFERCA9ICQoTERBREQpCi1zcmNfdGVlX0xEQUREID0gJChM
REFERCkKLXNyY190ZXN0X0xEQUREID0gJChMREFERCkKLXNyY190aW1lb3V0X0xEQUREID0gJChM
REFERCkKLXNyY190b3VjaF9MREFERCA9ICQoTERBREQpCi1zcmNfdHJfTERBREQgPSAkKExEQURE
KQotc3JjX3RydWVfTERBREQgPSAkKExEQUREKQotc3JjX3RydW5jYXRlX0xEQUREID0gJChMREFE
RCkKLXNyY190c29ydF9MREFERCA9ICQoTERBREQpCi1zcmNfdHR5X0xEQUREID0gJChMREFERCkK
LXNyY191bmFtZV9MREFERCA9ICQoTERBREQpCi1zcmNfdW5leHBhbmRfTERBREQgPSAkKExEQURE
KQotc3JjX3VuaXFfTERBREQgPSAkKExEQUREKQotc3JjX3VubGlua19MREFERCA9ICQoTERBREQp
Ci1zcmNfdXB0aW1lX0xEQUREID0gJChMREFERCkKLXNyY191c2Vyc19MREFERCA9ICQoTERBREQp
Ci0jIFNlZSB2ZGlyX0xEQUREIGJlbG93Ci1zcmNfd2NfTERBREQgPSAkKExEQUREKQotc3JjX3do
b19MREFERCA9ICQoTERBREQpCi1zcmNfd2hvYW1pX0xEQUREID0gJChMREFERCkKLXNyY195ZXNf
TERBREQgPSAkKExEQUREKQotCi0jIFN5bm9ueW1zLiAgUmVjYWxsIHRoYXQgQXV0b21ha2UgdHJh
bnNsaXRlcmF0ZXMgJ1snIGFuZCAnLycgdG8gJ18nLgotc3JjX19fTERBREQgPSAkKHNyY190ZXN0
X0xEQUREKQotc3JjX2Rpcl9MREFERCA9ICQoc3JjX2xzX0xEQUREKQotc3JjX3ZkaXJfTERBREQg
PSAkKHNyY19sc19MREFERCkKLQotc3JjX2NwX0xEQUREICs9ICQoY29weV9sZGFkZCkKLXNyY19n
aW5zdGFsbF9MREFERCArPSAkKGNvcHlfbGRhZGQpCi1zcmNfbXZfTERBREQgKz0gJChjb3B5X2xk
YWRkKQotCi1zcmNfbXZfTERBREQgKz0gJChyZW1vdmVfbGRhZGQpCi1zcmNfcm1fTERBREQgKz0g
JChyZW1vdmVfbGRhZGQpCi0KLSMgZm9yIGVhY2Nlc3MsIGV1aWRhY2Nlc3MKLWNvcHlfbGRhZGQg
Kz0gJChMSUJfRUFDQ0VTUykKLXJlbW92ZV9sZGFkZCArPSAkKExJQl9FQUNDRVNTKQotc3JjX3Nv
cnRfTERBREQgKz0gJChMSUJfRUFDQ0VTUykKLXNyY190ZXN0X0xEQUREICs9ICQoTElCX0VBQ0NF
U1MpCi0KLSMgZm9yIHNlbGludXggdXNlCi1jb3B5X2xkYWRkICs9ICQoTElCX1NFTElOVVgpCi1z
cmNfY2hjb25fTERBREQgKz0gJChMSUJfU0VMSU5VWCkKLXNyY19naW5zdGFsbF9MREFERCArPSAk
KExJQl9TRUxJTlVYKQotc3JjX2lkX0xEQUREICs9ICQoTElCX1NFTElOVVgpCi1zcmNfaWRfTERB
REQgKz0gJChMSUJfU01BQ0spCi1zcmNfbHNfTERBREQgKz0gJChMSUJfU0VMSU5VWCkKLXNyY19s
c19MREFERCArPSAkKExJQl9TTUFDSykKLXNyY19ta2Rpcl9MREFERCArPSAkKExJQl9TRUxJTlVY
KQotc3JjX21rZGlyX0xEQUREICs9ICQoTElCX1NNQUNLKQotc3JjX21rZmlmb19MREFERCArPSAk
KExJQl9TRUxJTlVYKQotc3JjX21rZmlmb19MREFERCArPSAkKExJQl9TTUFDSykKLXNyY19ta25v
ZF9MREFERCArPSAkKExJQl9TRUxJTlVYKQotc3JjX21rbm9kX0xEQUREICs9ICQoTElCX1NNQUNL
KQotc3JjX3J1bmNvbl9MREFERCArPSAkKExJQl9TRUxJTlVYKQotc3JjX3N0YXRfTERBREQgKz0g
JChMSUJfU0VMSU5VWCkKLQotIyBmb3IgbnZsaXN0X2xvb2t1cF91aW50NjRfYXJyYXkKLXNyY19z
dGF0X0xEQUREICs9ICQoTElCX05WUEFJUikKLQotIyBmb3IgZ2V0dGltZSwgc2V0dGltZSwgdXRp
bWVjbXAsIHV0aW1lbnMKLWNvcHlfbGRhZGQgKz0gJChMSUJfQ0xPQ0tfR0VUVElNRSkKLXNyY19k
YXRlX0xEQUREICs9ICQoTElCX0NMT0NLX0dFVFRJTUUpCi1zcmNfZ2luc3RhbGxfTERBREQgKz0g
JChMSUJfQ0xPQ0tfR0VUVElNRSkKLXNyY19sc19MREFERCArPSAkKExJQl9DTE9DS19HRVRUSU1F
KQotc3JjX3ByX0xEQUREICs9ICQoTElCX0NMT0NLX0dFVFRJTUUpCi1zcmNfdGltZW91dF9MREFE
RCArPSAkKExJQl9USU1FUl9USU1FKQotc3JjX3RvdWNoX0xEQUREICs9ICQoTElCX0NMT0NLX0dF
VFRJTUUpCi0KLSMgZm9yIGdldGhyeHRpbWUKLXNyY19kZF9MREFERCArPSAkKExJQl9HRVRIUlhU
SU1FKQotCi0jIGZvciBjYXBfZ2V0X2ZpbGUKLXNyY19sc19MREFERCArPSAkKExJQl9DQVApCi0K
LSMgZm9yIGZkYXRhc3luYwotc3JjX2RkX0xEQUREICs9ICQoTElCX0ZEQVRBU1lOQykKLXNyY19z
aHJlZF9MREFERCArPSAkKExJQl9GREFUQVNZTkMpCi1zcmNfc3luY19MREFERCArPSAkKExJQl9G
REFUQVNZTkMpCi0KLSMgZm9yIHhuYW5vc2xlZXAKLXNyY19zbGVlcF9MREFERCArPSAkKExJQl9O
QU5PU0xFRVApCi1zcmNfc29ydF9MREFERCArPSAkKExJQl9OQU5PU0xFRVApCi1zcmNfdGFpbF9M
REFERCArPSAkKExJQl9OQU5PU0xFRVApCi0KLSMgZm9yIHZhcmlvdXMgR01QIGZ1bmN0aW9ucwot
c3JjX2V4cHJfTERBREQgKz0gJChMSUJfR01QKQotc3JjX2ZhY3Rvcl9MREFERCArPSAkKExJQl9H
TVApCi0KLSMgZm9yIGdldGxvYWRhdmcKLXNyY191cHRpbWVfTERBREQgKz0gJChHRVRMT0FEQVZH
X0xJQlMpCi0KLSMgZm9yIHZhcmlvdXMgQUNMIGZ1bmN0aW9ucwotY29weV9sZGFkZCArPSAkKExJ
Ql9BQ0wpCi1zcmNfbHNfTERBREQgKz0gJChMSUJfSEFTX0FDTCkKLQotIyBmb3IgdmFyaW91cyB4
YXR0ciBmdW5jdGlvbnMKLWNvcHlfbGRhZGQgKz0gJChMSUJfWEFUVFIpCi0KLSMgZm9yIHByaW50
X3VuaWNvZGVfY2hhciwgcHJvcGVyX25hbWVfdXRmOAotc3JjX2ZhY3Rvcl9MREFERCArPSAkKExJ
QklDT05WKQotc3JjX3ByaW50Zl9MREFERCArPSAkKExJQklDT05WKQotc3JjX3B0eF9MREFERCAr
PSAkKExJQklDT05WKQotCi0jIGZvciBsaWJjcnlwdG8gaGFzaCByb3V0aW5lcwotc3JjX21kNXN1
bV9MREFERCArPSAkKExJQl9DUllQVE8pCi1zcmNfc29ydF9MREFERCArPSAkKExJQl9DUllQVE8p
Ci1zcmNfc2hhMXN1bV9MREFERCArPSAkKExJQl9DUllQVE8pCi1zcmNfc2hhMjI0c3VtX0xEQURE
ICs9ICQoTElCX0NSWVBUTykKLXNyY19zaGEyNTZzdW1fTERBREQgKz0gJChMSUJfQ1JZUFRPKQot
c3JjX3NoYTM4NHN1bV9MREFERCArPSAkKExJQl9DUllQVE8pCi1zcmNfc2hhNTEyc3VtX0xEQURE
ICs9ICQoTElCX0NSWVBUTykKLQotIyBmb3IgY2Fub25faG9zdAotc3JjX3Bpbmt5X0xEQUREICs9
ICQoR0VUQUREUklORk9fTElCKQotc3JjX3dob19MREFERCArPSAkKEdFVEFERFJJTkZPX0xJQikK
LQotIyBmb3IgZ2V0aG9zdG5hbWUsIHVuYW1lCi1zcmNfaG9zdG5hbWVfTERBREQgKz0gJChHRVRI
T1NUTkFNRV9MSUIpCi1zcmNfdW5hbWVfTERBREQgKz0gJChHRVRIT1NUTkFNRV9MSUIpCi0KLSMg
Zm9yIHN0cnNpZ25hbAotc3JjX2tpbGxfTERBREQgKz0gJChMSUJUSFJFQUQpCi0KLSMgZm9yIHB0
aHJlYWQKLXNyY19zb3J0X0xEQUREICs9ICQoTElCX1BUSFJFQUQpCi0KLSMgR2V0IHRoZSByZWxl
YXNlIHllYXIgZnJvbSBsaWIvdmVyc2lvbi1ldGMuYy4KLVJFTEVBU0VfWUVBUiA9IFwKLSAgYHNl
ZCAtbiAnLy4qQ09QWVJJR0hUX1lFQVIgPSBcKFswLTldWzAtOV1bMC05XVswLTldXCkgfTsvcy8v
XDEvcCcgXAotICAgICQodG9wX3NyY2RpcikvbGliL3ZlcnNpb24tZXRjLmNgCi0KLXNlbGludXhf
c291cmNlcyA9IFwKLSAgc3JjL3NlbGludXguYyBcCi0gIHNyYy9zZWxpbnV4LmgKLQotY29weV9z
b3VyY2VzID0gXAotICBzcmMvY29weS5jIFwKLSAgc3JjL2NwLWhhc2guYyBcCi0gIHNyYy9leHRl
bnQtc2Nhbi5jIFwKLSAgc3JjL2V4dGVudC1zY2FuLmggXAotICBzcmMvZm9yY2UtbGluay5jIFwK
LSAgc3JjL2ZvcmNlLWxpbmsuaAotCi0jIFVzZSAnZ2luc3RhbGwnIGluIHRoZSBkZWZpbml0aW9u
IG9mIFBST0dSQU1TIGFuZCBpbiBkZXBlbmRlbmNpZXMgdG8gYXZvaWQKLSMgY29uZnVzaW9uIHdp
dGggdGhlICdpbnN0YWxsJyB0YXJnZXQuICBUaGUgaW5zdGFsbCBydWxlIHRyYW5zZm9ybXMgJ2dp
bnN0YWxsJwotIyB0byBpbnN0YWxsIGJlZm9yZSBhcHBseWluZyBhbnkgdXNlci1zcGVjaWZpZWQg
bmFtZSB0cmFuc2Zvcm1hdGlvbnMuCi0KLSMgRG9uJ3QgYXBwbHkgcHJlZml4IHRyYW5zZm9ybWF0
aW9ucyB0byBsaWJzdGRidWYgc2hhcmVkIGxpYgotIyBhcyB0aGF0J3Mgbm90IGdlbmVyYWxseSBu
ZWVkZWQsIGFuZCB3ZSBuZWVkIHRvIHJlZmVyZW5jZSB0aGUKLSMgbmFtZSBkaXJlY3RseSBpbiBM
RF9QUkVMT0FEIGV0Yy4gIEluIGdlbmVyYWwgaXQncyBzdXJwcmlzaW5nCi0jIHRoYXQgJCh0cmFu
c2Zvcm0pIGlzIGFwcGxpZWQgdG8gbGliZXhlYyBhdCBhbGwgZ2l2ZW4gdGhhdCBpcwotIyBmb3Ig
aW50ZXJuYWwgcGFja2FnZSBuYW1pbmcsIG5vdCBwcml2eSB0byAkKHRyYW5zZm9ybSkuCi0KLXRy
YW5zZm9ybSA9IHMvZ2luc3RhbGwvaW5zdGFsbC87L2xpYnN0ZGJ1Zi8hJChwcm9ncmFtX3RyYW5z
Zm9ybV9uYW1lKQotCi1zcmNfZ2luc3RhbGxfU09VUkNFUyA9IHNyYy9pbnN0YWxsLmMgc3JjL3By
b2ctZnByaW50Zi5jICQoY29weV9zb3VyY2VzKSBcCi0JCSAgICAgICAkKHNlbGludXhfc291cmNl
cykKLQotIyBUaGlzIGlzIGZvciB0aGUgJ1snIHByb2dyYW0uICBBdXRvbWFrZSB0cmFuc2xpdGVy
YXRlcyAnWycgYW5kICcvJyB0byAnXycuCi1zcmNfX19TT1VSQ0VTID0gc3JjL2xicmFja2V0LmMK
LQotbm9kaXN0X3NyY19jb3JldXRpbHNfU09VUkNFUyA9IHNyYy9jb3JldXRpbHMuaAotc3JjX2Nv
cmV1dGlsc19TT1VSQ0VTID0gc3JjL2NvcmV1dGlscy5jCi0KLXNyY19jcF9TT1VSQ0VTID0gc3Jj
L2NwLmMgJChjb3B5X3NvdXJjZXMpICQoc2VsaW51eF9zb3VyY2VzKQotc3JjX2Rpcl9TT1VSQ0VT
ID0gc3JjL2xzLmMgc3JjL2xzLWRpci5jCi1zcmNfdmRpcl9TT1VSQ0VTID0gc3JjL2xzLmMgc3Jj
L2xzLXZkaXIuYwotc3JjX2lkX1NPVVJDRVMgPSBzcmMvaWQuYyBzcmMvZ3JvdXAtbGlzdC5jCi1z
cmNfZ3JvdXBzX1NPVVJDRVMgPSBzcmMvZ3JvdXBzLmMgc3JjL2dyb3VwLWxpc3QuYwotc3JjX2xz
X1NPVVJDRVMgPSBzcmMvbHMuYyBzcmMvbHMtbHMuYwotc3JjX2xuX1NPVVJDRVMgPSBzcmMvbG4u
YyBcCi0gIHNyYy9mb3JjZS1saW5rLmMgc3JjL2ZvcmNlLWxpbmsuaCBcCi0gIHNyYy9yZWxwYXRo
LmMgc3JjL3JlbHBhdGguaAotc3JjX2Nob3duX1NPVVJDRVMgPSBzcmMvY2hvd24uYyBzcmMvY2hv
d24tY29yZS5jCi1zcmNfY2hncnBfU09VUkNFUyA9IHNyYy9jaGdycC5jIHNyYy9jaG93bi1jb3Jl
LmMKLXNyY19raWxsX1NPVVJDRVMgPSBzcmMva2lsbC5jIHNyYy9vcGVyYW5kMnNpZy5jCi1zcmNf
cmVhbHBhdGhfU09VUkNFUyA9IHNyYy9yZWFscGF0aC5jIHNyYy9yZWxwYXRoLmMgc3JjL3JlbHBh
dGguaAotc3JjX3RpbWVvdXRfU09VUkNFUyA9IHNyYy90aW1lb3V0LmMgc3JjL29wZXJhbmQyc2ln
LmMKLQotc3JjX212X1NPVVJDRVMgPSBzcmMvbXYuYyBzcmMvcmVtb3ZlLmMgJChjb3B5X3NvdXJj
ZXMpICQoc2VsaW51eF9zb3VyY2VzKQotc3JjX3JtX1NPVVJDRVMgPSBzcmMvcm0uYyBzcmMvcmVt
b3ZlLmMKLQotc3JjX21rZGlyX1NPVVJDRVMgPSBzcmMvbWtkaXIuYyBzcmMvcHJvZy1mcHJpbnRm
LmMgJChzZWxpbnV4X3NvdXJjZXMpCi1zcmNfcm1kaXJfU09VUkNFUyA9IHNyYy9ybWRpci5jIHNy
Yy9wcm9nLWZwcmludGYuYwotCi1zcmNfbWtmaWZvX1NPVVJDRVMgPSBzcmMvbWtmaWZvLmMgJChz
ZWxpbnV4X3NvdXJjZXMpCi1zcmNfbWtub2RfU09VUkNFUyA9IHNyYy9ta25vZC5jICQoc2VsaW51
eF9zb3VyY2VzKQotCi1zcmNfZGZfU09VUkNFUyA9IHNyYy9kZi5jIHNyYy9maW5kLW1vdW50LXBv
aW50LmMKLXNyY19zdGF0X1NPVVJDRVMgPSBzcmMvc3RhdC5jIHNyYy9maW5kLW1vdW50LXBvaW50
LmMKLQotc3JjX3VuYW1lX1NPVVJDRVMgPSBzcmMvdW5hbWUuYyBzcmMvdW5hbWUtdW5hbWUuYwot
c3JjX2FyY2hfU09VUkNFUyA9IHNyYy91bmFtZS5jIHNyYy91bmFtZS1hcmNoLmMKLQotc3JjX2N1
dF9TT1VSQ0VTID0gc3JjL2N1dC5jIHNyYy9zZXQtZmllbGRzLmMKLXNyY19udW1mbXRfU09VUkNF
UyA9IHNyYy9udW1mbXQuYyBzcmMvc2V0LWZpZWxkcy5jCi0KLXNyY19tZDVzdW1fQ1BQRkxBR1Mg
PSAtREhBU0hfQUxHT19NRDU9MSAkKEFNX0NQUEZMQUdTKQotc3JjX3NoYTFzdW1fU09VUkNFUyA9
IHNyYy9tZDVzdW0uYwotc3JjX3NoYTFzdW1fQ1BQRkxBR1MgPSAtREhBU0hfQUxHT19TSEExPTEg
JChBTV9DUFBGTEFHUykKLXNyY19zaGEyMjRzdW1fU09VUkNFUyA9IHNyYy9tZDVzdW0uYwotc3Jj
X3NoYTIyNHN1bV9DUFBGTEFHUyA9IC1ESEFTSF9BTEdPX1NIQTIyND0xICQoQU1fQ1BQRkxBR1Mp
Ci1zcmNfc2hhMjU2c3VtX1NPVVJDRVMgPSBzcmMvbWQ1c3VtLmMKLXNyY19zaGEyNTZzdW1fQ1BQ
RkxBR1MgPSAtREhBU0hfQUxHT19TSEEyNTY9MSAkKEFNX0NQUEZMQUdTKQotc3JjX3NoYTM4NHN1
bV9TT1VSQ0VTID0gc3JjL21kNXN1bS5jCi1zcmNfc2hhMzg0c3VtX0NQUEZMQUdTID0gLURIQVNI
X0FMR09fU0hBMzg0PTEgJChBTV9DUFBGTEFHUykKLXNyY19zaGE1MTJzdW1fU09VUkNFUyA9IHNy
Yy9tZDVzdW0uYwotc3JjX3NoYTUxMnN1bV9DUFBGTEFHUyA9IC1ESEFTSF9BTEdPX1NIQTUxMj0x
ICQoQU1fQ1BQRkxBR1MpCi0jIEluY2x1ZGUgdGhlIGZpbGUgb24gdGhlIGNvbW1hbmQgbGluZSB0
byBhdm9pZCBtb2RpZnlpbmcKLSMgdGhlIGJsYWtlMiB1cHN0cmVhbSBzb3VyY2UKLWlmIFVTRV9Y
TENfSU5DTFVERQotc3JjX2Iyc3VtX0NQUEZMQUdTID0gLXFpbmNsdWRlPWNvbmZpZy5oCi1lbHNl
Ci1zcmNfYjJzdW1fQ1BQRkxBR1MgPSAtaW5jbHVkZSBjb25maWcuaAotZW5kaWYKLXNyY19iMnN1
bV9DUFBGTEFHUyArPSAtREhBU0hfQUxHT19CTEFLRTI9MSAkKEFNX0NQUEZMQUdTKQotc3JjX2Iy
c3VtX1NPVVJDRVMgPSBzcmMvbWQ1c3VtLmMgXAotCQkgICAgc3JjL2JsYWtlMi9ibGFrZTIuaCBz
cmMvYmxha2UyL2JsYWtlMi1pbXBsLmggXAotCQkgICAgc3JjL2JsYWtlMi9ibGFrZTJiLXJlZi5j
IFwKLQkJICAgIHNyYy9ibGFrZTIvYjJzdW0uYyBzcmMvYmxha2UyL2Iyc3VtLmgKLQotc3JjX2Jh
c2U2NF9DUFBGTEFHUyA9IC1EQkFTRV9UWVBFPTY0ICQoQU1fQ1BQRkxBR1MpCi1zcmNfYmFzZTMy
X1NPVVJDRVMgPSBzcmMvYmFzZTY0LmMKLXNyY19iYXNlMzJfQ1BQRkxBR1MgPSAtREJBU0VfVFlQ
RT0zMiAkKEFNX0NQUEZMQUdTKQotCi1zcmNfZ2luc3RhbGxfQ1BQRkxBR1MgPSAtREVOQUJMRV9N
QVRDSFBBVEhDT049MSAkKEFNX0NQUEZMQUdTKQotCi1zcmNfZXhwYW5kX1NPVVJDRVMgPSBzcmMv
ZXhwYW5kLmMgc3JjL2V4cGFuZC1jb21tb24uYwotc3JjX3VuZXhwYW5kX1NPVVJDRVMgPSBzcmMv
dW5leHBhbmQuYyBzcmMvZXhwYW5kLWNvbW1vbi5jCi0KLSMgRW5zdXJlIHdlIGRvbid0IGxpbmsg
YWdhaW5zdCBsaWJjb3JldXRpbHMuYSBhcyB0aGF0IGxpYiBpcwotIyBub3QgY29tcGlsZWQgd2l0
aCAtZlBJQyB3aGljaCBjYXVzZXMgaXNzdWVzIG9uIDY0IGJpdCBhdCBsZWFzdAotc3JjX2xpYnN0
ZGJ1Zl9zb19MREFERCA9ICQoTElCSU5UTCkKLQotIyBOb3RlIGxpYnN0ZGJ1ZiBpcyBvbmx5IGNv
bXBpbGVkIGlmIEdDQyBpcyBhdmFpbGFibGUKLSMgKGFzIHBlciB0aGUgY2hlY2sgaW4gY29uZmln
dXJlLmFjKSwgc28gdGhlc2UgZmxhZ3Mgc2hvdWxkIGJlIGF2YWlsYWJsZS4KLSMgbGlidG9vbCBp
cyBwcm9iYWJseSByZXF1aXJlZCB0byByZWxheCB0aGlzIGRlcGVuZGVuY3kuCi1zcmNfbGlic3Rk
YnVmX3NvX0xERkxBR1MgPSAtc2hhcmVkCi1zcmNfbGlic3RkYnVmX3NvX0NGTEFHUyA9IC1mUElD
ICQoQU1fQ0ZMQUdTKQotCi1CVUlMVF9TT1VSQ0VTICs9IHNyYy9jb3JldXRpbHMuaAotaWYgU0lO
R0xFX0JJTkFSWQotIyBTaW5nbGUgYmluYXJ5IGRlcGVuZGVuY2llcwotc3JjX2NvcmV1dGlsc19D
RkxBR1MgPSAtRFNJTkdMRV9CSU5BUlkgJChBTV9DRkxBR1MpCi0jc3JjX2NvcmV1dGlsc19MREZM
QUdTID0gJChBTV9MREZMQUdTKQotc3JjX2NvcmV1dGlsc19MREFERCA9ICQoc2luZ2xlX2JpbmFy
eV9kZXBzKSAkKExEQUREKSAkKHNpbmdsZV9iaW5hcnlfbGlicykKLXNyY19jb3JldXRpbHNfREVQ
RU5ERU5DSUVTID0gJChMREFERCkgJChzaW5nbGVfYmluYXJ5X2RlcHMpCi0KLWluY2x1ZGUgJCh0
b3Bfc3JjZGlyKS9zcmMvc2luZ2xlLWJpbmFyeS5tawotCi0jIENyZWF0ZXMgc3ltbGlua3Mgb3Ig
c2hlYmFuZ3MgdG8gdGhlIGluc3RhbGxlZCBwcm9ncmFtcyB3aGVuIGJ1aWxkaW5nCi0jIGNvcmV1
dGlscyBzaW5nbGUgYmluYXJ5LgotRVhUUkFfc3JjX2NvcmV1dGlsc19ERVBFTkRFTkNJRVMgPSBz
cmMvY29yZXV0aWxzXyQoc2luZ2xlX2JpbmFyeV9pbnN0YWxsX3R5cGUpCi1lbmRpZiBTSU5HTEVf
QklOQVJZCi0KLUNMRUFORklMRVMgKz0gc3JjL2NvcmV1dGlsc19zeW1saW5rcwotc3JjL2NvcmV1
dGlsc19zeW1saW5rczogTWFrZWZpbGUKLQkkKEFNX1ZfR0VOKXRvdWNoICRACi0JJChBTV9WX2F0
KSR7TUtESVJfUH0gc3JjCi0JJChBTV9WX2F0KWZvciBpIGluIHggJChzaW5nbGVfYmluYXJ5X3By
b2dzKTsgZG8gXAotCQl0ZXN0ICQkaSA9IHggJiYgY29udGludWU7IFwKLQkJcm0gLWYgc3JjLyQk
aSQoRVhFRVhUKSB8fCBleGl0ICQkPzsgXAotCQkkKExOX1MpIC1zIGNvcmV1dGlscyQoRVhFRVhU
KSBzcmMvJCRpJChFWEVFWFQpIHx8IGV4aXQgJCQ/OyBcCi0JZG9uZQotCi1DTEVBTkZJTEVTICs9
IHNyYy9jb3JldXRpbHNfc2hlYmFuZ3MKLXNyYy9jb3JldXRpbHNfc2hlYmFuZ3M6IE1ha2VmaWxl
Ci0JJChBTV9WX0dFTil0b3VjaCAkQAotCSQoQU1fVl9hdCkke01LRElSX1B9IHNyYwotCSQoQU1f
Vl9hdClmb3IgaSBpbiB4ICQoc2luZ2xlX2JpbmFyeV9wcm9ncyk7IGRvIFwKLQkJdGVzdCAkJGkg
PSB4ICYmIGNvbnRpbnVlOyBcCi0JCXJtIC1mIHNyYy8kJGkkKEVYRUVYVCkgfHwgZXhpdCAkJD87
IFwKLQkJcHJpbnRmICcjISVzIC0tY29yZXV0aWxzLXByb2ctc2hlYmFuZz0lc1xuJyBcCi0JCQkk
KGFic190b3BfYnVpbGRkaXIpL3NyYy9jb3JldXRpbHMkKEVYRUVYVCkgJCRpIFwKLQkJCT5zcmMv
JCRpJChFWEVFWFQpIHx8IGV4aXQgJCQ/OyBcCi0JCWNobW9kIGEreCxhLXcgc3JjLyQkaSQoRVhF
RVhUKSB8fCBleGl0ICQkPzsgXAotCWRvbmUKLQotY2xlYW4tbG9jYWw6Ci0JJChBTV9WX2F0KWZv
ciBpIGluIHggJChzaW5nbGVfYmluYXJ5X3Byb2dzKTsgZG8gXAotCQl0ZXN0ICQkaSA9IHggJiYg
Y29udGludWU7IFwKLQkJcm0gLWYgc3JjLyQkaSQoRVhFRVhUKSB8fCBleGl0ICQkPzsgXAotCWRv
bmUKLQotCi1CVUlMVF9TT1VSQ0VTICs9IHNyYy9kaXJjb2xvcnMuaAotc3JjL2RpcmNvbG9ycy5o
OiBzcmMvZGNnZW4gc3JjL2RpcmNvbG9ycy5oaW4KLQkkKEFNX1ZfR0VOKXJtIC1mICRAICRALXQK
LQkkKEFNX1ZfYXQpJHtNS0RJUl9QfSBzcmMKLQkkKEFNX1ZfYXQpJChQRVJMKSAtdyAtLSAkKHNy
Y2Rpcikvc3JjL2RjZ2VuIFwKLQkJCQkkKHNyY2Rpcikvc3JjL2RpcmNvbG9ycy5oaW4gPiAkQC10
Ci0JJChBTV9WX2F0KWNobW9kIGEtdyAkQC10Ci0JJChBTV9WX2F0KW12ICRALXQgJEAKLQotIyBU
aGlzIGZpbGUgaXMgYnVpbHQgYnkgbWFpbnRhaW5lcnMuICBJdCdzIGFyY2hpdGVjdHVyZS1pbmRl
cGVuZGVudCwKLSMgYW5kIGl0IG5lZWRzIHRvIGJlIGJ1aWx0IG9uIGEgd2lkZXN0LWtub3duLWlu
dCBhcmNoaXRlY3R1cmUsIHNvIGl0J3MKLSMgYnVpbHQgb25seSBpZiBhYnNlbnQuICBJdCBpcyBu
b3QgY2xlYW5lZCBiZWNhdXNlIHdlIGRvbid0IHdhbnQgdG8KLSMgaW5zaXN0IHRoYXQgbWFpbnRh
aW5lcnMgbXVzdCBidWlsZCBvbiBob3N0cyB0aGF0IHN1cHBvcnQgdGhlIHdpZGVzdAotIyBrbm93
biBpbnRzIChjdXJyZW50bHkgMTI4LWJpdCkuCi1CVUlMVF9TT1VSQ0VTICs9ICQodG9wX3NyY2Rp
cikvc3JjL3ByaW1lcy5oCi0kKHRvcF9zcmNkaXIpL3NyYy9wcmltZXMuaDoKLQkkKEFNX1ZfYXQp
JHtNS0RJUl9QfSBzcmMKLQkkKE1BS0UpIHNyYy9tYWtlLXByaW1lLWxpc3QkKEVYRUVYVCkKLQkk
KEFNX1ZfR0VOKXJtIC1mICRAICRALXQKLQkkKEFNX1ZfYXQpc3JjL21ha2UtcHJpbWUtbGlzdCQo
RVhFRVhUKSA1MDAwID4gJEAtdAotCSQoQU1fVl9hdCljaG1vZCBhLXcgJEAtdAotCSQoQU1fVl9h
dCltdiAkQC10ICRACi0KLSMgZmFsc2UgZXhpdHMgbm9uemVybyBldmVuIHdpdGggLS1oZWxwIG9y
IC0tdmVyc2lvbi4KLSMgdGVzdCBkb2Vzbid0IHN1cHBvcnQgLS1oZWxwIG9yIC0tdmVyc2lvbi4K
LSMgVGVsbCBhdXRvbWFrZSB0byBleGVtcHQgdGhlbiBmcm9tIHRoYXQgaW5zdGFsbGNoZWNrIHRl
c3QuCi1BTV9JTlNUQUxMQ0hFQ0tfU1REX09QVElPTlNfRVhFTVBUID0gc3JjL2ZhbHNlIHNyYy90
ZXN0Ci0KLSMgQ29tcGFyZSBmcy5oIHdpdGggdGhlIGxpc3Qgb2YgZmlsZSBzeXN0ZW0gbmFtZXMv
bWFnaWMtbnVtYmVycyBpbiB0aGUKLSMgTGludXggc3RhdGZzIG1hbiBwYWdlLiAgVGhpcyB0YXJn
ZXQgcHJpbnRzIGFueSBuZXcgbmFtZS9udW1iZXIgcGFpcnMuCi0jIEFsc28gY29tcGFyZSBhZ2Fp
bnN0IC91c3IvaW5jbHVkZS9saW51eC9tYWdpYy5oCi0uUEhPTlk6IHNyYy9mcy1tYWdpYy1jb21w
YXJlCi1zcmMvZnMtbWFnaWMtY29tcGFyZTogc3JjL2ZzLW1hZ2ljIHNyYy9mcy1rZXJuZWwtbWFn
aWMgc3JjL2ZzLWRlZgotCUBqb2luIC12MSAtdEAgc3JjL2ZzLW1hZ2ljIHNyYy9mcy1kZWYKLQlA
am9pbiAtdjEgLXRAIHNyYy9mcy1rZXJuZWwtbWFnaWMgc3JjL2ZzLWRlZgotCi1DTEVBTkZJTEVT
ICs9IHNyYy9mcy1kZWYKLXNyYy9mcy1kZWY6IHNyYy9mcy5oCi0JZ3JlcCAnXiMgKmRlZmluZSAn
IHNyYy9mcy5oIHwgJChBU1NPUlQpID4gJEAtdCAmJiBtdiAkQC10ICRACi0KLSMgTWFzc2FnZSBi
aXRzIG9mIHRoZSBzdGF0ZnMgbWFuIHBhZ2UgYW5kIGRlZmluaXRpb25zIGZyb20KLSMgL3Vzci9p
bmNsdWRlL2xpbnV4L21hZ2ljLmggdG8gYmUgaW4gYSBmb3JtIGNvbnNpc3RlbnQgd2l0aCB3aGF0
J3MgaW4gZnMuaC4KLWZzX25vcm1hbGl6ZV9wZXJsX3N1YnN0ID0JCQlcCi0gIC1lICdzL01JTklY
X1NVUEVSX01BR0lDXGIvTUlOSVgvOycJCVwKLSAgLWUgJ3MvTUlOSVhfU1VQRVJfTUFHSUMyXGIv
TUlOSVhfMzAvOycJXAotICAtZSAncy9NSU5JWDJfU1VQRVJfTUFHSUNcYi9NSU5JWF9WMi87Jwlc
Ci0gIC1lICdzL01JTklYMl9TVVBFUl9NQUdJQzJcYi9NSU5JWF9WMl8zMC87JwlcCi0gIC1lICdz
L01JTklYM19TVVBFUl9NQUdJQ1xiL01JTklYX1YzLzsnCVwKLSAgLWUgJ3MvQ0lGU19NQUdJQ19O
VU1CRVIvQ0lGUy87JwkJXAotICAtZSAncy8oX1NVUEVSKT9fTUFHSUMvLzsnCQkJXAotICAtZSAn
cy9ccysweChcUyspLyIgMHgiIC4gdWMgJCQxL2U7JwkJXAotICAtZSAncy8oXHMrMHgpKFxYezN9
KVxiLyQkezF9MCQkMi87JwkJXAotICAtZSAncy8oXHMrMHgpKFxYezZ9KVxiLyQkezF9MDAkJDIv
OycJCVwKLSAgLWUgJ3MvKFxzKzB4KShcWHs3fSlcYi8kJHsxfTAkJDIvOycJCVwKLSAgLWUgJ3Mv
XlxzKy8vOycJCQkJXAotICAtZSAncy9eXDA0M2RlZmluZVxzKy8vOycJCQlcCi0gIC1lICdzL15f
KFhJQUZTKS8kJDEvOycJCQlcCi0gIC1lICdzL15VU0JERVZJQ0UvVVNCREVWRlMvOycJCQlcCi0g
IC1lICdzL05URlNfU0IvTlRGUy87JwkJCQlcCi0gIC1lICdzL14vXDA0MyBkZWZpbmUgU19NQUdJ
Q18vOycJCVwKLSAgLWUgJ3MsXHMqL1wqIC4qPyBcKi8sLDsnCi0KLUNMRUFORklMRVMgKz0gc3Jj
L2ZzLW1hZ2ljCi1zcmMvZnMtbWFnaWM6IE1ha2VmaWxlCi0JQE1BTlBBR0VSPSBtYW4gc3RhdGZz
IFwKLQkgIHxwZXJsIC1uZSAnL0ZpbGUgc3lzdGVtIHR5cGVzOi8uLi4vTm9ib2R5IGtuby8gYW5k
IHByaW50JwlcCi0JICB8Z3JlcCAweCB8IHBlcmwgLXAJCQkJCQlcCi0JICAgICQoZnNfbm9ybWFs
aXplX3Blcmxfc3Vic3QpCQkJCQlcCi0JICB8IGdyZXAgLUV2ICdTX01BR0lDX0VYVFszNF18U1RB
Q0tfRU5EJwkJCVwKLQkgIHwgJChBU1NPUlQpCQkJCQkJCVwKLQkgID4gJEAtdCAmJiBtdiAkQC10
ICRACi0KLURJU1RDTEVBTkZJTEVTICs9IHNyYy9mcy1sYXRlc3QtbWFnaWMuaAotIyBUaGlzIHJ1
bGUgY3VycmVudGx5IGdldHMgdGhlIGxhdGVzdCBoZWFkZXIsIGJ1dCBwcm9iYWJseSBpc24ndCBn
ZW5lcmFsCi0jIGVub3VnaCB0byBlbmFibGUgYnkgZGVmYXVsdC4KLSMJQGtnaXQ9J2h0dHBzOi8v
Z2l0Lmtlcm5lbC5vcmcvY2dpdC9saW51eC9rZXJuZWwvZ2l0JzsgXAotIwl3Z2V0IC1xICQka2dp
dC90b3J2YWxkcy9saW51eC5naXQvcGxhaW4vaW5jbHVkZS91YXBpL2xpbnV4L21hZ2ljLmggXAot
IwkgIC1PICRACi1zcmMvZnMtbGF0ZXN0LW1hZ2ljLmg6Ci0JQHRvdWNoICRACi0KLUNMRUFORklM
RVMgKz0gc3JjL2ZzLWtlcm5lbC1tYWdpYwotc3JjL2ZzLWtlcm5lbC1tYWdpYzogTWFrZWZpbGUg
c3JjL2ZzLWxhdGVzdC1tYWdpYy5oCi0JQHBlcmwgLW5lICcvXiNkZWZpbmUuKjB4LyBhbmQgcHJp
bnQnCQkJCVwKLQkgIC91c3IvaW5jbHVkZS9saW51eC9tYWdpYy5oIHNyYy9mcy1sYXRlc3QtbWFn
aWMuaAkJXAotCSAgfCBwZXJsIC1wCQkJCQkJCVwKLQkgICAgJChmc19ub3JtYWxpemVfcGVybF9z
dWJzdCkJCQkJCVwKLQkgIHwgZ3JlcCAtRXYgJ1NfTUFHSUNfRVhUWzM0XXxTVEFDS19FTkQnCQkJ
XAotCSAgfCAkKEFTU09SVCkgLXUJCQkJCQlcCi0JICA+ICRALXQgJiYgbXYgJEAtdCAkQAotCi1C
VUlMVF9TT1VSQ0VTICs9IHNyYy9mcy1pcy1sb2NhbC5oCi1zcmMvZnMtaXMtbG9jYWwuaDogc3Jj
L3N0YXQuYyBzcmMvZXh0cmFjdC1tYWdpYwotCSQoQU1fVl9HRU4pcm0gLWYgJEAKLQkkKEFNX1Zf
YXQpJHtNS0RJUl9QfSBzcmMKLQkkKEFNX1ZfYXQpJChQRVJMKSAkKHNyY2Rpcikvc3JjL2V4dHJh
Y3QtbWFnaWMgXAotCQkJICAtLWxvY2FsICQoc3JjZGlyKS9zcmMvc3RhdC5jID4gJEB0Ci0JJChB
TV9WX2F0KWNobW9kIGEtdyAkQHQKLQkkKEFNX1ZfYXQpbXYgJEB0ICRACi0KLUJVSUxUX1NPVVJD
RVMgKz0gc3JjL2ZzLmgKLXNyYy9mcy5oOiBzcmMvc3RhdC5jIHNyYy9leHRyYWN0LW1hZ2ljCi0J
JChBTV9WX0dFTilybSAtZiAkQAotCSQoQU1fVl9hdCkke01LRElSX1B9IHNyYwotCSQoQU1fVl9h
dCkkKFBFUkwpICQoc3JjZGlyKS9zcmMvZXh0cmFjdC1tYWdpYyBcCi0JCQkgICQoc3JjZGlyKS9z
cmMvc3RhdC5jID4gJEB0Ci0JJChBTV9WX2F0KWNobW9kIGEtdyAkQHQKLQkkKEFNX1ZfYXQpbXYg
JEB0ICRACi0KLUJVSUxUX1NPVVJDRVMgKz0gc3JjL3ZlcnNpb24uYwotc3JjL3ZlcnNpb24uYzog
TWFrZWZpbGUKLQkkKEFNX1ZfR0VOKXJtIC1mICRACi0JJChBTV9WX2F0KSR7TUtESVJfUH0gc3Jj
Ci0JJChBTV9WX2F0KXByaW50ZiAnI2luY2x1ZGUgPGNvbmZpZy5oPlxuJyA+ICRAdAotCSQoQU1f
Vl9hdClwcmludGYgJ2NoYXIgY29uc3QgKlZlcnNpb24gPSAiJChQQUNLQUdFX1ZFUlNJT04pIjtc
bicgPj4gJEB0Ci0JJChBTV9WX2F0KWNobW9kIGEtdyAkQHQKLQkkKEFNX1ZfYXQpbXYgJEB0ICRA
Ci0KLUJVSUxUX1NPVVJDRVMgKz0gc3JjL3ZlcnNpb24uaAotc3JjL3ZlcnNpb24uaDogTWFrZWZp
bGUKLQkkKEFNX1ZfR0VOKXJtIC1mICRACi0JJChBTV9WX2F0KSR7TUtESVJfUH0gc3JjCi0JJChB
TV9WX2F0KXByaW50ZiAnZXh0ZXJuIGNoYXIgY29uc3QgKlZlcnNpb247XG4nID4gJEB0Ci0JJChB
TV9WX2F0KWNobW9kIGEtdyAkQHQKLQkkKEFNX1ZfYXQpbXYgJEB0ICRACi0KLSMgR2VuZXJhdGVz
IGEgbGlzdCBvZiBtYWNybyBpbnZvY2F0aW9ucyBsaWtlOgotIyAgIFNJTkdMRV9CSU5BUllfUFJP
R1JBTShwcm9ncmFtX25hbWVfc3RyLCBtYWluX25hbWUpCi0jIG9uY2UgZm9yIGVhY2ggcHJvZ3Jh
bSBsaXN0IG9uICQoc2luZ2xlX2JpbmFyeV9wcm9ncykuIE5vdGUgdGhhdAotIyBmb3IgWyB0aGUg
bWFjcm8gaW52b2NhdGlvbiBpczoKLSMgICBTSU5HTEVfQklOQVJZX1BST0dSQU0oIlsiLCBfKQot
RElTVENMRUFORklMRVMgKz0gc3JjL2NvcmV1dGlscy5oCi1zcmMvY29yZXV0aWxzLmg6IE1ha2Vm
aWxlCi0JJChBTV9WX0dFTilybSAtZiAkQAotCSQoQU1fVl9hdCkke01LRElSX1B9IHNyYwotCSQo
QU1fVl9hdClmb3IgcHJvZyBpbiB4ICQoc2luZ2xlX2JpbmFyeV9wcm9ncyk7IGRvCVwKLQkgIHRl
c3QgJCRwcm9nID0geCAmJiBjb250aW51ZTsJCQkJXAotCSAgcHJvZz1gYmFzZW5hbWUgJCRwcm9n
YDsJCQkJXAotCSAgbWFpbj1gZWNobyAkJHByb2cgfCB0ciAnWycgJ18nYDsJCQlcCi0JICBlY2hv
ICJTSU5HTEVfQklOQVJZX1BST0dSQU0oXCIkJHByb2dcIiwgJCRtYWluKSI7CVwKLQlkb25lIHwg
c29ydCA+ICRAdAotCSQoQU1fVl9hdCljaG1vZCBhLXcgJEB0Ci0JJChBTV9WX2F0KW12ICRAdCAk
QAotCi1ESVNUQ0xFQU5GSUxFUyArPSBzcmMvdmVyc2lvbi5jIHNyYy92ZXJzaW9uLmgKLU1BSU5U
QUlORVJDTEVBTkZJTEVTICs9ICQoQlVJTFRfU09VUkNFUykKLQotYWxsX3Byb2dyYW1zID0gXAot
ICAgICQoYmluX1BST0dSQU1TKSBcCi0gICAgJChiaW5fU0NSSVBUUykgXAotICAgICQoRVhUUkFf
UFJPR1JBTVMpCi0KLXBtID0gcHJvZ3MtbWFrZWZpbGUKLXByID0gcHJvZ3MtcmVhZG1lCi0jIEVu
c3VyZSB0aGF0IHRoZSBsaXN0IG9mIHByb2dyYW1zIGluIFJFQURNRSBtYXRjaGVzIHRoZSBsaXN0
Ci0jIG9mIHByb2dyYW1zIHdlIGNhbiBidWlsZC4KLWNoZWNrLWxvY2FsOiBjaGVjay1SRUFETUUg
Y2hlY2stZHVwbGljYXRlLW5vLWluc3RhbGwKLS5QSE9OWTogY2hlY2stUkVBRE1FCi1jaGVjay1S
RUFETUU6Ci0JJChBTV9WX0dFTilybSAtcmYgJChwcikgJChwbSkKLQkkKEFNX1ZfYXQpZWNobyAk
KGFsbF9wcm9ncmFtcykgXAotCSB8IHRyIC1zICcgJyAnXG4nIFwKLQkgfCBzZWQgLWUgJ3MsJChF
WEVFWFQpJCQsLCcgXAotCSAgICAgICAtZSAncyxec3JjLywsJyBcCi0JICAgICAgIC1lICdzL15n
aW5zdGFsbCQkL2luc3RhbGwvJyBcCi0JIHwgc2VkIC9saWJzdGRidWYvZCBcCi0JIHwgJChBU1NP
UlQpIC11ID4gJChwbSkgJiYgXAotCXNlZCAtbiAnL15UaGUgcHJvZ3JhbXMgLiogYXJlOi8sL15b
YS16QS1aXS9wJyAkKHRvcF9zcmNkaXIpL1JFQURNRSBcCi0JICB8IHNlZCAtbiAnL14gICAqL3Mv
Ly9wJyB8IHRyIC1zICcgJyAnXG4nID4gJChwcikKLQkkKEFNX1ZfYXQpZGlmZiAkKHBtKSAkKHBy
KSAmJiBybSAtcmYgJChwcikgJChwbSkKLQotIyBFbnN1cmUgdGhhdCBhIGJ5LWRlZmF1bHQtbm90
LWluc3RhbGxlZCBwcm9ncmFtIChsaXN0ZWQgaW4KLSMgJChub19pbnN0YWxsX19wcm9ncykgaXMg
bm90IGFsc28gbGlzdGVkIGFzIGFub3RoZXIgJChFWFRSQV9QUk9HUkFNUykKLSMgZW50cnksIGJl
Y2F1c2UgaWYgdGhhdCB3ZXJlIHRvIGhhcHBlbiwgaXQgKndvdWxkKiBiZSBpbnN0YWxsZWQKLSMg
YnkgZGVmYXVsdC4KLS5QSE9OWTogY2hlY2stZHVwbGljYXRlLW5vLWluc3RhbGwKLWNoZWNrLWR1
cGxpY2F0ZS1uby1pbnN0YWxsOgotCSQoQU1fVl9HRU4pdGVzdCAteiAiYGVjaG8gJyQoRVhUUkFf
UFJPR1JBTVMpJyB8IHRyICcgJyAnXG4nIHwgdW5pcSAtZGAiCi0KLSMgVXNlIHRoZSBqdXN0LWJ1
aWx0ICdnaW5zdGFsbCcsIHdoZW4gbm90IGNyb3NzLWNvbXBpbGluZy4KLWlmIENST1NTX0NPTVBJ
TElORwotY3VfaW5zdGFsbF9wcm9ncmFtID0gQElOU1RBTExACi1lbHNlCi1jdV9pbnN0YWxsX3By
b2dyYW0gPSBzcmMvZ2luc3RhbGwKLWVuZGlmCi1JTlNUQUxMID0gJChjdV9pbnN0YWxsX3Byb2dy
YW0pIC1jCisjIS91c3IvbG9jYWwvL2Jpbi9jb3JldXRpbHMgLS1jb3JldXRpbHMtcHJvZy1zaGVi
YW5nPWxvY2FsLm1rCg==
--=_9dfd592f53a338c1be49ca58d4e7f801--





Information forwarded to bug-coreutils@HIDDEN:
bug#29617; Package coreutils. Full text available.

Message received at 29617 <at> debbugs.gnu.org:


Received: (at 29617) by debbugs.gnu.org; 8 Dec 2017 18:55:16 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Dec 08 13:55:16 2017
Received: from localhost ([127.0.0.1]:52872 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1eNNnl-0003qg-SA
	for submit <at> debbugs.gnu.org; Fri, 08 Dec 2017 13:55:16 -0500
Received: from mx1.redhat.com ([209.132.183.28]:55724)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eblake@HIDDEN>) id 1eNNnj-0003qS-U6
 for 29617 <at> debbugs.gnu.org; Fri, 08 Dec 2017 13:55:12 -0500
Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com
 [10.5.11.16])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mx1.redhat.com (Postfix) with ESMTPS id 30B3A64DB9;
 Fri,  8 Dec 2017 18:55:06 +0000 (UTC)
Received: from [10.10.123.138] (ovpn-123-138.rdu2.redhat.com [10.10.123.138])
 by smtp.corp.redhat.com (Postfix) with ESMTP id A1CD968D8F;
 Fri,  8 Dec 2017 18:55:05 +0000 (UTC)
Subject: Re: bug#29617: `seq 1 --help' doesn't give help
To: chadweisman@HIDDEN, 29617 <at> debbugs.gnu.org
References: <20171208173823.7BEF6C055F@HIDDEN>
From: Eric Blake <eblake@HIDDEN>
Openpgp: url=http://people.redhat.com/eblake/eblake.gpg
Organization: Red Hat, Inc.
Message-ID: <221f21d0-6069-3d7e-4af4-a02d759614a5@HIDDEN>
Date: Fri, 8 Dec 2017 12:55:04 -0600
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.4.0
MIME-Version: 1.0
In-Reply-To: <20171208173823.7BEF6C055F@HIDDEN>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="9Ju7FwDtrW2iFIxjkQNmjD1SdM0u9WrLW"
X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16
 (mx1.redhat.com [10.5.110.38]); Fri, 08 Dec 2017 18:55:06 +0000 (UTC)
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: 29617
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--9Ju7FwDtrW2iFIxjkQNmjD1SdM0u9WrLW
Content-Type: multipart/mixed; boundary="8AU4NNsHBfgPiwjHUvdcDuVnrVdXTraxC";
 protected-headers="v1"
From: Eric Blake <eblake@HIDDEN>
To: chadweisman@HIDDEN, 29617 <at> debbugs.gnu.org
Message-ID: <221f21d0-6069-3d7e-4af4-a02d759614a5@HIDDEN>
Subject: Re: bug#29617: `seq 1 --help' doesn't give help
References: <20171208173823.7BEF6C055F@HIDDEN>
In-Reply-To: <20171208173823.7BEF6C055F@HIDDEN>

--8AU4NNsHBfgPiwjHUvdcDuVnrVdXTraxC
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable

On 12/08/2017 11:38 AM, chadweisman@HIDDEN wrote:
> Hello,
>=20
> I am using coreutils version 8.27 on Fedora, and I don't see this fixed=
 in 8.28's NEWS.
>=20
> $ seq 1 --help
> seq: invalid floating point argument: =E2=80=98--help=E2=80=99
> Try 'seq --help' for more information.

Interesting bug!

>=20
> We should be able to put the options anywhere and not necessarily befor=
e any arguments.

Yes, when possible.

>  And even if not (e.g. POSIX conformance overrides,)

POSIX does say you have to write 'foo -- --help' if you want to
guarantee that --help is treated as a literal argument rather than
option, but it also says that the moment you specify '--help' (or any
other parameter starting with two dashes without the -- end-of-options
parameter), you are already in undefined territory.  So we can do
whatever we want when encountering '--help' - which is part of the
reason WHY the GNU project prefers making 'foo args --help' print help
output where possible.

> --help should be handled specially to conform to the GNU coding standar=
ds. [1]

Yes.

But the reason that it fails is because we use getopt_long(...,
"+f:s:w") - where the leading '+' specifically requests that we NOT
allow option reordering.  Why? Because 'seq' is MOST useful if it can
parse negative numbers easily.  We deemed it more important to support
'seq 2 -1 1' without requiring the user to write 'seq -- 2 -1 1' - but
in doing so, it also means that we can't reorder options, so any obvious
non-option (like '1' in your example) makes all other parameters
non-options (including '--help' in your example).

It might be possible to do a two-pass parse over argv: one that looks
just for --help (and where treating -1 as an option is a no-op), and the
second that actually parses things in order now that it knows --help is
not present.  But that's a lot of code to add for a corner case, so I
won't be writing the patch; but I also won't turn it down if someone
else wants to write the patch.

--=20
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org


--8AU4NNsHBfgPiwjHUvdcDuVnrVdXTraxC--

--9Ju7FwDtrW2iFIxjkQNmjD1SdM0u9WrLW
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Comment: Public key at http://people.redhat.com/eblake/eblake.gpg
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEzBAEBCAAdFiEEccLMIrHEYCkn0vOqp6FrSiUnQ2oFAloq4AgACgkQp6FrSiUn
Q2rYFAf+JzSch+gFs6daPYghMSULcHQ06ThygtZNP/G/e9ZBX91e3cC5FBwY9TeR
2ahxo1gu+TE3WT9OvbIo4gjM6BYijikeAqE7+hDSbPli58O30FAIA6SwXdWfX1pT
Eg6T0wqnPDxqRkq8b92bVyHan9XejdEteFUxbEa1zeVFM0MCFhT+D9vIuTTTRQ3Y
qn+qbEelNfe2CnJlh8wrDRA24VGbqP6Yit80OIMGeziFN/OculNS3ZYGq2B/oOJG
KOij7wUhSL9RCopGLuypn/U+G7QtEddD4hdKF1T9CIq0F5Y3HQDqlpQAEIXj76N9
MFjNo5LNEjqJAusq7wGu/qf/FSi4qw==
=mP75
-----END PGP SIGNATURE-----

--9Ju7FwDtrW2iFIxjkQNmjD1SdM0u9WrLW--




Information forwarded to bug-coreutils@HIDDEN:
bug#29617; Package coreutils. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 8 Dec 2017 17:44:37 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Dec 08 12:44:37 2017
Received: from localhost ([127.0.0.1]:52791 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1eNMhQ-0004py-K5
	for submit <at> debbugs.gnu.org; Fri, 08 Dec 2017 12:44:36 -0500
Received: from eggs.gnu.org ([208.118.235.92]:48051)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <chadweisman@HIDDEN>) id 1eNMbj-0004hs-Tp
 for submit <at> debbugs.gnu.org; Fri, 08 Dec 2017 12:38:44 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <chadweisman@HIDDEN>) id 1eNMbd-0002XC-Uc
 for submit <at> debbugs.gnu.org; Fri, 08 Dec 2017 12:38:38 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,T_DKIM_INVALID,
 URIBL_BLOCKED autolearn=disabled version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:36554)
 by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32)
 (Exim 4.71) (envelope-from <chadweisman@HIDDEN>)
 id 1eNMbd-0002X7-RS
 for submit <at> debbugs.gnu.org; Fri, 08 Dec 2017 12:38:37 -0500
Received: from eggs.gnu.org ([2001:4830:134:3::10]:39015)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <chadweisman@HIDDEN>) id 1eNMbc-0004aY-L7
 for bug-coreutils@HIDDEN; Fri, 08 Dec 2017 12:38:37 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <chadweisman@HIDDEN>) id 1eNMbZ-0002W8-Fw
 for bug-coreutils@HIDDEN; Fri, 08 Dec 2017 12:38:36 -0500
Received: from smtp3.hushmail.com ([65.39.178.200]:42576)
 by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)
 (Exim 4.71) (envelope-from <chadweisman@HIDDEN>)
 id 1eNMbZ-0002U5-6d
 for bug-coreutils@HIDDEN; Fri, 08 Dec 2017 12:38:33 -0500
Received: from smtp3.hushmail.com (localhost [127.0.0.1])
 by smtp3.hushmail.com (Postfix) with SMTP id E1B23E085D
 for <bug-coreutils@HIDDEN>; Fri,  8 Dec 2017 17:38:23 +0000 (UTC)
X-hush-tls-connected: 1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=hushmail.com;
 h=date:to:subject:from; s=hush;
 bh=KOr0mnzh5RrcO6fMsZaJEyZXJPpg/34BfI6Ya+kL9ng=;
 b=VQrvWQ1EOez0+IMCl7EK9GD5YdJy/Sd6hCYCChxrbmbd1XRHv5RoVfGZ5wNFYdrVGM1gaedGaGwAWBJE6UOcYuaMM1njxF+Ia7iqBl3dH9/sDnNr6PYegDh9WEy4gYZ3Q7kRQcCvPMsuXu1jZg1cJsMK/edD6ZNx6ZtXxbR1A8FDTbqgfrapfw/LdqX3FSuImNjkfSw+vGCPVQH37zcbE+MU2lSrRzfNDMpOpIKPDDfNEleesnWQY7arhe4DR+HRZ2mzlJAvTKkpo2AoNSY3yskQe0Mf6zZOx7nug5xOnTUDA57AfbrHiUHAdP4L6QilHHVbYgj6dKRpY9JNj7nA4A==
Received: from smtp.hushmail.com (w3.hushmail.com [65.39.178.62])
 (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by smtp3.hushmail.com (Postfix) with ESMTPS
 for <bug-coreutils@HIDDEN>; Fri,  8 Dec 2017 17:38:23 +0000 (UTC)
Received: by smtp.hushmail.com (Postfix, from userid 99)
 id 7BEF6C055F; Fri,  8 Dec 2017 17:38:23 +0000 (UTC)
MIME-Version: 1.0
Date: Fri, 08 Dec 2017 12:38:23 -0500
To: bug-coreutils@HIDDEN
Subject: `seq 1 --help' doesn't give help
From: chadweisman@HIDDEN
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="UTF-8"
Message-Id: <20171208173823.7BEF6C055F@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy]
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -4.1 (----)
X-Debbugs-Envelope-To: submit
X-Mailman-Approved-At: Fri, 08 Dec 2017 12:44:35 -0500
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -4.1 (----)

Hello,

I am using coreutils version 8.27 on Fedora, and I don't see this fixed in 8.28's NEWS.

$ seq 1 --help
seq: invalid floating point argument: ‘--help’
Try 'seq --help' for more information.

We should be able to put the options anywhere and not necessarily before any arguments.  And even if not (e.g. POSIX conformance overrides,) --help should be handled specially to conform to the GNU coding standards. [1]

1. https://www.gnu.org/prep/standards/standards.html#g_t_002d_002dhelp

cheers,

Chad.





Acknowledgement sent to chadweisman@HIDDEN:
New bug report received and forwarded. Copy sent to bug-coreutils@HIDDEN. Full text available.
Report forwarded to bug-coreutils@HIDDEN:
bug#29617; Package coreutils. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 25 Nov 2019 12:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.