From f380862284c9187f8c4496068f11bcc3ca245fec Mon Sep 17 00:00:00 2001 From: Eli Schwartz Date: Thu, 9 Jun 2022 23:30:49 -0400 Subject: add Feature checks for install_subdir creating an empty directory Most importantly, tell people it's broken and to stop using it for 0.62.0 --- mesonbuild/interpreter/interpreter.py | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'mesonbuild/interpreter') diff --git a/mesonbuild/interpreter/interpreter.py b/mesonbuild/interpreter/interpreter.py index ef7cb03..ee7260a 100644 --- a/mesonbuild/interpreter/interpreter.py +++ b/mesonbuild/interpreter/interpreter.py @@ -2353,6 +2353,13 @@ class Interpreter(InterpreterBase, HoldableObject): def func_install_subdir(self, node: mparser.BaseNode, args: T.Tuple[str], kwargs: 'kwargs.FuncInstallSubdir') -> build.InstallDir: exclude = (set(kwargs['exclude_files']), set(kwargs['exclude_directories'])) + + srcdir = os.path.join(self.environment.source_dir, self.subdir, args[0]) + if not os.path.isdir(srcdir) or not any(os.scandir(srcdir)): + FeatureNew.single_use('install_subdir with empty directory', '0.47.0', self.subproject, location=node) + FeatureDeprecated.single_use('install_subdir with empty directory', '0.60.0', self.subproject, + 'It worked by accident and is buggy. Use install_emptydir instead.', node) + idir = build.InstallDir( self.subdir, args[0], -- cgit v1.1