【问题标题】:Yocto/Bitbake How to specify case sensitive variable replacementYocto/Bitbake 如何指定区分大小写的变量替换
【发布时间】:2023-03-20 06:45:02
【问题描述】:

我在 yocto 中有一个问题,我在我的 build/bblayers.conf

VAR="strINg"

然后当我在meta-example/recipes-kernel/linux/linuxexamplekernel.bb 中使用它时 在源 Uri 变量中

SRC_URI="http://${VAR}.example.com/"

当我需要大小写保持不变时,${VAR} 的值将大小写从 'strINg' 更正为 string。字符串中间的大写字母必须保持不变。

有谁知道如何让 bitbake 原样替换变量而不进行大小写校正?

【问题讨论】:

    标签: python yocto bitbake


    【解决方案1】:

    没有“大小写更正”。您看到了其他一些失败——bitbake -e <recipe> | grep SRC_URI 和 VAR 相同的可能有用。另外:

    ${VAR}="strINg"
    

    这应该是

    VAR = "strINg"
    

    我假设你知道 bblayers.conf 是一个相当令人惊讶的地方来定义这样的变量......

    【讨论】:

    • 谢谢,我编辑了变量语法。嗯,我会通过bitbake -e | grep SRC_URI 看看,看看我能找到什么。你说得对,我不应该在 bblayers.conf 中声明变量
    • 如果 SRC_URI 中的资源确实发生了变化,您是否注意到您也需要更改校验和?不更改校验和会导致 bitbake 决定不需要从新 URI 下载的情况(因为它已经有一个具有正确校验和的文件)。我想知道您是否正在尝试解决错误的问题:您确定您真的要更改 SRC_URI 吗?这很不寻常。
    • 感谢您的帮助。事实证明,在do_fetch 阶段,wget 在后端完成了大小写更正。如果标记的提交/发布更改校验和也需要更改,则校验和绝对正确。我的特殊问题意味着我需要使用全部小写的 URI,但我会将答案标记为正确,因为 bitbake 不做任何“大小写更正”
    猜你喜欢
    • 1970-01-01
    • 2010-10-29
    • 2013-12-13
    • 2014-02-16
    • 2013-10-19
    • 2018-01-06
    • 1970-01-01
    • 2011-08-05
    • 2017-07-19
    相关资源
    最近更新 更多