aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndré Erdmann <dywi@mailerd.de>2013-08-28 11:35:51 +0200
committerAndré Erdmann <dywi@mailerd.de>2013-08-28 11:35:51 +0200
commit13c5623a12b5f85e68272a719e981462650111c1 (patch)
tree6e9aa7531121ca040b998fd7bb361a03870f78c1 /roverlay/depres
parentpackage rule parser, depstr_ignore: minor changes (diff)
downloadR_overlay-13c5623a12b5f85e68272a719e981462650111c1.tar.gz
R_overlay-13c5623a12b5f85e68272a719e981462650111c1.tar.bz2
R_overlay-13c5623a12b5f85e68272a719e981462650111c1.zip
roverlay/depres/channels: add_dependencies_filtered()
Like add_dependencies(), but accepts two additional args, a common and a specific dep string blacklist. A dep str won't be added if it appears in any of these blacklists.
Diffstat (limited to 'roverlay/depres')
-rw-r--r--roverlay/depres/channels.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/roverlay/depres/channels.py b/roverlay/depres/channels.py
index d3ba725..ed51df4 100644
--- a/roverlay/depres/channels.py
+++ b/roverlay/depres/channels.py
@@ -136,6 +136,33 @@ class _EbuildJobChannelBase ( DependencyResolverChannel ):
self.add_dependency ( dep_str=dep_str, deptype_mask=deptype_mask )
# --- end of add_dependencies (...) ---
+ def add_dependencies_filtered (
+ self, dep_list, deptype_mask, common_blacklist, specific_blacklist
+ ):
+ if common_blacklist:
+ if specific_blacklist:
+ for dep_str in dep_list:
+ if (
+ dep_str not in common_blacklist and
+ dep_str not in specific_blacklist
+ ):
+ self.add_dependency ( dep_str, deptype_mask )
+
+ else:
+ for dep_str in dep_list:
+ if dep_str not in common_blacklist:
+ self.add_dependency ( dep_str, deptype_mask )
+
+ elif specific_blacklist:
+ for dep_str in dep_list:
+ if dep_str not in specific_blacklist:
+ self.add_dependency ( dep_str, deptype_mask )
+ else:
+ for dep_str in dep_list:
+ self.add_dependency ( dep_str, deptype_mask )
+ # --- end of add_dependencies_filtered (...) ---
+
+
def collect_dependencies ( self ):
"""Returns a list that contains all resolved deps,
including ignored deps that resolve to None.