如何在bb配方文件中从匿名Python函数调用函数?

时间:2019-11-21 12:20:37

标签: yocto bitbake

我想在解析期间在BitBake中检查某些变量的存在。

直到现在,我的方法是在配方文件中定义匿名Python函数,以检查这些变量的存在。但是,由于我必须检查几个变量,因此检查代码会重复多次,如下所示:

python () {
    if d.getVar('MY_VARIABLE_A', True) == None:
        bb.fatal("MY_VARIABLE_A not set")

    if d.getVar('MY_VARIABLE_B', True) == None:
        bb.fatal("MY_VARIABLE_B not set")
}

我试图定义另一个函数以避免重复如下代码:

python check_existence(var) {
    if d.getVar(var, True) == None:
        bb.fatal(var + " not set")
}

python () {
    check_existence('MY_VARIABLE_A')
    check_existence('MY_VARIABLE_B')
}

但是我得到了错误:未分析的行:'python check_existence(var){'。如果删除函数参数,该错误将更改为: NameError:未定义名称'check_existence'

python check_existence() {
    if d.getVar('TEST', True) == None:
        bb.fatal("TEST not set")
}

python () {
    check_existence()
}

如何从bb配方文件中的匿名Python函数调用函数?

注意:如果将函数定义为__anonymous_check_existence,则会出现相同的错误。

0 个答案:

没有答案