[PATCH] buildtools: remove assumption about current work dir

Bruce Richardson bruce.richardson at intel.com
Wed Jun 14 16:47:28 CEST 2023


According to meson documentation, we should not make any assumptions as
to what directory a script is called from[1]. The use of "relpath" when
processing the output of directory globbing is therefore unsafe, as it
was stripping off paths relative to the current directory - which just
happened to be the same as the root directory we were processing.

To improve safety, and support meson clones (like muon)  which
don't always run things from the currently processed path, we need to
explicitly specify that the start parameter for relpath() should be
"root" value.

[1] https://mesonbuild.com/Reference-manual_functions.html#run_command

Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
---
 buildtools/list-dir-globs.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/buildtools/list-dir-globs.py b/buildtools/list-dir-globs.py
index d824360d39..fb8619db64 100755
--- a/buildtools/list-dir-globs.py
+++ b/buildtools/list-dir-globs.py
@@ -17,4 +17,4 @@
     if path:
         for p in iglob(os.path.join(root, path)):
             if os.path.isdir(p):
-                print(os.path.relpath(p).replace('\\', '/'))
+                print(os.path.relpath(p, start=root).replace('\\', '/'))
-- 
2.39.2



More information about the dev mailing list