【问题标题】:Yocto: remove packageconfig itemYocto:删除 packageconfig 项
【发布时间】:2020-02-26 17:20:44
【问题描述】:

在一个食谱 (meta-qt5/recipes-qt/qt5/qttools_git.bb) 我发现:

PACKAGECONFIG ??= ""
PACKAGECONFIG[qtwebkit] = ",,qtwebkit"

现在,在我自己的meta-custom-layer 下,我将创建相同的路径并添加一个.bbappend 文件:meta-custom-layer/meta-qt5/recipes-qt/qt5/qttools_git.bbappend

我想删除第二行,因为我对qtwebkit 不感兴趣。 就足够了:

PACKAGECONFIG[qtwebkit] = ""

或者我需要别的东西? 因为有??= 运算符,我猜PACKAGECONFIG 变量在其他地方更新为qtwebkit。我还需要查找并删除该分配吗?有没有快速查找附加位置的方法?

更新

为了找到 qtwebkit 的配置位置,我尝试使用 grep:

$ grep -nrw . -e qtwebkit
./layers/meta-st/meta-st-openstlinux/recipes-samples/packagegroups/packagegroup-framework-sample-qt-extra.bb:30:    qtwebkit                    \
./layers/meta-st/meta-st-openstlinux/recipes-samples/packagegroups/packagegroup-framework-sample-qt-extra.bb:53:    qtwebkit-examples           \
Binary file ./layers/meta-qt5/.git/index matches
./layers/meta-qt5/README.md:8:When building stuff like `qtdeclarative`, `qtquick`, `qtwebkit`, make
./layers/meta-qt5/recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bb:12:    ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qtwebkit-dev', '', d)} \
./layers/meta-qt5/recipes-qt/qt5/qttools/0001-add-noqtwebkit-configuration.patch:25:     BROWSER = qtwebkit
./layers/meta-qt5/recipes-qt/qt5/qttools/0001-add-noqtwebkit-configuration.patch:32:-equals(BROWSER, "qtwebkit") {
./layers/meta-qt5/recipes-qt/qt5/qttools/0001-add-noqtwebkit-configuration.patch:33:+equals(BROWSER, "qtwebkit"):!contains(CONFIG, noqtwebkit) {
./layers/meta-qt5/recipes-qt/qt5/qttools_git.bb:28:PACKAGECONFIG[qtwebkit] = ",,qtwebkit"
./layers/meta-qt5/recipes-qt/qt5/qttools_git.bb:32:    ${@bb.utils.contains('PACKAGECONFIG', 'qtwebkit', '', 'CONFIG+=noqtwebkit', d)} \
./layers/meta-qt5/recipes-qt/qt5/qt5-creator_git.bb:17:DEPENDS = "qtbase qtscript qtwebkit qtxmlpatterns qtx11extras qtdeclarative qttools qttools-native qtsvg chrpath-replacement-native"
./layers/meta-qt5/recipes-qt/qt5/qtbase_git.bb:76:# This is in qt5.inc, because qtwebkit-examples are using it to enable ca-certificates dependency
./layers/meta-qt5/recipes-qt/qt5/qtwebkit-examples_git.bb:18:DEPENDS += "qtwebkit qtxmlpatterns"
./layers/meta-qt5/recipes-qt/qt5/qtwebkit-examples_git.bb:19:RDEPENDS_${PN}-examples += "qtwebkit-qmlplugins"
./layers/meta-qt5/recipes-qt/qt5/qtwebkit_git.bb:12:# Patches from https://github.com/meta-qt5/qtwebkit/commits/b5.11
./layers/meta-qt5/lib/recipetool/create_qt5.py:101:              'webkit': 'qtwebkit',
./layers/meta-qt5/lib/recipetool/create_qt5.py:102:              'webkitwidgets': 'qtwebkit',

所以我认为要删除的行是我上面描述的行。 bitbake -e <image> 导致输出时间过长,导致控制台缓冲区溢出...我尝试用 grep 查找输出以查找 qtwebkit 但没有返回任何内容。

这同样适用于grep -nrw . -e DISTRO_FEATURES | grep qtwebkit

【问题讨论】:

  • 你试过从DISTRO_FEATURES删除qtwebkit吗?
  • 您是否尝试过bitbake -e(或bitbake -e <your image>)并查看环境以将qtwebkit 添加到PACKAGECONFIG_pn-qttools(猜测那个)?
  • 问题已更新!

标签: qt qt5 yocto bitbake


【解决方案1】:

PACKAGECONFIG[qtwebkit] = ",,qtwebkit" 行显示如果 qtwebkit 存在于该包的 PACKAGECONFIG 变量 (see here) 中,则启用或禁用该功能会做什么。根据第二行和文档,在任何一种情况下它都“什么都不做”。

更多关于如何诊断诸如“为什么设置此变量”之类的问题的更多信息是使用bitbake -e [optional package or image name] > env.log 将环境转储到您可以查看的日志文件中。值得在没有包或图像名称以及包和您尝试构建的任何图像的情况下检查这一点(有时图像配置可能通过其他变量启用另一个包的PACKAGECONFIG 中的功能;检查环境将经常向您展示为什么要设置某些内容)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-01
    • 1970-01-01
    • 2017-07-25
    • 1970-01-01
    相关资源
    最近更新 更多