Как повторно использовать общую библиотеку из другого пакета для компиляции нового пакета в yocto?

Я хочу добавить новый пакет в yocto, который зависит от другого пакета (состоящего из библиотеки, файла и двоичного файла), который я получаю из git. Новый пакет должен использовать общую библиотеку из старого пакета для его сборки.

Исходный код старой библиотеки должен быть централизован в одном месте, и весь пакет (проект) просто использует его при необходимости.

Как я могу собрать свой пакет, не изменяя свой старый пакет?

Могу ли я получить два источника из git в файле bb, а затем скомпилировать их по заказной библиотеке и новому приложению? если да то как?

Я пытался найти это, но я не нашел никакого постоянного результата.

Пример:

  • package1.bb => собрать и сгенерировать пакет, содержащий бинарные файлы и так далее lib.
  • package2.bb => собрать новый пакет, используя библиотеку package1.

person developer    schedule 24.11.2015    source источник


Ответы (1)


Если я правильно понимаю ваш вопрос, вы пытаетесь собрать пакет, который зависит от другого пакета (в данном случае библиотеки).

Я бы предложил сначала создать пакет библиотеки (в отдельном файле .bb), а затем использовать флаги DEPENDS и RDEPENDS в другом проекте, чтобы убедиться, что ваша система сборки знает о зависимости.

person Dan Rosenqvist    schedule 25.11.2015
comment
да, я хочу скомпилировать свой пакет, используя библиотеку, созданную из другого пакета, как я могу заставить мой пакет увидеть библиотеку? - person developer; 25.11.2015
comment
Я имею в виду, что хочу добавить -lotherpackage в свой make-файл и передать путь к библиотеке в LDFLAG. - person developer; 25.11.2015
comment
если добавить новый пакет для создания библиотеки из package1, как передать его в пакет для его компиляции и установки в качестве зависимости? Флаги DEPENDS и RDEPENDS могут это сделать? как? - person developer; 25.11.2015
comment
DEPENDS перечисляет зависимости пакета во время сборки. Если вы добавите пакет (в данном случае package1) в этот список, файлы, содержащиеся в этом пакете, будут извлечены при сборке package2. См. ссылку на веб-странице yocto (yoctoproject .org/docs/2.0/ref-manual/). RDEPENDS перечисляет зависимости пакета во время выполнения. Я могу порекомендовать вам проверить, как это делается в других рецептах, чтобы понять основную идею. - person Dan Rosenqvist; 25.11.2015
comment
спасибо за вашу помощь, это работает, когда я создаю другой пакет для lib, и я использовал DEPENDS в файле bb моего пакета - person developer; 25.11.2015
comment
Отлично, если это зависимость во время выполнения, не забудьте добавить ее в список RDEPENDS (поскольку это приведет к загрузке пакета в вашу систему, если вы забудете добавить его в файл образа .bb). - person Dan Rosenqvist; 26.11.2015