debuild - 依赖设置但没有版本

debuild - dependencies set but without version

假设我有以下包:zs-boost_1.71.0_armhf.deb。这是将 boost 1.71 安装到某个自定义位置的自定义包(假设 /opt/deps)。

我也有使用这个库的项目。它构建并运行良好。现在我正在打包它。我在 debian/control 文件中有以下内容:

Depends: ${shlibs:Depends}, ${misc:Depends}

我构建包使用:debuild -b -us -uc -aarmhf。可以构建包并按预期工作。我唯一的问题是它在 deb 的 control 文件中的 Depends 条目如下:

Depends: Depends: libc6 (>= 2.9), libpq5 (>= 9.0~), zs-boost, init-system-helpers (>= 1.18~)

请注意,zs-boost 没有版本。我该如何解决?是安装到自定义目录引起的吗?我假设如果包被正确识别,那么它的版本也应该被使用吗?

debian/package.substvars 包含 shlibs 的以下行:

shlibs:Depends=libc6 (>= 2.9), libssl1.1 (>= 1.1.0), libuuid1 (>= 2.16), zs-boost

我应该怎么做才能正确控制依赖项?请注意,我对手动提供版本号不感兴趣,这只是一个包,我们有 20 多个包在不断更新和重建,手工完成是不可能的。

提前致谢。

如果你想要一个版本化的依赖,把一个放在 debian/control.

Depends: zs-boost (>= 1.71.0)

您在生成的 shlibs 中看到的对特定版本 libc6 的版本依赖最终归结为由包维护者确定的类似显式声明(通常是保守且非常谨慎的)。