Bitbake运行时与构建依赖关系 [英] Bitbake runtime vs build dependency

查看:957
本文介绍了Bitbake运行时与构建依赖关系的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法理解bitbake食谱。 (我有一些写得不好,我需要修改,我通常会阅读和理解整个机制,但可悲的是我的日程紧张)。
您能帮助我了解RDEPENDS和DEPENDS之间的区别。我读了这个引用,我知道它们分别代表运行时依赖和构建依赖关系,但是它在bitbake配方中会有什么影响呢?
据我所知,如果包A依赖于另一个B,B必须被构建并准备好使A能够构建。 Bitbake与运行时无关,只用于构建和部署软件包。那么有什么区别?

I am having trouble understanding the bitbake recipes. (I have some poorly written I need to modify, I usually would read and understand the whole mechanism but sadly I am on a tight schedule). Can you please help me understand the difference between RDEPENDS and DEPENDS. I read the reference and I know that they stand for runtime dependency and build dependency respectively, but what is the effect on it in a bitbake recipe? As far as I understand, if a package A depends on another B, B has to be built and ready to enable A to build. Bitbake isn't related to the runtime, it's only there for building and deploying the packages. So what is the difference?

推荐答案

正如你所说,bitbake关注构建并部署
包,并且需要部署所有需要
的软件包,以满足目标系统上的运行时依赖关系。

As you say, bitbake is concerned with building and deploying the packages, and it needs to deploy all the packages that are needed to satisfy runtime dependencies on the target system.

如果您的配方说目标 P 上的目标 DEPENDS ,那么告诉
bitbake,它必须在 T 之前构建 P ,因为 T 不能
/ em>没有 P

If your recipe says that target T DEPENDS on a target P, that tells bitbake that it must build P before T, because T can't be built without P.

如果您的食谱表示 RDEPENDS >,它告诉
bitbake,如果
部署 T ,那么它必须将 P 部署到目标系统,因为 T 不能

If your recipe says that T RDEPENDS on P, that tells bitbake that it must deploy P to the target system if it deploys T, because T can't be used without P.

例如,您无法构建 tar 没有C编译器,但
你不需要C编译器使用 tar 。您可以部署 tar
而不部署C编译器。所以这是一个 DEPEND

For example, you can't build tar without the C compiler, but you don't need the C compiler to use tar. You can deploy tar without deploying the C compiler. So that's a DEPEND.

另一方面,你不能使用 tar 没有运行时C库。
如果部署了 tar ,则还必须部署运行时C库。
这是一个 RDEPEND

On the other hand, you can't use tar without the runtime C library. If tar is deployed, the runtime C library must also be deployed. So that's an RDEPEND.

这些骇人听闻的技术性是:

The bitake technicalities are:


  • 如果 T DEPENDS P T do_configure 任务被取决于
    P do_populate_sysroot 任务。

  • If T DEPENDS on P then T's do_configure task is made to depend on P's do_populate_sysroot task.

如果 T RDEPENDS P 然后 T 的 do_build 任务ia取决于 P s
do_package_write 任务。

If T RDEPENDS on P then T's do_build task ia made to depend on P's do_package_write task.

这篇关于Bitbake运行时与构建依赖关系的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