Создание пакета Debian для нескольких присваивает версию Ubuntu

У меня есть библиотека и немного двоичных файлов, которые я хочу упаковать как пакет Debian. У меня есть зависимость от: libboost-зарегистрируйтесь*, libprotobuf* и т.д.

Я не хочу добавлять зависимость от dev пакетов "libboost-all-dev" и т.д. и хотеть добавить зависимость не dev пакеты. Я понял путем рассмотрения архива пакетов человечности, что некоторые из этих библиотек меняют имя в другой версии человечности:

libboost-filesystem1.65 и libboost-filesystem1.58

Я должен создать отдельный пакет для каждой человечности версии (14, 16, 18 и т.д.)?

Также мои двоичные файлы компилируются на человечности 18, и они связаны с последней версией повышения (1.65). Когда я упаковываю и устанавливаю то же на более старой версии (человечность 16, где версия повышения 1.58), я получаю ошибку в то время как рабочий двоичный файл.

myprog: ошибка, в то время как загрузка совместно использовала библиотеки: libboost_system.so.1.65.1: не может открыть файл общего объекта: Никакой такой файл или каталог

Существует ли способ, которым я могу скомпилировать двоичным файлом только на на версии человечности и указать зависимости способом, что пакет работает над всей версией человечности?

2
задан 16 November 2018 в 02:56

1 ответ

Есть ли способ, которым я могу скомпилировать с помощью двоичного кода только для одной версии Ubuntu и указать зависимости таким образом, чтобы пакет работал на всех версиях Ubuntu?

Для debs в целом Нет, ты не можешь. Зависимости, поставляемые в Ubuntu, могут нарушать ABI между выпусками, так что конкретная зависимость может не иметь общего ABI в версиях, поставляемых между двумя конкретными выпусками Ubuntu.

Необходимо управлять бэкпортами индивидуально для каждого релиза, если вы хотите поддерживать бэкпорты с использованием debs.

Встраивание зависимостей - способ решения этой проблемы. Смотрите Snaps для деталей. Вы также можете сделать это с помощью дэбов в теории, но вы, вероятно, обнаружите, что инструменты вокруг оснастки (snapcraft) значительно упрощают создание. Снимки также безопаснее для пользователей, потому что они работают в ограниченном количестве.

2
ответ дан 2 December 2019 в 04:39

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

Похожие вопросы: