Remove "spack buildcache copy" in v0.19.0 (#33437)
This commit is contained in:
		 Massimiliano Culpo
					Massimiliano Culpo
				
			
				
					committed by
					
						 GitHub
						GitHub
					
				
			
			
				
	
			
			
			 GitHub
						GitHub
					
				
			
						parent
						
							1e4732d5fe
						
					
				
				
					commit
					abf3a696bd
				
			| @@ -8,7 +8,6 @@ | |||||||
| import shutil | import shutil | ||||||
| import sys | import sys | ||||||
| import tempfile | import tempfile | ||||||
| import warnings |  | ||||||
| 
 | 
 | ||||||
| import llnl.util.tty as tty | import llnl.util.tty as tty | ||||||
| 
 | 
 | ||||||
| @@ -258,19 +257,6 @@ def setup_parser(subparser): | |||||||
|     ) |     ) | ||||||
|     savespecfile.set_defaults(func=save_specfile_fn) |     savespecfile.set_defaults(func=save_specfile_fn) | ||||||
| 
 | 
 | ||||||
|     # Copy buildcache from some directory to another mirror url |  | ||||||
|     copy = subparsers.add_parser("copy", help=copy_fn.__doc__) |  | ||||||
|     copy.add_argument( |  | ||||||
|         "--base-dir", default=None, help="Path to mirror directory (root of existing buildcache)" |  | ||||||
|     ) |  | ||||||
|     copy.add_argument( |  | ||||||
|         "--spec-file", |  | ||||||
|         default=None, |  | ||||||
|         help=("Path to spec json or yaml file representing buildcache entry to" + " copy"), |  | ||||||
|     ) |  | ||||||
|     copy.add_argument("--destination-url", default=None, help="Destination mirror url") |  | ||||||
|     copy.set_defaults(func=copy_fn) |  | ||||||
| 
 |  | ||||||
