From 604b75c1f9d53e0f094a22d1167558aa4df566af Mon Sep 17 00:00:00 2001 From: Gregory Lee Date: Thu, 9 Mar 2017 10:36:32 -0800 Subject: created elf virtual package and updated dependent packages (#3317) * created elf virtual package and updated dependent packages * added `hide_files` context manager to handle moving files. --- lib/spack/llnl/util/filesystem.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'lib') diff --git a/lib/spack/llnl/util/filesystem.py b/lib/spack/llnl/util/filesystem.py index 7f6773266d..f456a5edf1 100644 --- a/lib/spack/llnl/util/filesystem.py +++ b/lib/spack/llnl/util/filesystem.py @@ -50,6 +50,7 @@ __all__ = [ 'fix_darwin_install_name', 'force_remove', 'force_symlink', + 'hide_files', 'install', 'install_tree', 'is_exe', @@ -257,6 +258,18 @@ def working_dir(dirname, **kwargs): os.chdir(orig_dir) +@contextmanager +def hide_files(*file_list): + try: + baks = ['%s.bak' % f for f in file_list] + for f, bak in zip(file_list, baks): + shutil.move(f, bak) + yield + finally: + for f, bak in zip(file_list, baks): + shutil.move(bak, f) + + def touch(path): """Creates an empty file at the specified path.""" with open(path, 'a'): -- cgit v1.2.3-60-g2f50