automation - 如何从 bitbake 配方中提取许可信息

标签 automation licensing yocto bitbake

我会保持简短。我收到了一个 yocto 存储库,并被要求审核它以获取构建使用的许可证。我的最终目标是:

  1. 列出发行版使用的所有许可证(即发行版构建的所有工具和实用程序使用的许可证)
  2. 获取许可证文件的副本
  3. 获取 Internet 上的 URL,可以在其中找到该许可文本。 (如果其他人想将其与我提供给他们的进行比较)

作为一个懒惰的“软件工程师”,我想避免执行此任务,而只是解析所有 .bb 文件以提取所有信息。 我看过一些食谱,其中包含标题,而标题又包含许可证信息。能够追踪线索就好了。

This GitHub 上的项目看起来很有前途。但可能无法完全满足我的需求。

我还有完整的源代码和随源代码分发的许可文件文本。我应该能够编写一个简单的脚本来实现这一点,但某些许可证中的文本不包含许可证本身的类型。

任何指点将不胜感激。

最佳答案

首先,您可能希望在您的图像中使用许可证,而不是发行版,因为您可以在任何发行版中构建各种食谱,所以重要的只是你运送什么,这就是你的形象。找出图像中软件使用的许可证的方法已经是described here ,但是您的问题有点不同,因为您还需要完整的许可文本。这也很简单,它都在 build/tmp/deploy/licenses 中的每个包目录中。

至于你的第三个子问题,它并不那么容易,因为即使像 GPLv2 这样的标准在项目之间也几乎没有变化,有些有异常(exception),有些以不同的方式编写了“(c) $YEARS”,所以 Openembedded 构建系统为您提供的实际上更可靠,因为它是从源中提取的。可能的是 provide the source code itself (通过 archiver 类)以及许可证信息,任何真正好奇的人都可以通过这种方式交叉检查源和许可证。

关于automation - 如何从 bitbake 配方中提取许可信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39603237/

相关文章:

javascript - 使用 Webpack 在 css、html、js 中注入(inject)变量

javascript - Visual Studio 2013 开发人员许可证 javascript 错误

licensing - 如何保护应用程序免受虚拟机的复制

android - "If every phone responds to OK Google [...]",

java - 我如何需要在下拉菜单中正确选择项目?

testing - 关于将 CodeceptJS 与 Sencha ExtJS 一起用于测试自动化的任何反馈

linux - 将相同的文件添加到多个 PACKAGES

.net - 视频编辑付费或免费,但不是 FFMpeg

linux - 当 psplash 从初始化脚本 (PID=1) 启动时,psplash-write 不起作用

docker - 我可以将 Docker 镜像构建为 "cache"yocto/bitbake 构建吗?