changeset 5500:f9a5bc9a4a24

settings/loggedos: add really ugly hack to ascertain having tools/bin in PATH. Apparently, we're not using tools/bin for direct-loggedos commands, even when setting PATH in settings.py.
author Jan Nieuwenhuizen <janneke@gnu.org>
date Thu, 20 Aug 2009 20:05:23 +0200
parents f322541f9c18
children 82d782f62ab1
files gub/loggedos.py gub/settings.py
diffstat 2 files changed, 10 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/gub/loggedos.py	Thu Aug 20 20:03:37 2009 +0200
+++ b/gub/loggedos.py	Thu Aug 20 20:05:23 2009 +0200
@@ -7,6 +7,13 @@
 from gub import misc
 
 def system (logger, cmd, env=os.environ, ignore_errors=False):
+    # UGH, FIXME:
+    # There is loggedos usage that defies any PATH settings
+    tools_bin_dir = os.path.join (os.getcwd (), 'target/tools/root/usr/bin')
+    if not tools_bin_dir in env.get ('PATH', ''):
+        env['PATH'] = tools_bin_dir + misc.append_path (env.get ('PATH', ''))
+        logger.write_log ('COMMAND defies PATH:' + cmd + '\n', 'warning')
+
     logger.write_log ('invoking %(cmd)s\n' % locals (), 'command')
     proc = subprocess.Popen (cmd, bufsize=0, shell=True, env=env,
                              stdout=subprocess.PIPE,
--- a/gub/settings.py	Thu Aug 20 20:03:37 2009 +0200
+++ b/gub/settings.py	Thu Aug 20 20:05:23 2009 +0200
@@ -255,6 +255,9 @@
         # cd /x/y/z.  This terribly breaks stat restriction.
         os.environ['SHELLOPTS'] = 'nohistory:physical'
 
+        if not '%(tools_prefix)s/bin' in os.environ['PATH']:
+            os.environ['PATH'] = '%(tools_prefix)s/bin:' + os.environ['PATH']
+        
     def create_dirs (self): 
         for a in (
             'allsrcdir',