summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAlberto Invernizzi <9337627+albestro@users.noreply.github.com>2022-05-15 12:13:42 +0200
committerGitHub <noreply@github.com>2022-05-15 12:13:42 +0200
commitf40f1b5c7cbac0b7b9cb2ffe07badf52066db1de (patch)
tree5f68656c4a4750f92cbd615bf2bb97050a046b48 /lib
parentedd3cf0b176a649a74dc6dafaab28dcaa7ef9fd5 (diff)
downloadspack-f40f1b5c7cbac0b7b9cb2ffe07badf52066db1de.tar.gz
spack-f40f1b5c7cbac0b7b9cb2ffe07badf52066db1de.tar.bz2
spack-f40f1b5c7cbac0b7b9cb2ffe07badf52066db1de.tar.xz
spack-f40f1b5c7cbac0b7b9cb2ffe07badf52066db1de.zip
Fix for `spack stage` command not extracting packages in custom paths (#30448)
Diffstat (limited to 'lib')
-rw-r--r--lib/spack/spack/cmd/stage.py10
-rw-r--r--lib/spack/spack/test/cmd/stage.py1
2 files changed, 4 insertions, 7 deletions
diff --git a/lib/spack/spack/cmd/stage.py b/lib/spack/spack/cmd/stage.py
index ee813511f3..56f9a7e32c 100644
--- a/lib/spack/spack/cmd/stage.py
+++ b/lib/spack/spack/cmd/stage.py
@@ -27,12 +27,6 @@ def setup_parser(subparser):
def stage(parser, args):
- # We temporarily modify the working directory when setting up a stage, so we need to
- # convert this to an absolute path here in order for it to remain valid later.
- custom_path = os.path.abspath(args.path) if args.path else None
- if custom_path:
- spack.stage.create_stage_root(custom_path)
-
if not args.specs:
env = ev.active_environment()
if env:
@@ -54,6 +48,10 @@ def stage(parser, args):
specs = spack.cmd.parse_specs(args.specs, concretize=False)
+ # We temporarily modify the working directory when setting up a stage, so we need to
+ # convert this to an absolute path here in order for it to remain valid later.
+ custom_path = os.path.abspath(args.path) if args.path else None
+
# prevent multiple specs from extracting in the same folder
if len(specs) > 1 and custom_path:
tty.die("`--path` requires a single spec, but multiple were provided")
diff --git a/lib/spack/spack/test/cmd/stage.py b/lib/spack/spack/test/cmd/stage.py
index 74a6881f6a..b7120a5a95 100644
--- a/lib/spack/spack/test/cmd/stage.py
+++ b/lib/spack/spack/test/cmd/stage.py
@@ -41,7 +41,6 @@ def check_stage_path(monkeypatch, tmpdir):
def fake_stage(pkg, mirror_only=False):
assert pkg.path == expected_path
- assert os.path.isdir(expected_path), expected_path
monkeypatch.setattr(spack.package.PackageBase, 'do_stage', fake_stage)