Parsing Yocto中的变量解析是如何工作的?

Parsing Yocto中的变量解析是如何工作的?,parsing,yocto,bitbake,openembedded,Parsing,Yocto,Bitbake,Openembedded,有些变量我只是在不知道它的作用的情况下使用。有人能解释一下Yocto中所有这些解析背后的逻辑吗 下划线的作用是什么?除了\u append\u pn之外,还有哪些可用参数 PACKAGECONFIG\u append\u pn-packagename=“packagename” 首选版本\u linux-imx\u mx6=“3.10.17” SRC\u URI\u append\u toolchain-clang=”file://0004-Remove-clang-unsupported-co

有些变量我只是在不知道它的作用的情况下使用。有人能解释一下Yocto中所有这些解析背后的逻辑吗

下划线的作用是什么?除了
\u append\u pn
之外,还有哪些可用参数

PACKAGECONFIG\u append\u pn-packagename=“packagename”

首选版本\u linux-imx\u mx6=“3.10.17”

SRC\u URI\u append\u toolchain-clang=”file://0004-Remove-clang-unsupported-compiler-flags.patch “

EXTRA\u OECONF\u append\u arm=“--enable fpm=arm”

这个怎么样?我知道以这种方式添加是为了挑选一个包,但它是如何工作的

LICENSE\u FLAGS\u WHITELIST\u append=“commercial\u packagename”

有人还提到了一些对他们有用的奇怪的东西:


IMAGE\u INSTALL\u append\u machine1+=“package1”

文档对这方面做了很好的介绍:

较长的版本是uu引入了覆盖,这是一种表示“做一些特别的事情”的方式,而不仅仅是分配

有些是附加和预结束等操作。 FOO=“1” FOO_append=“2”

FOO现在是“12”,因为2被附加到了1

(_prepend做你期望的事情)

_remove可用于从以空格分隔的列表中删除项

  FOO = "1 2 3"
  FOO_remove = "2"
傅现在是“13”

pn_ufoo[foo]是对特定配方名称的覆盖(历史命名,它表示包名,但实际上指配方)。因此,您的local.conf可以执行以下操作:

EXTRA_OEMAKE_pn-foo = "bar"
你刚刚为foo配方设置了额外的制作,只是foo配方

还有其他覆盖。这些体系结构都有覆盖,因此_arm _x86 _mips等指定分配特定于这些体系结构