Два разных названия рецептов, обеспечивающих один и тот же пакет с разными версиями. Как можно заставить по умолчанию? - PullRequest
2 голосов
/ 30 января 2020

У меня есть среда Yocto (на meta-oe / recipes-test) старых gmock и gtest libs.

В настоящее время я хочу обновить его до новейшей версии, хотя обе библиотеки были объединены в новую с именем googletest. Чтобы добиться этого, я добавляю новый рецепт для googletest (вот рецепт) в новый слой, уже созданный мной. Имейте в виду эту новую версию PROVIDES += gmock gtest

Пока все хорошо. Вот сложная часть, на моем изображении layer.conf Я добавил это:

PREFERRED_PROVIDER_gtest ?= "googletest"
PREFERRED_PROVIDER_gmock ?= "googletest"
PREFERRED_VERSION_gtest ?= "1.8.1"
PREFERRED_VERSION_gmock ?= "1.8.1"

Так что я продолжаю получать несколько ошибок, я попытаюсь разделить их здесь:

FIRST :

NOTE: preferred version 1.8.1 of gtest not available (for item gtest)
NOTE: versions of gtest available: 1.7.0
NOTE: preferred version 1.8.1 of gmock not available (for item gmock)
NOTE: versions of gmock available: 1.7.0
NOTE: preferred version 1.8.1 of gtest not available (for item gtest-staticdev)
NOTE: versions of gtest available: 1.7.0
NOTE: preferred version 1.8.1 of gtest not available (for item gtest-dev)
NOTE: versions of gtest available: 1.7.0
NOTE: preferred version 1.8.1 of gmock not available (for item gmock-dev)
NOTE: versions of gmock available: 1.7.0
NOTE: preferred version 1.8.1 of gmock not available (for item gmock-staticdev)
NOTE: versions of gmock available: 1.7.0
NOTE: preferred version 1.8.1 of gtest not available (for item gtest)
NOTE: versions of gtest available: 1.7.0
NOTE: preferred version 1.8.1 of gmock not available (for item gmock)
NOTE: versions of gmock available: 1.7.0

ВТОРОЙ:

Multiple .bb files are due to be built which each provide gmock (PATH/sources/meta-openembedded/meta-oe/recipes-test/gmock/gmock_1.7.0.bb PATH/sources/my-meta/recipes-test/googletest/googletest_1.8.1.bb).
     This usually means one provides something the other doesn't and should.
    ERROR: Multiple .bb files are due to be built which each provide nativesdk-gmock (virtual:nativesdk:PATH/sources/my-meta/recipes-test/googletest/googletest_1.8.1.bb virtual:nativesdk:PATH/sources/meta-openembedded/meta-oe/recipes-test/gmock/gmock_1.7.0.bb).
     This usually means one provides something the other doesn't and should.
    ERROR: Multiple .bb files are due to be built which each provide gtest (PATH/sources/meta-openembedded/meta-oe/recipes-test/gtest/gtest_1.7.0.bb PATH/sources/my-meta/recipes-test/googletest/googletest_1.8.1.bb).
     This usually means one provides something the other doesn't and should.
    ERROR: Multiple .bb files are due to be built which each provide nativesdk-gtest (virtual:nativesdk:PATH/sources/meta-openembedded/meta-oe/recipes-test/gtest/gtest_1.7.0.bb virtual:nativesdk:PATH/sources/my-meta/recipes-test/googletest/googletest_1.8.1.bb).
     This usually means one provides something the other doesn't and should.

Как я уже сказал, я все еще получаю несколько разных ошибок, но, в общем, вопрос такой:

TL; DR

Как я могу сделать рецепт, который не имеет точно такого же имени, что и он, который будет выбран битбейком по умолчанию вместо предыдущей версии это, который имеет имя рецепта, идентичное тому, что он предоставляет? Что я делаю неправильно?

...