GNU bug report logs - #33786
doc: sort: document Debian's version-sort algorithm

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; Severity: wishlist; Reported by: L A Walsh <coreutils@HIDDEN>; Keywords: notabug; dated Tue, 18 Dec 2018 07:13:01 UTC; Maintainer for coreutils is bug-coreutils@HIDDEN.

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


Received: (at 33786) by debbugs.gnu.org; 18 Dec 2018 08:23:19 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Dec 18 03:23:18 2018
Received: from localhost ([127.0.0.1]:52576 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1gZAes-0007yL-K0
	for submit <at> debbugs.gnu.org; Tue, 18 Dec 2018 03:23:18 -0500
Received: from mail-pg1-f195.google.com ([209.85.215.195]:44689)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <assafgordon@HIDDEN>) id 1gZAeq-0007y6-6B
 for 33786 <at> debbugs.gnu.org; Tue, 18 Dec 2018 03:23:16 -0500
Received: by mail-pg1-f195.google.com with SMTP id t13so7459273pgr.11
 for <33786 <at> debbugs.gnu.org>; Tue, 18 Dec 2018 00:23:16 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=subject:to:cc:references:from:message-id:date:user-agent
 :mime-version:in-reply-to:content-language:content-transfer-encoding;
 bh=aSigCOSfknS9azymdqi77YCSZgNTwlJzIcp3b5G0LDo=;
 b=QwcXKkvkH314SyqM13kVi7uX0oZSKqCt4Rck1jLHTZzFJH0KCEJatb7gD2DJgxEIHY
 e+ZKgNUzbUQFPKCoophw8/tyQHJTVbjSX8DFIcZGEwEXhxf4xO2+HPifHLt+Ksmushq1
 s8Ra0g8Oj7Wmv1wEzU/pyVDp0s5remvB6RijIBMAxVDQh3JmsUQKXvCXwaurYndKb/xj
 5k2rXvR8oAHL9oxA0oKf3mtLsOXvCg8tG1R/C3HJsX2CKhoySrhBzpnqhgq5sOxtBDfX
 SNiXs7QfA8YrmoyoFwVdKuoKZAfFKiuSBuJCP3t5IGn5WdblA7ft6EqIYThq06IweVUj
 o7zg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:cc:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=aSigCOSfknS9azymdqi77YCSZgNTwlJzIcp3b5G0LDo=;
 b=KNn6X/otpXLvM1fs8LChxvGxmX4p8qWcAc6Os5Y4F21L1s9yyMmbCwZNeC/9z335+w
 UOPXjA6cbog2ZZs0ZQ21vDJF9J3p/w3iKkOs0VUor/fXxPux2k7XCblXMt2Gw46ZklZp
 kv0nrBjMQSJuZBmpYMqAvu1wk5ZeZzG08Cwo/YRq96cIZz8lUXGruZg6ZZ1Flo48g6/V
 Lko3/RutHHz6vpz8Bwqw1F6Rv5J8SOPGqOOTjd3x+3pYnyckQ7i2IhN8ZuHrigxqRTTi
 1KXfIc02XtoYGsB/Pi8pvJAZg8oiPsHke22UEtCOCRAhrQUVFsJXeZh7SBxY7ULP9aDI
 +FzA==
X-Gm-Message-State: AA+aEWY0SnAmALpv8y4sUMUTY2EZWX03fTYaKtBg3BYBaPpD8BPsVbDM
 oyKpJbUTynGt/t3+6dqBaJ1Q0EOg
X-Google-Smtp-Source: AFSGD/XC48K5B/vQAwqjoHzNWxACQrCbSbM3k/S45swSsBSd8WvO3VQ+AS6Fs+svSpo18gxRa5sY3g==
X-Received: by 2002:a63:1f1c:: with SMTP id f28mr2526360pgf.193.1545121389636; 
 Tue, 18 Dec 2018 00:23:09 -0800 (PST)
Received: from tomato.housegordon.com (moose.housegordon.com. [184.68.105.38])
 by smtp.googlemail.com with ESMTPSA id
 m20sm15947908pgv.93.2018.12.18.00.23.08
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Tue, 18 Dec 2018 00:23:08 -0800 (PST)
Subject: Re: bug#33786: Bug: undocumented feature (algorithm) for version-sort
 (include on manpage)
