Gentoo Archives: gentoo-commits

From: "André Erdmann" <dywi@×××××××.de>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/R_overlay:master commit in: roverlay/ebuild/
Date: Wed, 28 Aug 2013 09:39:02
Message-Id: 1377682663.f39267a36a595947e8b42191c663fc335a5c9be6.dywi@gentoo
1 commit: f39267a36a595947e8b42191c663fc335a5c9be6
2 Author: André Erdmann <dywi <AT> mailerd <DOT> de>
3 AuthorDate: Wed Aug 28 09:37:43 2013 +0000
4 Commit: André Erdmann <dywi <AT> mailerd <DOT> de>
5 CommitDate: Wed Aug 28 09:37:43 2013 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=f39267a3
7
8 roverlay/ebuild/depres: add depstr_ignore functionality
9
10 ---
11 roverlay/ebuild/depres.py | 52 +++++++++++++++++++++++++++++++++++------------
12 1 file changed, 39 insertions(+), 13 deletions(-)
13
14 diff --git a/roverlay/ebuild/depres.py b/roverlay/ebuild/depres.py
15 index fa3a5bb..9ce1ed8 100644
16 --- a/roverlay/ebuild/depres.py
17 +++ b/roverlay/ebuild/depres.py
18 @@ -222,24 +222,50 @@ class EbuildDepRes ( object ):
19 )
20 return True
21
22 - desc = self.package_info ['desc_data']
23 + desc = self.package_info ['desc_data']
24 + depconf = self.package_info.depconf
25 + depstr_ignore = depconf.get ( 'depstr_ignore' ) if depconf else None
26 self._channels = dict()
27
28 - dep_type = desc_field = None
29 + dep_type = None
30 + desc_field = None
31
32 - for dep_type in FIELDS_TO_EVAR:
33 - resolver = None
34 + if depstr_ignore:
35 + depstr_ignore_all = depstr_ignore.get ( 'all' )
36
37 - for desc_field in FIELDS_TO_EVAR [dep_type]:
38 - if desc_field in desc:
39 - if not resolver:
40 - resolver = self._get_channel ( dep_type )
41 + for dep_type, desc_fields in FIELDS_TO_EVAR.items():
42 + resolver = None
43 + # ignore based on evar name ([R]DEPEND/RSUGGESTS)
44 + depstr_ignore_specific = depstr_ignore.get ( dep_type )
45 +
46 + for desc_field in desc_fields:
47 + if desc_field in desc:
48 + if resolver is None:
49 + resolver = self._get_channel ( dep_type )
50 +
51 + resolver.add_dependencies_filtered (
52 + dep_list = desc [desc_field],
53 + deptype_mask = FIELDS [desc_field],
54 + common_blacklist = depstr_ignore_all,
55 + specific_blacklist = depstr_ignore_specific,
56 + )
57 + # -- end for dep_type
58 +
59 + else:
60 + for dep_type, desc_fields in FIELDS_TO_EVAR.items():
61 + resolver = None
62 +
63 + for desc_field in desc_fields:
64 + if desc_field in desc:
65 + if resolver is None:
66 + resolver = self._get_channel ( dep_type )
67 +
68 + resolver.add_dependencies (
69 + dep_list = desc [desc_field],
70 + deptype_mask = FIELDS [desc_field]
71 + )
72 + # -- end for dep_type
73
74 - resolver.add_dependencies (
75 - dep_list = desc [desc_field],
76 - deptype_mask = FIELDS [desc_field]
77 - )
78 - # -- for dep_type
79 # --- end of _init_channels (...) ---
80
81 def _close_channels ( self ):