Gentoo Archives: gentoo-dev

From: konsolebox <konsolebox@×××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Request to add ~> atom prefix operator on Portage.
Date: Mon, 14 Sep 2015 06:44:01
Message-Id: CAJnmqwbAC4-52NNUt7AoH0Fx6vwtaWxN4R7tybNotdU-8Vtn6A@mail.gmail.com
In Reply to: Re: [gentoo-dev] Request to add ~> atom prefix operator on Portage. by Kent Fredric
1 On Mon, Sep 14, 2015 at 2:19 PM, Kent Fredric <kentfredric@×××××.com> wrote:
2 > On 14 September 2015 at 18:09, konsolebox <konsolebox@×××××.com> wrote:
3 >> Because they could also match pkg-1.0.2aa
4 >
5 > That would imply
6 >
7 > =pkg-1.0.2* would match 1.0.20
8 >
9 > When it only matches 1.0.2 and 1.0.2.*
10 >
11 > You're reading it in shell glob notation and not the portage notation,
12 > that the trailing dot is *implied*, which is why explictly stating it
13 > is illegal.
14
15 Test shows that it doesn't work that way. Here I created a dummy bash-4.30:
16
17 # emerge -pvO =app-shells/bash-4.3_p42
18
19 These are the packages that would be merged, in order:
20
21 [ebuild U ~] app-shells/bash-4.3_p42::gentoo [4.3_p39::gentoo]
22 USE="net nls (readline) -afs -bashlogger -examples -mem-scramble
23 -plugins -vanilla" 6 KiB
24
25 Total: 1 package (1 upgrade), Size of downloads: 6 KiB
26
27 # emerge -pvO '=app-shells/bash-4.3*'
28
29 These are the packages that would be merged, in order:
30
31 [ebuild U ~] app-shells/bash-4.30::local [4.3_p39::gentoo]
32 USE="net nls (readline) -afs -bashlogger -examples -mem-scramble
33 -plugins -vanilla" 0 KiB
34
35 Total: 1 package (1 upgrade), Size of downloads: 0 KiB
36
37 # ls /var/db/pkg/sys-apps/portage-2.2.20.1/
38
39 > https://devmanual.gentoo.org/general-concepts/dependencies/index.html#ranged-dependencies
40 >
41 >> To specify "version 2.x (not 1.x or 3.x)" of a package, it is necessary to use the asterisk postfix.
42 >> Note that the equals sign is mandatory, and that there is no dot before the asterisk.
43
44 The provided example was `DEPEND="gtk? ( =x11-libs/gtk+-1.2* )"`. I'm
45 not sure if that was accurately implying "version 1.2.x (not 1.1.x or
46 1.3.x)".