如何让Debian软件包依赖libboost的多个版本 [英] How to make a Debian package depend on multiple versions of libboost

查看:576
本文介绍了如何让Debian软件包依赖libboost的多个版本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个debian /控制文件,其中包括:

I have a debian/control file which includes:

Build-Depends: ... libboost1.35-dev, libboost-date-time1.35-dev, ...

这从建立现代的Ubuntu系统停止包。

This stops the package from building on modern Ubuntu systems.

我可以只改变1.38s所有的1.35s,然后将现代Ubuntu的工作,而不是旧的版本。

I could just change all the 1.35s for 1.38s and then it would work on modern Ubuntu, but not older versions.

我想这样做是这样的:

Build-Depends: ... libboost-dev (>=1.35), libboost-date-time-dev (>=1.35), ...

但它似乎是1.35是很难codeD放入包名。即libbost1.35-dev的是libboost1.38m不只是不同版本的同一个包的不同的包。

but it seems that the 1.35 is hardcoded into the package names. i.e. libbost1.35-dev is a different package from libboost1.38m not just a different version of the same package.

我的理解正确吗?我能理解硬编码的主版本号为包名称(如果新版本的ABI打破向后兼容)。

Is my understanding correct here? I can understand hardcoding major version numbers into the package name (if the new version's ABI breaks backward compatibility).

有没有写一个Debian的控制文件,它允许一个程序包要依靠有libboost或特定版本一路走高?

Is there a way to write a Debian control file which allows a package to be depend on having a particular version of libboost or higher?

谢谢,

克里斯。

推荐答案

您应该要看: libboost-dev的,除非有特殊原因目标加速的特定版本。这 libboost-dev的包是一个伪包,在libboost的合适版本的拉动。

You should "Depends: libboost-dev" unless there is a special reason to target for specific versions of Boost. This libboost-dev package is a pseudo-package that pulls in the suitable version of libboost.

如果你真的想专门针对他们,使用或运算符:

If you really want to target them specifically, use the "or" operator:

Depends: A | B | C 

请参阅:<一href=\"http://www.debian.org/doc/debian-policy/ch-relationships.html\">http://www.debian.org/doc/debian-policy/ch-relationships.html

这篇关于如何让Debian软件包依赖libboost的多个版本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