【问题标题】:debian: control file add dependency on the current building versiondebian:控制文件添加对当前构建版本的依赖
【发布时间】:2022-01-14 21:03:49
【问题描述】:

我正在从一个源包构建多个包,我希望我的一个包明确依赖于正在构建的版本上的另一个包,而不是其他包 - 即正在构建的当前版本。

Depends: original-package-min (= "what do I put here"),

我怀疑有一个明显的答案,但我在任何地方都找不到。

背景:

我试图将一个包分成两个,一个最小版本和一个完整版本 - 像这样。 -min 包之所以存在,是因为在为新发行版构建时可能存在循环(运行时)依赖关系。

Package: original-package-min
Architecture: all
Depends: ${misc:Depends}
Description: Minimal version of original package
 Useful when bootstrapping new or incomplete distributions

Package: original-package
Architecture: all
Depends: original-package-min (= "what do I put here"),
 # lots of dependencies missing
 ${misc:Depends}
Description: Original package
 Does what the original package does

【问题讨论】:

    标签: packaging deb


    【解决方案1】:

    显然,问题在于知道如何提出正确的问题。这里的正确问题是“我可以在 debian 控制文件中的 ${} 中放入什么”?

    我希望在Declaring relationships between packages 的手册中找到答案,但我最终找到了referencereference here 的引用:

    这里的字段可能包含变量引用——当它们生成输出控制文件时,它们的值将被 dpkg-gencontrol、dpkg-genchanges 或 dpkg-source 替换。有关详细信息,请参阅变量替换:debian/substvars。

    要查找可用的替换,只需运行:

    man deb-substvars
    

    在这种情况下,答案是

    Depends: original-package-min (= ${binary:Version}),
    

    根据文档,${source:Version} 也可能是合适的,它们是相同的,除非在特定情况下它们不同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-16
      • 2011-06-25
      • 1970-01-01
      相关资源
      最近更新 更多