2016-09-20 5 views
1

Я буду держать его коротким. Мне вручили yocto-репозиторий и попросили его проверить на лицензии, используемые сборкой. Моя конечная цель заключается в следующем:Как извлечь лицензионную информацию из рецепта bitbake

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

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

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

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

Любые указатели будут оценены.

ответ

0

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

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