Gentoo Archives: gentoo-commits

From: Zac Medico <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:master commit in: pym/portage/dbapi/, pym/portage/dep/, pym/_emerge/
Date: Mon, 11 Jun 2012 01:15:38
Message-Id: 1339377307.c864dd8d26ecc2144fd7e0ae56d12519f94dbd99.zmedico@gentoo
1 commit: c864dd8d26ecc2144fd7e0ae56d12519f94dbd99
2 Author: Zac Medico <zmedico <AT> gentoo <DOT> org>
3 AuthorDate: Mon Jun 11 01:15:07 2012 +0000
4 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
5 CommitDate: Mon Jun 11 01:15:07 2012 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=c864dd8d
7
8 Add a _get_slot_re() function.
9
10 ---
11 pym/_emerge/Package.py | 4 ++--
12 pym/portage/dbapi/vartree.py | 6 ++++--
13 pym/portage/dep/__init__.py | 3 +++
14 3 files changed, 9 insertions(+), 4 deletions(-)
15
16 diff --git a/pym/_emerge/Package.py b/pym/_emerge/Package.py
17 index 75021b9..91d7606 100644
18 --- a/pym/_emerge/Package.py
19 +++ b/pym/_emerge/Package.py
20 @@ -8,7 +8,7 @@ from portage import _encodings, _unicode_decode, _unicode_encode
21 from portage.cache.mappings import slot_dict_class
22 from portage.const import EBUILD_PHASES
23 from portage.dep import Atom, check_required_use, use_reduce, \
24 - paren_enclose, _slot_re, _slot_separator, _repo_separator
25 + paren_enclose, _get_slot_re, _slot_separator, _repo_separator
26 from portage.versions import _pkg_str, _unknown_repo
27 from portage.eapi import _get_eapi_attrs
28 from portage.exception import InvalidDependString
29 @@ -51,7 +51,7 @@ class Package(Task):
30 self.metadata['CHOST'] = self.root_config.settings.get('CHOST', '')
31 eapi_attrs = _get_eapi_attrs(self.metadata["EAPI"])
32 slot = self.slot
33 - if _slot_re.match(slot) is None:
34 + if _get_slot_re(eapi_attrs).match(slot) is None:
35 self._invalid_metadata('SLOT.invalid',
36 "SLOT: invalid value: '%s'" % slot)
37 # Avoid an InvalidAtom exception when creating slot_atom.
38
39 diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py
40 index 517c873..fbbf49d 100644
41 --- a/pym/portage/dbapi/vartree.py
42 +++ b/pym/portage/dbapi/vartree.py
43 @@ -12,7 +12,8 @@ portage.proxy.lazyimport.lazyimport(globals(),
44 'portage.dbapi.dep_expand:dep_expand',
45 'portage.dbapi._MergeProcess:MergeProcess',
46 'portage.dep:dep_getkey,isjustname,match_from_list,' + \
47 - 'use_reduce,_slot_re',
48 + 'use_reduce,_get_slot_re',
49 + 'portage.eapi:_get_eapi_attrs',
50 'portage.elog:collect_ebuild_messages,collect_messages,' + \
51 'elog_process,_merge_logentries',
52 'portage.locks:lockdir,unlockdir,lockfile,unlockfile',
53 @@ -687,7 +688,8 @@ class vardbapi(dbapi):
54 (mydir_mtime, cache_data)
55 self._aux_cache["modified"].add(mycpv)
56
57 - if _slot_re.match(mydata['SLOT']) is None:
58 + eapi_attrs = _get_eapi_attrs(mydata['EAPI'])
59 + if _get_slot_re(eapi_attrs).match(mydata['SLOT']) is None:
60 # Empty or invalid slot triggers InvalidAtom exceptions when
61 # generating slot atoms for packages, so translate it to '0' here.
62 mydata['SLOT'] = _unicode_decode('0')
63
64 diff --git a/pym/portage/dep/__init__.py b/pym/portage/dep/__init__.py
65 index d2df042..e6056b1 100644
66 --- a/pym/portage/dep/__init__.py
67 +++ b/pym/portage/dep/__init__.py
68 @@ -55,6 +55,9 @@ _repo = r'(?:' + _repo_separator + '(' + _repo_name + ')' + ')?'
69
70 _extended_cat = r'[\w+*][\w+.*-]*'
71
72 +def _get_slot_re(eapi_attrs):
73 + return _slot_re
74 +
75 _atom_re_cache = {}
76
77 def _get_atom_re(eapi_attrs):