我正在使用yocto比特面包构建一个定制的linux映像。
我有两个bitbake食谱。recipe-1和recipe-2.recipe-1在linux输出映像中创建一个目录。目录名为mydir
recipe-1
SUMMARY="Creates direcory"
LICENSE = "CLOSED"
FILES_${PN} += "${sysconfdir} /mydir"
do_install_append () {
install -d ${D}/mydir
}让我们来看看recipe-2。recipe-2希望将一个名为myfile的文件放置到mydir中
recipe-2
SUMMARY="Wants to place a file in mydir created by recipe-1"
LICENSE = "CLOSED"
DEPENDS = "recipe-1"
SRC_URI = " file://myfile"
S = "${WORKDIR}"
do_install_append () {
install -m 600 ${WORKDIR}/myfile ${D}/mydir # bibake build complains that mydir is not found
}问题:
在基本配方中,我在recipe-1之后提到了recipe-1,因为recipe-2依赖于recipe-1。这很好,但是bitbake抱怨mydir没有得到认可。我明白问题所在。我需要使mydir对recipe-2可见。我怎么能这么做?
问题:
我可以让mydir ( recipe-1的输出)成为我的配方构建系统中的一个全局变量吗?像${bindir},${datadir}等全局变量?如果我可以将此作为构建recipe-1的一部分,那么这可能是一个优雅的解决方案吗?
因此,我希望使用一个自定义变量,比如${mydir}在do_install_append of recipe-2中?在do_install_append of recipe-2中这样做。
install -m 600 ${WORKDIR}/myfile ${D}/${mydir}有可能吗?
发布于 2019-02-18 10:17:55
安装目的地对于每个菜谱是分开的,并且在安装开始时总是空的,所以您需要在其中创建任何目录。其他菜谱做什么都没有后果。
如果要从单个位置设置${mydir},请将其放入类中,并使每个菜谱继承该类。
发布于 2019-02-20 20:54:51
您可以在.inc文件中放置一些变量mydir,并将其包含到要求指令的两个菜谱中。
https://stackoverflow.com/questions/54737431
复制相似问题