[OE-core] [PATCH] waf.bbclass: check that waf exists before trying to execute it

Martin Jansa martin.jansa at gmail.com
Wed Jan 31 17:07:30 UTC 2018


What about the recipes which don't have ${S}/waf at all (and might inherit
waf from possibly wrong reasons), like all those waf-samba recipes
mentioned before?

On Wed, Jan 31, 2018 at 6:04 PM, Joshua Watt <jpewhacker at gmail.com> wrote:

> Sorry, I wasn't sure if I should make my patch in-reply-to this thread....
>
> I think I fixed this correctly in http://lists.openembedded.org/
> pipermail/openembedded-core/2018-January/147041.html
>
> Thanks,
> Joshua Watt
>
> On Wed, 2018-01-31 at 00:39 +0100, Martin Jansa wrote:
>
> +Stefan
>
> On Wed, Jan 31, 2018 at 12:38 AM, Martin Jansa <martin.jansa at gmail.com>
> wrote:
>
> Thanks Andreas,
>
> jack is the only one which inherits waf directly not through waf-samba.
>
> More surprisingly it also has ${S}/waf it seems:
> https://github.com/jackaudio/jack2/blob/c1647819eed6d11f94b2
> 1981d9c869629299f357/waf
>
> So the WARNING: shown for jack probably had different reason than the rest
> of them and that is:
>
> jack/1.9.12-r0 $ jack/1.9.12-r0/git/waf --version
> Error: run waf-light from a folder containing waflib
>
> it doesn't like running waf from outside ${S} and waf_preconfigure is
> executed from ${TOPDIR} before do_configure switches to ${S}
>
> I don't know how common this situation is, if all waf scripts are like
> that, this one (after "cd ../jack/1.9.12-r0/git") says:
> waf 1.8.17 (cd7579a727d1b390bf9cbf111c1b20e811370bc0)
>
> so I'll leave that to original author to figure it out, I don't use waf
> anywhere, so I cannot properly test the use case he was trying to fix.
>
> Regards,
>
>
>
> On Tue, Jan 30, 2018 at 11:41 PM, Andreas Müller <schnitzeltony at gmail.com>
> wrote:
>
>
>
> On Tuesday, January 30, 2018, Martin Jansa <martin.jansa at gmail.com> wrote:
>
> +Andreas who added waf inherit in jack in:
> commit 0f8f1973e229a0799098bc2334416fec8c608b50
> Author: Andreas Müller <schnitzeltony at googlemail.com>
> Date:   Sat Oct 8 12:03:32 2016 +0200
>
>     jack: swap to jack2
>
> As far as I can see is jack2 configured with waf. Don't remember why I
> chose waf-samba. Because I am on business trip I cannot take care before
> next week.
>
> Andreas
>
>
> +Bian who added waf samba in:
> commit 962e346df99696a10657a2ea7b2166dfaf290289
> Author: Bian Naimeng <biannm at cn.fujitsu.com>
> Date:   Tue Jun 16 14:18:25 2015 +0900
>
>     waf-samba: add new class
>
>     waf-samba is a build system used by samba related software
>
> +Joe and Joe and who maintains samba and related recipes + meta-networking
>
>
> On Tue, Jan 30, 2018 at 1:03 PM, Burton, Ross <ross.burton at intel.com>
> wrote:
>
> Why would they do that?  Shouldn't it be a fatal bug if waf isn't found?
>
> On 30 January 2018 at 08:30, Martin Jansa <martin.jansa at gmail.com> wrote:
>
> * there are some recipes like jack and other which inherit waf-samba
> which inherits waf, but they don't use waf for configure, strange isn't
> it?
>
> * fixes:
> WARNING: libldb-1.1.29-r0 do_configure: Unable to execute waf --version,
> exit code 127. Assuming waf version without bindir/libdir support.
> WARNING: samba-4.6.7-r0 do_configure: Unable to execute waf --version,
> exit code 127. Assuming waf version without bindir/libdir support.
> WARNING: libtalloc-2.1.9-r0 do_configure: Unable to execute waf --version,
> exit code 127. Assuming waf version without bindir/libdir
> support.
> WARNING: jack-1.9.10+gitAUTOINC+2d1d323505-r0 do_configure: Unable to
> execute waf --version, exit code 1. Assuming waf version without
> bindir/libdir support.
> WARNING: libtevent-0.9.31-r0 do_configure: Unable to execute waf
> --version, exit code 127. Assuming waf version without bindir/libdir
> support.
> WARNING: libtdb-1.3.14-r0 do_configure: Unable to execute waf --version,
> exit code 127. Assuming waf version without bindir/libdir support.
>
> Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
> ---
>  meta/classes/waf.bbclass | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/meta/classes/waf.bbclass b/meta/classes/waf.bbclass
> index c3e744e5de..eec4d9496d 100644
> --- a/meta/classes/waf.bbclass
> +++ b/meta/classes/waf.bbclass
> @@ -29,6 +29,9 @@ python waf_preconfigure() {
>      from distutils.version import StrictVersion
>      srcsubdir = d.getVar('S')
>      wafbin = os.path.join(srcsubdir, 'waf')
> +    if not os.path.isfile(wafbin):
> +        bb.note("%s doesn't exist, cannot check whether it supports
> --bindir/--libdir" % wafbin)
> +        return
>      status, result = oe.utils.getstatusoutput(wafbin + " --version")
>      if status != 0:
>          bb.warn("Unable to execute waf --version, exit code %d. Assuming
> waf version without bindir/libdir support." % status)
> --
> 2.15.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
>
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20180131/24240af3/attachment-0002.html>


More information about the Openembedded-core mailing list