From 5cea962e8e39c776faf5475d54b658edcbf471d1 Mon Sep 17 00:00:00 2001 From: Alberto Invernizzi <9337627+albestro@users.noreply.github.com> Date: Sun, 15 May 2022 12:13:42 +0200 Subject: Fix for `spack stage` command not extracting packages in custom paths (#30448) --- lib/spack/spack/cmd/stage.py | 10 ++++------ lib/spack/spack/test/cmd/stage.py | 1 - 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/lib/spack/spack/cmd/stage.py b/lib/spack/spack/cmd/stage.py index 8903cb83e5..7527e60248 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 bf590b0ea6..7b5dafa64e 100644 --- a/lib/spack/spack/test/cmd/stage.py +++ b/lib/spack/spack/test/cmd/stage.py @@ -39,7 +39,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) -- cgit v1.2.3-70-g09d2