在.bbappend中使用不同的源文件(立即扩展变量)

时间:2019-07-12 08:18:01

标签: yocto bitbake recipe

我们正在使用yocto并生成两个略有不同的图像。一个只是标准映像“ bitbake标准映像”,另一个是调试映像“ bitbake调试映像”,在该映像中将部署其他程序等。在两个配方中,将设置变量IMAGE_TYPE(= standard / debug)。此变量应用于将不同的“ sshd_conf”文件部署到映像。为此,我编辑了看起来像原始的“ openssh _%。append”文件:

FILESEXTRAPATHS_prepend := "${THISDIR}/openssh:"

SRC_URI += " \
        file://sshd_config \
"

现在看起来像这样:

python () {
    if d.getVar('IMAGE_TYPE') == 'debug':
        d.appendVar('FILESEXTRAPATHS_prepend', '${THISDIR}/debug:')
        d.appendVar('SRC_URI', ' \\ file://sshd_config \\ ')


    if d.getVar('IMAGE_TYPE') == 'standard':
        d.appendVar('FILESEXTRAPATHS_prepend', '${THISDIR}/openssh:')
        d.appendVar('SRC_URI', ' \\ file://sshd_config \\ ')
}

我的问题是它无法按预期工作。通过修改,我没有部署任何我的“ sshd_config”文件。而是部署了该层随附的默认“ sshd_conf”。 我认为我的问题是变量“ $ {THISDIR}”没有立即扩展,但是我不知道如何在“匿名Python函数”中执行该操作。

有人知道如何使我的更改生效吗? 也许这不是走的路,有没有更好的方法来为不同的映像部署不同的文件?

预先感谢 平子

0 个答案:

没有答案