Как извлечь информацию о лицензии из рецепта bitbake

Я буду краток. Мне передали репозиторий yocto и попросили проверить его на наличие лицензий, используемых в сборке. Моя конечная цель:

  1. Перечислите все лицензии, используемые дистрибутивом (т. е. лицензии, используемые всеми инструментами и утилитами, созданными с дистрибутивом).
  2. Получить копию файла лицензии
  3. Получите URL-адрес в Интернете, где можно найти этот текст лицензии. (если кто-то еще хочет сравнить это с тем, что я им предоставил)

Будучи ленивым инженером-программистом, я хочу избежать выполнения этой задачи и просто разобрать все файлы .bb, чтобы извлечь всю эту информацию. Я видел несколько рецептов, которые включают заголовки, которые, в свою очередь, содержат информацию о лицензии. Было бы неплохо иметь возможность идти по следу.

Этот проект на GitHub выглядит многообещающе. Но может не дать мне именно то, что мне нужно.

У меня также есть весь исходный код и текст файла лицензии, распространяемый вместе с исходным кодом. Для этого я должен написать простой скрипт, но текст некоторых лицензий не содержит самого типа лицензии.

Любые указатели будут очень признательны.


person sdevikar    schedule 20.09.2016    source источник


Ответы (2)


Прежде всего, вы, вероятно, хотите, чтобы лицензии использовались в вашем образе, а не в дистрибутиве, так как вы можете создавать всевозможные рецепты в любом дистрибутиве, поэтому важно только то, что вы отправляете. , который является вашим изображением. Способ узнать лицензии, используемые программным обеспечением в образе, уже описан здесь, но ваш вопрос немного отличается тем, что вы также нужны полные лицензионные тексты. Это также легко, все это есть в каталогах для каждого пакета в build/tmp/deploy/licenses.

Что касается вашего третьего подвопроса, это не так просто, потому что даже что-то стандартное, такое как GPLv2, имеет небольшие вариации от проекта к проекту, у некоторых есть исключения, у некоторых «(c) $YEARS» написано по-разному, так что система сборки Openembedded дает вам на самом деле более надежен, поскольку он извлечен из источника. Что возможно, так это предоставить сам исходный код (через класс archiver) вместе с информацией о лицензии, любой действительно любопытный может таким образом перепроверить исходники и лицензии.

person Roman Khimov    schedule 21.09.2016

Вы должны иметь возможность адресовать 1) и 2) через https://www.yoctoproject.org/docs/1.8/dev-manual/dev-manual.html#maintaining-open-source-license-compliance-вовремяжизненногоциклавашихпродуктов .

person Frank Meerkötter    schedule 21.09.2016