0

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

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

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

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

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 多个包,它们会不断更新和重建,手动完成是不可能的。

提前致谢。

4

1 回答 1

1

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

Depends: zs-boost (>= 1.71.0)

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

于 2020-02-19T09:08:11.360 回答