From f40f1b5c7cbac0b7b9cb2ffe07badf52066db1de 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 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) -- cgit v1.2.3-70-g09d2