LINUX.ORG.RU

Как правильно собирать DEB пакеты, чтобы можно было установить сразу две версии пакета?

 , ,


1

3

Суть вопроса: сделал небольшую инфраструктурку для регулярной сборки пакетов, скажем раз в неделю. Прописал в postinst и prerm update-alternatives.

При попытке установить более новую версию поверх старой, я вижу следующее - старая версия полностью затирается, ставится только новая. Хотелось бы, чтобы оставались обе.

Кто-нибудь знает как это сделать? Буду благодарен за помощь.


Никогда не видел возможность установки двух версий DEB-пакета одновременно.

А как ты это представляешь? Пакет в своем содержимом содержит какие-то конкретные файлы по конкретным путям? Как можно хранить две версии одновременно, если пути к файлам полностью/частично совпадают?

observer ★★★
()
Последнее исправление: observer (всего исправлений: 3)
Ответ на: комментарий от observer

Как можно хранить две версии одновременно, если пути к файлам полностью/частично совпадают?

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

IvS
() автор топика
Ответ на: комментарий от lazyklimm

Не хочется каждый раз руками всё раскладывать. Хочется, чтобы это делал dpkg. Иначе нафиг он вообще нужен? Но он упорно пытается удалить старую версию пакета при установке нового. Хотелось бы как-нибудь отключить или пропустить это действие

IvS
() автор топика

Пакеты вида «название-мажорныйномер» (ну или любой другой номер или слово или… ну, ты понял). Естественно, файлы должны лежать отдельно. Ну и alternatives, понятно.

Deleted
()
Ответ на: комментарий от IvS

Не хочется каждый раз руками всё раскладывать.

А ты захоти ©

Deleted
()

Собирать с другими путями и именами. Скажем, было
app.deb:
/usr/bin/app
/usr/lib/libapp.so
/usr/share/doc/app/README
сделать
app-nightly.deb:
/usr/bin/app-nightly
/usr/lib/app-nightly/libapp.so
/usr/share/doc/app-nightly/README

redgremlin ★★★★★
()
Ответ на: комментарий от IvS

зачем руками? просто генерируй список файлов

Но он упорно пытается удалить старую версию пакета при установке нового. Хотелось бы как-нибудь отключить или пропустить это действие

включай в имя пакета версию

lazyklimm ★★★★★
()
Ответ на: комментарий от lazyklimm

включай в имя пакета версию

спасибо! остановлюсь на этом решении.

IvS
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.