首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >debuild -已设置依赖项,但没有版本

debuild -已设置依赖项,但没有版本
EN

Stack Overflow用户
提问于 2020-02-19 04:13:07
回答 1查看 241关注 0票数 0

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

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

代码语言:javascript
复制
Depends: ${shlibs:Depends}, ${misc:Depends}

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

代码语言:javascript
复制
Depends: Depends: libc6 (>= 2.9), libpq5 (>= 9.0~), zs-boost, init-system-helpers (>= 1.18~)

请注意,zs-boost没有版本。我怎么才能修复它?是安装到自定义目录造成的吗?我假设如果包被正确识别,那么它的版本也应该被使用吗?

对于shlibsdebian/package.substvars包含以下行

代码语言:javascript
复制
shlibs:Depends=libc6 (>= 2.9), libssl1.1 (>= 1.1.0), libuuid1 (>= 2.16), zs-boost

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

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-19 17:08:11

如果你想要一个版本化的依赖项,在debian/control中放置一个。

代码语言:javascript
复制
Depends: zs-boost (>= 1.71.0)

您在生成的shlibs中看到的对特定libc6版本的版本化依赖最终归结为一个类似的显式声明,该声明由包维护者决定(通常非常谨慎且非常小心)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60288751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档