From a6d1760024d0884efb343e1c739f303619f7c8b9 Mon Sep 17 00:00:00 2001 From: Christian Brauner Date: Fri, 5 Nov 2021 14:29:53 +0100 Subject: build: preserve correct mode when generating files via jinja2 When using "capture : true" in custom_target()s the mode of the source file is not preserved when the generated file is not installed and so needs to be tweaked manually. Switch from output capture to creating the target file and copy the permissions from the input file. Signed-off-by: Christian Brauner --- tools/meson-render-jinja2.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'tools/meson-render-jinja2.py') diff --git a/tools/meson-render-jinja2.py b/tools/meson-render-jinja2.py index 9a6fc7c31c..0f9fc43124 100755 --- a/tools/meson-render-jinja2.py +++ b/tools/meson-render-jinja2.py @@ -2,6 +2,7 @@ # SPDX-License-Identifier: LGPL-2.1-or-later import ast +import os import re import sys @@ -27,4 +28,8 @@ def render(filename, defines): if __name__ == '__main__': defines = parse_config_h(sys.argv[1]) - print(render(sys.argv[2], defines)) + output = render(sys.argv[2], defines) + with open(sys.argv[3], 'w') as f: + f.write(output) + info = os.stat(sys.argv[2]) + os.chmod(sys.argv[3], info.st_mode) -- cgit v1.2.1