[rtems-source-builder commit] sb: Set the uid and gid on POSIX systems

Chris Johns chrisj at rtems.org
Wed Dec 6 23:04:54 UTC 2023


Module:    rtems-source-builder
Branch:    master
Commit:    5e4b3b90981d67d48f1996cf77340dd953015cd0
Changeset: http://git.rtems.org/rtems-source-builder/commit/?id=5e4b3b90981d67d48f1996cf77340dd953015cd0

Author:    Chris Johns <chrisj at rtems.org>
Date:      Thu Dec  7 08:13:58 2023 +1100

sb: Set the uid and gid on POSIX systems

This improves performance because it avoids an exec each time
the _uid macro is referenced and that can be a number of times
for each config parsed.

---

 source-builder/sb/options.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/source-builder/sb/options.py b/source-builder/sb/options.py
index d554097..05ad208 100644
--- a/source-builder/sb/options.py
+++ b/source-builder/sb/options.py
@@ -46,7 +46,7 @@ basepath = 'sb'
 #
 # Save the host and POSIX state.
 #
-host_windows = False
+host_windows = os.name == 'nt'
 host_posix = True
 
 class command_line:
@@ -103,6 +103,10 @@ class command_line:
                 self.defaults[self._long_opts[lo][0]] = ('none',
                                                          'none',
                                                          self._long_opts[lo][3])
+        # Set the _uid field, performance improvement on Unix
+        if not host_windows:
+            self.defaults['_uid'] = str(os.getuid())
+            self.defaults['_gid'] = str(os.getgid())
 
     def __str__(self):
         def _dict(dd):



More information about the vc mailing list