|     # Sync buildcache entries from one mirror to another |     # Sync buildcache entries from one mirror to another | ||||||
|     sync = subparsers.add_parser("sync", help=sync_fn.__doc__) |     sync = subparsers.add_parser("sync", help=sync_fn.__doc__) | ||||||
|     sync.add_argument( |     sync.add_argument( | ||||||
| @@ -549,78 +535,6 @@ def save_specfile_fn(args): | |||||||
|     sys.exit(0) |     sys.exit(0) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def copy_fn(args): |  | ||||||
|     """Copy a buildcache entry and all its files from one mirror, given as |  | ||||||
|     '--base-dir', to some other mirror, specified as '--destination-url'. |  | ||||||
|     The specific buildcache entry to be copied from one location to the |  | ||||||
|     other is identified using the '--spec-file' argument.""" |  | ||||||
|     # TODO: Remove after v0.18.0 release |  | ||||||
|     msg = ( |  | ||||||
|         '"spack buildcache copy" is deprecated and will be removed from ' |  | ||||||
|         "Spack starting in v0.19.0" |  | ||||||
|     ) |  | ||||||
|     warnings.warn(msg) |  | ||||||
| 
 |  | ||||||
|     if not args.spec_file: |  | ||||||
|         tty.msg("No spec yaml provided, exiting.") |  | ||||||
|         sys.exit(1) |  | ||||||
| 
 |  | ||||||
|     if not args.base_dir: |  | ||||||
|         tty.msg("No base directory provided, exiting.") |  | ||||||
|         sys.exit(1) |  | ||||||
| 
 |  | ||||||
|     if not args.destination_url: |  | ||||||
|         tty.msg("No destination mirror url provided, exiting.") |  | ||||||
|         sys.exit(1) |  | ||||||
| 
 |  | ||||||
|     dest_url = args.destination_url |  | ||||||
| 
 |  | ||||||
|     if dest_url[0:7] != "file://" and dest_url[0] != "/": |  | ||||||
|         tty.msg('Only urls beginning with "file://" or "/" are supported ' + "by buildcache copy.") |  | ||||||
|         sys.exit(1) |  | ||||||
| 
 |  | ||||||
|     try: |  | ||||||
|         with open(args.spec_file, "r") as fd: |  | ||||||
|             spec = Spec.from_yaml(fd.read()) |  | ||||||
|     except Exception as e: |  | ||||||
|         tty.debug(e) |  | ||||||
|         tty.error("Unable to concrectize spec from yaml {0}".format(args.spec_file)) |  | ||||||
|         sys.exit(1) |  | ||||||
| 
 |  | ||||||
|     dest_root_path = dest_url |  | ||||||
|     if dest_url[0:7] == "file://": |  | ||||||
|         dest_root_path = dest_url[7:] |  | ||||||
| 
 |  | ||||||
|     build_cache_dir = bindist.build_cache_relative_path() |  | ||||||
| 
 |  | ||||||
|     tarball_rel_path = os.path.join(build_cache_dir, bindist.tarball_path_name(spec, ".spack")) |  | ||||||
|     tarball_src_path = os.path.join(args.base_dir, tarball_rel_path) |  | ||||||
|     tarball_dest_path = os.path.join(dest_root_path, tarball_rel_path) |  | ||||||
| 
 |  | ||||||
|     specfile_rel_path = os.path.join(build_cache_dir, bindist.tarball_name(spec, ".spec.json")) |  | ||||||
|     specfile_src_path = os.path.join(args.base_dir, specfile_rel_path) |  | ||||||
|     specfile_dest_path = os.path.join(dest_root_path, specfile_rel_path) |  | ||||||
| 
 |  | ||||||
|     specfile_rel_path_yaml = os.path.join( |  | ||||||
|         build_cache_dir, bindist.tarball_name(spec, ".spec.yaml") |  | ||||||
|     ) |  | ||||||
|     specfile_src_path_yaml = os.path.join(args.base_dir, specfile_rel_path) |  | ||||||
|     specfile_dest_path_yaml = os.path.join(dest_root_path, specfile_rel_path) |  | ||||||
| 
 |  | ||||||
|     # Make sure directory structure exists before attempting to copy |  | ||||||
|     os.makedirs(os.path.dirname(tarball_dest_path)) |  | ||||||
| 
 |  | ||||||
|     # Now copy the specfile and tarball files to the destination mirror |  | ||||||
|     tty.msg("Copying {0}".format(tarball_rel_path)) |  | ||||||
|     shutil.copyfile(tarball_src_path, tarball_dest_path) |  | ||||||
| 
 |  | ||||||
|     tty.msg("Copying {0}".format(specfile_rel_path)) |  | ||||||
|     shutil.copyfile(specfile_src_path, specfile_dest_path) |  | ||||||
| 
 |  | ||||||
|     tty.msg("Copying {0}".format(specfile_rel_path_yaml)) |  | ||||||
|     shutil.copyfile(specfile_src_path_yaml, specfile_dest_path_yaml) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| def copy_buildcache_file(src_url, dest_url, local_path=None): | def copy_buildcache_file(src_url, dest_url, local_path=None): | ||||||
|     """Copy from source url to destination url""" |     """Copy from source url to destination url""" | ||||||
|     tmpdir = None |     tmpdir = None | ||||||
|   | |||||||
| @@ -508,7 +508,7 @@ _spack_buildcache() { | |||||||
|     then |     then | ||||||
|         SPACK_COMPREPLY="-h --help" |         SPACK_COMPREPLY="-h --help" | ||||||
|     else |     else | ||||||
|         SPACK_COMPREPLY="create install list keys preview check download get-buildcache-name save-specfile copy sync update-index" |         SPACK_COMPREPLY="create install list keys preview check download get-buildcache-name save-specfile sync update-index" | ||||||
|     fi |     fi | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -568,10 +568,6 @@ _spack_buildcache_save_specfile() { | |||||||
|     SPACK_COMPREPLY="-h --help --root-spec --root-specfile -s --specs --specfile-dir" |     SPACK_COMPREPLY="-h --help --root-spec --root-specfile -s --specs --specfile-dir" | ||||||
| } | } | ||||||
|  |  | ||||||
| _spack_buildcache_copy() { |  | ||||||
|     SPACK_COMPREPLY="-h --help --base-dir --spec-file --destination-url" |  | ||||||
| } |  | ||||||
|  |  | ||||||
| _spack_buildcache_sync() { | _spack_buildcache_sync() { | ||||||
|     SPACK_COMPREPLY="-h --help --manifest-glob --src-directory --src-mirror-name --src-mirror-url --dest-directory --dest-mirror-name --dest-mirror-url" |     SPACK_COMPREPLY="-h --help --manifest-glob --src-directory --src-mirror-name --src-mirror-url --dest-directory --dest-mirror-name --dest-mirror-url" | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user