X-Loop: help-debbugs@HIDDEN Subject: bug#35939: version sort is incorrect with hyphen-minus Resent-From: Vincent Lefevre <vincent@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-coreutils@HIDDEN Resent-Date: Tue, 28 May 2019 00:55:01 +0000 Resent-Message-ID: <handler.35939.B.15590048434741 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: report 35939 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: 35939 <at> debbugs.gnu.org X-Debbugs-Original-To: bug-coreutils@HIDDEN Received: via spool by submit <at> debbugs.gnu.org id=B.15590048434741 (code B ref -1); Tue, 28 May 2019 00:55:01 +0000 Received: (at submit) by debbugs.gnu.org; 28 May 2019 00:54:03 +0000 Received: from localhost ([127.0.0.1]:54574 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1hVQNO-0001EP-N8 for submit <at> debbugs.gnu.org; Mon, 27 May 2019 20:54:02 -0400 Received: from eggs.gnu.org ([209.51.188.92]:57791) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <vincent@HIDDEN>) id 1hVQNK-0001Dt-U8 for submit <at> debbugs.gnu.org; Mon, 27 May 2019 20:53:59 -0400 Received: from lists.gnu.org ([209.51.188.17]:53392) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from <vincent@HIDDEN>) id 1hVQNF-0000Ez-ON for submit <at> debbugs.gnu.org; Mon, 27 May 2019 20:53:53 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43934) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <vincent@HIDDEN>) id 1hVQNE-0000W8-Ln for bug-coreutils@HIDDEN; Mon, 27 May 2019 20:53:53 -0400 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,URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <vincent@HIDDEN>) id 1hVQND-0000Do-5f for bug-coreutils@HIDDEN; Mon, 27 May 2019 20:53:52 -0400 Received: from joooj.vinc17.net ([2001:4b99:1:3:216:3eff:fe20:ac98]:46584) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from <vincent@HIDDEN>) id 1hVQND-00009I-07 for bug-coreutils@HIDDEN; Mon, 27 May 2019 20:53:51 -0400 Received: from smtp-zira.vinc17.net (2a02-8429-80cd-3101-328d-99ff-fe25-ad3f.rev.sfr.net [IPv6:2a02:8429:80cd:3101:328d:99ff:fe25:ad3f]) by joooj.vinc17.net (Postfix) with ESMTPSA id DF7C961; Tue, 28 May 2019 02:53:39 +0200 (CEST) Received: by zira.vinc17.org (Postfix, from userid 1000) id 6394EC20372; Tue, 28 May 2019 02:53:39 +0200 (CEST) Date: Tue, 28 May 2019 02:53:39 +0200 From: Vincent Lefevre <vincent@HIDDEN> Message-ID: <20190528005339.GB5676@HIDDEN> Mail-Followup-To: Vincent Lefevre <vincent@HIDDEN>, bug-coreutils@HIDDEN MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Mailer-Info: https://www.vinc17.net/mutt/ User-Agent: Mutt/1.12+5 (cd30526c) vl-117499 (2019-05-26) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2001:4b99:1:3:216:3eff:fe20:ac98 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Spam-Score: -2.3 (--) 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: -3.3 (---) With GNU coreutils 8.30 under Debian/unstable, I get: $ LC_ALL=3DC ls ab-cd abb abe $ LC_ALL=3DC ls -v abb abe ab-cd The hyphen-minus character should still be regarded as being less than the letters (there are no digits, so both are expected to be equivalent). The GNU coreutils manual says: 10.1.3 Sorting the output ------------------------- [...] =E2=80=98-v=E2=80=99 =E2=80=98--sort=3Dversion=E2=80=99 Sort by version name and number, lowest first. It behaves like a default sort, except that each sequence of decimal digits is treated numerically as an index/version number. (*Note Details about version sort::.) (which is exactly what I expect). The "sort -V" command has the same issue. Note: If I add two more files and compare with zsh: zira% export LC_ALL=3DC zira% ls ab-cd ab10 ab2 abb abe zira% ls -v ab2 ab10 abb abe ab-cd zira% echo * ab-cd ab10 ab2 abb abe zira% echo *(n) ab-cd ab2 ab10 abb abe one can see that zsh is correct, but Coreutils has an issue with the hyphen-minus character. --=20 Vincent Lef=C3=A8vre <vincent@HIDDEN> - Web: <https://www.vinc17.net/= > 100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/> Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Vincent Lefevre <vincent@HIDDEN> Subject: bug#35939: Acknowledgement (version sort is incorrect with hyphen-minus) Message-ID: <handler.35939.B.15590048434741.ack <at> debbugs.gnu.org> References: <20190528005339.GB5676@HIDDEN> X-Gnu-PR-Message: ack 35939 X-Gnu-PR-Package: coreutils Reply-To: 35939 <at> debbugs.gnu.org Date: Tue, 28 May 2019 00:55:01 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): bug-coreutils@HIDDEN If you wish to submit further information on this problem, please send it to 35939 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 35939: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D35939 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
X-Loop: help-debbugs@HIDDEN Subject: bug#35939: version sort is incorrect with hyphen-minus Resent-From: Assaf Gordon <assafgordon@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-coreutils@HIDDEN Resent-Date: Wed, 26 Jun 2019 18:26:02 +0000 Resent-Message-ID: <handler.35939.B.156157353920533 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 35939 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: vincent@HIDDEN, 35939 <at> debbugs.gnu.org Cc: Ian Jackson <ijackson@HIDDEN> X-Debbugs-Original-To: Vincent Lefevre <vincent@HIDDEN>, bug-coreutils@HIDDEN Received: via spool by submit <at> debbugs.gnu.org id=B.156157353920533 (code B ref -1); Wed, 26 Jun 2019 18:26:02 +0000 Received: (at submit) by debbugs.gnu.org; 26 Jun 2019 18:25:39 +0000 Received: from localhost ([127.0.0.1]:37039 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1hgCbz-0005L5-8f for submit <at> debbugs.gnu.org; Wed, 26 Jun 2019 14:25:39 -0400 Received: from lists.gnu.org ([209.51.188.17]:36361) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <assafgordon@HIDDEN>) id 1hgCbx-0005Kw-2I for submit <at> debbugs.gnu.org; Wed, 26 Jun 2019 14:25:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43254) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from <assafgordon@HIDDEN>) id 1hgCbv-0008In-NT for bug-coreutils@HIDDEN; Wed, 26 Jun 2019 14:25:36 -0400 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,FREEMAIL_FROM, URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <assafgordon@HIDDEN>) id 1hgCbu-0005JS-F5 for bug-coreutils@HIDDEN; Wed, 26 Jun 2019 14:25:35 -0400 Received: from mail-pg1-x52b.google.com ([2607:f8b0:4864:20::52b]:35126) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from <assafgordon@HIDDEN>) id 1hgCbu-0005GF-7u for bug-coreutils@HIDDEN; Wed, 26 Jun 2019 14:25:34 -0400 Received: by mail-pg1-x52b.google.com with SMTP id s27so1603075pgl.2 for <bug-coreutils@HIDDEN>; Wed, 26 Jun 2019 11:25:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=r5st6THGkOBZANRteXcrD760H/AUkdQS+IvSNBi6Jq8=; b=EgNWPSB9VAtCX8EpYnhi2WoMOGR4o6jViFgrpCKybFAZTpA7dcRozPjejVQkRpORIC we+tykGxqIHfKyh/xUF/OP2XJQwxt31JSwfoHbZtBJ5r1cqZrSAugFMhLESGqPWXqxQB bJHgkdV6iBNONx4SoxZmPlBwK32gAOBAjcQy/45cPSQjPydpvOl6qJbb0XKdVuQqhvy0 VHx+DD7L1HQYZ/BFkbOmFc43mevAvTjkKRu8owCbbQFwNhhlBqepHAhM6yMqwjk5yH0w 4pwqPLyFLIZxWwrsGvr0/XNc4I3g27I4FibkLtVC0RWCCheldAl6mb3o90fyBh8CogDz SrGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=r5st6THGkOBZANRteXcrD760H/AUkdQS+IvSNBi6Jq8=; b=B8tB0cuR7BMXMM5C6HvNNKQA3uSvTDuN4+EX5B9+ZCE4yYFfPVva3p4eQSdyDhhP51 QTFggqNwO5WXiieXuSdc6oMbsR2E4/B00cvGgeTvc7+SpVO9wKmR3RvcoL+qDL4se789 2uLRC46EL1Lz5IEpMjBPehfhSuQmZmW03xuPll+Q/CX/h2dWoZYIr4zNdkbUDrACC+NW oqPzWilaSkj7GrIgexjEPRD9TJ1eoyZktpos9ok6g9CgGS0Vs8cU2lRUMtBoFoaxFanf GY7BQEJFQC5tow/BHekR78hOanbLkqzUcpvbUMUzZCwVw+kQjwJFL3QTpmL2EUGM3Tn2 lxkw== X-Gm-Message-State: APjAAAXchJJaa5JViklyr0R2hPnk+8oN3X6PI0XFAZ9X8V9fkmYuCLaF FUV3zlmLXwvzE0bjgpeP3/Q= X-Google-Smtp-Source: APXvYqxM4r5eh0A5+f4rqb0Snq4vy12SkabrlIpquHkWuwHAA4HYX/5NMqGUcbxVKTrcK3sPVrrYCw== X-Received: by 2002:a63:d24f:: with SMTP id t15mr3860126pgi.301.1561573528572; Wed, 26 Jun 2019 11:25:28 -0700 (PDT) Received: from tomato (moose.housegordon.com. [184.68.105.38]) by smtp.gmail.com with ESMTPSA id k6sm21033906pfi.12.2019.06.26.11.25.27 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 26 Jun 2019 11:25:27 -0700 (PDT) Received: by tomato (Postfix, from userid 1000) id 9182F680A50; Wed, 26 Jun 2019 12:25:26 -0600 (MDT) Date: Wed, 26 Jun 2019 12:25:26 -0600 From: Assaf Gordon <assafgordon@HIDDEN> Message-ID: <20190626182526.GG22150@HIDDEN> References: <20190528005339.GB5676@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190528005339.GB5676@HIDDEN> User-Agent: Mutt/1.11.4 (2019-03-13) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::52b X-Spam-Score: -1.3 (-) 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: -2.3 (--) (Adding Ian Jackson for dpkg/debian-version details) Hello, On Tue, May 28, 2019 at 02:53:39AM +0200, Vincent Lefevre wrote: > With GNU coreutils 8.30 under Debian/unstable, I get: > > $ LC_ALL=C ls > ab-cd abb abe > $ LC_ALL=C ls -v > abb abe ab-cd > > The hyphen-minus character should still be regarded as being less > than the letters (there are no digits, so both are expected to be > equivalent). The GNU coreutils manual says: > [...] Thanks for the report and the clear details. To summarize, "ls -v" and "sort -V" (coreutils' version sort) behaves differently than other implementations in regards to minus character: $ printf "%s\n" abb ab-cd | sort -V abb ab-cd $ v1="abb" $ v2="ab-cd" $ dpkg --compare-versions "$v1" lt "$v2" && printf "$v1\n$v2\n" || printf "$v2\n$v1\n" ab-cd abb If I understand correctly, The reason is that in Debian's version comparison algorithm [1], the minus character has a special meaning: it separates the "upstream version" part from the "debian revision" part. In Debian's implementation [2], a version string is first split into three parts (epoch, upstream version, debian revision) using ":" for epoch delimiter and "-" for revision delimiter. Only then the three parts are compared, separately [3]. [1] https://www.debian.org/doc/debian-policy/ch-controlfields.html#version [2] https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/lib/dpkg/parsehelp.c#n191 [3] https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/lib/dpkg/version.c#n140 On ther other hand, coreutils' implementation (from gnulib [4]) does not break version string into three parts - it treats the entire string as a single "upstream version" part. The rules for sorting the "upstream version" string say: "... The lexical comparison is a comparison of ASCII values modified so that all the letters sort earlier than all the non-letters and so that a tilde sorts before anything" (from [1]) [4] https://git.savannah.gnu.org/cgit/gnulib.git/tree/lib/filevercmp.c Therefore, dpkg first seprates "ab" from "cd", then compares "ab" to "abb" - and 'ab' comes first; Coreutils compare "ab-cd" to "abb" (or technically, just "ab-" to "abb"), and because "letters sort earlier than all non-letters", "abb" comes first. I hope this helps explain the differences (I also hope this explanation is correct, and I invite others to chime in). regards, - assaf
X-Loop: help-debbugs@HIDDEN Subject: bug#35939: version sort is incorrect with hyphen-minus Resent-From: Paul Eggert <eggert@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-coreutils@HIDDEN Resent-Date: Wed, 26 Jun 2019 19:58:01 +0000 Resent-Message-ID: <handler.35939.B35939.15615790451675 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 35939 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: vincent@HIDDEN Cc: 35939 <at> debbugs.gnu.org, Assaf Gordon <assafgordon@HIDDEN>, Ian Jackson <ijackson@HIDDEN> Received: via spool by 35939-submit <at> debbugs.gnu.org id=B35939.15615790451675 (code B ref 35939); Wed, 26 Jun 2019 19:58:01 +0000 Received: (at 35939) by debbugs.gnu.org; 26 Jun 2019 19:57:25 +0000 Received: from localhost ([127.0.0.1]:37074 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1hgE2m-0000Qw-JI for submit <at> debbugs.gnu.org; Wed, 26 Jun 2019 15:57:24 -0400 Received: from zimbra.cs.ucla.edu ([131.179.128.68]:42784) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eggert@HIDDEN>) id 1hgE2j-0000QY-US for 35939 <at> debbugs.gnu.org; Wed, 26 Jun 2019 15:57:23 -0400 Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id E25E0161C47; Wed, 26 Jun 2019 12:57:15 -0700 (PDT) Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id lLZiHk5eWOJl; Wed, 26 Jun 2019 12:57:15 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 2713B161DBD; Wed, 26 Jun 2019 12:57:15 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id y9TUQOdeOU-Q; Wed, 26 Jun 2019 12:57:15 -0700 (PDT) Received: from [192.168.1.9] (cpe-23-242-74-103.socal.res.rr.com [23.242.74.103]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id ECD80161C47; Wed, 26 Jun 2019 12:57:14 -0700 (PDT) References: <20190528005339.GB5676@HIDDEN> <20190626182526.GG22150@HIDDEN> From: Paul Eggert <eggert@HIDDEN> Organization: UCLA Computer Science Department Message-ID: <b60b2830-3b1f-bd7b-2687-49ae096670f8@HIDDEN> Date: Wed, 26 Jun 2019 12:57:14 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.1 MIME-Version: 1.0 In-Reply-To: <20190626182526.GG22150@HIDDEN> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: -2.3 (--) 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: -3.3 (---) GNU sort uses the same algorithm as glibc strverscmp, and this algorithm has changed only once since strverscmp was added to glibc in 1997. The change was made in 2009, to fix this bug: https://sourceware.org/bugzilla/show_bug.cgi?id=9913 Has the Debian version-comparison algorithm changed since 1997? If so, could you give details about the changes to the Debian algorithm? Perhaps glibc should be changed to stay consistent with Debian.
X-Loop: help-debbugs@HIDDEN Subject: bug#35939: version sort is incorrect with hyphen-minus Resent-From: Ian Jackson <ijackson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-coreutils@HIDDEN Resent-Date: Wed, 26 Jun 2019 20:10:02 +0000 Resent-Message-ID: <handler.35939.B.15615797743144 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 35939 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Assaf Gordon <assafgordon@HIDDEN> Cc: 35939 <at> debbugs.gnu.org, vincent@HIDDEN X-Debbugs-Original-Cc: bug-coreutils@HIDDEN, Vincent Lefevre <vincent@HIDDEN> Received: via spool by submit <at> debbugs.gnu.org id=B.15615797743144 (code B ref -1); Wed, 26 Jun 2019 20:10:02 +0000 Received: (at submit) by debbugs.gnu.org; 26 Jun 2019 20:09:34 +0000 Received: from localhost ([127.0.0.1]:37078 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1hgEEX-0000od-SU for submit <at> debbugs.gnu.org; Wed, 26 Jun 2019 16:09:34 -0400 Received: from lists.gnu.org ([209.51.188.17]:56109) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ijackson@HIDDEN>) id 1hgEEW-0000oW-CR for submit <at> debbugs.gnu.org; Wed, 26 Jun 2019 16:09:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36754) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from <ijackson@HIDDEN>) id 1hgEET-0004ra-QD for bug-coreutils@HIDDEN; Wed, 26 Jun 2019 16:09:32 -0400 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,URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <ijackson@HIDDEN>) id 1hgEEQ-0006XP-Tp for bug-coreutils@HIDDEN; Wed, 26 Jun 2019 16:09:29 -0400 Received: from v6.chiark.greenend.org.uk ([2001:ba8:1e3::]:43231 helo=chiark.greenend.org.uk) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from <ijackson@HIDDEN>) id 1hgEEQ-0006OX-NX for bug-coreutils@HIDDEN; Wed, 26 Jun 2019 16:09:26 -0400 Received: by chiark.greenend.org.uk (Debian Exim 4.84_2 #1) with local (return-path ijackson@HIDDEN) id 1hgEEF-0003ej-Ja; Wed, 26 Jun 2019 21:09:16 +0100 From: Ian Jackson <ijackson@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <23827.53482.505900.957536@HIDDEN> Date: Wed, 26 Jun 2019 21:09:14 +0100 In-Reply-To: <20190626182526.GG22150@HIDDEN> References: <20190528005339.GB5676@HIDDEN> <20190626182526.GG22150@HIDDEN> X-Mailer: VM 8.2.0b under 24.4.1 (i586-pc-linux-gnu) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:ba8:1e3:: X-Spam-Score: -2.3 (--) 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: -3.3 (---) Assaf Gordon writes ("Re: bug#35939: version sort is incorrect with hyphen-minus"): > Thanks for the report and the clear details. Hi. I haven't read the original report, but everything you say about the behaviour of GNU coreutils and dpkg sounds correct. This is perhaps an unfortunate wrinkle but I think it is right of coreutils to use the "upstream part" of the dpkg algorithm. > I hope this helps explain the differences (I also hope this explanation is > correct, and I invite others to chime in). I wonder if this could go in some manual somewhere. Regards, Ian. -- Ian Jackson <ijackson@HIDDEN> These opinions are my own. If I emailed you from an address @fyvzl.net or @evade.org.uk, that is a private address which bypasses my fierce spamfilter.
X-Loop: help-debbugs@HIDDEN Subject: bug#35939: version sort is incorrect with hyphen-minus Resent-From: Vincent Lefevre <vincent@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-coreutils@HIDDEN Resent-Date: Wed, 26 Jun 2019 20:16:02 +0000 Resent-Message-ID: <handler.35939.B.15615801143823 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 35939 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Assaf Gordon <assafgordon@HIDDEN> Cc: 35939 <at> debbugs.gnu.org, ijackson@HIDDEN X-Debbugs-Original-Cc: bug-coreutils@HIDDEN, Ian Jackson <ijackson@HIDDEN> Received: via spool by submit <at> debbugs.gnu.org id=B.15615801143823 (code B ref -1); Wed, 26 Jun 2019 20:16:02 +0000 Received: (at submit) by debbugs.gnu.org; 26 Jun 2019 20:15:14 +0000 Received: from localhost ([127.0.0.1]:37083 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1hgEK1-0000zb-KL for submit <at> debbugs.gnu.org; Wed, 26 Jun 2019 16:15:13 -0400 Received: from lists.gnu.org ([209.51.188.17]:53361) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <vincent@HIDDEN>) id 1hgEK0-0000zS-3K for submit <at> debbugs.gnu.org; Wed, 26 Jun 2019 16:15:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38020) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from <vincent@HIDDEN>) id 1hgEJy-000708-S2 for bug-coreutils@HIDDEN; Wed, 26 Jun 2019 16:15:12 -0400 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,URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <vincent@HIDDEN>) id 1hgEJx-0002c0-PL for bug-coreutils@HIDDEN; Wed, 26 Jun 2019 16:15:10 -0400 Received: from joooj.vinc17.net ([155.133.131.76]:51800) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from <vincent@HIDDEN>) id 1hgEJx-0002Pt-Hp for bug-coreutils@HIDDEN; Wed, 26 Jun 2019 16:15:09 -0400 Received: from smtp-zira.vinc17.net (unknown [109.190.253.11]) by joooj.vinc17.net (Postfix) with ESMTPSA id 6DFEC2DC; Wed, 26 Jun 2019 22:14:56 +0200 (CEST) Received: by zira.vinc17.org (Postfix, from userid 1000) id 5A9E3C20088; Wed, 26 Jun 2019 22:14:54 +0200 (CEST) Date: Wed, 26 Jun 2019 22:14:54 +0200 From: Vincent Lefevre <vincent@HIDDEN> Message-ID: <20190626201454.GN7775@HIDDEN> Mail-Followup-To: Vincent Lefevre <vincent@HIDDEN>, Assaf Gordon <assafgordon@HIDDEN>, bug-coreutils@HIDDEN, Ian Jackson <ijackson@HIDDEN> References: <20190528005339.GB5676@HIDDEN> <20190626182526.GG22150@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline In-Reply-To: <20190626182526.GG22150@HIDDEN> X-Mailer-Info: https://www.vinc17.net/mutt/ User-Agent: Mutt/1.12.1+33 (6a74e24e) vl-117499 (2019-06-23) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 155.133.131.76 X-Spam-Score: -2.3 (--) 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: -3.3 (---) On 2019-06-26 12:25:26 -0600, Assaf Gordon wrote: > "ls -v" and "sort -V" (coreutils' version sort) behaves differently tha= n > other implementations in regards to minus character: >=20 > $ printf "%s\n" abb ab-cd | sort -V > abb > ab-cd >=20 > $ v1=3D"abb" > $ v2=3D"ab-cd" > $ dpkg --compare-versions "$v1" lt "$v2" && printf "$v1\n$v2\n" || = printf "$v2\n$v1\n" > ab-cd > abb >=20 > If I understand correctly, > The reason is that in Debian's version comparison algorithm [1], the mi= nus > character has a special meaning: it separates the "upstream version" > part from the "debian revision" part. Note that I'm not using "ls -v" to sort version numbers, just filenames (which can contain integers in decimal notation). --=20 Vincent Lef=E8vre <vincent@HIDDEN> - Web: <https://www.vinc17.net/> 100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/> Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
X-Loop: help-debbugs@HIDDEN Subject: bug#35939: version sort is incorrect with hyphen-minus Resent-From: Vincent Lefevre <vincent@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-coreutils@HIDDEN Resent-Date: Wed, 26 Jun 2019 21:26:02 +0000 Resent-Message-ID: <handler.35939.B35939.156158435111410 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 35939 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Paul Eggert <eggert@HIDDEN> Cc: 35939 <at> debbugs.gnu.org, Assaf Gordon <assafgordon@HIDDEN>, Ian Jackson <ijackson@HIDDEN> Received: via spool by 35939-submit <at> debbugs.gnu.org id=B35939.156158435111410 (code B ref 35939); Wed, 26 Jun 2019 21:26:02 +0000 Received: (at 35939) by debbugs.gnu.org; 26 Jun 2019 21:25:51 +0000 Received: from localhost ([127.0.0.1]:37109 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1hgFQM-0002xy-PL for submit <at> debbugs.gnu.org; Wed, 26 Jun 2019 17:25:50 -0400 Received: from joooj.vinc17.net ([155.133.131.76]:58648) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <vincent@HIDDEN>) id 1hgFQJ-0002xn-4H for 35939 <at> debbugs.gnu.org; Wed, 26 Jun 2019 17:25:49 -0400 Received: from smtp-zira.vinc17.net (2a02-8429-80cd-3101-328d-99ff-fe25-ad3f.rev.sfr.net [IPv6:2a02:8429:80cd:3101:328d:99ff:fe25:ad3f]) by joooj.vinc17.net (Postfix) with ESMTPSA id 35BD71254; Wed, 26 Jun 2019 23:25:44 +0200 (CEST) Received: by zira.vinc17.org (Postfix, from userid 1000) id 0BB2AC219F1; Wed, 26 Jun 2019 23:25:44 +0200 (CEST) Date: Wed, 26 Jun 2019 23:25:44 +0200 From: Vincent Lefevre <vincent@HIDDEN> Message-ID: <20190626212544.GO7775@HIDDEN> References: <20190528005339.GB5676@HIDDEN> <20190626182526.GG22150@HIDDEN> <b60b2830-3b1f-bd7b-2687-49ae096670f8@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <b60b2830-3b1f-bd7b-2687-49ae096670f8@HIDDEN> X-Mailer-Info: https://www.vinc17.net/mutt/ User-Agent: Mutt/1.12.1+33 (6a74e24e) vl-117499 (2019-06-23) X-Spam-Score: 0.1 (/) 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.9 (/) On 2019-06-26 12:57:14 -0700, Paul Eggert wrote: > GNU sort uses the same algorithm as glibc strverscmp, and this algorithm has > changed only once since strverscmp was added to glibc in 1997. The change > was made in 2009, to fix this bug: > > https://sourceware.org/bugzilla/show_bug.cgi?id=9913 Except that this bug report is wrong. But I've checked that both "ls -v" and "sort -V" give the expected ordering on the given example in this bug report: zira% ls -1v B007502280067.gbp.corp.com B007502357019.GBP.CORP.COM B0075022800016.gbp.corp.com zira% printf "%s\n" * | sort -V B007502280067.gbp.corp.com B007502357019.GBP.CORP.COM B0075022800016.gbp.corp.com -- Vincent Lefèvre <vincent@HIDDEN> - Web: <https://www.vinc17.net/> 100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/> Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
X-Loop: help-debbugs@HIDDEN Subject: bug#35939: version sort is incorrect with hyphen-minus Resent-From: Assaf Gordon <assafgordon@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-coreutils@HIDDEN Resent-Date: Wed, 26 Jun 2019 23:02:01 +0000 Resent-Message-ID: <handler.35939.B35939.156159009930036 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 35939 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Paul Eggert <eggert@HIDDEN> Cc: 35939 <at> debbugs.gnu.org, vincent@HIDDEN, Ian Jackson <ijackson@HIDDEN> Received: via spool by 35939-submit <at> debbugs.gnu.org id=B35939.156159009930036 (code B ref 35939); Wed, 26 Jun 2019 23:02:01 +0000 Received: (at 35939) by debbugs.gnu.org; 26 Jun 2019 23:01:39 +0000 Received: from localhost ([127.0.0.1]:37166 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1hgGv4-0007oO-W8 for submit <at> debbugs.gnu.org; Wed, 26 Jun 2019 19:01:39 -0400 Received: from mail-pl1-f179.google.com ([209.85.214.179]:46316) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <assafgordon@HIDDEN>) id 1hgGv4-0007oB-0v for 35939 <at> debbugs.gnu.org; Wed, 26 Jun 2019 19:01:38 -0400 Received: by mail-pl1-f179.google.com with SMTP id e5so131122pls.13 for <35939 <at> debbugs.gnu.org>; Wed, 26 Jun 2019 16:01:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=zXs1+lPbFR385lsai0s6OumuUYA0xx4pswDDxH05Ue8=; b=L9JjWcJ7MfTGyMpobdGVg/FxWypxmPm/DI3js4+/GXuw43CH3SQLq002munkDXk65N sMT+egonKBIPk1to0CJ3efr9MPy7VrBYZn+dzeo9ZbVDzRYMu7uks3wSFdTMFyocwj7v 3oAqqaAljZ1DSDNFJHljEg67LAFrdu9aa4bMcLFZc6juCCkkXdiZXe5M+WvLG9kIgc2U 6rdqOcpMSclV5MnCNX0gfSo4NvGRzJAUB3PycQE/MlgSttTIvrbj94/aodlmwwkh//ul RHusliaJmlMKeuDVi6PwDqC5hzMfFvJtP4Wd3u57tofMfV4LzKnzK/NTaCVGIqDkIpKg SHqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=zXs1+lPbFR385lsai0s6OumuUYA0xx4pswDDxH05Ue8=; b=Q7HCG2YEm9MMUA2kx3WdiEJYPS/uzn3Sc16LvikHOg6EuEmrXWHahPtnr/BfIqB1vD 4AlXWE2c7cMw9UjBLRcqAoss78hFTZJNTlx6HL1czX8ciQheTE6mDwnQdsZDMj4Y3D1V 6fjCPOYq0/ggnA8ZPeqZlUe9r80WlS1haFipffU73ts5eJNg6w190iOQKx3hwhcKwhnJ j1rwHw2fiQMSMl7bAEFccLUiiq2MPKcG2eNXDGTNGuHhWNAt67A8iH//RMplsY45E0kv OZv4M0w5uePQidTa5nLRnBVnxrPFlRupHHJXxY1gXnBemWJcpMj7Lge0WY1EGjJ9G5rK 53Ew== X-Gm-Message-State: APjAAAVsoc/ehGH/lbvH3u7dBLDaTOXrNx7BIIP03P/6bxPDaSDBlK9P 4L3AFSC8HFeeTgQBR5pApqg= X-Google-Smtp-Source: APXvYqzpFj0GWky7u8vPmitMjw3Uc7B/qZGQuNvPk4R+shge5mpY7hLpcDC/cWoKTIDLbLKTEzL9JA== X-Received: by 2002:a17:902:8ec7:: with SMTP id x7mr649175plo.224.1561590091930; Wed, 26 Jun 2019 16:01:31 -0700 (PDT) Received: from tomato (moose.housegordon.com. [184.68.105.38]) by smtp.gmail.com with ESMTPSA id r9sm171732pgv.24.2019.06.26.16.01.29 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 26 Jun 2019 16:01:30 -0700 (PDT) Received: by tomato (Postfix, from userid 1000) id 2C83A680A50; Wed, 26 Jun 2019 17:01:29 -0600 (MDT) Date: Wed, 26 Jun 2019 17:01:29 -0600 From: Assaf Gordon <assafgordon@HIDDEN> Message-ID: <20190626230129.GH22150@HIDDEN> References: <20190528005339.GB5676@HIDDEN> <20190626182526.GG22150@HIDDEN> <b60b2830-3b1f-bd7b-2687-49ae096670f8@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <b60b2830-3b1f-bd7b-2687-49ae096670f8@HIDDEN> User-Agent: Mutt/1.11.4 (2019-03-13) X-Spam-Score: 0.0 (/) 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 Paul, On Wed, Jun 26, 2019 at 12:57:14PM -0700, Paul Eggert wrote: > GNU sort uses the same algorithm as glibc strverscmp, I think that both sort and ls use 'filevercmp' - a simplified version that does not support locales (and doesn't fail). The change (from 'strvercmp') was made in: commit e505736f8211a608b00dfe75fb186a5211e1a183 Author: Kamil Dudka <kdudka@HIDDEN> Date: Fri Oct 3 11:03:40 2008 +0200 ls and sort: use filevercmp instead of strverscmp https://git.savannah.gnu.org/cgit/coreutils.git/commit/?id=e505736f8211a608b00dfe75fb186a5211e1a183 > Has the Debian version-comparison algorithm changed since 1997? If so, could > you give details about the changes to the Debian algorithm? I don't think the algorithm changed in Debian, and also in gnulib there are only a handful of relevant commits, all 10 years old: 9121662f1 2008-10-03 filevercmp: new module 0443c2f39 2009-03-05 filevercmp: Move hidden files up in ordering. 1721cf06d 2009-03-24 filevercmp: handle simple~ and numbered.~3~ backup suffixes 4fd008794 2009-04-09 filevercmp: fix regression cc96df30d 2009-04-09 filevercmp: correct today's change I think (also based on Ian's confirmation) that this discrepancy was from the beginning. I now notice that there's an additional difference: coreutils/gnulib has special handling for extension, hidden files and backup files. As Ian wrote, a documentation improvement is probably the best fix. I'll try to come up with a suggested change. -assaf P.S. For completion, here are few other threads with details/explanations about 'version-sort': https://bugs.gnu.org/18168 https://bugs.gnu.org/22275 https://bugs.gnu.org/22455 https://bugs.gnu.org/33786
X-Loop: help-debbugs@HIDDEN Subject: bug#35939: version sort is incorrect with hyphen-minus Resent-From: Ian Jackson <ijackson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-coreutils@HIDDEN Resent-Date: Wed, 26 Jun 2019 23:50:02 +0000 Resent-Message-ID: <handler.35939.B35939.15615929662718 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 35939 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Paul Eggert <eggert@HIDDEN> Cc: 35939 <at> debbugs.gnu.org, Assaf Gordon <assafgordon@HIDDEN>, vincent@HIDDEN Received: via spool by 35939-submit <at> debbugs.gnu.org id=B35939.15615929662718 (code B ref 35939); Wed, 26 Jun 2019 23:50:02 +0000 Received: (at 35939) by debbugs.gnu.org; 26 Jun 2019 23:49:26 +0000 Received: from localhost ([127.0.0.1]:37188 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1hgHfJ-0000hl-Uz for submit <at> debbugs.gnu.org; Wed, 26 Jun 2019 19:49:26 -0400 Received: from chiark.greenend.org.uk ([212.13.197.229]:34248 ident=Debian-exim) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ijackson@HIDDEN>) id 1hgHfH-0000hb-5E for 35939 <at> debbugs.gnu.org; Wed, 26 Jun 2019 19:49:24 -0400 Received: by chiark.greenend.org.uk (Debian Exim 4.84_2 #1) with local (return-path ijackson@HIDDEN) id 1hgHfD-0000OW-GL; Thu, 27 Jun 2019 00:49:19 +0100 From: Ian Jackson <ijackson@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <23828.1151.256520.118973@HIDDEN> Date: Thu, 27 Jun 2019 00:49:19 +0100 In-Reply-To: <b60b2830-3b1f-bd7b-2687-49ae096670f8@HIDDEN> References: <20190528005339.GB5676@HIDDEN> <20190626182526.GG22150@HIDDEN> <b60b2830-3b1f-bd7b-2687-49ae096670f8@HIDDEN> X-Mailer: VM 8.2.0b under 24.4.1 (i586-pc-linux-gnu) X-Spam-Score: -2.3 (--) 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: -3.3 (---) Paul Eggert writes ("Re: bug#35939: version sort is incorrect with hyphen-minus"): > GNU sort uses the same algorithm as glibc strverscmp, and this algorithm has > changed only once since strverscmp was added to glibc in 1997. The change was > made in 2009, to fix this bug: > > https://sourceware.org/bugzilla/show_bug.cgi?id=9913 > > Has the Debian version-comparison algorithm changed since 1997? If so, could you > give details about the changes to the Debian algorithm? Perhaps glibc should be > changed to stay consistent with Debian. Debian introduced a special (and very useful) meaning for ~, many years ago now. I checked the Debian policy manual and according to its upgrading checklist this change was made in 2007. Ian. -- Ian Jackson <ijackson@HIDDEN> These opinions are my own. If I emailed you from an address @fyvzl.net or @evade.org.uk, that is a private address which bypasses my fierce spamfilter.
X-Loop: help-debbugs@HIDDEN Subject: bug#35939: version sort is incorrect with hyphen-minus Resent-From: Ian Jackson <ijackson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-coreutils@HIDDEN Resent-Date: Wed, 26 Jun 2019 23:55:02 +0000 Resent-Message-ID: <handler.35939.B35939.15615932693330 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 35939 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Paul Eggert <eggert@HIDDEN>, vincent@HIDDEN, Assaf Gordon <assafgordon@HIDDEN>, 35939 <at> debbugs.gnu.org Received: via spool by 35939-submit <at> debbugs.gnu.org id=B35939.15615932693330 (code B ref 35939); Wed, 26 Jun 2019 23:55:02 +0000 Received: (at 35939) by debbugs.gnu.org; 26 Jun 2019 23:54:29 +0000 Received: from localhost ([127.0.0.1]:37202 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1hgHk9-0000rX-6i for submit <at> debbugs.gnu.org; Wed, 26 Jun 2019 19:54:29 -0400 Received: from chiark.greenend.org.uk ([212.13.197.229]:34701 ident=Debian-exim) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ijackson@HIDDEN>) id 1hgHk6-0000rO-Tg for 35939 <at> debbugs.gnu.org; Wed, 26 Jun 2019 19:54:23 -0400 Received: by chiark.greenend.org.uk (Debian Exim 4.84_2 #1) with local (return-path ijackson@HIDDEN) id 1hgHk4-0003Vx-FF; Thu, 27 Jun 2019 00:54:20 +0100 From: Ian Jackson <ijackson@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <23828.1452.399003.306989@HIDDEN> Date: Thu, 27 Jun 2019 00:54:20 +0100 In-Reply-To: <23828.1151.256520.118973@HIDDEN> References: <20190528005339.GB5676@HIDDEN> <20190626182526.GG22150@HIDDEN> <b60b2830-3b1f-bd7b-2687-49ae096670f8@HIDDEN> <23828.1151.256520.118973@HIDDEN> X-Mailer: VM 8.2.0b under 24.4.1 (i586-pc-linux-gnu) X-Spam-Score: -2.3 (--) 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: -3.3 (---) Ian Jackson writes ("Re: bug#35939: version sort is incorrect with hyphen-minus"): > Paul Eggert writes ("Re: bug#35939: version sort is incorrect with hyphen-minus"): > > GNU sort uses the same algorithm as glibc strverscmp, and this algorithm has > > changed only once since strverscmp was added to glibc in 1997. The change was > > made in 2009, to fix this bug: > > > > https://sourceware.org/bugzilla/show_bug.cgi?id=9913 > > > > Has the Debian version-comparison algorithm changed since 1997? If so, could you > > give details about the changes to the Debian algorithm? Perhaps glibc should be > > changed to stay consistent with Debian. > > Debian introduced a special (and very useful) meaning for ~, many > years ago now. > > I checked the Debian policy manual and according to its upgrading > checklist this change was made in 2007. I have just checked the manpage I have here for strverscmp and it is far from clear to me that the algorithm described there, and the dpkg algorithm, produce the same answers. (Even disregarding ~, and the fact that the specification of the dpkg algorithm is defined only over a subset of possible strings even though the unique extension to UTF-8 strings is fairly obvious.) -- Ian Jackson <ijackson@HIDDEN> These opinions are my own. If I emailed you from an address @fyvzl.net or @evade.org.uk, that is a private address which bypasses my fierce spamfilter.
X-Loop: help-debbugs@HIDDEN Subject: bug#35939: version sort is incorrect with hyphen-minus Resent-From: Paul Eggert <eggert@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-coreutils@HIDDEN Resent-Date: Thu, 27 Jun 2019 01:41:02 +0000 Resent-Message-ID: <handler.35939.B35939.156159966130761 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 35939 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Ian Jackson <ijackson@HIDDEN>, vincent@HIDDEN, Assaf Gordon <assafgordon@HIDDEN>, 35939 <at> debbugs.gnu.org Received: via spool by 35939-submit <at> debbugs.gnu.org id=B35939.156159966130761 (code B ref 35939); Thu, 27 Jun 2019 01:41:02 +0000 Received: (at 35939) by debbugs.gnu.org; 27 Jun 2019 01:41:01 +0000 Received: from localhost ([127.0.0.1]:37228 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1hgJPJ-0007zu-Fc for submit <at> debbugs.gnu.org; Wed, 26 Jun 2019 21:41:01 -0400 Received: from zimbra.cs.ucla.edu ([131.179.128.68]:55460) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eggert@HIDDEN>) id 1hgJPH-0007zf-5e for 35939 <at> debbugs.gnu.org; Wed, 26 Jun 2019 21:41:00 -0400 Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id ED75A16261D; Wed, 26 Jun 2019 18:40:51 -0700 (PDT) Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id nwPyxH7o1r8f; Wed, 26 Jun 2019 18:40:51 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 38A3D162624; Wed, 26 Jun 2019 18:40:51 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id oI3kmS42sw9G; Wed, 26 Jun 2019 18:40:51 -0700 (PDT) Received: from Penguin.CS.UCLA.EDU (Penguin.CS.UCLA.EDU [131.179.64.200]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 12A0716261D; Wed, 26 Jun 2019 18:40:51 -0700 (PDT) References: <20190528005339.GB5676@HIDDEN> <20190626182526.GG22150@HIDDEN> <b60b2830-3b1f-bd7b-2687-49ae096670f8@HIDDEN> <23828.1151.256520.118973@HIDDEN> <23828.1452.399003.306989@HIDDEN> From: Paul Eggert <eggert@HIDDEN> Openpgp: preference=signencrypt Autocrypt: addr=eggert@HIDDEN; prefer-encrypt=mutual; keydata= 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 uNcby4U= Organization: UCLA Computer Science Department Message-ID: <cc603ddd-cb0e-796b-82b7-8b1eb7f78fee@HIDDEN> Date: Wed, 26 Jun 2019 18:40:50 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.2 MIME-Version: 1.0 In-Reply-To: <23828.1452.399003.306989@HIDDEN> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-Spam-Score: -2.3 (--) 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: -3.3 (---) Thanks for looking into this. Sorry about my confusion between strverscmp and filevercmp. As this bug report appears to be about filevercmp, glibc is not involved; it's only Gnulib and the utilities using Gnulib's filevercmp module. As I now understand it, Gnulib filevercmp is intended to be consistent with Debian's version comparison (this is documented in filevercmp.c), so GNU Bug#35939 is therefore based on a misunderstanding, as Gnulib filevercmp is implementing the Debian spec correctly for this test case. Perhaps the coreutils manual could be improved to make this all clearer, and perhaps it should refer to the Debian manual if it doesn't already.
X-Loop: help-debbugs@HIDDEN Subject: bug#35939: version sort is incorrect with hyphen-minus Resent-From: Vincent Lefevre <vincent@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-coreutils@HIDDEN Resent-Date: Thu, 27 Jun 2019 09:37:02 +0000 Resent-Message-ID: <handler.35939.B35939.156162820619237 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 35939 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Paul Eggert <eggert@HIDDEN> Cc: 35939 <at> debbugs.gnu.org, Assaf Gordon <assafgordon@HIDDEN>, Ian Jackson <ijackson@HIDDEN> Received: via spool by 35939-submit <at> debbugs.gnu.org id=B35939.156162820619237 (code B ref 35939); Thu, 27 Jun 2019 09:37:02 +0000 Received: (at 35939) by debbugs.gnu.org; 27 Jun 2019 09:36:46 +0000 Received: from localhost ([127.0.0.1]:37428 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1hgQpi-00050D-Dc for submit <at> debbugs.gnu.org; Thu, 27 Jun 2019 05:36:46 -0400 Received: from joooj.vinc17.net ([155.133.131.76]:59178) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <vincent@HIDDEN>) id 1hgQpf-000502-4p for 35939 <at> debbugs.gnu.org; Thu, 27 Jun 2019 05:36:44 -0400 Received: from smtp-zira.vinc17.net (128.119.75.86.rev.sfr.net [86.75.119.128]) by joooj.vinc17.net (Postfix) with ESMTPSA id D29FC2A1; Thu, 27 Jun 2019 11:36:40 +0200 (CEST) Received: by zira.vinc17.org (Postfix, from userid 1000) id 7D243C20ECE; Thu, 27 Jun 2019 11:36:40 +0200 (CEST) Date: Thu, 27 Jun 2019 11:36:40 +0200 From: Vincent Lefevre <vincent@HIDDEN> Message-ID: <20190627093640.GA415@HIDDEN> References: <20190528005339.GB5676@HIDDEN> <20190626182526.GG22150@HIDDEN> <b60b2830-3b1f-bd7b-2687-49ae096670f8@HIDDEN> <23828.1151.256520.118973@HIDDEN> <23828.1452.399003.306989@HIDDEN> <cc603ddd-cb0e-796b-82b7-8b1eb7f78fee@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <cc603ddd-cb0e-796b-82b7-8b1eb7f78fee@HIDDEN> X-Mailer-Info: https://www.vinc17.net/mutt/ User-Agent: Mutt/1.12.1+33 (6a74e24e) vl-117499 (2019-06-23) X-Spam-Score: 0.0 (/) 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 (-) On 2019-06-26 18:40:50 -0700, Paul Eggert wrote: > Perhaps the coreutils manual could be improved to make this all clearer, and > perhaps it should refer to the Debian manual if it doesn't already. In this case, there should be a new ordering option to provide true numeric sort with strings mixing non-negative integers and characters. -- Vincent Lefèvre <vincent@HIDDEN> - Web: <https://www.vinc17.net/> 100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/> Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
X-Loop: help-debbugs@HIDDEN Subject: bug#35939: version sort is incorrect with hyphen-minus Resent-From: Ian Jackson <ijackson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-coreutils@HIDDEN Resent-Date: Thu, 27 Jun 2019 10:26:01 +0000 Resent-Message-ID: <handler.35939.B35939.156163110823876 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 35939 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Vincent Lefevre <vincent@HIDDEN> Cc: Assaf Gordon <assafgordon@HIDDEN>, Paul Eggert <eggert@HIDDEN>, 35939 <at> debbugs.gnu.org Received: via spool by 35939-submit <at> debbugs.gnu.org id=B35939.156163110823876 (code B ref 35939); Thu, 27 Jun 2019 10:26:01 +0000 Received: (at 35939) by debbugs.gnu.org; 27 Jun 2019 10:25:08 +0000 Received: from localhost ([127.0.0.1]:37463 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1hgRaV-0006D2-Jt for submit <at> debbugs.gnu.org; Thu, 27 Jun 2019 06:25:08 -0400 Received: from chiark.greenend.org.uk ([212.13.197.229]:51317 ident=Debian-exim) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ijackson@HIDDEN>) id 1hgRaT-0006Co-Jy for 35939 <at> debbugs.gnu.org; Thu, 27 Jun 2019 06:25:06 -0400 Received: by chiark.greenend.org.uk (Debian Exim 4.84_2 #1) with local (return-path ijackson@HIDDEN) id 1hgRaP-0001nn-6i; Thu, 27 Jun 2019 11:25:01 +0100 From: Ian Jackson <ijackson@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <23828.39293.83303.500219@HIDDEN> Date: Thu, 27 Jun 2019 11:25:01 +0100 In-Reply-To: <20190627093640.GA415@HIDDEN> References: <20190528005339.GB5676@HIDDEN> <20190626182526.GG22150@HIDDEN> <b60b2830-3b1f-bd7b-2687-49ae096670f8@HIDDEN> <23828.1151.256520.118973@HIDDEN> <23828.1452.399003.306989@HIDDEN> <cc603ddd-cb0e-796b-82b7-8b1eb7f78fee@HIDDEN> <20190627093640.GA415@HIDDEN> X-Mailer: VM 8.2.0b under 24.4.1 (i586-pc-linux-gnu) X-Spam-Score: -2.3 (--) 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: -3.3 (---) Vincent Lefevre writes ("Re: bug#35939: version sort is incorrect with hyphen-minus"): > On 2019-06-26 18:40:50 -0700, Paul Eggert wrote: > > Perhaps the coreutils manual could be improved to make this all clearer, and > > perhaps it should refer to the Debian manual if it doesn't already. > > In this case, there should be a new ordering option to provide > true numeric sort with strings mixing non-negative integers and > characters. I think the Debian algorithm is such an algorithm, but it has a wrinkle which you are not expecting. Here is the specification: https://www.debian.org/doc/debian-policy/ch-controlfields.html#version Note in particular | The lexical comparison is a comparison of ASCII values modified so | that all the letters sort earlier than all the non-letters and so | that a tilde sorts before anything, even the end of a part So in the Debian algorithm, `-' sorts after `a'. I specified this rule. I did it mainly because of versions like `1.0beta3', which is is probably a prerelease of `1.0' and therefore earlier than `1.0.3'. So `b' has to sort before `.' and my rule seemed the simplest one to achieve that. (The version comparison algorithm is a tradeoff between complexity, and breadth of support for people's then-existing practices.) Nowadays Debian invariably writes `1.0~beta3' but when I invented this scheme I did not include the (invaluable) `~' feature. When this is extended to UTF-8, presumably the ordering should be an ordering of unicode scalar values, with the rule about letters interpreted as referring to anything which Unicode considers a letter. If you want to test the Debian algorithm and have access to a copy of dpkg, you can append -1 to both strings to be the "Debian revision", and prepend "1:" to be the "epoch", and then the middle part should be compared the same way as sort -V etc. Vincent, what is your use case for a comparison algorithm which is like the Debian one but which sorts letters after punctuation ? Ian. -- Ian Jackson <ijackson@HIDDEN> These opinions are my own. If I emailed you from an address @fyvzl.net or @evade.org.uk, that is a private address which bypasses my fierce spamfilter.
X-Loop: help-debbugs@HIDDEN Subject: bug#35939: version sort is incorrect with hyphen-minus Resent-From: Florian Weimer <fweimer@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-coreutils@HIDDEN Resent-Date: Fri, 28 Jun 2019 19:19:02 +0000 Resent-Message-ID: <handler.35939.B35939.156174952628386 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 35939 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Vincent Lefevre <vincent@HIDDEN> Cc: 35939 <at> debbugs.gnu.org, Paul Eggert <eggert@HIDDEN>, Assaf Gordon <assafgordon@HIDDEN>, Ian Jackson <ijackson@HIDDEN> Received: via spool by 35939-submit <at> debbugs.gnu.org id=B35939.156174952628386 (code B ref 35939); Fri, 28 Jun 2019 19:19:02 +0000 Received: (at 35939) by debbugs.gnu.org; 28 Jun 2019 19:18:46 +0000 Received: from localhost ([127.0.0.1]:43021 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1hgwOT-0007Nm-KZ for submit <at> debbugs.gnu.org; Fri, 28 Jun 2019 15:18:45 -0400 Received: from mx1.redhat.com ([209.132.183.28]:52522) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <fweimer@HIDDEN>) id 1hgwOR-0007NZ-Hx for 35939 <at> debbugs.gnu.org; Fri, 28 Jun 2019 15:18:44 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id F2FBC83F40; Fri, 28 Jun 2019 19:18:32 +0000 (UTC) Received: from oldenburg2.str.redhat.com (ovpn-116-26.ams2.redhat.com [10.36.116.26]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3199719C70; Fri, 28 Jun 2019 19:18:28 +0000 (UTC) From: Florian Weimer <fweimer@HIDDEN> References: <20190528005339.GB5676@HIDDEN> <20190626182526.GG22150@HIDDEN> <b60b2830-3b1f-bd7b-2687-49ae096670f8@HIDDEN> <23828.1151.256520.118973@HIDDEN> <23828.1452.399003.306989@HIDDEN> <cc603ddd-cb0e-796b-82b7-8b1eb7f78fee@HIDDEN> <20190627093640.GA415@HIDDEN> Date: Fri, 28 Jun 2019 21:18:26 +0200 In-Reply-To: <20190627093640.GA415@HIDDEN> (Vincent Lefevre's message of "Thu, 27 Jun 2019 11:36:40 +0200") Message-ID: <87ef3dldrx.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Fri, 28 Jun 2019 19:18:33 +0000 (UTC) X-Spam-Score: -5.0 (-----) 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 (------) * Vincent Lefevre: > On 2019-06-26 18:40:50 -0700, Paul Eggert wrote: >> Perhaps the coreutils manual could be improved to make this all clearer, and >> perhaps it should refer to the Debian manual if it doesn't already. > > In this case, there should be a new ordering option to provide > true numeric sort with strings mixing non-negative integers and > characters. There's no one true numeric sort. Some versioning schemes interpret numbers after a dot as decimal fractions (so that 1.9 > 1.10), but it's more common to split version strings into tuple somehow and then sort the non-numeric parts lexicographically, and the numeric parts as integers (so that 1.9 < 1.10). Thanks, Florian
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.