summaryrefslogtreecommitdiff
path: root/meson.build
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2021-01-08 20:27:48 +0100
committerYu Watanabe <watanabe.yu+github@gmail.com>2021-01-09 09:22:26 +0900
commita412ec571467609aba433ae568dc856ed7924150 (patch)
tree11817b821e752b0c42c8913789ef73586dbe4cd8 /meson.build
parent66bf4617b11aa3d2a385576e00d394831915bd77 (diff)
downloadsystemd-a412ec571467609aba433ae568dc856ed7924150.tar.gz
meson: fix git ls-files invocations during rebase
Normally ls-files prints the full path to files from the repo root. But when $GIT_WORK_TREE is set, ls-files prints paths relative to the current directory. When rebasing, $GIT_WORK_TREE is set in the commands executed from 'rebase -x'. This causes problems if meson config is touched and the meson reconfigures itself. ($GIT_WORK_TREE shouldn't be relevant, since the paths that ls-files reports don't depend on the work tree, but whatever.) Let's unset GIT_WORK_TREE to avoid the issue. $ (cd test; git --git-dir=$PWD/../.git ls-files ':/test/dmidecode-dumps/*.bin') test/dmidecode-dumps/HP-Z600.bin test/dmidecode-dumps/Lenovo-ThinkPad-X280.bin test/dmidecode-dumps/Lenovo-Thinkcentre-m720s.bin $ (cd test; GIT_WORK_TREE=$PWD/.. git --git-dir=$PWD/../.git ls-files ':/test/dmidecode-dumps/*.bin') dmidecode-dumps/HP-Z600.bin dmidecode-dumps/Lenovo-ThinkPad-X280.bin dmidecode-dumps/Lenovo-Thinkcentre-m720s.bin Fixes #18148.
Diffstat (limited to 'meson.build')
-rw-r--r--meson.build7
1 files changed, 4 insertions, 3 deletions
diff --git a/meson.build b/meson.build
index 6573046c43..aedde9b94e 100644
--- a/meson.build
+++ b/meson.build
@@ -3651,10 +3651,11 @@ endforeach
if git.found()
all_files = run_command(
+ 'env', '-u', 'GIT_WORK_TREE',
git,
- ['--git-dir=@0@/.git'.format(project_source_root),
- 'ls-files',
- ':/*.[ch]'])
+ '--git-dir=@0@/.git'.format(project_source_root),
+ 'ls-files', ':/*.[ch]')
+
all_files = files(all_files.stdout().split())
custom_target(