To: L A Walsh <coreutils@HIDDEN>
References: <5C189DB5.4070001@HIDDEN>
 <2614ebfb-ee61-825c-5bbb-70b91920d0c4@HIDDEN> <5C18AA7E.6090307@HIDDEN>
From: Assaf Gordon <assafgordon@HIDDEN>
Message-ID: <946dc972-960f-1dfc-5db1-0260c0987345@HIDDEN>
Date: Tue, 18 Dec 2018 01:23:07 -0700
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.3.0
MIME-Version: 1.0
In-Reply-To: <5C18AA7E.6090307@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 33786
Cc: 33786 <at> debbugs.gnu.org
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: -1.0 (-)

Hello,

On 2018-12-18 1:06 a.m., L A Walsh wrote:
> So undocumented features are considered wishlist items
> in Gnu?

In your message you wrote:

On 2018-12-18 12:11 a.m., L A Walsh wrote:
> The request here is for the algorithm used by 'version-sort' be
> included in sort's manpage.

Thus it is a request for a future improvement - not a report about
a bug in an existing program or a bug (=incorrect information) in
the current manual.

In the parlance of the DebBugs system, it is a "wishlist" item
(as opposed to a bug), see here:
https://debbugs.gnu.org/Developer.html#severities

This item remains open ( https://bugs.gnu.org/33786 ).
It is not closed as "notabug", and not rejected as "wontfix".
Thus, it will stay active  until someone takes the time to address the
issue of documenting the algorithm, or until it is decided that
there's no interest in such change.

---

Regarding "undocumented feature", as I wrote in the previous message,
the algorithm is well documented in other place online (and indeed,
as you pointed, not documented in exact details in the coreutils
manual).

I think this is quite different from the typical definition of an
"undocumented feature" (e.g. a hidden feature that is not intended
to be used by most end-users).

---

Then again,
If you or anyone else have concrete suggestions to improve the manual,
please do send a patch.

regards,
  - assaf




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

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


Received: (at submit) by debbugs.gnu.org; 18 Dec 2018 08:13:58 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Dec 18 03:13:57 2018
Received: from localhost ([127.0.0.1]:52571 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1gZAVp-0005k6-LG
	for submit <at> debbugs.gnu.org; Tue, 18 Dec 2018 03:13:57 -0500
Received: from eggs.gnu.org ([208.118.235.92]:43311)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <coreutils@HIDDEN>) id 1gZAVo-0005ju-Bg
 for submit <at> debbugs.gnu.org; Tue, 18 Dec 2018 03:13:56 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <coreutils@HIDDEN>) id 1gZAVh-00074D-8I
 for submit <at> debbugs.gnu.org; Tue, 18 Dec 2018 03:13:51 -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 autolearn=disabled
 version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:45379)
 by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32)
 (Exim 4.71) (envelope-from <coreutils@HIDDEN>) id 1gZAVe-00073W-ML
 for submit <at> debbugs.gnu.org; Tue, 18 Dec 2018 03:13:47 -0500
Received: from eggs.gnu.org ([2001:4830:134:3::10]:52896)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <coreutils@HIDDEN>) id 1gZAVc-0000NT-LG
 for bug-coreutils@HIDDEN; Tue, 18 Dec 2018 03:13:46 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <coreutils@HIDDEN>) id 1gZAVZ-00071v-EY
 for bug-coreutils@HIDDEN; Tue, 18 Dec 2018 03:13:44 -0500
Received: from ishtar.tlinx.org ([173.164.175.65]:43092
 helo=Ishtar.sc.tlinx.org)
 by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)
 (Exim 4.71) (envelope-from <coreutils@HIDDEN>) id 1gZAVY-00071B-WB
 for bug-coreutils@HIDDEN; Tue, 18 Dec 2018 03:13:41 -0500
Received: from [192.168.3.12] (Athenae [192.168.3.12])
 by Ishtar.sc.tlinx.org (8.14.7/8.14.4/SuSE Linux 0.8) with ESMTP id
 wBI8DZr4069095; Tue, 18 Dec 2018 00:13:37 -0800
Message-ID: <5C18AC2E.60106@HIDDEN>
Date: Tue, 18 Dec 2018 00:13:34 -0800
From: L A Walsh <coreutils@HIDDEN>
User-Agent: Thunderbird
MIME-Version: 1.0
To: Assaf Gordon <assafgordon@HIDDEN>
Subject: Re: bug#33786: Bug: undocumented feature (algorithm) for version-sort
 (include on manpage)
