]> code.ossystems Code Review - openembedded-core.git/commitdiff
devtool: Compare abspath of both B and S
authorOla x Nilsson <ola.x.nilsson@axis.com>
Tue, 30 May 2017 10:16:31 +0000 (12:16 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 3 Jun 2017 22:43:27 +0000 (23:43 +0100)
Either both or none of the paths must be passed through
os.path.abspath or things like 'A//B', 'A/./B/', and 'A/B/' in S will
cause unintentional mismatches even when B = "${S}".

Using os.path.abspath for both seems more likely to be correct as that
will also handle the case where ${B} != ${S} but the abspaths are
equal.

Signed-off-by: Ola x Nilsson <olani@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
scripts/lib/devtool/__init__.py

index d646b0cf63dee2ac0894537949b73c63e86ad10b..29c4c0507109d378de015ce66abe3a98c86778e6 100644 (file)
@@ -191,7 +191,7 @@ def use_external_build(same_dir, no_same_dir, d):
         logger.info('Using source tree as build directory since --same-dir specified')
     elif bb.data.inherits_class('autotools-brokensep', d):
         logger.info('Using source tree as build directory since recipe inherits autotools-brokensep')
-    elif d.getVar('B') == os.path.abspath(d.getVar('S')):
+    elif os.path.abspath(d.getVar('B')) == os.path.abspath(d.getVar('S')):
         logger.info('Using source tree as build directory since that would be the default for this recipe')
     else:
         b_is_s = False