【问题标题】:How does the parsing of variables in Yocto work?Yocto 中的变量解析是如何工作的?
【发布时间】:2017-09-13 05:41:34
【问题描述】:

有些变量我只是使用而不知道它的作用。有人可以解释一下 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"

【问题讨论】:

    标签: parsing yocto bitbake openembedded


    【解决方案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 等指定分配特定于这些架构。

    【讨论】:

      猜你喜欢
      • 2021-12-28
      • 2011-06-29
      • 1970-01-01
      • 2022-01-15
      • 2011-12-16
      • 2019-03-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多