From unknown Sat Aug 16 16:22:38 2025 X-Loop: help-debbugs@gnu.org Subject: bug#28446: linux-libre@4.1 should select 4.1.x, not 4.13.x Resent-From: Mark H Weaver Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Wed, 13 Sep 2017 15:08:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 28446 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 28446@debbugs.gnu.org X-Debbugs-Original-To: bug-guix@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.150531527130781 (code B ref -1); Wed, 13 Sep 2017 15:08:01 +0000 Received: (at submit) by debbugs.gnu.org; 13 Sep 2017 15:07:51 +0000 Received: from localhost ([127.0.0.1]:38474 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ds9GZ-00080P-BO for submit@debbugs.gnu.org; Wed, 13 Sep 2017 11:07:51 -0400 Received: from eggs.gnu.org ([208.118.235.92]:34524) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ds9GY-00080C-Oe for submit@debbugs.gnu.org; Wed, 13 Sep 2017 11:07:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ds9GR-0002Xe-Jh for submit@debbugs.gnu.org; Wed, 13 Sep 2017 11:07:45 -0400 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]:43485) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ds9GR-0002Xa-Gp for submit@debbugs.gnu.org; Wed, 13 Sep 2017 11:07:43 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53715) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ds9GQ-0003GT-KB for bug-guix@gnu.org; Wed, 13 Sep 2017 11:07:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ds9GN-0002VW-Gp for bug-guix@gnu.org; Wed, 13 Sep 2017 11:07:42 -0400 Received: from world.peace.net ([50.252.239.5]:60678) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ds9GN-0002Uq-Cl for bug-guix@gnu.org; Wed, 13 Sep 2017 11:07:39 -0400 Received: from [10.1.10.104] (helo=jojen) by world.peace.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1ds9GM-0008V3-KB; Wed, 13 Sep 2017 11:07:38 -0400 From: Mark H Weaver Date: Wed, 13 Sep 2017 11:07:32 -0400 Message-ID: <87tw06d4cr.fsf@netris.org> MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [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-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Currently, the package specification "linux-libre@4.1" selects version 4.13. It should instead select version 4.1. Mark From unknown Sat Aug 16 16:22:38 2025 X-Loop: help-debbugs@gnu.org Subject: bug#28446: linux-libre@4.1 should select 4.1.x, not 4.13.x Resent-From: Ricardo Wurmus Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Thu, 21 Sep 2017 12:50:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 28446 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Mark H Weaver Cc: 28446@debbugs.gnu.org Received: via spool by 28446-submit@debbugs.gnu.org id=B28446.150599814910503 (code B ref 28446); Thu, 21 Sep 2017 12:50:01 +0000 Received: (at 28446) by debbugs.gnu.org; 21 Sep 2017 12:49:09 +0000 Received: from localhost ([127.0.0.1]:50985 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dv0uj-0002jL-Er for submit@debbugs.gnu.org; Thu, 21 Sep 2017 08:49:09 -0400 Received: from sender-of-o51.zoho.com ([135.84.80.216]:21007) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dv0uh-0002jC-Jy for 28446@debbugs.gnu.org; Thu, 21 Sep 2017 08:49:08 -0400 Received: from localhost (141.80.246.122 [141.80.246.122]) by mx.zohomail.com with SMTPS id 1505998140990277.69873429152335; Thu, 21 Sep 2017 05:49:00 -0700 (PDT) References: <87tw06d4cr.fsf@netris.org> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Ricardo Wurmus In-reply-to: <87tw06d4cr.fsf@netris.org> X-URL: https://elephly.net X-PGP-Key: https://elephly.net/rekado.pubkey X-PGP-Fingerprint: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC Date: Thu, 21 Sep 2017 14:48:58 +0200 Message-ID: <87ingc2p51.fsf@elephly.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-ZohoMailClient: External X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) Hi Mark, > Currently, the package specification "linux-libre@4.1" selects version > 4.13. It should instead select version 4.1. We consider everthing following the “@” a version string prefix. Since versions are arbitrary strings “4.1” is considered a valid prefix of “4.13”. If a user supplied the version string “4.1.” they would get the appropriate package. The current implementation sorts all matches in decreasing version order and picks the package with the highest version. This is implemented in (gnu packages) with “%find-packages”, “find-best-packages-by-name”, and “find-packages-by-name”. Should we try to make the code understand version strings better and compare substrings of the version string? We could fall back to using “string-prefix?” when the substring is not a number. -- Ricardo GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC https://elephly.net From unknown Sat Aug 16 16:22:38 2025 X-Loop: help-debbugs@gnu.org Subject: bug#28446: linux-libre@4.1 should select 4.1.x, not 4.13.x Resent-From: Chris Marusich Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Fri, 22 Sep 2017 01:55:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 28446 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Ricardo Wurmus Cc: Mark H Weaver , 28446@debbugs.gnu.org Received: via spool by 28446-submit@debbugs.gnu.org id=B28446.150604525317507 (code B ref 28446); Fri, 22 Sep 2017 01:55:02 +0000 Received: (at 28446) by debbugs.gnu.org; 22 Sep 2017 01:54:13 +0000 Received: from localhost ([127.0.0.1]:52046 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dvDAT-0004YH-Dk for submit@debbugs.gnu.org; Thu, 21 Sep 2017 21:54:13 -0400 Received: from mail-pf0-f181.google.com ([209.85.192.181]:54782) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dvDAR-0004Y3-6e for 28446@debbugs.gnu.org; Thu, 21 Sep 2017 21:54:11 -0400 Received: by mail-pf0-f181.google.com with SMTP id d187so4106855pfg.11 for <28446@debbugs.gnu.org>; Thu, 21 Sep 2017 18:54:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=exxBrK0VzHDYcdgosYjzHPY3EL2tD/XzLG4H5b2HpsE=; b=h/CIIT2GBM2QexrJf6bzBg0Urbc5uUpjbu4p7J52gJi0uhCzwwfYOAIQm3xEaUQPzv snpexR1LqXKXAlPwLTOQRchxZqDZX5rAGOwX20vgb670JlbwyV5GtndTqmG4uXF8npmC RwAQ7R3Iu4rMsbfZcffGRJgxnVUyES38lY2EwfhtcQgcKgq4rOWW2lZtktecWt9KZinG NaLsYVPfUgbgdzKnSO1AJstGXIxAV6kC/MCxC08mbWzi3zJ0A1HWLY1afXzQ5V0pUYFV gX9AuNLkNs+Q9iXlJJVqMaSjPfpTUdgZMjxyP04M7k1XgQXPgsJJnwmD7vXruX+a4pUh hCkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=exxBrK0VzHDYcdgosYjzHPY3EL2tD/XzLG4H5b2HpsE=; b=eNiRHG4jmiJJonHGYXkSjGep/aYy+tYMdeYRegD+tuAm2r3wOOylEk65AJcKRQZRdj cLNM4Y0VV1z9B2DCF7PwZwczoNkMe6nL5cVBVn6PH6pNtMx5u0H/yPlVgDtdifS+EcnO n2gkFYO/RjmRtQFVhukl9xdIrp7o950RO0FDMjOpiuIOuFDGoMEZtJiQZbPZd+frBpxR 0EpJAGl1+08gDbbGb9wcjFiQ/GvIVI47iTbspEAjVU9PMIfT9JEHV5MdWpQF5ufOaerl Qnc/UYKpvUQjCV+YV8StJ1JzKBtXEBbaAlnLHY4nFsFsHcZuyhY9b7G7H2ZNd9miztMH lCDw== X-Gm-Message-State: AHPjjUhhN5n9nPb2ui4ezTFblwqbWkqzrMihxSog5s6yAF7RXmzzV1rW dLPhdTRmYKyKzfv9E6J6p8f/dg== X-Google-Smtp-Source: AOwi7QBH50b5y1zfyjMimOf/TJcF3WE9mXEwjg8apUuB6EtDWtpUiroNKN+/Ql9vyzGoO/k1t2+GoQ== X-Received: by 10.101.90.207 with SMTP id d15mr7670856pgt.423.1506045244687; Thu, 21 Sep 2017 18:54:04 -0700 (PDT) Received: from garuda (c-24-18-253-84.hsd1.wa.comcast.net. [24.18.253.84]) by smtp.gmail.com with ESMTPSA id s4sm3870869pgr.32.2017.09.21.18.54.02 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 Sep 2017 18:54:02 -0700 (PDT) From: Chris Marusich References: <87tw06d4cr.fsf@netris.org> <87ingc2p51.fsf@elephly.net> Date: Thu, 21 Sep 2017 18:53:58 -0700 In-Reply-To: <87ingc2p51.fsf@elephly.net> (Ricardo Wurmus's message of "Thu, 21 Sep 2017 14:48:58 +0200") Message-ID: <87a81njy6h.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Ricardo Wurmus writes: > Hi Mark, > >> Currently, the package specification "linux-libre@4.1" selects version >> 4.13. It should instead select version 4.1. > > We consider everthing following the =E2=80=9C@=E2=80=9D a version string = prefix. Since > versions are arbitrary strings =E2=80=9C4.1=E2=80=9D is considered a vali= d prefix of > =E2=80=9C4.13=E2=80=9D. If a user supplied the version string =E2=80=9C4= .1.=E2=80=9D they would get the > appropriate package. > > The current implementation sorts all matches in decreasing version order > and picks the package with the highest version. This is implemented in > (gnu packages) with =E2=80=9C%find-packages=E2=80=9D, =E2=80=9Cfind-best-= packages-by-name=E2=80=9D, and > =E2=80=9Cfind-packages-by-name=E2=80=9D. > > Should we try to make the code understand version strings better and > compare substrings of the version string? We could fall back to using > =E2=80=9Cstring-prefix?=E2=80=9D when the substring is not a number. > Why not require an exact match? If someone asks for 4.1, they shouldn't get 4.11 or 4.13 or anything else; they should get 4.1. In my experience, mechanisms that attempt to guess which package version the user meant generally wind up choosing the wrong thing at some point. I think it would be reasonable to bail out and ask the user to clarify what they wanted. =2D-=20 Chris --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEy/WXVcvn5+/vGD+x3UCaFdgiRp0FAlnEbTcACgkQ3UCaFdgi Rp1f7A/8CNoEGmJO7/+dyTdPqJTCoSJvuQp8RPwHXDcooMXvnoXToZS8oD6AAsmc Z1uUGzB6kGd6aHgD2ANNGMWq31N2ekrB/tqxyHmsB+uNm2Wk5SNWK3TsxqRE8VQd 2AsohUWfCWvpMo7iJLcVQOSF2I7vlWSjB1Xu4qbXRwxUMR85aD9DkAQRDW1hbu/e 5zbOCwzeub5lh2gCKdB9ae9OmfqCkCQga4EKZTECCTiRC0qiFTLGdDVUhKu/f68/ 6MCSma/HMIhl68RTUJqtEpthcpxy3XJ6sdCFNEoNJeQO4rWGRZQDF4TiVgphGNc1 GdIeJm7lkk4VgTmUnv5J535DsgVYHvYuSaR05k5UXbw9GMba0FeFzHMsYSGl9Uxr JIQvvISnK9121GOteQzH1z4dp8JembefrQ9s5rIpXWIMwVCLud5j0ORmnRtLPN6F pN5NkV9bVrPXFw0tES3AEyqLDZ+iK1418cNBWjj/+Bs5VPaX9jW8L8W+uqGgNfRk oj2NGIeqjmLFPHPCW1/qjYY7R4wtXGBjBa4VuMvHZ0DYPKbQiW/cOwKYeGEjK/wj POOmn9I5Quj+fZNRz9uZ1Y8XCj+iNvClixb8IFwtAQfBzubsA1kjBU8xvv6crUtk bq5EdkjgUtwY51S0/sc2M3n17sgd4MIkmWvvjDCzweRyvJxyoZ8= =LLhx -----END PGP SIGNATURE----- --=-=-=-- From unknown Sat Aug 16 16:22:38 2025 X-Loop: help-debbugs@gnu.org Subject: bug#28446: linux-libre@4.1 should select 4.1.x, not 4.13.x Resent-From: Ricardo Wurmus Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Fri, 22 Sep 2017 08:06:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 28446 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Chris Marusich Cc: Mark H Weaver , 28446@debbugs.gnu.org Received: via spool by 28446-submit@debbugs.gnu.org id=B28446.150606753127720 (code B ref 28446); Fri, 22 Sep 2017 08:06:01 +0000 Received: (at 28446) by debbugs.gnu.org; 22 Sep 2017 08:05:31 +0000 Received: from localhost ([127.0.0.1]:52174 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dvIxn-0007D2-Es for submit@debbugs.gnu.org; Fri, 22 Sep 2017 04:05:31 -0400 Received: from sender-of-o51.zoho.com ([135.84.80.216]:21104) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dvIxk-0007Ct-Sv for 28446@debbugs.gnu.org; Fri, 22 Sep 2017 04:05:29 -0400 Received: from localhost (141.80.247.1 [141.80.247.1]) by mx.zohomail.com with SMTPS id 150606749838964.89557429033869; Fri, 22 Sep 2017 01:04:58 -0700 (PDT) References: <87tw06d4cr.fsf@netris.org> <87ingc2p51.fsf@elephly.net> <87a81njy6h.fsf@gmail.com> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Ricardo Wurmus In-reply-to: <87a81njy6h.fsf@gmail.com> X-URL: https://elephly.net X-PGP-Key: https://elephly.net/rekado.pubkey X-PGP-Fingerprint: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC Date: Fri, 22 Sep 2017 10:04:53 +0200 Message-ID: <87ingbp3a2.fsf@elephly.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-ZohoMailClient: External X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) Chris Marusich writes: > Ricardo Wurmus writes: > >> Hi Mark, >> >>> Currently, the package specification "linux-libre@4.1" selects version >>> 4.13. It should instead select version 4.1. >> >> We consider everthing following the “@” a version string prefix. Since >> versions are arbitrary strings “4.1” is considered a valid prefix of >> “4.13”. If a user supplied the version string “4.1.” they would get the >> appropriate package. >> >> The current implementation sorts all matches in decreasing version order >> and picks the package with the highest version. This is implemented in >> (gnu packages) with “%find-packages”, “find-best-packages-by-name”, and >> “find-packages-by-name”. >> >> Should we try to make the code understand version strings better and >> compare substrings of the version string? We could fall back to using >> “string-prefix?” when the substring is not a number. >> > > Why not require an exact match? If someone asks for 4.1, they shouldn't > get 4.11 or 4.13 or anything else; they should get 4.1. “4.1” has no exact match. The full version string is “4.1.43”. If we want users to get “4.1.43” when they input “4.1”, then we’ll have to make the code understand version strings better. Not all version strings are dot-separated numbers. Maybe this doesn’t matter and we’ll just ignore those cases. > In my > experience, mechanisms that attempt to guess which package version the > user meant generally wind up choosing the wrong thing at some point. I > think it would be reasonable to bail out and ask the user to clarify > what they wanted. The code already produces a warning in this case but proceeds to pick the match with the highest version. -- Ricardo GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC https://elephly.net From unknown Sat Aug 16 16:22:38 2025 X-Loop: help-debbugs@gnu.org Subject: bug#28446: linux-libre@4.1 should select 4.1.x, not 4.13.x Resent-From: Mark H Weaver Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Tue, 26 Sep 2017 04:27:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 28446 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Ricardo Wurmus Cc: 28446@debbugs.gnu.org Received: via spool by 28446-submit@debbugs.gnu.org id=B28446.150640000628982 (code B ref 28446); Tue, 26 Sep 2017 04:27:02 +0000 Received: (at 28446) by debbugs.gnu.org; 26 Sep 2017 04:26:46 +0000 Received: from localhost ([127.0.0.1]:59422 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dwhSI-0007XO-62 for submit@debbugs.gnu.org; Tue, 26 Sep 2017 00:26:46 -0400 Received: from world.peace.net ([50.252.239.5]:60006) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dwhSG-0007XC-M0 for 28446@debbugs.gnu.org; Tue, 26 Sep 2017 00:26:45 -0400 Received: from pool-72-93-32-241.bstnma.east.verizon.net ([72.93.32.241] helo=jojen) by world.peace.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1dwhSA-0004Sg-BV; Tue, 26 Sep 2017 00:26:38 -0400 From: Mark H Weaver References: <87tw06d4cr.fsf@netris.org> <87ingc2p51.fsf@elephly.net> Date: Tue, 26 Sep 2017 00:26:15 -0400 In-Reply-To: <87ingc2p51.fsf@elephly.net> (Ricardo Wurmus's message of "Thu, 21 Sep 2017 14:48:58 +0200") Message-ID: <87vak6gk60.fsf@netris.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) Hi Ricardo, Ricardo Wurmus writes: >> Currently, the package specification "linux-libre@4.1" selects version >> 4.13. It should instead select version 4.1. > > We consider everthing following the =E2=80=9C@=E2=80=9D a version string = prefix. Since > versions are arbitrary strings =E2=80=9C4.1=E2=80=9D is considered a vali= d prefix of > =E2=80=9C4.13=E2=80=9D. If a user supplied the version string =E2=80=9C4= .1.=E2=80=9D they would get the > appropriate package. > > The current implementation sorts all matches in decreasing version order > and picks the package with the highest version. This is implemented in > (gnu packages) with =E2=80=9C%find-packages=E2=80=9D, =E2=80=9Cfind-best-= packages-by-name=E2=80=9D, and > =E2=80=9Cfind-packages-by-name=E2=80=9D. > > Should we try to make the code understand version strings better and > compare substrings of the version string? We could fall back to using > =E2=80=9Cstring-prefix?=E2=80=9D when the substring is not a number. One possible approach would be as follows: if the last character of the specification is a digit, then priority should be given to versions that have a non-digit (or end-of-string) after the last matching character. Put another way, if the provided specification {SPEC} ends with a digit, then we should first search based on the following regexp: ^{SPEC}[^0-9] if no matches are found, then fall back to: ^{SPEC} This would gracefully handle the common case where groups of adjacent digits should be considered as single numbers, while still allowing prefixes of other numeric components such as dates or commit ids. I admit that this proposal lacks elegance. So far I have no better ideas. Mark From unknown Sat Aug 16 16:22:38 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Mark H Weaver Subject: bug#28446: closed (Re: bug#28446: linux-libre@4.1 should select 4.1.x, not 4.13.x) Message-ID: References: <87zi13lrlv.fsf@gnu.org> <87tw06d4cr.fsf@netris.org> X-Gnu-PR-Message: they-closed 28446 X-Gnu-PR-Package: guix Reply-To: 28446@debbugs.gnu.org Date: Sun, 13 May 2018 11:32:01 +0000 Content-Type: multipart/mixed; boundary="----------=_1526211121-16242-1" This is a multi-part message in MIME format... ------------=_1526211121-16242-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #28446: linux-libre@4.1 should select 4.1.x, not 4.13.x which was filed against the guix package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 28446@debbugs.gnu.org. --=20 28446: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D28446 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1526211121-16242-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 28446-done) by debbugs.gnu.org; 13 May 2018 11:31:20 +0000 Received: from localhost ([127.0.0.1]:60264 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fHpDj-0003aW-RK for submit@debbugs.gnu.org; Sun, 13 May 2018 07:31:20 -0400 Received: from eggs.gnu.org ([208.118.235.92]:36810) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fHpDh-0003SQ-38 for 28446-done@debbugs.gnu.org; Sun, 13 May 2018 07:31:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fHpDb-0006Wp-42 for 28446-done@debbugs.gnu.org; Sun, 13 May 2018 07:31:11 -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.0 required=5.0 tests=BAYES_20 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:43885) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fHpDa-0006Wj-W4; Sun, 13 May 2018 07:31:11 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=47114 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1fHpDa-00052A-FV; Sun, 13 May 2018 07:31:10 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Mark H Weaver Subject: Re: bug#28446: linux-libre@4.1 should select 4.1.x, not 4.13.x References: <87tw06d4cr.fsf@netris.org> <87ingc2p51.fsf@elephly.net> <87vak6gk60.fsf@netris.org> Date: Sun, 13 May 2018 13:31:08 +0200 In-Reply-To: <87vak6gk60.fsf@netris.org> (Mark H. Weaver's message of "Tue, 26 Sep 2017 00:26:15 -0400") Message-ID: <87zi13lrlv.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 28446-done Cc: Ricardo Wurmus , 28446-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) Hello, Mark H Weaver skribis: > Ricardo Wurmus writes: > >>> Currently, the package specification "linux-libre@4.1" selects version >>> 4.13. It should instead select version 4.1. >> >> We consider everthing following the =E2=80=9C@=E2=80=9D a version string= prefix. Since >> versions are arbitrary strings =E2=80=9C4.1=E2=80=9D is considered a val= id prefix of >> =E2=80=9C4.13=E2=80=9D. If a user supplied the version string =E2=80=9C= 4.1.=E2=80=9D they would get the >> appropriate package. I pushed a fix that I think does what we want as 348987d3d12ebaf11fdbcc3dbd56585e7d69a1f5. Basically =E2=80=98version-prefix?=E2=80=99 splits a version string at dots= and compares whole components. Thanks, Ludo=E2=80=99. ------------=_1526211121-16242-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 13 Sep 2017 15:07:51 +0000 Received: from localhost ([127.0.0.1]:38474 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ds9GZ-00080P-BO for submit@debbugs.gnu.org; Wed, 13 Sep 2017 11:07:51 -0400 Received: from eggs.gnu.org ([208.118.235.92]:34524) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ds9GY-00080C-Oe for submit@debbugs.gnu.org; Wed, 13 Sep 2017 11:07:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ds9GR-0002Xe-Jh for submit@debbugs.gnu.org; Wed, 13 Sep 2017 11:07:45 -0400 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]:43485) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ds9GR-0002Xa-Gp for submit@debbugs.gnu.org; Wed, 13 Sep 2017 11:07:43 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53715) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ds9GQ-0003GT-KB for bug-guix@gnu.org; Wed, 13 Sep 2017 11:07:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ds9GN-0002VW-Gp for bug-guix@gnu.org; Wed, 13 Sep 2017 11:07:42 -0400 Received: from world.peace.net ([50.252.239.5]:60678) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ds9GN-0002Uq-Cl for bug-guix@gnu.org; Wed, 13 Sep 2017 11:07:39 -0400 Received: from [10.1.10.104] (helo=jojen) by world.peace.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1ds9GM-0008V3-KB; Wed, 13 Sep 2017 11:07:38 -0400 From: Mark H Weaver To: bug-guix@gnu.org Subject: linux-libre@4.1 should select 4.1.x, not 4.13.x Date: Wed, 13 Sep 2017 11:07:32 -0400 Message-ID: <87tw06d4cr.fsf@netris.org> MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [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@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Currently, the package specification "linux-libre@4.1" selects version 4.13. It should instead select version 4.1. Mark ------------=_1526211121-16242-1--