代码之家  ›  专栏  ›  技术社区  ›  Jaehyun Lee

BPN和PN之间有什么区别?

  •  1
  • Jaehyun Lee  · 技术社区  · 1 周前

    在bitbake.conf中,我找到了BPN和PN的定义。

    但我想知道BPN和PN之间的区别。

    请举例说明。 谢谢

    1 回复  |  直到 1 周前
        1
  •  0
  •   Tijil Saka    1 周前

    BitBake是Yocto项目中主要用于构建嵌入式Linux系统的构建自动化工具,在BitBake的背景下,理解BPN和PN之间的区别至关重要。

    PN——代表“软件包名称”。它指的是正在构建的软件包的名称。例如,如果您正在构建GNUC编译器(GCC),PN将是“GCC”。

    BPN-代表“基本包名称”。它指的是包名称的核心部分。例如,如果PN为“gcc-10.3.0”,则BPN将为“gcc”。

    实例

    假设您正在为OpenSSL构建一个包,版本为1.2.3。在这种情况下: PN“openssl-1.2.3” BPN“openssl”

    了解这种差异是至关重要的,因为BitBake配方通常指的是BPN,从而可以灵活地处理同一软件包的不同版本。

    编辑

    在BitBake中,变量 P 确实包括版本,因为它被定义为“${PN}-${PV}”。以下是这些变量所代表的内容:

    • PN程序包名称,它是程序包的核心名称。
    • PV软件包版本,即软件包的版本。

    所以,如果 PN 是“gcc”并且 PV 为“10.3.0”,则 P 将为“gcc-10.3.0”。

    让我们来澄清一下这个例子:

    • PN :“gcc”(核心包名称)
    • PV :“10.3.0”(版本)
    • P :“gcc-10.3.0”(完整的软件包名称,包括版本)