Gentoo Archives: gentoo-dev

From: Joshua Nichols <nichoj@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] atom matching behavior
Date: Thu, 03 Aug 2006 12:36:10
Message-Id: 44D1ED1D.6090208@gentoo.org
In Reply to: [gentoo-dev] atom matching behavior by Marius Mauch
1 Marius Mauch wrote:
2 > Repost from gentoo-portage-dev[1]:
3 >
4 > Was just brought to my attention that the =* operator doesn't work as I
5 > thought, as for example =foo-1.2* matches foo-1.20 as well as foo-1.2.3.
6 > This wouldn't be a bug problem if it could be used as a general glob
7 > operator like with =foo-1.2.*, but it's use is strictly limited to the
8 > above version (can only be used when a version component separator may
9 > appear), so atm there is no facility to reliably lock an atom at a
10 > specific version component when you have to account for multi-digit
11 > components.
12 > Now the question is if we want this glob-style behavior or not. From
13 > the code comments it seems to be intentional, but I'd suspect that many
14 > people share my original assumption and expect it to only match full
15 > version components (as that is the much more common use case). Doesn't
16 > help that the atom description in ebuild(5) doesn't specify the
17 > behavior for this case either,
18 >
19 > "* means match any version of the package so long as the specified
20 > base is matched"
21 >
22 > can be read both ways.
23 >
24 Many Java packages use =foo-1.2*, expecting to get like foo-1.2.1,
25 foo-1.2.3, etc. In these cases, it is actually intending to depend on a
26 particular slot, ie 1.2, but without slot dependencies, this is the next
27 best thing that can be done
28
29 --
30 Joshua Nichols
31 Gentoo/Java Project Lead
32 --
33 gentoo-dev@g.o mailing list