Gentoo Archives: gentoo-commits

From: "André Erdmann" <dywi@×××××××.de>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/R_overlay:overlay_wip commit in: roverlay/depres/
Date: Mon, 30 Jul 2012 08:55:15
Message-Id: 1343637846.6a2487574fcf8b40f42b9e3046976b3ca0658195.dywi@gentoo
1 commit: 6a2487574fcf8b40f42b9e3046976b3ca0658195
2 Author: André Erdmann <dywi <AT> mailerd <DOT> de>
3 AuthorDate: Mon Jul 30 08:44:06 2012 +0000
4 Commit: André Erdmann <dywi <AT> mailerd <DOT> de>
5 CommitDate: Mon Jul 30 08:44:06 2012 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=6a248757
7
8 unquote dep strings, accept == version modifier
9
10 ---
11 roverlay/depres/depenv.py | 19 +++++++++++++------
12 1 files changed, 13 insertions(+), 6 deletions(-)
13
14 diff --git a/roverlay/depres/depenv.py b/roverlay/depres/depenv.py
15 index 69e9d57..e70c6d3 100644
16 --- a/roverlay/depres/depenv.py
17 +++ b/roverlay/depres/depenv.py
18 @@ -2,14 +2,18 @@
19 # Copyright 2006-2012 Gentoo Foundation
20 # Distributed under the terms of the GNU General Public License v2
21 import re
22 +from roverlay import strutil
23
24 class DepEnv ( object ):
25
26 # excluding A-Z since dep_str_low will be used to find a match
27 - _NAME = '(?P<name>[a-z0-9_\-/]+)'
28 + _NAME = '(?P<name>[a-z0-9_\-/.+-]+)'
29 _VER = '(?P<ver>[0-9._\-]+)'
30 - # { <, >, <=, >=, =, != } (TODO !=)
31 - _VERMOD = '(?P<vmod>[<>]|[<>!]?[=])'
32 + # { <, >, ==, <=, >=, =, != } (TODO !=)
33 + _VERMOD = '(?P<vmod>[<>]|[=<>!]?[=])'
34 +
35 + # FIXME: "boost library (>1.0)" not resolved as >=dev-libs/boost-1.0,
36 + # regex \s
37
38 V_REGEX_STR = frozenset ( (
39 # 'R >= 2.15', 'R >=2.15' etc. (but not 'R>=2.15'!)
40 @@ -52,8 +56,8 @@ class DepEnv ( object ):
41 * dep_str -- dependency string at it appears in the description data.
42 """
43 self.deptype_mask = deptype_mask
44 - self.dep_str = dep_str
45 - self.dep_str_low = dep_str.lower()
46 + self.dep_str = strutil.unquote ( dep_str )
47 + self.dep_str_low = self.dep_str.lower()
48 self.status = DepEnv.STATUS_UNDONE
49 self.resolved_by = None
50
51 @@ -79,9 +83,12 @@ class DepEnv ( object ):
52 # fix versions like ".9" (-> "0.9")
53 if version [0] == '.': version = '0' + version
54
55 + vmod = m.group ( 'vmod' )
56 + if vmod == '==' : vmod = '='
57 +
58 result.append ( dict (
59 name = m.group ( 'name' ),
60 - version_modifier = m.group ( 'vmod' ),
61 + version_modifier = vmod,
62 version = version
63 ) )