diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2019-12-02 09:45:10 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2019-12-02 09:45:10 +0100 |
commit | 784f518df465d2078af58453ea3e96febc37bc1b (patch) | |
tree | 2652efd5f88ae78aa1e4e96b56bce8cb653acaef /source-builder | |
parent | 5: Update rtems-tools (diff) | |
download | rtems-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.py | 30 |
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 |