devtool: Don't recursively look for .devtoolbase in --basepath

If the user specifies --basepath on the commandline, only the directory
specified should be searched for .devtoolbase. Otherwise when --basepath
is a child of the sdk directory, .devtoolbase will always be found and
devtool will only show options meant to be used within an sdk.

(From OE-Core rev: 3bb07c61220b89384a76c745e33be37aad5095c0)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Randy Witt 2016-02-18 09:17:54 -08:00 committed by Richard Purdie
parent 02201802a1
commit 4c5c40df3c
1 changed files with 16 additions and 12 deletions

View File

@ -192,13 +192,6 @@ def main():
# Default basepath
basepath = os.path.dirname(os.path.abspath(__file__))
pth = basepath
while pth != '' and pth != os.sep:
if os.path.exists(os.path.join(pth, '.devtoolbase')):
context.fixed_setup = True
basepath = pth
break
pth = os.path.dirname(pth)
parser = argparse_oe.ArgumentParser(description="OpenEmbedded development tool",
add_help=False,
@ -224,11 +217,22 @@ def main():
if global_args.basepath:
# Override
basepath = global_args.basepath
elif not context.fixed_setup:
basepath = os.environ.get('BUILDDIR')
if not basepath:
logger.error("This script can only be run after initialising the build environment (e.g. by using oe-init-build-env)")
sys.exit(1)
if os.path.exists(os.path.join(basepath, '.devtoolbase')):
context.fixed_setup = True
else:
pth = basepath
while pth != '' and pth != os.sep:
if os.path.exists(os.path.join(pth, '.devtoolbase')):
context.fixed_setup = True
basepath = pth
break
pth = os.path.dirname(pth)
if not context.fixed_setup:
basepath = os.environ.get('BUILDDIR')
if not basepath:
logger.error("This script can only be run after initialising the build environment (e.g. by using oe-init-build-env)")
sys.exit(1)
logger.debug('Using basepath %s' % basepath)