def skip_available(easyconfigs, testing=False): """Skip building easyconfigs for which a module is already available.""" m = modules_tool() easyconfigs, check_easyconfigs = [], easyconfigs for ec in check_easyconfigs: module = ec["module"] mod = "%s (version %s)" % (module[0], module[1]) modspath = mk_module_path(curr_module_paths() + [os.path.join(config.install_path("mod"), "all")]) if m.exists(module[0], module[1], modspath): msg = "%s is already installed (module found in %s), skipping " % (mod, modspath) print_msg(msg, log=_log, silent=testing) _log.info(msg) else: _log.debug("%s is not installed yet, so retaining it" % mod) easyconfigs.append(ec) return easyconfigs
def skip_available(easyconfigs, testing=False): """Skip building easyconfigs for which a module is already available.""" m = modules_tool() easyconfigs, check_easyconfigs = [], easyconfigs for ec in check_easyconfigs: module = ec['module'] mod = "%s (version %s)" % (module[0], module[1]) modspath = mk_module_path(curr_module_paths() + [os.path.join(config.install_path("mod"), 'all')]) if m.exists(module[0], module[1], modspath): msg = "%s is already installed (module found in %s), skipping " % (mod, modspath) print_msg(msg, log=_log, silent=testing) _log.info(msg) else: _log.debug("%s is not installed yet, so retaining it" % mod) easyconfigs.append(ec) return easyconfigs
validate=validate_easyconfigs)) except IOError, err: log.error("Processing easyconfigs in path %s failed: %s" % (path, err)) # before building starts, take snapshot of environment (watch out -t option!) origEnviron = copy.deepcopy(os.environ) os.chdir(os.environ['PWD']) # skip modules that are already installed unless forced if not options.force: m = Modules() easyconfigs, check_easyconfigs = [], easyconfigs for ec in check_easyconfigs: module = ec['module'] mod = "%s (version %s)" % (module[0], module[1]) modspath = mk_module_path(curr_module_paths() + [os.path.join(config.install_path("mod"), 'all')]) if m.exists(module[0], module[1], modspath): msg = "%s is already installed (module found in %s), skipping " % (mod, modspath) print_msg(msg, log, silent=testing) log.info(msg) else: log.debug("%s is not installed yet, so retaining it" % mod) easyconfigs.append(ec) # determine an order that will allow all specs in the set to build if len(easyconfigs) > 0: print_msg("resolving dependencies ...", log, silent=testing) # force all dependencies to be retained and validation to be skipped for building dep graph force = retain_all_deps and not validate_easyconfigs orderedSpecs = resolve_dependencies(easyconfigs, options.robot, force=force) else: