Как сделать пакет Debian зависимым от нескольких версий libboost - PullRequest
2 голосов
/ 26 января 2010

У меня есть файл debian / control, который включает в себя:

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

Это останавливает сборку пакета на современных системах Ubuntu.

Я мог бы просто поменять все 1,35 на 1,38, и тогда он будет работать на современной Ubuntu, но не на старых версиях.

Я бы хотел сделать что-то вроде:

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

но похоже, что 1.35 жестко запрограммирован в именах пакетов. то есть libbost1.35-dev - это пакет, отличный от libboost1.38m, а не просто версия того же пакета.

Правильно ли мое понимание здесь? Я могу понять жесткое кодирование основных номеров версий в имя пакета (если ABI новой версии нарушает обратную совместимость).

Есть ли способ написать управляющий файл Debian, который позволяет пакету зависеть от наличия конкретной версии libboost или выше?

Спасибо

Крис.

1 Ответ

7 голосов
/ 26 января 2010

Вы должны «Зависит от: libboost-dev », если только нет особой причины ориентироваться на конкретные версии Boost. Этот libboost-dev пакет является псевдо-пакетом, который загружает подходящую версию libboost.

Если вы действительно хотите нацелиться на них конкретно, используйте оператор «или»:

Depends: A | B | C 

См .: http://www.debian.org/doc/debian-policy/ch-relationships.html

...