5

我很少用RRECOMMENDS,也不知道它的真正用途是什么。似乎只安装一个包..

-RDEPENDS_${PN} = "kernel-module-tun"
+RRECOMMENDS_${PN} = "kernel-module-tun"

谁能解释一下上面两行代码的区别?

是否RRECOMMENDS安装kernel-module-tun?如果不是,那么它是用来做什么的?

4

1 回答 1

12

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

-RDEPENDS_${PN} = "kernel-module-tun"

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

+RRECOMMENDS_${PN} = "kernel-module-tun"

RRECOMMENDS 是一个软的运行时依赖项。因此,列出的任何内容都扩展了它所应用的功能,但不是构建的要求。还有一些关于 RRECOMMENDS 的怪癖,您可能希望在 YoctoProject 参考手册中查找,这似乎是目前此类材料的最佳资源: 参考手册

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

于 2013-01-28T14:42:01.890 回答