有人告诉我RRECOMMENDS和RDEPENDS的区别

use*_*609 3 bitbake

我很少使用RRECOMMENDS,我不知道它的实际用途是什么.它似乎只安装一个包..

-RDEPENDS_${PN} = "kernel-module-tun"
+RRECOMMENDS_${PN} = "kernel-module-tun"
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释上面两行代码之间的区别吗?

是否RRECOMMENDS安装kernel-module-tun?如果不是那么它用于什么?

小智 8

我会尽力.这两个变量都定义了配方依赖性.

-RDEPENDS_${PN} = "kernel-module-tun"
Run Code Online (Sandbox Code Playgroud)

RDEPENDS是一种硬的运行时依赖.所以列出的任何内容都扩展了它适用的功能,但必须安装才能使包正常运行.如果列出的包不存在或尚未构建,则依赖包仍可以成功构建.YoctoProject参考手册包含对此变量的一个很好的描述.请参阅参考手册

+RRECOMMENDS_${PN} = "kernel-module-tun"
Run Code Online (Sandbox Code Playgroud)

RRECOMMENDS是一种软运行时依赖.因此,列出的任何内容都会扩展其应用的功能,但不是构建的要求.关于RRECOMMENDS还有一些问题,您可能希望在YoctoProject参考手册中查找,这对于此类材料来说似乎是最好的资源: 参考手册

所以要回答你的问题,如果可用,RRECOMMENDS将安装kernel-module-tun.如果不是,则构建将继续.相反的是使用RDEPENDS语句,如果kernel-module-tun找不到,将在构建过程中导致错误.