summaryrefslogtreecommitdiffstats
path: root/scripts/git
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2022-05-06 16:56:02 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-05-07 22:31:21 +0100
commit4d7383aefb391a5a998454c70feb96127951ca0a (patch)
tree41d5c5eef24d04f93e73ff8af21164bb7b495a59 /scripts/git
parent057bd9b7721e4dcb5ac8859ebd536d47733a98fb (diff)
downloadpoky-4d7383aefb391a5a998454c70feb96127951ca0a.tar.gz
scripts: Make git intercept global
The previous minimially invasive git intercept simply isn't enough. For example, meson used in the igt-gpu-tools recipe hardcodes the path to git in the configure step so at install time, changing PATH has no effect. There are lots of interesting things we could do to try and avoid problems but making the git intercept and dropping fakeroot privs for git global is probably the least worst solution at this point. It will add slight overhead to git calls but we don't make many so the overall impact is likely minimal. (From OE-Core rev: af27c81eaf68ee681dcd9456a74cca6a9ab40bf6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts/git')
-rwxr-xr-xscripts/git19
1 files changed, 19 insertions, 0 deletions
diff --git a/scripts/git b/scripts/git
new file mode 100755
index 0000000000..8adf5c9ecb
--- /dev/null
+++ b/scripts/git
@@ -0,0 +1,19 @@
1#!/usr/bin/env python3
2#
3# Wrapper around 'git' that doesn't think we are root
4
5import os
6import shutil
7import sys
8
9os.environ['PSEUDO_UNLOAD'] = '1'
10
11# calculate path to the real 'git'
12path = os.environ['PATH']
13path = path.replace(os.path.dirname(sys.argv[0]), '')
14real_git = shutil.which('git', path=path)
15
16if len(sys.argv) == 1:
17 os.execl(real_git, 'git')
18
19os.execv(real_git, sys.argv)