References: <5C189DB5.4070001@HIDDEN>
 <2614ebfb-ee61-825c-5bbb-70b91920d0c4@HIDDEN>
In-Reply-To: <2614ebfb-ee61-825c-5bbb-70b91920d0c4@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x (no
 timestamps) [generic] [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: -5.0 (-----)
X-Debbugs-Envelope-To: submit
Cc: Coreutils <bug-coreutils@HIDDEN>
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: -6.0 (------)

I wouldn't consider debian to be a standards organization.

Perhaps they should get their version sort adopted by POSIX?

But having algorithms that read:

use ascii sort for this field if after a character in this list [].
but use numeric sort for this field if after this list [].
but use an indeterminant sort if the field has unicode characters...

would hardly seem likely if it was a publish standard.

In the test cases I used, subsequent fields' sort methods
were determined by previous fields with a non-obvious
behavior. 

That it is well documented on the net 'somewhere', is 
part of the problem -- on a console, there was no
web browser nor internet access.






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

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


Received: (at 33786) by debbugs.gnu.org; 18 Dec 2018 08:06:33 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Dec 18 03:06:33 2018
Received: from localhost ([127.0.0.1]:52566 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1gZAOa-0005Yb-Ef
	for submit <at> debbugs.gnu.org; Tue, 18 Dec 2018 03:06:33 -0500
Received: from ishtar.tlinx.org ([173.164.175.65]:36372
 helo=Ishtar.sc.tlinx.org) by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <coreutils@HIDDEN>) id 1gZAOY-0005YS-Vc
 for 33786 <at> debbugs.gnu.org; Tue, 18 Dec 2018 03:06:27 -0500
Received: from [192.168.3.12] (Athenae [192.168.3.12])
 by Ishtar.sc.tlinx.org (8.14.7/8.14.4/SuSE Linux 0.8) with ESMTP id
 wBI86N7H067054; Tue, 18 Dec 2018 00:06:25 -0800
Message-ID: <5C18AA7E.6090307@HIDDEN>
Date: Tue, 18 Dec 2018 00:06:22 -0800
From: L A Walsh <coreutils@HIDDEN>
User-Agent: Thunderbird
MIME-Version: 1.0
To: Assaf Gordon <assafgordon@HIDDEN>
Subject: Re: bug#33786: Bug: undocumented feature (algorithm) for version-sort
 (include on manpage)
References: <5C189DB5.4070001@HIDDEN>
 <2614ebfb-ee61-825c-5bbb-70b91920d0c4@HIDDEN>
In-Reply-To: <2614ebfb-ee61-825c-5bbb-70b91920d0c4@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 33786
Cc: 33786 <at> debbugs.gnu.org
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: -1.0 (-)

So undocumented features are considered wishlist items
in Gnu?   

On 12/18/2018 12:04 AM, Assaf Gordon wrote:
> tags  33786 notabug
> severity 33786 wishlist
> retitle 33786 doc: sort: document Debian's version-sort algorithm
> stop
> 
> Hello,
> 
> On 2018-12-18 12:11 a.m., L A Walsh wrote:
>> meaning that if one is going to put a Debian sort into a
>> general purpose tool like "sort", then the algorithm really
>> needs to be documented.
> 
> It is well documented in many places online, e.g.:
> https://www.debian.org/doc/debian-policy/ch-controlfields.html#version
> https://readme.phys.ethz.ch/documentation/debian_version_numbers/
> 
> With a shorter summary available in the coreutils manual here:
> https://www.gnu.org/software/coreutils/manual/html_node/Details-about-version-sort.html#Details-about-version-sort
> 
>> This means there is no way to verify consistent behavior
>> from as the utility matures 
> 
> The sort-version.sh test ensure the behavior is consistent from
> one release to the next:
> https://opengrok.housegordon.com/source/xref/coreutils/tests/misc/sort-version.sh
> 
> It also ensures the behavior is compatible with Debian's definition.
> 
>> and no way to write an
>> independent, auditable test case to assure that the sort algorithm, 
>> operates with consistency from release to release
>> as well as w/r/t other included sort algorithms.
> 
> This message contains example of how to compare results between
> coreutils' sort and debian's utilities:
> https://lists.gnu.org/archive/html/bug-coreutils/2018-11/msg00017.html
> 
> Here's a post about doing the same using python:
> https://stackoverflow.com/a/4957741
> 
> And in NodeJS:
> https://www.npmjs.com/package/deb-version-compare
> 
> I'm sure there are many other implementations that
> allow easy comparison of one against the other to quickly find
> any discrepancies.
> 
> 
> As for auditable code, the actual code is here (part of gnulib):
> https://opengrok.housegordon.com/source/xref/gnulib/lib/filevercmp.c
> 
> And gnulib also includes a unit-test:
> https://opengrok.housegordon.com/source/xref/gnulib/tests/test-filevercmp.c
> 
> There's no better audit-ability than the source code itself.
> 
> 
>> The request here is for the algorithm used by 'version-sort'
>> be included in sort's manpage.  This should document
>> sort's features for reference and use by users who are using
>> the utility in its native, cmd-line environment.
> 
> If a coreutils' program implements a known standard,
> it's not necessarily beneficial to include implementation details of
> the standard, as this is available elsewhere.
> 
> For example, the manual for the "base64" program does not include
> an explanation of what base64 is. Instead, it links to RFC4648:
> https://www.gnu.org/software/coreutils/manual/html_node/base64-
> invocation.html#base64-invocation
> 
> As your request is for a change in documentation, I'm marking this
> as a wish-list item.
> As always, concrete patches are welcomed and they go a long way towards
> expediting any desired changes - if you have suggestions please do send
> a patch.
> 
>> Also of importance: that the documentation should be include with the
>> source and installable with the program executable.
> When someone downloads coreutils' source, they automatically get
> the manual (in texinfo format, easily convertible to HTML/PDF).
> 
> When they install coreutils (e.g. "make install"), the manual
> is also installed (as an "info" file).
> 
> 
> regards,
>   - assaf




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

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


Received: (at 33786) by debbugs.gnu.org; 18 Dec 2018 08:05:03 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Dec 18 03:05:03 2018
Received: from localhost ([127.0.0.1]:52560 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1gZAN9-0005VH-Rp
	for submit <at> debbugs.gnu.org; Tue, 18 Dec 2018 03:05:03 -0500
Received: from mail-pg1-f173.google.com ([209.85.215.173]:38534)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <assafgordon@HIDDEN>)
 id 1gZAN0-0005Uo-Ln; Tue, 18 Dec 2018 03:04:51 -0500
Received: by mail-pg1-f173.google.com with SMTP id g189so7444173pgc.5;
 Tue, 18 Dec 2018 00:04:50 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=subject:to:references:from:message-id:date:user-agent:mime-version
 :in-reply-to:content-language:content-transfer-encoding;
 bh=LW4q2jQXqKFMM1QD37JA8r5uUGtC2fv6R9XPQh2KXTw=;
 b=qAbl3/etyyUQ6faoulquX9xHL+Kx6Z9J7pHibkzK9u0OIMBTdWj2J3VAQsu7Ir65rw
 kTJwrlVKhWYTUmMHhMj2KgCkAzxY6eLfLjfTosTRFxaa7+0O9tn6sYNE7UEtv8lRC/3u
 D2M5pLK6nhn8yHPH0JC+sY3rOyITdxklRXsBjRJ4A4P2Te9FHktPhc4gU+lgvNmSJKrE
 uDG7biugIsNIjK/TxFEbL9FvsnzxB85D5mXeAKsWyYV6op1x+C/QD75yjTiv8KLHfnwt
 40wDk58GgZBQX4O9WLqzVbzvVIKIBV4bGA0fpz4SoMXXEg4VeZm9GP2dG797OGZG/0vm
 GtIg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=LW4q2jQXqKFMM1QD37JA8r5uUGtC2fv6R9XPQh2KXTw=;
 b=O4BAazvfKuMl76Zae6RX3fkZqiQUvLz5133TkBTnwZiH9iQNdFchsbehUxT7E7QDlU
 65Ovpqpa3kMsltTu24gWNOChfJMR2hcc0beaniYz701HQDraEEKKKQOW5lLUcaGRweR/
 8RWCn5dp+cOXVURiDxzGnO2lXT7NSr5AdNsRz2a0ZHAln2cKAGx09RigAfVcAMkvxmT4
 BhppmRTriClRKbDFygmF77YL+bw58I6P0VcNk23cxSoLFSw+o5GhonnOSKPf46B3xExM
 mGgHnSkV9WoAFmX6m2qhY+HPGxPBWqt2vwv0Z9pbjQhhIRKarCAYmQOJg9vvnLngS/Gj
 BSSQ==
X-Gm-Message-State: AA+aEWYNW/Tx1rZvFf/88Isf3hkoa9DYbTD/9IMx25t47p0TycXvpeZ3
 e3+m3KcZONnOxMLF1MtglGE0azom
X-Google-Smtp-Source: AFSGD/X5giSG0Qj+YOjWqUtw/r7qjsaZBzJd5IuwuVCItioveRWY3wlTEsRZd562l7cWrBDS1UVUog==
X-Received: by 2002:a63:2d82:: with SMTP id
 t124mr14878671pgt.260.1545120284263; 
 Tue, 18 Dec 2018 00:04:44 -0800 (PST)
Received: from tomato.housegordon.com (moose.housegordon.com. [184.68.105.38])
 by smtp.googlemail.com with ESMTPSA id
 h9sm19089226pgd.53.2018.12.18.00.04.42
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Tue, 18 Dec 2018 00:04:43 -0800 (PST)
Subject: Re: bug#33786: Bug: undocumented feature (algorithm) for version-sort
 (include on manpage)
To: L A Walsh <coreutils@HIDDEN>, 33786 <at> debbugs.gnu.org
References: <5C189DB5.4070001@HIDDEN>
From: Assaf Gordon <assafgordon@HIDDEN>
Message-ID: <2614ebfb-ee61-825c-5bbb-70b91920d0c4@HIDDEN>
Date: Tue, 18 Dec 2018 01:04:42 -0700
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.3.0
MIME-Version: 1.0
In-Reply-To: <5C189DB5.4070001@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 33786
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: -1.0 (-)

tags  33786 notabug
severity 33786 wishlist
retitle 33786 doc: sort: document Debian's version-sort algorithm
stop

Hello,

On 2018-12-18 12:11 a.m., L A Walsh wrote:
> meaning that if one is going to put a Debian sort into a
> general purpose tool like "sort", then the algorithm really
> needs to be documented.

It is well documented in many places online, e.g.:
https://www.debian.org/doc/debian-policy/ch-controlfields.html#version
https://readme.phys.ethz.ch/documentation/debian_version_numbers/

With a shorter summary available in the coreutils manual here:
https://www.gnu.org/software/coreutils/manual/html_node/Details-about-version-sort.html#Details-about-version-sort

> This means there is no way to verify consistent behavior
> from as the utility matures 

The sort-version.sh test ensure the behavior is consistent from
one release to the next:
https://opengrok.housegordon.com/source/xref/coreutils/tests/misc/sort-version.sh

It also ensures the behavior is compatible with Debian's definition.

> and no way to write an
> independent, auditable test case to assure that the sort algorithm, 
> operates with consistency from release to release
> as well as w/r/t other included sort algorithms.

This message contains example of how to compare results between
coreutils' sort and debian's utilities:
https://lists.gnu.org/archive/html/bug-coreutils/2018-11/msg00017.html

Here's a post about doing the same using python:
https://stackoverflow.com/a/4957741

And in NodeJS:
https://www.npmjs.com/package/deb-version-compare

I'm sure there are many other implementations that
allow easy comparison of one against the other to quickly find
any discrepancies.


As for auditable code, the actual code is here (part of gnulib):
https://opengrok.housegordon.com/source/xref/gnulib/lib/filevercmp.c

And gnulib also includes a unit-test:
https://opengrok.housegordon.com/source/xref/gnulib/tests/test-filevercmp.c

There's no better audit-ability than the source code itself.


> The request here is for the algorithm used by 'version-sort'
> be included in sort's manpage.  This should document
> sort's features for reference and use by users who are using
> the utility in its native, cmd-line environment.

If a coreutils' program implements a known standard,
it's not necessarily beneficial to include implementation details of
the standard, as this is available elsewhere.

For example, the manual for the "base64" program does not include
an explanation of what base64 is. Instead, it links to RFC4648:
https://www.gnu.org/software/coreutils/manual/html_node/base64-
invocation.html#base64-invocation

As your request is for a change in documentation, I'm marking this
as a wish-list item.
As always, concrete patches are welcomed and they go a long way towards
expediting any desired changes - if you have suggestions please do send
a patch.

> Also of importance: that the documentation should be include with the
> source and installable with the program executable.
When someone downloads coreutils' source, they automatically get
the manual (in texinfo format, easily convertible to HTML/PDF).

When they install coreutils (e.g. "make install"), the manual
is also installed (as an "info" file).


regards,
  - assaf




Information forwarded to bug-coreutils@HIDDEN:
bug#33786; Package coreutils. Full text available.
Changed bug title to 'doc: sort: document Debian's version-sort algorithm' from 'Bug: undocumented feature (algorithm) for version-sort (include on manpage)' Request was from Assaf Gordon <assafgordon@HIDDEN> to control <at> debbugs.gnu.org. Full text available.
Severity set to 'wishlist' from 'normal' Request was from Assaf Gordon <assafgordon@HIDDEN> to control <at> debbugs.gnu.org. Full text available.
Added tag(s) notabug. 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; 18 Dec 2018 07:12:08 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Dec 18 02:12:08 2018
Received: from localhost ([127.0.0.1]:52537 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1gZ9Y0-00049b-B9
	for submit <at> debbugs.gnu.org; Tue, 18 Dec 2018 02:12:08 -0500
Received: from eggs.gnu.org ([208.118.235.92]:54660)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <coreutils@HIDDEN>) id 1gZ9Xy-00049D-SO
 for submit <at> debbugs.gnu.org; Tue, 18 Dec 2018 02:12:07 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <coreutils@HIDDEN>) id 1gZ9Xs-0000B0-M6
 for submit <at> debbugs.gnu.org; Tue, 18 Dec 2018 02:12:01 -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 autolearn=disabled
 version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:41185)
 by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32)
 (Exim 4.71) (envelope-from <coreutils@HIDDEN>) id 1gZ9Xs-0000Aw-IW
 for submit <at> debbugs.gnu.org; Tue, 18 Dec 2018 02:12:00 -0500
