summaryrefslogtreecommitdiffstats
path: root/source-builder
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2019-12-02 09:45:10 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2019-12-02 09:45:10 +0100
commit784f518df465d2078af58453ea3e96febc37bc1b (patch)
tree2652efd5f88ae78aa1e4e96b56bce8cb653acaef /source-builder
parent5: Update rtems-tools (diff)
downloadrtems-source-builder-784f518df465d2078af58453ea3e96febc37bc1b.tar.bz2
Be more resilient against $PATH errors
Close #3781.
Diffstat (limited to 'source-builder')
-rw-r--r--source-builder/sb/check.py30
1 files changed, 17 insertions, 13 deletions
diff --git a/source-builder/sb/check.py b/source-builder/sb/check.py
index 9e4e953..be808ea 100644
--- a/source-builder/sb/check.py
+++ b/source-builder/sb/check.py
@@ -104,20 +104,24 @@ def path_check(opts, silent = False):
if 'PATH' in os.environ:
paths = os.environ['PATH'].split(os.pathsep)
for p in paths:
- if len(p.strip()) == 0:
+ try:
+ if len(p.strip()) == 0:
+ if not silent:
+ log.notice('error: environment PATH contains an empty path')
+ return False
+ elif not options.host_windows and (p.strip() == '.' or p.strip() == '..'):
+ if not silent:
+ log.notice('error: environment PATH invalid path: %s' % (p))
+ return False
+ elif not path.exists(p):
+ if not silent and opts.warn_all():
+ log.notice('warning: environment PATH not found: %s' % (p))
+ elif not path.isdir(p):
+ if not silent and opts.warn_all():
+ log.notice('warning: environment PATH not a directory: %s' % (p))
+ except Exception as e:
if not silent:
- log.notice('error: environment PATH contains an empty path')
- return False
- elif not options.host_windows and (p.strip() == '.' or p.strip() == '..'):
- if not silent:
- log.notice('error: environment PATH invalid path: %s' % (p))
- return False
- elif not path.exists(p):
- if not silent and opts.warn_all():
- log.notice('warning: environment PATH not found: %s' % (p))
- elif not path.isdir(p):
- if not silent and opts.warn_all():
- log.notice('warning: environment PATH not a directory: %s' % (p))
+ log.notice('warning: environment PATH suspicious path: %s' % (e))
return True