Как я могу требовать и использовать пакет, более новый, чем версия Buildroot?
В проекте, основанном на Buildroot, мне требуется библиотека, существующая в Buildroot, но версия более новая, чем версия из buildroot. (Buildroot в настоящее время поставляет определение Armadillo v6.500, в то время как мы используем v7.800 - в любом случае вопрос применим к любой библиотеке). Как добавить определение для этой более новой библиотеки, чтобы Buildroot загружал и кросс-компилировал последнюю версию пакета?
Для получения дополнительной информации: мы используем "внешний" ( см. BR2_EXTERNAL_*
) путь с нашими собственными (специфичными для проекта) определениями пакетов. Повторное объявление библиотеки Armadillo в этом внешнем источнике не сработало (так как оно находит ее как дубликат). Таким образом, мы получили следующий обходной путь: добавление нового пакета ARMADILLO7
(в отличие от ARMADILLO
), со своим armadillo7/
каталог, копия файлов сборки переименована в armadillo7*.
и т. д. Например, armadillo7.mk
включает в себя:
ARMADILLO7_VERSION = 7.800.2
ARMADILLO7_SOURCE = armadillo-${ARMADILLO7_VERSION}.tar.xz
ARMADILLO7_SITE = http://downloads.sourceforge.net/project/arma
...
(это копия исходных файлов, слегка измененная для более нового соглашения об именах файлов и, конечно, с версией 7.800).
Наши пакеты требуют пакета ARMADILLO7
, и не ARMADILLO
, Тем не менее, это не чистое решение, а в других случаях это может не быть решением вообще. Есть ли более правильный способ добавления новых пакетов?