1 |
On Sun, 21 Oct 2007 23:13:58 +0100 |
2 |
Steve Long <slong@××××××××××××××××××.uk> wrote: |
3 |
|
4 |
> Marius Mauch wrote: |
5 |
> > But like name_splitted.cpp is buggy as it assumes that a dash |
6 |
> > followed by a digit starts the version part. See |
7 |
> > echo ${PORTDIR}/*-*/* | tr ' ' '\n' | grep '\-[[:digit:]]' |
8 |
> > for some names that break the assumption. |
9 |
> > |
10 |
> Whoops :S Guess I need to change that then :) |
11 |
> |
12 |
> > And no clue what that cvs stuff is supposed to do, as there are no |
13 |
> > packages using that naming pattern, and the (unused) cvs versioning |
14 |
> > extension in portage-2.1 also uses a different pattern. |
15 |
> > |
16 |
> Well the line from portage_versions.py is: |
17 |
> ver_regexp = re.compile("^(cvs\\.)?(\\d+)((\\.\\d+)*)([a-z]?)((_(pre| |
18 |
> p|beta |
19 |
> alpha|rc)\\d*)*)(-r(\\d+))?$") |
20 |
> - which means that a version begins with either a digit or cvs |
21 |
> followed by digit. |
22 |
|
23 |
Not precisely: a digit, or "cvs" followed by a dot and a digit (you got |
24 |
it right in the following, but not in the code posted earlier) |
25 |
|
26 |
> We represented this in bash (for verCompare) as: |
27 |
> ver='^(cvs\.)?([0-9]+)((\.[0-9]+)*)([a-z]?)((_(pre|p|beta|alpha|rc) |
28 |
> [0-9]*)* (-r([0-9]+))?$' |
29 |
> |
30 |
> I think we can use: |
31 |
> CPV='^(.*-.*)/(.*)-(cvs\.)?([0-9]+)((\.[0-9]+)*)([a-z]?)((_(pre|p|beta |
32 |
> alpha|rc)[0-9]*)*)(-r([0-9.]+))?$' |
33 |
|
34 |
Well, categories don't necessarily have to contain a dash (though all |
35 |
official ones do currently). |
36 |
|
37 |
Marius |
38 |
-- |
39 |
gentoo-dev@g.o mailing list |