Received: from eggs.gnu.org ([2001:4830:134:3::10]:36025)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <coreutils@HIDDEN>) id 1gZ9Xr-0002aJ-Jk
 for bug-coreutils@HIDDEN; Tue, 18 Dec 2018 02:12:00 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <coreutils@HIDDEN>) id 1gZ9Xo-00009K-7y
 for bug-coreutils@HIDDEN; Tue, 18 Dec 2018 02:11:59 -0500
Received: from ishtar.tlinx.org ([173.164.175.65]:40222
 helo=Ishtar.sc.tlinx.org)
 by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)
 (Exim 4.71) (envelope-from <coreutils@HIDDEN>) id 1gZ9Xn-00008N-SM
 for bug-coreutils@HIDDEN; Tue, 18 Dec 2018 02:11:56 -0500
Received: from [192.168.3.12] (Athenae [192.168.3.12])
 by Ishtar.sc.tlinx.org (8.14.7/8.14.4/SuSE Linux 0.8) with ESMTP id
 wBI7BoW6057680
 for <bug-coreutils@HIDDEN>; Mon, 17 Dec 2018 23:11:52 -0800
Message-ID: <5C189DB5.4070001@HIDDEN>
Date: Mon, 17 Dec 2018 23:11:49 -0800
From: L A Walsh <coreutils@HIDDEN>
User-Agent: Thunderbird
MIME-Version: 1.0
To: Coreutils <bug-coreutils@HIDDEN>
Subject: Bug: undocumented feature (algorithm) for version-sort (include on
 manpage)
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x (no
 timestamps) [generic] [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: -5.0 (-----)
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: -6.0 (------)

Recently there was some discussion on inconsistencies in
how version sort worked and some people *basically*, said:

   "it's not our fault, it's Debian's algorithm, you wanna
   change it, convince them."

Um...fine.  Except that it is a Gnu tool, not a Debian tool,
meaning that if one is going to put a Debian sort into a
general purpose tool like "sort", then the algorithm really
needs to be documented.

This means there is no way to verify consistent behavior
from as the utility matures and no way to write an
independent, auditable test case to assure that the sort 
algorithm, operates with consistency from release to release
as well as w/r/t other included sort algorithms.

The request here is for the algorithm used by 'version-sort'
be included in sort's manpage.  This should document
sort's features for reference and use by users who are using
the utility in its native, cmd-line environment.  

Also of importance: that the documentation should be include
with the source and installable with the program executable.

thanks,
linda






Acknowledgement sent to L A Walsh <coreutils@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-coreutils@HIDDEN. Full text available.
Report forwarded to bug-coreutils@HIDDEN:
bug#33786; 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.