summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHarmen Stoppels <harmenstoppels@gmail.com>2023-06-12 14:33:26 +0200
committerGitHub <noreply@github.com>2023-06-12 14:33:26 +0200
commitda45073ef9a5abea361136a173c32c4d00659909 (patch)
tree951b580078089dddbb850d6ca1c74bccfdc85c95
parent61e17fb36da24577190407b8ccd5e460cafef89d (diff)
downloadspack-da45073ef9a5abea361136a173c32c4d00659909.tar.gz
spack-da45073ef9a5abea361136a173c32c4d00659909.tar.bz2
spack-da45073ef9a5abea361136a173c32c4d00659909.tar.xz
spack-da45073ef9a5abea361136a173c32c4d00659909.zip
buildcache: remove deprecated api (#37246)
The API was deprecated in v0.20 and is slated for removal in v0.21
-rw-r--r--lib/spack/docs/environments.rst4
-rw-r--r--lib/spack/spack/binary_distribution.py68
-rw-r--r--lib/spack/spack/cmd/buildcache.py194
-rw-r--r--lib/spack/spack/test/bindist.py65
-rw-r--r--lib/spack/spack/test/ci.py2
-rw-r--r--lib/spack/spack/test/cmd/buildcache.py30
-rw-r--r--lib/spack/spack/test/cmd/ci.py14
-rw-r--r--lib/spack/spack/test/cmd/install.py4
-rw-r--r--lib/spack/spack/test/cmd/mirror.py4
-rw-r--r--lib/spack/spack/test/packaging.py28
-rwxr-xr-xshare/spack/spack-completion.bash12
11 files changed, 72 insertions, 353 deletions
diff --git a/lib/spack/docs/environments.rst b/lib/spack/docs/environments.rst
index 74831073ed..73da7059cb 100644
--- a/lib/spack/docs/environments.rst
+++ b/lib/spack/docs/environments.rst
@@ -1132,11 +1132,11 @@ index once every package is pushed. Note how this target uses the generated
example/push/%: example/install/%
@mkdir -p $(dir $@)
$(info About to push $(SPEC) to a buildcache)
- $(SPACK) -e . buildcache create --allow-root --only=package --directory $(BUILDCACHE_DIR) /$(HASH)
+ $(SPACK) -e . buildcache push --allow-root --only=package $(BUILDCACHE_DIR) /$(HASH)
@touch $@
push: $(addprefix example/push/,$(example/SPACK_PACKAGE_IDS))
$(info Updating the buildcache index)
- $(SPACK) -e . buildcache update-index --directory $(BUILDCACHE_DIR)
+ $(SPACK) -e . buildcache update-index $(BUILDCACHE_DIR)
$(info Done!)
@touch $@
diff --git a/lib/spack/spack/binary_distribution.py b/lib/spack/spack/binary_distribution.py
index 44955eac1c..48892077f6 100644
--- a/lib/spack/spack/binary_distribution.py
+++ b/lib/spack/spack/binary_distribution.py
@@ -760,13 +760,12 @@ def hashes_to_prefixes(spec):
}
-def get_buildinfo_dict(spec, rel=False):
+def get_buildinfo_dict(spec):
"""Create metadata for a tarball"""
manifest = get_buildfile_manifest(spec)
return {
"sbang_install_path": spack.hooks.sbang.sbang_install_path(),
- "relative_rpaths": rel,
"buildpath": spack.store.layout.root,
"spackprefix": spack.paths.prefix,
"relative_prefix": os.path.relpath(spec.prefix, spack.store.layout.root),
@@ -1209,9 +1208,6 @@ class PushOptions(NamedTuple):
#: Overwrite existing tarball/metadata files in buildcache
force: bool = False
- #: Whether to use relative RPATHs
- relative: bool = False
-
#: Allow absolute paths to package prefixes when creating a tarball
allow_root: bool = False
@@ -1281,41 +1277,17 @@ def _build_tarball_in_stage_dir(spec: Spec, out_url: str, stage_dir: str, option
raise NoOverwriteException(url_util.format(remote_specfile_path))
pkg_dir = os.path.basename(spec.prefix.rstrip(os.path.sep))
- workdir = os.path.join(stage_dir, pkg_dir)
-
- # TODO: We generally don't want to mutate any files, but when using relative
- # mode, Spack unfortunately *does* mutate rpaths and links ahead of time.
- # For now, we only make a full copy of the spec prefix when in relative mode.
-
- if options.relative:
- # tarfile is used because it preserves hardlink etc best.
- binaries_dir = workdir
- temp_tarfile_name = tarball_name(spec, ".tar")
- temp_tarfile_path = os.path.join(tarfile_dir, temp_tarfile_name)
- with closing(tarfile.open(temp_tarfile_path, "w")) as tar:
- tar.add(name="%s" % spec.prefix, arcname=".")
- with closing(tarfile.open(temp_tarfile_path, "r")) as tar:
- tar.extractall(workdir)
- os.remove(temp_tarfile_path)
- else:
- binaries_dir = spec.prefix
+
+ binaries_dir = spec.prefix
# create info for later relocation and create tar
- buildinfo = get_buildinfo_dict(spec, options.relative)
+ buildinfo = get_buildinfo_dict(spec)
- # optionally make the paths in the binaries relative to each other
- # in the spack install tree before creating tarball
- if options.relative:
- make_package_relative(workdir, spec, buildinfo, options.allow_root)
- elif not options.allow_root:
+ if not options.allow_root:
ensure_package_relocatable(buildinfo, binaries_dir)
_do_create_tarball(tarfile_path, binaries_dir, pkg_dir, buildinfo)
- # remove copy of install directory
- if options.relative:
- shutil.rmtree(workdir)
-
# get the sha256 checksum of the tarball
checksum = checksum_tarball(tarfile_path)
@@ -1336,7 +1308,6 @@ def _build_tarball_in_stage_dir(spec: Spec, out_url: str, stage_dir: str, option
# This will be used to determine is the directory layout has changed.
buildinfo = {}
buildinfo["relative_prefix"] = os.path.relpath(spec.prefix, spack.store.layout.root)
- buildinfo["relative_rpaths"] = options.relative
spec_dict["buildinfo"] = buildinfo
with open(specfile_path, "w") as outfile:
@@ -1596,35 +1567,6 @@ def download_tarball(spec, unsigned=False, mirrors_for_spec=None):
return None
-def make_package_relative(workdir, spec, buildinfo, allow_root):
- """
- Change paths in binaries to relative paths. Change absolute symlinks
- to relative symlinks.
- """
- prefix = spec.prefix
- old_layout_root = buildinfo["buildpath"]
- orig_path_names = list()
- cur_path_names = list()
- for filename in buildinfo["relocate_binaries"]:
- orig_path_names.append(os.path.join(prefix, filename))
- cur_path_names.append(os.path.join(workdir, filename))
-
- platform = spack.platforms.by_name(spec.platform)
- if "macho" in platform.binary_formats:
- relocate.make_macho_binaries_relative(cur_path_names, orig_path_names, old_layout_root)
-
- if "elf" in platform.binary_formats:
- relocate.make_elf_binaries_relative(cur_path_names, orig_path_names, old_layout_root)
-
- allow_root or relocate.ensure_binaries_are_relocatable(cur_path_names)
- orig_path_names = list()
- cur_path_names = list()
- for linkname in buildinfo.get("relocate_links", []):
- orig_path_names.append(os.path.join(prefix, linkname))
- cur_path_names.append(os.path.join(workdir, linkname))
- relocate.make_link_relative(cur_path_names, orig_path_names)
-
-
def ensure_package_relocatable(buildinfo, binaries_dir):
"""Check if package binaries are relocatable."""
binaries = [os.path.join(binaries_dir, f) for f in buildinfo["relocate_binaries"]]
diff --git a/lib/spack/spack/cmd/buildcache.py b/lib/spack/spack/cmd/buildcache.py
index 45ed24a3ec..abe10152ad 100644
--- a/lib/spack/spack/cmd/buildcache.py
+++ b/lib/spack/spack/cmd/buildcache.py
@@ -43,13 +43,6 @@ def setup_parser(subparser):
subparsers = subparser.add_subparsers(help="buildcache sub-commands")
push = subparsers.add_parser("push", aliases=["create"], help=push_fn.__doc__)
- # TODO: remove from Spack 0.21
- push.add_argument(
- "-r",
- "--rel",
- action="store_true",
- help="make all rpaths relative before creating tarballs. (deprecated)",
- )
push.add_argument("-f", "--force", action="store_true", help="overwrite tarball if it exists.")
push.add_argument(
"-u", "--unsigned", action="store_true", help="push unsigned buildcache tarballs"
@@ -63,37 +56,7 @@ def setup_parser(subparser):
push.add_argument(
"-k", "--key", metavar="key", type=str, default=None, help="Key for signing."
)
- output = push.add_mutually_exclusive_group(required=False)
- # TODO: remove from Spack 0.21
- output.add_argument(
- "-d",
- "--directory",
- metavar="directory",
- dest="mirror_flag",
- type=arguments.mirror_directory,
- help="local directory where buildcaches will be written. (deprecated)",
- )
- # TODO: remove from Spack 0.21
- output.add_argument(
- "-m",
- "--mirror-name",
- metavar="mirror-name",
- dest="mirror_flag",
- type=arguments.mirror_name,
- help="name of the mirror where buildcaches will be written. (deprecated)",
- )
- # TODO: remove from Spack 0.21
- output.add_argument(
- "--mirror-url",
- metavar="mirror-url",
- dest="mirror_flag",
- type=arguments.mirror_url,
- help="URL of the mirror where buildcaches will be written. (deprecated)",
- )
- # Unfortunately we cannot add this to the mutually exclusive group above,
- # because we have further positional arguments.
- # TODO: require from Spack 0.21
- push.add_argument("mirror", type=str, help="Mirror name, path, or URL.", nargs="?")
+ push.add_argument("mirror", type=str, help="Mirror name, path, or URL.")
push.add_argument(
"--update-index",
"--rebuild-index",
@@ -127,13 +90,6 @@ def setup_parser(subparser):
install.add_argument(
"-m", "--multiple", action="store_true", help="allow all matching packages "
)
- # TODO: remove from Spack 0.21
- install.add_argument(
- "-a",
- "--allow-root",
- action="store_true",
- help="allow install root string in binary files after RPATH substitution. (deprecated)",
- )
install.add_argument(
"-u",
"--unsigned",
@@ -272,71 +228,17 @@ def setup_parser(subparser):
default=None,
help="A quoted glob pattern identifying copy manifest files",
)
- source = sync.add_mutually_exclusive_group(required=False)
- # TODO: remove in Spack 0.21
- source.add_argument(
- "--src-directory",
- metavar="DIRECTORY",
- dest="src_mirror_flag",
- type=arguments.mirror_directory,
- help="Source mirror as a local file path (deprecated)",
- )
- # TODO: remove in Spack 0.21
- source.add_argument(
- "--src-mirror-name",
- metavar="MIRROR_NAME",
- dest="src_mirror_flag",
- type=arguments.mirror_name,
- help="Name of the source mirror (deprecated)",
- )
- # TODO: remove in Spack 0.21
- source.add_argument(
- "--src-mirror-url",
- metavar="MIRROR_URL",
- dest="src_mirror_flag",
- type=arguments.mirror_url,
- help="URL of the source mirror (deprecated)",
- )
- # TODO: only support this in 0.21
- source.add_argument(
+ sync.add_argument(
"src_mirror",
metavar="source mirror",
type=arguments.mirror_name_or_url,
help="Source mirror name, path, or URL",
- nargs="?",
- )
- dest = sync.add_mutually_exclusive_group(required=False)
- # TODO: remove in Spack 0.21
- dest.add_argument(
- "--dest-directory",
- metavar="DIRECTORY",
- dest="dest_mirror_flag",
- type=arguments.mirror_directory,
- help="Destination mirror as a local file path (deprecated)",
- )
- # TODO: remove in Spack 0.21
- dest.add_argument(
- "--dest-mirror-name",
- metavar="MIRROR_NAME",
- type=arguments.mirror_name,
- dest="dest_mirror_flag",
- help="Name of the destination mirror (deprecated)",
- )
- # TODO: remove in Spack 0.21
- dest.add_argument(
- "--dest-mirror-url",
- metavar="MIRROR_URL",
- dest="dest_mirror_flag",
- type=arguments.mirror_url,
- help="URL of the destination mirror (deprecated)",
- )
- # TODO: only support this in 0.21
- dest.add_argument(
+ )
+ sync.add_argument(
"dest_mirror",
metavar="destination mirror",
type=arguments.mirror_name_or_url,
help="Destination mirror name, path, or URL",
- nargs="?",
)
sync.set_defaults(func=sync_fn)
@@ -344,39 +246,8 @@ def setup_parser(subparser):
update_index = subparsers.add_parser(
"update-index", aliases=["rebuild-index"], help=update_index_fn.__doc__
)
- update_index_out = update_index.add_mutually_exclusive_group(required=True)
- # TODO: remove in Spack 0.21
- update_index_out.add_argument(
- "-d",
- "--directory",
- metavar="directory",
- dest="mirror_flag",
- type=arguments.mirror_directory,
- help="local directory where buildcaches will be written (deprecated)",
- )
- # TODO: remove in Spack 0.21
- update_index_out.add_argument(
- "-m",
- "--mirror-name",
- metavar="mirror-name",
- dest="mirror_flag",
- type=arguments.mirror_name,
- help="name of the mirror where buildcaches will be written (deprecated)",
- )
- # TODO: remove in Spack 0.21
- update_index_out.add_argument(
- "--mirror-url",
- metavar="mirror-url",
- dest="mirror_flag",
- type=arguments.mirror_url,
- help="URL of the mirror where buildcaches will be written (deprecated)",
- )
- # TODO: require from Spack 0.21
- update_index_out.add_argument(
- "mirror",
- type=arguments.mirror_name_or_url,
- help="Destination mirror name, path, or URL",
- nargs="?",
+ update_index.add_argument(
+ "mirror", type=arguments.mirror_name_or_url, help="Destination mirror name, path, or URL"
)
update_index.add_argument(
"-k",
@@ -436,32 +307,12 @@ def _concrete_spec_from_args(args):
def push_fn(args):
"""create a binary package and push it to a mirror"""
- if args.mirror_flag:
- mirror = args.mirror_flag
- elif not args.mirror:
- raise ValueError("No mirror provided")
- else:
- mirror = arguments.mirror_name_or_url(args.mirror)
-
- if args.mirror_flag:
- tty.warn(
- "Using flags to specify mirrors is deprecated and will be removed in "
- "Spack 0.21, use positional arguments instead."
- )
-
- if args.rel:
- tty.warn("The --rel flag is deprecated and will be removed in Spack 0.21")
-
- # TODO: remove this in 0.21. If we have mirror_flag, the first
- # spec is in the positional mirror arg due to argparse limitations.
- input_specs = args.specs
- if args.mirror_flag and args.mirror:
- input_specs.insert(0, args.mirror)
+ mirror = arguments.mirror_name_or_url(args.mirror)
url = mirror.push_url
specs = bindist.specs_to_be_packaged(
- _matching_specs(input_specs, args.spec_file),
+ _matching_specs(args.specs, args.spec_file),
root="package" in args.things_to_install,
dependencies="dependencies" in args.things_to_install,
)
@@ -486,7 +337,6 @@ def push_fn(args):
url,
bindist.PushOptions(
force=args.force,
- relative=args.rel,
unsigned=args.unsigned,
allow_root=args.allow_root,
key=args.key,
@@ -524,9 +374,6 @@ def install_fn(args):
if not args.specs:
tty.die("a spec argument is required to install from a buildcache")
- if args.allow_root:
- tty.warn("The --allow-root flag is deprecated and will be removed in Spack 0.21")
-
query = bindist.BinaryCacheQuery(all_architectures=args.otherarch)
matches = spack.store.find(args.specs, multiple=args.multiple, query_fn=query)
for match in matches:
@@ -710,21 +557,8 @@ def sync_fn(args):
manifest_copy(glob.glob(args.manifest_glob))
return 0
- # If no manifest_glob, require a source and dest mirror.
- # TODO: Simplify in Spack 0.21
- if not (args.src_mirror_flag or args.src_mirror) or not (
- args.dest_mirror_flag or args.dest_mirror
- ):
- raise ValueError("Source and destination mirror are required.")
-
- if args.src_mirror_flag or args.dest_mirror_flag:
- tty.warn(
- "Using flags to specify mirrors is deprecated and will be removed in "
- "Spack 0.21, use positional arguments instead."
- )
-
- src_mirror = args.src_mirror_flag if args.src_mirror_flag else args.src_mirror
- dest_mirror = args.dest_mirror_flag if args.dest_mirror_flag else args.dest_mirror
+ src_mirror = args.src_mirror
+ dest_mirror = args.dest_mirror
src_mirror_url = src_mirror.fetch_url
dest_mirror_url = dest_mirror.push_url
@@ -803,13 +637,7 @@ def update_index(mirror: spack.mirror.Mirror, update_keys=False):
def update_index_fn(args):
"""Update a buildcache index."""
- if args.mirror_flag:
- tty.warn(
- "Using flags to specify mirrors is deprecated and will be removed in "
- "Spack 0.21, use positional arguments instead."
- )
- mirror = args.mirror_flag if args.mirror_flag else args.mirror
- update_index(mirror, update_keys=args.keys)
+ update_index(args.mirror, update_keys=args.keys)
def buildcache(parser, args):
diff --git a/lib/spack/spack/test/bindist.py b/lib/spack/spack/test/bindist.py
index f16459bc7f..ed60a1056a 100644
--- a/lib/spack/spack/test/bindist.py
+++ b/lib/spack/spack/test/bindist.py
@@ -201,12 +201,12 @@ def test_default_rpaths_create_install_default_layout(mirror_dir):
install_cmd("--no-cache", sy_spec.name)
# Create a buildache
- buildcache_cmd("push", "-au", "-d", mirror_dir, cspec.name, sy_spec.name)
+ buildcache_cmd("push", "-au", mirror_dir, cspec.name, sy_spec.name)
# Test force overwrite create buildcache (-f option)
- buildcache_cmd("push", "-auf", "-d", mirror_dir, cspec.name)
+ buildcache_cmd("push", "-auf", mirror_dir, cspec.name)
# Create mirror index
- buildcache_cmd("update-index", "-d", mirror_dir)
+ buildcache_cmd("update-index", mirror_dir)
# List the buildcaches in the mirror
buildcache_cmd("list", "-alv")
@@ -214,13 +214,13 @@ def test_default_rpaths_create_install_default_layout(mirror_dir):
uninstall_cmd("-y", "--dependents", gspec.name)
# Test installing from build caches
- buildcache_cmd("install", "-au", cspec.name, sy_spec.name)
+ buildcache_cmd("install", "-u", cspec.name, sy_spec.name)
# This gives warning that spec is already installed
- buildcache_cmd("install", "-au", cspec.name)
+ buildcache_cmd("install", "-u", cspec.name)
# Test overwrite install
- buildcache_cmd("install", "-afu", cspec.name)
+ buildcache_cmd("install", "-fu", cspec.name)
buildcache_cmd("keys", "-f")
buildcache_cmd("list")
@@ -246,35 +246,10 @@ def test_default_rpaths_install_nondefault_layout(mirror_dir):
# Install some packages with dependent packages
# test install in non-default install path scheme
- buildcache_cmd("install", "-au", cspec.name, sy_spec.name)
+ buildcache_cmd("install", "-u", cspec.name, sy_spec.name)
# Test force install in non-default install path scheme
- buildcache_cmd("install", "-auf", cspec.name)
-
-
-@pytest.mark.requires_executables(*args)
-@pytest.mark.maybeslow
-@pytest.mark.nomockstage
-@pytest.mark.usefixtures("default_config", "cache_directory", "install_dir_default_layout")
-def test_relative_rpaths_create_default_layout(mirror_dir):
- """
- Test the creation and installation of buildcaches with relative
- rpaths into the default directory layout scheme.
- """
-
- gspec, cspec = Spec("garply").concretized(), Spec("corge").concretized()
-
- # Install 'corge' without using a cache
- install_cmd("--no-cache", cspec.name)
-
- # Create build cache with relative rpaths
- buildcache_cmd("push", "-aur", "-d", mirror_dir, cspec.name)
-
- # Create mirror index
- buildcache_cmd("update-index", "-d", mirror_dir)
-
- # Uninstall the package and deps
- uninstall_cmd("-y", "--dependents", gspec.name)
+ buildcache_cmd("install", "-uf", cspec.name)
@pytest.mark.requires_executables(*args)
@@ -291,19 +266,19 @@ def test_relative_rpaths_install_default_layout(mirror_dir):
gspec, cspec = Spec("garply").concretized(), Spec("corge").concretized()
# Install buildcache created with relativized rpaths
- buildcache_cmd("install", "-auf", cspec.name)
+ buildcache_cmd("install", "-uf", cspec.name)
# This gives warning that spec is already installed
- buildcache_cmd("install", "-auf", cspec.name)
+ buildcache_cmd("install", "-uf", cspec.name)
# Uninstall the package and deps
uninstall_cmd("-y", "--dependents", gspec.name)
# Install build cache
- buildcache_cmd("install", "-auf", cspec.name)
+ buildcache_cmd("install", "-uf", cspec.name)
# Test overwrite install
- buildcache_cmd("install", "-auf", cspec.name)
+ buildcache_cmd("install", "-uf", cspec.name)
@pytest.mark.requires_executables(*args)
@@ -320,7 +295,7 @@ def test_relative_rpaths_install_nondefault(mirror_dir):
cspec = Spec("corge").concretized()
# Test install in non-default install path scheme and relative path
- buildcache_cmd("install", "-auf", cspec.name)
+ buildcache_cmd("install", "-uf", cspec.name)
def test_push_and_fetch_keys(mock_gnupghome):
@@ -401,7 +376,7 @@ def test_spec_needs_rebuild(monkeypatch, tmpdir):
install_cmd(s.name)
# Put installed package in the buildcache
- buildcache_cmd("push", "-u", "-a", "-d", mirror_dir.strpath, s.name)
+ buildcache_cmd("push", "-u", "-a", mirror_dir.strpath, s.name)
rebuild = bindist.needs_rebuild(s, mirror_url)
@@ -430,8 +405,8 @@ def test_generate_index_missing(monkeypatch, tmpdir, mutable_config):
install_cmd("--no-cache", s.name)
# Create a buildcache and update index
- buildcache_cmd("push", "-uad", mirror_dir.strpath, s.name)
- buildcache_cmd("update-index", "-d", mirror_dir.strpath)
+ buildcache_cmd("push", "-ua", mirror_dir.strpath, s.name)
+ buildcache_cmd("update-index", mirror_dir.strpath)
# Check package and dependency in buildcache
cache_list = buildcache_cmd("list", "--allarch")
@@ -443,7 +418,7 @@ def test_generate_index_missing(monkeypatch, tmpdir, mutable_config):
os.remove(*libelf_files)
# Update index
- buildcache_cmd("update-index", "-d", mirror_dir.strpath)
+ buildcache_cmd("update-index", mirror_dir.strpath)
with spack.config.override("config:binary_index_ttl", 0):
# Check dependency not in buildcache
@@ -519,10 +494,10 @@ def test_update_sbang(tmpdir, test_mirror):
install_cmd("--no-cache", old_spec.name)
# Create a buildcache with the installed spec.
- buildcache_cmd("push", "-u", "-a", "-d", mirror_dir, old_spec_hash_str)
+ buildcache_cmd("push", "-u", "-a", mirror_dir, old_spec_hash_str)
# Need to force an update of the buildcache index
- buildcache_cmd("update-index", "-d", mirror_dir)
+ buildcache_cmd("update-index", mirror_dir)
# Uninstall the original package.
uninstall_cmd("-y", old_spec_hash_str)
@@ -538,7 +513,7 @@ def test_update_sbang(tmpdir, test_mirror):
assert new_spec.dag_hash() == old_spec.dag_hash()
# Install package from buildcache
- buildcache_cmd("install", "-a", "-u", "-f", new_spec.name)
+ buildcache_cmd("install", "-u", "-f", new_spec.name)
# Continue blowing away caches
bindist.clear_spec_cache()
diff --git a/lib/spack/spack/test/ci.py b/lib/spack/spack/test/ci.py
index 4002ecdb3d..60c21e8d3a 100644
--- a/lib/spack/spack/test/ci.py
+++ b/lib/spack/spack/test/ci.py
@@ -291,7 +291,7 @@ def test_ci_workarounds():
def make_rebuild_index_job(use_artifact_buildcache, optimize, use_dependencies):
result = {
"stage": "stage-rebuild-index",
- "script": "spack buildcache update-index --mirror-url s3://mirror",
+ "script": "spack buildcache update-index s3://mirror",
"tags": ["tag-0", "tag-1"],
"image": {"name": "spack/centos7", "entrypoint": [""]},
"after_script": ['rm -rf "./spack"'],
diff --git a/lib/spack/spack/test/cmd/buildcache.py b/lib/spack/spack/test/cmd/buildcache.py
index 753c86f3e2..85765c96ac 100644
--- a/lib/spack/spack/test/cmd/buildcache.py
+++ b/lib/spack/spack/test/cmd/buildcache.py
@@ -85,7 +85,7 @@ def tests_buildcache_create(install_mockery, mock_fetch, monkeypatch, tmpdir):
pkg = "trivial-install-test-package"
install(pkg)
- buildcache("push", "-d", str(tmpdir), "--unsigned", pkg)
+ buildcache("push", "--unsigned", str(tmpdir), pkg)
spec = Spec(pkg).concretized()
tarball_path = spack.binary_distribution.tarball_path_name(spec, ".spack")
@@ -105,7 +105,7 @@ def tests_buildcache_create_env(
add(pkg)
install()
- buildcache("push", "-d", str(tmpdir), "--unsigned")
+ buildcache("push", "--unsigned", str(tmpdir))
spec = Spec(pkg).concretized()
tarball_path = spack.binary_distribution.tarball_path_name(spec, ".spack")
@@ -118,7 +118,7 @@ def test_buildcache_create_fails_on_noargs(tmpdir):
"""Ensure that buildcache create fails when given no args or
environment."""
with pytest.raises(spack.main.SpackCommandError):
- buildcache("push", "-d", str(tmpdir), "--unsigned")
+ buildcache("push", "--unsigned", str(tmpdir))
def test_buildcache_create_fail_on_perm_denied(install_mockery, mock_fetch, monkeypatch, tmpdir):
@@ -127,7 +127,7 @@ def test_buildcache_create_fail_on_perm_denied(install_mockery, mock_fetch, monk
tmpdir.chmod(0)
with pytest.raises(OSError) as error:
- buildcache("push", "-d", str(tmpdir), "--unsigned", "trivial-install-test-package")
+ buildcache("push", "--unsigned", str(tmpdir), "trivial-install-test-package")
assert error.value.errno == errno.EACCES
tmpdir.chmod(0o700)
@@ -159,11 +159,11 @@ def test_update_key_index(
# Put installed package in the buildcache, which, because we're signing
# it, should result in the public key getting pushed to the buildcache
# as well.
- buildcache("push", "-a", "-d", mirror_dir.strpath, s.name)
+ buildcache("push", "-a", mirror_dir.strpath, s.name)
# Now make sure that when we pass the "--keys" argument to update-index
# it causes the index to get update.
- buildcache("update-index", "--keys", "-d", mirror_dir.strpath)
+ buildcache("update-index", "--keys", mirror_dir.strpath)
key_dir_list = os.listdir(os.path.join(mirror_dir.strpath, "build_cache", "_pgp"))
@@ -213,27 +213,25 @@ def test_buildcache_sync(
# Install a package and put it in the buildcache
s = Spec(out_env_pkg).concretized()
install(s.name)
- buildcache("push", "-u", "-f", "-a", "--mirror-url", src_mirror_url, s.name)
+ buildcache("push", "-u", "-f", "-a", src_mirror_url, s.name)
env("create", "test")
with ev.read("test"):
add(in_env_pkg)
install()
- buildcache("push", "-u", "-f", "-a", "--mirror-url", src_mirror_url, in_env_pkg)
+ buildcache("push", "-u", "-f", "-a", src_mirror_url, in_env_pkg)
# Now run the spack buildcache sync command with all the various options
# for specifying mirrors
# Use urls to specify mirrors
- buildcache(
- "sync", "--src-mirror-url", src_mirror_url, "--dest-mirror-url", dest_mirror_url
- )
+ buildcache("sync", src_mirror_url, dest_mirror_url)
verify_mirror_contents()
shutil.rmtree(dest_mirror_dir)
# Use local directory paths to specify fs locations
- buildcache("sync", "--src-directory", src_mirror_dir, "--dest-directory", dest_mirror_dir)
+ buildcache("sync", src_mirror_dir, dest_mirror_dir)
verify_mirror_contents()
shutil.rmtree(dest_mirror_dir)
@@ -242,7 +240,7 @@ def test_buildcache_sync(
mirror("add", "src", src_mirror_url)
mirror("add", "dest", dest_mirror_url)
- buildcache("sync", "--src-mirror-name", "src", "--dest-mirror-name", "dest")
+ buildcache("sync", "src", "dest")
verify_mirror_contents()
@@ -260,7 +258,7 @@ def test_buildcache_create_install(
pkg = "trivial-install-test-package"
install(pkg)
- buildcache("push", "-d", str(tmpdir), "--unsigned", pkg)
+ buildcache("push", "--unsigned", str(tmpdir), pkg)
spec = Spec(pkg).concretized()
tarball_path = spack.binary_distribution.tarball_path_name(spec, ".spack")
@@ -324,12 +322,12 @@ def test_correct_specs_are_pushed(
monkeypatch.setattr(spack.binary_distribution, "push_or_raise", fake_push)
- buildcache_create_args = ["create", "-d", str(tmpdir), "--unsigned"]
+ buildcache_create_args = ["create", "--unsigned"]
if things_to_install != "":
buildcache_create_args.extend(["--only", things_to_install])
- buildcache_create_args.extend([slash_hash])
+ buildcache_create_args.extend([str(tmpdir), slash_hash])
buildcache(*buildcache_create_args)
diff --git a/lib/spack/spack/test/cmd/ci.py b/lib/spack/spack/test/cmd/ci.py
index cceb093289..16b85c10f0 100644
--- a/lib/spack/spack/test/cmd/ci.py
+++ b/lib/spack/spack/test/cmd/ci.py
@@ -1055,7 +1055,7 @@ spack:
)
install_cmd("archive-files")
- buildcache_cmd("push", "-a", "-f", "-u", "--mirror-url", mirror_url, "archive-files")
+ buildcache_cmd("push", "-a", "-f", "-u", mirror_url, "archive-files")
filename = str(tmpdir.join("spack.yaml"))
with open(filename, "w") as f:
@@ -1155,8 +1155,8 @@ spack:
second_ci_yaml = str(tmpdir.join(".gitlab-ci-2.yml"))
with ev.read("test"):
install_cmd()
- buildcache_cmd("push", "-u", "--mirror-url", mirror_url, "patchelf")
- buildcache_cmd("update-index", "--mirror-url", mirror_url, output=str)
+ buildcache_cmd("push", "-u", mirror_url, "patchelf")
+ buildcache_cmd("update-index", mirror_url, output=str)
# This generate should not trigger a rebuild of patchelf, since it's in
# the main mirror referenced in the environment.
@@ -1297,7 +1297,7 @@ spack:
mirror_cmd("rm", "test-ci")
# Test generating buildcache index while we have bin mirror
- buildcache_cmd("update-index", "--mirror-url", mirror_url)
+ buildcache_cmd("update-index", mirror_url)
index_path = os.path.join(buildcache_path, "index.json")
with open(index_path) as idx_fd:
index_object = json.load(idx_fd)
@@ -1613,7 +1613,7 @@ spack:
ypfd.write(spec_json)
install_cmd("--add", "--keep-stage", "-f", json_path)
- buildcache_cmd("push", "-u", "-a", "-f", "--mirror-url", mirror_url, "callpath")
+ buildcache_cmd("push", "-u", "-a", "-f", mirror_url, "callpath")
ci_cmd("rebuild-index")
buildcache_path = os.path.join(mirror_dir.strpath, "build_cache")
@@ -1647,7 +1647,7 @@ def test_ci_generate_bootstrap_prune_dag(
install_cmd("gcc@=12.2.0%gcc@10.2.1")
# Put installed compiler in the buildcache
- buildcache_cmd("push", "-u", "-a", "-f", "-d", mirror_dir.strpath, "gcc@12.2.0%gcc@10.2.1")
+ buildcache_cmd("push", "-u", "-a", "-f", mirror_dir.strpath, "gcc@12.2.0%gcc@10.2.1")
# Now uninstall the compiler
uninstall_cmd("-y", "gcc@12.2.0%gcc@10.2.1")
@@ -1662,7 +1662,7 @@ def test_ci_generate_bootstrap_prune_dag(
install_cmd("--no-check-signature", "b%gcc@=12.2.0")
# Put spec built with installed compiler in the buildcache
- buildcache_cmd("push", "-u", "-a", "-f", "-d", mirror_dir.strpath, "b%gcc@12.2.0")
+ buildcache_cmd("push", "-u", "-a", "-f", mirror_dir.strpath, "b%gcc@12.2.0")
# Now uninstall the spec
uninstall_cmd("-y", "b%gcc@12.2.0")
diff --git a/lib/spack/spack/test/cmd/install.py b/lib/spack/spack/test/cmd/install.py
index 9bda13ca05..e9503d80d8 100644
--- a/lib/spack/spack/test/cmd/install.py
+++ b/lib/spack/spack/test/cmd/install.py
@@ -966,7 +966,7 @@ def test_compiler_bootstrap_from_binary_mirror(
install("gcc@=10.2.0")
# Put installed compiler in the buildcache
- buildcache("push", "-u", "-a", "-f", "-d", mirror_dir.strpath, "gcc@10.2.0")
+ buildcache("push", "-u", "-a", "-f", mirror_dir.strpath, "gcc@10.2.0")
# Now uninstall the compiler
uninstall("-y", "gcc@10.2.0")
@@ -1138,7 +1138,7 @@ def test_install_use_buildcache(
# Populate the buildcache
install(package_name)
- buildcache("push", "-u", "-a", "-f", "-d", mirror_dir.strpath, package_name, dependency_name)
+ buildcache("push", "-u", "-a", "-f", mirror_dir.strpath, package_name, dependency_name)
# Uninstall the all of the packages for clean slate
uninstall("-y", "-a")
diff --git a/lib/spack/spack/test/cmd/mirror.py b/lib/spack/spack/test/cmd/mirror.py
index 139da25912..117d9e6e8e 100644
--- a/lib/spack/spack/test/cmd/mirror.py
+++ b/lib/spack/spack/test/cmd/mirror.py
@@ -235,7 +235,7 @@ def test_mirror_destroy(
# Put a binary package in a buildcache
install("--no-cache", spec_name)
- buildcache("push", "-u", "-a", "-f", "-d", mirror_dir.strpath, spec_name)
+ buildcache("push", "-u", "-a", "-f", mirror_dir.strpath, spec_name)
contents = os.listdir(mirror_dir.strpath)
assert "build_cache" in contents
@@ -245,7 +245,7 @@ def test_mirror_destroy(
assert not os.path.exists(mirror_dir.strpath)
- buildcache("push", "-u", "-a", "-f", "-d", mirror_dir.strpath, spec_name)
+ buildcache("push", "-u", "-a", "-f", mirror_dir.strpath, spec_name)
contents = os.listdir(mirror_dir.strpath)
assert "build_cache" in contents
diff --git a/lib/spack/spack/test/packaging.py b/lib/spack/spack/test/packaging.py
index 879c38849a..43193b578c 100644
--- a/lib/spack/spack/test/packaging.py
+++ b/lib/spack/spack/test/packaging.py
@@ -100,7 +100,7 @@ echo $PATH"""
parser = argparse.ArgumentParser()
buildcache.setup_parser(parser)
- create_args = ["create", "-a", "-f", "-d", mirror_path, pkghash]
+ create_args = ["create", "-a", "-f", mirror_path, pkghash]
# Create a private key to sign package with if gpg2 available
spack.util.gpg.create(
name="test key 1", expires="0", email="spack@googlegroups.com", comment="Spack test key"
@@ -116,7 +116,7 @@ echo $PATH"""
# Uninstall the package
pkg.do_uninstall(force=True)
- install_args = ["install", "-a", "-f", pkghash]
+ install_args = ["install", "-f", pkghash]
args = parser.parse_args(install_args)
# Test install
buildcache.buildcache(parser, args)
@@ -131,30 +131,6 @@ echo $PATH"""
assert buildinfo["relocate_textfiles"] == ["dummy.txt"]
assert buildinfo["relocate_links"] == ["link_to_dummy.txt"]
- # create build cache with relative path
- create_args.insert(create_args.index("-a"), "-f")
- create_args.insert(create_args.index("-a"), "-r")
- args = parser.parse_args(create_args)
- buildcache.buildcache(parser, args)
-
- # Uninstall the package
- pkg.do_uninstall(force=True)
-
- args = parser.parse_args(install_args)
- buildcache.buildcache(parser, args)
-
- # test overwrite install
- install_args.insert(install_args.index("-a"), "-f")
- args = parser.parse_args(install_args)
- buildcache.buildcache(parser, args)
-
- files = os.listdir(spec.prefix)
- assert "link_to_dummy.txt" in files
- assert "dummy.txt" in files
- # assert os.path.realpath(
- # os.path.join(spec.prefix, 'link_to_dummy.txt')
- # ) == os.path.realpath(os.path.join(spec.prefix, 'dummy.txt'))
-
args = parser.parse_args(["keys"])
buildcache.buildcache(parser, args)
diff --git a/share/spack/spack-completion.bash b/share/spack/spack-completion.bash
index 1d202eaec6..abf41cb052 100755
--- a/share/spack/spack-completion.bash
+++ b/share/spack/spack-completion.bash
@@ -498,7 +498,7 @@ _spack_buildcache() {
_spack_buildcache_push() {
if $list_options
then
- SPACK_COMPREPLY="-h --help -r --rel -f --force -u --unsigned -a --allow-root -k --key -d --directory -m --mirror-name --mirror-url --update-index --rebuild-index --spec-file --only"
+ SPACK_COMPREPLY="-h --help -f --force -u --unsigned -a --allow-root -k --key --update-index --rebuild-index --spec-file --only"
else
_mirrors
fi
@@ -507,7 +507,7 @@ _spack_buildcache_push() {
_spack_buildcache_create() {
if $list_options
then
- SPACK_COMPREPLY="-h --help -r --rel -f --force -u --unsigned -a --allow-root -k --key -d --directory -m --mirror-name --mirror-url --update-index --rebuild-index --spec-file --only"
+ SPACK_COMPREPLY="-h --help -f --force -u --unsigned -a --allow-root -k --key --update-index --rebuild-index --spec-file --only"
else
_mirrors
fi
@@ -516,7 +516,7 @@ _spack_buildcache_create() {
_spack_buildcache_install() {
if $list_options
then
- SPACK_COMPREPLY="-h --help -f --force -m --multiple -a --allow-root -u --unsigned -o --otherarch"
+ SPACK_COMPREPLY="-h --help -f --force -m --multiple -u --unsigned -o --otherarch"
else
_all_packages
fi
@@ -563,7 +563,7 @@ _spack_buildcache_save_specfile() {
_spack_buildcache_sync() {
if $list_options
then
- 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"
else
SPACK_COMPREPLY=""
fi
@@ -572,7 +572,7 @@ _spack_buildcache_sync() {
_spack_buildcache_update_index() {
if $list_options
then
- SPACK_COMPREPLY="-h --help -d --directory -m --mirror-name --mirror-url -k --keys"
+ SPACK_COMPREPLY="-h --help -k --keys"
else
_mirrors
fi
@@ -581,7 +581,7 @@ _spack_buildcache_update_index() {
_spack_buildcache_rebuild_index() {
if $list_options
then
- SPACK_COMPREPLY="-h --help -d --directory -m --mirror-name --mirror-url -k --keys"
+ SPACK_COMPREPLY="-h --help -k --keys"
else
_mirrors
fi