gpt4 book ai didi

build - bitbake 依赖如何对源代码起作用?

转载 作者:行者123 更新时间:2023-12-04 15:23:36 25 4
gpt4 key购买 nike

我是“bitbake”方式的初学者,我想知道在以下情况下会发生什么,当构建一个包含数千个包的项目时:

  • 您对完整图像(所有包)进行位烘烤,它成功完成。
  • 您对包进行了更改 - 一些源代码(我们称之为包“X”)
  • 您再次对完整图像进行位烘烤。

  • 在第 3 步中是否重建了“X”?重建“X”是否需要增加PV和PR?依赖于“X”的“Y”包会发生什么?如果重建 X 也会重建“Y”?

    我知道如果您修改 .bb 文件,则不会构建依赖包,因为检查了时间戳。它与源代码更改的机制相同吗? (顺便说一句,这是一个QT项目,所以最后bitbake运行qmake->make进行编译)

    我正在使用 bitbake 版本 1.13.2。

    谢谢

    最佳答案

    让我试着回答这个问题。例如,你有包 X、Y 和 Z。假设 X 依赖于 Y,Y 依赖于包 Z。

  • 如果您正在执行“bitbake default-image-name”并且您正在构建为scratch(这意味着之前没有构建过default-image-name 中所需的任何包)。所以 bitbake 现在制作了一个依赖树(你可以通过“bitbake -g PACKAGE_NAME”看到依赖树。)。将构建第一个包 Z,然后是 Y,最后是包 X。
  • 现在假设您对 X 源代码进行了一些更改,并且在不增加 X 配方文件 (x.bb) 中的 PR 编号的情况下执行“bitbake X”,bitbake 不会再次编译更改。我的意思是说 bitbake 只是检查包版本和修订版(PV 和 PR)。这里我们有相同的包版本 (PV) 和相同的包修订版 (PR),所以 bitbake 不会再次编译 X 包。

  • 要在一些修改后编译 Package X,您需要将更改应用为 Patch。为此,进行更改(例如 change.diff 或 change.patch),在 X.bb 文件中添加条目(例如,请参阅其他配方文件)。之后增加 X.bb 中的 PR 编号。

    现在“bitbake X”将再次构建X包。
  • 这里当我们增加了 X 的 PR 时,只有 X 包被构建。这里 bitbake 将检查已经构建并具有相同 PR 编号的依赖包 Y 和 Z,它只会使用已经构建的 Y 和 Z 包。
  • 如果我们重新构建了Y包(如果不想增加PR数,可以清理包bitbake -c clean package_name),默认情况下不会再次构建X包,即使它依赖于Y。

  • 希望这有帮助。

    关于build - bitbake 依赖如何对源代码起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18055034/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com