我只是在不知道它做什么的情况下使用了一些变量。有人可以解释Yocto中所有这些解析背后的逻辑吗?
下划线做什么? _append_pn
以外的可用参数是什么?
PACKAGECONFIG_append_pn-packagename = " packagename"
PREFERRED_VERSION_linux-imx_mx6 = "3.10.17"
SRC_URI_append_toolchain-clang = " file://0004-Remove-clang-unsupported-compiler-flags.patch "
EXTRA_OECONF_append_arm = " --enable-fpm=arm"
这个怎么样?我知道以这种方式添加是单个包,但它是如何工作的?
LICENSE_FLAGS_WHITELIST_append = " commerical_packagename"
有人还提到了一些对他们有用的奇怪之处:bitbake: how to add package depending on MACHINE?
IMAGE_INSTALL_append_machine1 += " package1"
答案 0 :(得分:1)
文档非常清楚:https://www.yoctoproject.org/docs/latest/bitbake-user-manual/bitbake-user-manual.html#basic-syntax
较长的版本是_引入了覆盖,这是一种说“做一些特别的事情”而不仅仅是分配的方式。
有些是诸如追加和前置等操作。 FOO =“1” FOO_append =“2”
FOO现在为“12”,因为2附加到1。
(_ prepend做你期望的)
_remove可用于从以空格分隔的列表中删除项目。
FOO = "1 2 3"
FOO_remove = "2"
FOO现在是“1 3”。
pn_ [foo]是特定配方名称的覆盖(历史命名,它表示包名称,但实际上是指配方)。所以你的local.conf可以这样做:
EXTRA_OEMAKE_pn-foo = "bar"
你刚刚为foo食谱设置了EXTRA_OEMAKE,只有foo食谱。
还有其他重写。这些体系结构都有覆盖,因此_arm _x86 _mips等指定赋值特定于这些体系结构。