From b44a51d0fdd48089d2cc3864d34a3ccad77ec52d Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Wed, 7 Jul 2021 17:37:56 +0200 Subject: resolve symlinks passed to -C "meson setup" is resolving symlinks for the build directory in validate_core_dirs. For consistency with it, do the same when the build directory is passed via -C to devenv, dist, init, install and test. This ensures for example that the path to test dependencies is computed correctly in "meson test". Fixes: #8765 --- mesonbuild/mdist.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'mesonbuild/mdist.py') diff --git a/mesonbuild/mdist.py b/mesonbuild/mdist.py index e63ab17..bd1d04a 100644 --- a/mesonbuild/mdist.py +++ b/mesonbuild/mdist.py @@ -23,7 +23,8 @@ import json from glob import glob from pathlib import Path from mesonbuild.environment import detect_ninja -from mesonbuild.mesonlib import windows_proof_rmtree, MesonException, quiet_git +from mesonbuild.mesonlib import (MesonException, RealPathAction, quiet_git, + windows_proof_rmtree) from mesonbuild.wrap import wrap from mesonbuild import mlog, build from .scripts.meson_exe import run_exe @@ -35,7 +36,7 @@ archive_extension = {'gztar': '.tar.gz', 'zip': '.zip'} def add_arguments(parser): - parser.add_argument('-C', default='.', dest='wd', + parser.add_argument('-C', dest='wd', action=RealPathAction, help='directory to cd into before running') parser.add_argument('--formats', default='xztar', help='Comma separated list of archive types to create. Supports xztar (default), gztar, and zip.') -- cgit v1.1 From 5215f4fa9898b5f56227cac6548857937adda8d1 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Wed, 7 Jul 2021 17:50:02 +0200 Subject: cleanup self.options.wd It is never None and always an absolute path --- mesonbuild/mdist.py | 1 - 1 file changed, 1 deletion(-) (limited to 'mesonbuild/mdist.py') diff --git a/mesonbuild/mdist.py b/mesonbuild/mdist.py index bd1d04a..afa1b4c 100644 --- a/mesonbuild/mdist.py +++ b/mesonbuild/mdist.py @@ -271,7 +271,6 @@ def determine_archives_to_generate(options): return result def run(options): - options.wd = os.path.abspath(options.wd) buildfile = Path(options.wd) / 'meson-private' / 'build.dat' if not buildfile.is_file(): raise MesonException(f'Directory {options.wd!r} does not seem to be a Meson build directory.') -- cgit v1.1