我正在使用krogoth
分支进行yocto开发。
最初,我创建了一个工作区,并为一些开源python存储库创建了自己的配方,它们在电路板上运行良好。因此,我将它们转移到了自己的meta层。
我修改了存储库的代码,现在每个存储库都提前2次提交。
在krogoth
中知道可以执行以下操作:
devtool upgrade recipe_name --srcrev <commit_hash>
我对我的一个食谱执行了相同的操作,却偶然发现了错误:
Error: `/home/des/Yocto/PHYTEC_BSPs/yocto_fsl/build/workspace/recipes/gpsinflux/gpsinflux_git.bb` and `/home/des/Yocto/PHYTEC_BSPs/yocto_fsl/build/workspace/recipes/gpsinflux/gpsinflux_git.bb` are the same file
它指出gpsinflux_git.bb
是相同的。这是因为我在Poky中制作了类似于标准Python食谱的食谱:
recipe.inc
recipe_git.bb
在每个.bb
文件中,包含以下行:
inherit setuptools3 pypi
include recipe.inc
和recipe.inc
示例如下:
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=25498e25581c2413266e28dd693d4725"
HOMEPAGE = "https://github.com/iotfablab/gpsinflux"
SUMMARY = "Extract GPS values and store into InfluxDB"
SRC_URI = "git://github.com/iotfablab/gpsinflux.git;protocol=http"
# Modify these as desired
#PV = "1.0+git${SRCPV}"
SRCREV = "7a89e1a0bf489cc449acfaa2c9be72ec1fda4ea1"
S = "${WORKDIR}/git"
RDEPENDS_${PN} += "influxdb-python pynmea2 ${PYTHON_PN}-pyserial"
RDEPENDS_${PN} += "${PYTHON_PN}-argparse ${PYTHON_PN}-core ${PYTHON_PN}-json ${PYTHON_PN}-lang ${PYTHON_PN}-logging"
我当然可以直接将配方中的SRCREV
直接更改为最新的哈希值,但希望使用devtool
在Yocto中具有一致的工作流程。
我发现可以在${AUTOREV}
中使用SRCREV
,每个bitbake -k recipe_name
上都应将源代码更新为更新的提交。这应该是首选方式吗?