<div dir="ltr">On 31 January 2018 at 17:02, Joshua Watt <span dir="ltr"><<a href="mailto:jpewhacker@gmail.com" target="_blank">jpewhacker@gmail.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">waf requires that the current working directory be the project root (in<br>
this case ${S} when it is invoked. The check to get the waf version was<br>
being executed as a prefunc for do_configure, which meant it was<br>
executed before the current working directory was switched to ${S}, and<br>
thus would fail with some recipes. Fix this by changing to ${S} before<br>
executing "waf --version"<br>
<br>
Signed-off-by: Joshua Watt <<a href="mailto:JPEWhacker@gmail.com">JPEWhacker@gmail.com</a>><br>
---<br>
meta/classes/waf.bbclass | 3 ++-<br>
1 file changed, 2 insertions(+), 1 deletion(-)<br>
<br>
diff --git a/meta/classes/waf.bbclass b/meta/classes/waf.bbclass<br>
index c3e744e5de..f72ddb7814 100644<br>
--- a/meta/classes/waf.bbclass<br>
+++ b/meta/classes/waf.bbclass<br>
@@ -29,7 +29,8 @@ python waf_preconfigure() {<br>
from distutils.version import StrictVersion<br>
srcsubdir = d.getVar('S')<br>
wafbin = os.path.join(srcsubdir, 'waf')<br>
- status, result = oe.utils.getstatusoutput(<wbr>wafbin + " --version")<br>
+ cmd = "cd '%s'; %s --version" % (srcsubdir, wafbin)<br>
+ status, result = oe.utils.getstatusoutput(cmd)<br></blockquote><div><br></div><div>I'm being really picky but getstatusoutput is horrible. How about:</div><div><br></div><div>subprocess.check_output(['waf', '--version', cwd=srcsubdir)</div><div><br></div><div>Less faffing with the shell, and more modern code.</div><div><br></div><div>Ross</div></div></div></div>