在使用 bitbake INCOMPATIBLE_LICENSE 标志时需要帮助
Posted
技术标签:
【中文标题】在使用 bitbake INCOMPATIBLE_LICENSE 标志时需要帮助【英文标题】:need help in using bitbake INCOMPATIBLE_LICENSE flag 【发布时间】:2016-03-06 23:58:33 【问题描述】:我是 bitbake 的新手。我有多个彼此相关的问题。
-
我正在尝试从我的包中删除所有 GPLv3 包。我看到 meta/recipes-*/ 文件夹中的包的两个版本(gplv2 和 gplv3 或其他适用的许可证类型)都有 .bb 文件。如果我使用 INCOMPATIBLE_LICENSE=GPLv3 它会删除所有 GPLv3 包。但我想包括一些 GPLv3 的包。我在哪里指定这个。
我确实在 poky/build/conf 目录的 bblayers.conf 中看到了一个 BBFILES 标志。这是添加特定食谱的地方吗?
我的另一个问题是,如果我想使用 recipes-/ 文件夹中多个 .bb 文件中的特定 .bb 文件,我该怎么做。例如
/recipes-extended/tar/tar_1.17.bb /tar_1.27.1.bb
在这种情况下,我如何选择 tar_1.17.bb 而忽略 1.27.bb。这只是一个例子。有一个“bitbake -b”命令将 .bb 文件作为输入,但它只会构建该 .bb 文件并根据文档忽略依赖项。我想构建完整的包并能够选择和忽略特定的 .bb 文件。
-
那么,当配方文件夹中有多个 .bb 文件时,bitbake 是如何挑选的,更准确地说是 bitbake 挑选哪个 .bb 文件。
【问题讨论】:
【参考方案1】:1 没有办法做到这一点。目的是什么?通常,如果你想避免 GPLv3,你需要一个完全 GPLv3 的免费镜像
有一种方法可以绕过系统。你可以设置
INCOMPATIBLE_LICENSE_pn-<package/recipe name> = ""
这将允许您构建包。但是,不要将其用于生产,除非您真的知道自己在做什么。
2/3:通常会构建最高版本。您可以使用
PREFERRED_VERSION_<package name>
在 local.conf 或您的发行版中,选择另一个版本。另一种方法是添加
DEFAULT_PREFERENCE = "-1"
到您不想构建的配方。
【讨论】:
谢谢。 PREFERRED_VERSION_bootchart2
)。我发现我必须在 local.conf
文件中规避它,这有助于防止这些更改进入生产环境。【参考方案2】:
你应该可以设置
WHITELIST_<spdx_license> += "<name of the package which you want to white list>"
没有很好的文档,但代码在 poky/meta/base.bbclass 中
【讨论】:
以上是关于在使用 bitbake INCOMPATIBLE_LICENSE 标志时需要帮助的主要内容,如果未能解决你的问题,请参考以下文章
Incompatible pointer types assiging to "UIViewController" *_Nullable' from 'AppDel
报错 maun.dylib (mach-o file, but is an incompatible architecture (have (x86_64), need (arm64e))))
报错 maun.dylib (mach-o file, but is an incompatible architecture (have (x86_64), need (arm64e))))
报错 maun.dylib (mach-o file, but is an incompatible architecture (have (x86_64), need (arm64e))))
Gif 动画不适用于 Qt 5.8 中的 Yocto Pyro。如何使用 libqgif.so 在 bitbake 中构建 qtbase 5.8?