Yocto: удалить элемент packageconfig - PullRequest
1 голос
/ 31 октября 2019

В рецепте (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.

1 Ответ

2 голосов
/ 31 октября 2019

В строке PACKAGECONFIG[qtwebkit] = ",,qtwebkit" показано, что будет делать включение или отключение этой функции, если qtwebkit существует в переменной PACKAGECONFIG этого пакета ( см. Здесь ). Основываясь на этой второй строке и документации, в обоих случаях он «ничего» не делает.

Более подробно к вашему вопросу о том, как диагностировать что-то вроде «почему эта переменная установлена», отправной точкой является использование bitbake -e [optional package or image name] > env.log для выгрузки среды в файл журнала, который вы можете просмотреть. Было бы целесообразно проверить это без имени пакета или изображения, а также с пакетом и любым другим образом, который вы пытаетесь создать (иногда конфигурация образа может включать функцию в PACKAGECONFIG другого пакета через другие переменные; проверка среды будетчасто показывают, почему что-то было установлено).

...