Как сделать пакет Debian зависимым от нескольких версий libboost

У меня есть файл 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 ответ

Решение

Вы должны "Depends: libboost-dev", если нет особой причины для нацеливания на конкретные версии Boost. это libboost-dev package - это псевдо-пакет, который загружает подходящую версию libboost.

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

Depends: A | B | C 

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

Другие вопросы по тегам