예제 #1
0
 def _get_deps_list(self, package):
     logger.info('Getting dependencies for {}'.format(package))
     NodeControlUtil.update_package_cache()
     dep_tree = NodeControlUtil.get_deps_tree(package, self.deps)
     ret = []
     NodeControlUtil.dep_tree_traverse(dep_tree, ret)
     return " ".join(ret)
예제 #2
0
def test_deps_levels(patch_pkg_mgr, fltr_hld, res_dep):
    deps_list = NodeControlUtil.get_deps_tree_filtered('{}={}'.format(*pkg_a), filter_list=fltr_hld)
    flat_deps = []
    NodeControlUtil.dep_tree_traverse(deps_list, flat_deps)
    assert len(flat_deps) == len(res_dep)
    for d in res_dep:
        assert "{}={}".format(*d) in flat_deps
def test_deps_levels(patch_pkg_mgr, fltr_hld, res_dep):
    deps_list = NodeControlUtil.get_deps_tree_filtered('{}={}'.format(*pkg_a),
                                                       hold_list=fltr_hld,
                                                       deps_map={})
    flat_deps = []
    NodeControlUtil.dep_tree_traverse(deps_list, flat_deps)
    assert len(deps_list) == len(res_dep)
    for d in res_dep:
        assert "=".join(list(d)) in deps_list
예제 #4
0
 def get_dependencies(self, pkg_name, version):
     base_deps = [APP_NAME, "indy-plenum"]
     if pkg_name == APP_NAME:
         return base_deps
     deps = []
     NodeControlUtil.dep_tree_traverse(
         NodeControlUtil.get_deps_tree("{}={}".format(pkg_name, version),
                                       base_deps), deps)
     return deps
예제 #5
0
 def _get_deps_list(self, package):
     logger.info('Getting dependencies for {}'.format(package))
     NodeControlUtil.update_package_cache()
     dep_tree = NodeControlUtil.get_deps_tree(package)
     ret = []
     NodeControlUtil.dep_tree_traverse(dep_tree, ret)
     # Filter deps according to system hold list
     # in case of hold empty return only package
     holded = NodeControlUtil.get_sys_holds()
     if not holded:
         return package
     else:
         ret_list = []
         for rl in ret:
             name = rl.split("=", maxsplit=1)[0]
             if name in holded:
                 ret_list.append(rl)
         if package not in ret_list:
             ret_list.append(package)
         return " ".join(ret_list)