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

Martin Jansa martin.jansa at gmail.com
Tue Jan 30 23:39:58 UTC 2018


+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/c1647819eed6d11f94b21981d9c869
> 629299f357/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/6f646aad/attachment-0002.html>


More information about the Openembedded-core mailing list