需要帮助才能使用bitbake INCOMPATIBLE_LICENSE标志

时间:2015-12-02 16:29:59

标签: yocto bitbake

我是bitbake的新手。我有多个问题都是彼此相关的。

  1. 我正在尝试从我的包中删除所有GPLv3包。我看到两个版本(gplv2和gplv3或其他适用的许可证类型)的.bb文件,包含元/食谱 - * /文件夹中的软件包。如果我使用INCOMPATIBLE_LICENSE = GPLv3,它将删除所有GPLv3包。但是我想要包含一些GPLv3包。我在哪里指定这个。 我确实在poky / build / conf目录中的bblayers.conf中看到了一个BBFILES标志。这是添加特定食谱的地方吗?
  2. 我的另一个问题是,如果我想在食谱 - / 文件夹中的多个.bb文件中使用特定的.bb文件,我该怎么做。例如
  3. /recipes-extended/tar/tar_1.17.bb                      /tar_1.27.1.bb

    在这种情况下,我如何选择tar_1.17.bb并忽略1.27.bb.这只是一个例子。有一个“bitbake -b”命令,它将.bb文件作为输入但是根据文档只构建.bb文件并忽略依赖项。我想构建完整的包,并能够选择并忽略特定的.bb文件。

    1. 那么,当配方文件夹中有多个.bb文件时,bitbake如何选择以及更加谨慎的.bb文件进行bitbake选择。

2 个答案:

答案 0 :(得分:1)

1没有办法做到这一点。目的是什么?通常,如果你想避免GPLv3,你想要一个完全GPLv3免费图像

有一种方法可以规避系统。你可以设置 INCOMPATIBLE_LICENSE_pn-<package/recipe name> = "" 这将允许您构建包。但是,除非你真的知道自己在做什么,否则不要将它用于生产。

2/3:通常会构建最高版本。您可以使用 PREFERRED_VERSION_<package name> 在local.conf或发行版中,选择另一个版本。另一种方法是添加 DEFAULT_PREFERENCE = "-1" 到你不想建立的食谱。

答案 1 :(得分:0)

您应该可以设置

WHITELIST_<spdx_license> += "<name of the package which you want to white list>"

记录不足,但代码位于poky / meta / base.bbclass