[prev in list] [next in list] [prev in thread] [next in thread]
List: openembedded-core
Subject: Re: [OE-core] [PATCH] waf.bbclass: cd to ${S} before checking version
From: "Burton, Ross" <ross.burton () intel ! com>
Date: 2018-01-31 17:18:09
Message-ID: CAJTo0LZzB1AobM97HtfsDxZUQf0o+oQekNBGTVsuWxkMp98tpw () mail ! gmail ! com
[Download RAW message or body]
[Attachment #2 (multipart/alternative)]
On 31 January 2018 at 17:02, Joshua Watt <jpewhacker@gmail.com> wrote:
> waf requires that the current working directory be the project root (in
> this case ${S} when it is invoked. The check to get the waf version was
> being executed as a prefunc for do_configure, which meant it was
> executed before the current working directory was switched to ${S}, and
> thus would fail with some recipes. Fix this by changing to ${S} before
> executing "waf --version"
>
> Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
> ---
> meta/classes/waf.bbclass | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/meta/classes/waf.bbclass b/meta/classes/waf.bbclass
> index c3e744e5de..f72ddb7814 100644
> --- a/meta/classes/waf.bbclass
> +++ b/meta/classes/waf.bbclass
> @@ -29,7 +29,8 @@ python waf_preconfigure() {
> from distutils.version import StrictVersion
> srcsubdir = d.getVar('S')
> wafbin = os.path.join(srcsubdir, 'waf')
> - status, result = oe.utils.getstatusoutput(wafbin + " --version")
> + cmd = "cd '%s'; %s --version" % (srcsubdir, wafbin)
> + status, result = oe.utils.getstatusoutput(cmd)
>
I'm being really picky but getstatusoutput is horrible. How about:
subprocess.check_output(['waf', '--version', cwd=srcsubdir)
Less faffing with the shell, and more modern code.
Ross
[Attachment #5 (text/html)]
<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>
--
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic