Как сделать пакет 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