关闭源代码校验和检查 Yocto

10
在Yocto中,我该在哪里指定BB_STRICT_CHECKSUM = "0"以禁用源代码的校验和检查?
我收到以下信息:
ERROR: No checksum specified for /PATH/TO/ti-linux-kernel.git, please add at least one to the     recipe:
SRC_URI[md5sum] = "e8e287fd725bea8b4220ebe9094cda86"
SRC_URI[sha256sum] = "4a4f522b05e6c1fcd1872f2fc7c82061dfdc4a19c5f866858005daa198f89bbb"
4个回答

17

关于这个页面BB_STRICT_CHECKSUM是一个可以在.bb文件中使用的变量。因此,您可以简单地将以下行添加到相应的.bb文件中,其中已经设置了SRC_URI,以避免校验和检查错误:

BB_STRICT_CHECKSUM = "0"

通过添加这行代码,检验和错误将不再中断编译过程(例如:提示“未为blah/blah/blah指定校验和,请至少向配方中添加一个或其他错误提示:缺失SRC_URI校验和”),而只会抛出警告。

希望能对您有所帮助。


1
这个可以工作。与其出现错误,bitbake会抛出警告(如果您想回去并保证您的成功构建,仍然会打印校验和)。 - naugler
这应该是我个人认为的真正答案。 - ADogg

16

我在Yocto文档中没有看到名为BB_STRICT_CHECKSUM的变量。

据我所知,您不需要为git存储库指定SRC_URI[...]校验和。在您的bitbake配方中,/PATH/TO/ti-linux-kernel.git前面是否有git://?Bitbake使用它来确定要使用什么类型的SCM工具。如果您想通过http访问git存储库,则应该指定

SRC_URI = "git://server.com/PATH/TO/ti-linux-kernel.git;protocol=http"

令人沮丧的是,这只是在SRC_URI文档中略有提及。

SRC_URI[md5sum]和SRC_URI[sha256sum]旨在确保下载的tar包与编写配方时相同。如果您要添加tar包(例如:http://server.com/path/to/some-project.tar.gz),推荐的方法是:

......注释掉这些语句,然后尝试构建软件。每个缺少校验和的地方都将产生一个错误,并在错误消息的一部分中提供正确的校验和字符串。一旦得到正确的校验和,请将它们复制到您的配方中以进行随后的构建。

您可以在错误消息中看到,在这种情况下确实已经提供了它们。


1
如果您使用https://some_path克隆存储库,则需要
SRC_URI[md5sum] = "e8e287fd725bea8b4220ebe9094cda86"
SRC_URI[sha256sum] = " 4a4f522b05e6c1fcd1872f2fc7c82061dfdc4a19c5f866858005daa198f89bbb"

在使用 git 克隆存储库时: //some_path,您需要任何其他文件的 md5sum

LIC_FILES_CHKSUM = "file://LICENSE;md5=a77c327d4d1da3707d42dde9725d4769"

3
不,那是错误的。无论您使用git、https、http还是ssh作为传输协议,在克隆存储库时,您都不需要指定SRC_URI校验和。 - Anders
@Anders 相反,我发现将协议从git更改为https后,它开始给我这个警告。 - Mario Palumbo

0

添加

 BB_STRICT_CHECKSUM:forcevariable = "0"
build 目录下的 conf/local.conf 或其他任何配置元数据文件(如 site.confauto.conf)中, forcevariable 是最高优先级的覆盖,这将确保它不会使用在其他地方找到的此变量的其他设置,例如在 meta/conf/distro/include/default-distrovars.inc 中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接