def app_install(fn, prefix=config.root_dir): """ Install the application `fn` into prefix (which defauts to the root environment). """ import plan index = get_index() actions = plan.install_actions(prefix, index, [fn2spec(fn)]) plan.execute_actions(actions, index)
def install_local_packages(prefix, paths, verbose=False): # copy packages to pkgs dir dists = [] for src_path in paths: assert src_path.endswith('.tar.bz2') fn = basename(src_path) dists.append(fn[:-8]) dst_path = join(config.pkgs_dir, fn) if abspath(src_path) == abspath(dst_path): continue shutil.copyfile(src_path, dst_path) actions = defaultdict(list) actions['PREFIX'] = prefix actions['op_order'] = RM_EXTRACTED, EXTRACT, UNLINK, LINK for dist in dists: actions[RM_EXTRACTED].append(dist) actions[EXTRACT].append(dist) if install.is_linked(prefix, dist): actions[UNLINK].append(dist) actions[LINK].append(dist) execute_actions(actions, verbose=verbose)