Как сделать “backport” пакета

1. Введение.

Поскольку я обновляю дистрибутив на домашнем компе редко, в основном по LTS релизам, то зачастую, версии софта в репозитории моего дистра достаточно устаревшие.

Понятное дело, что ставить пакет например из Ubuntu 14.04 в 12.04 бесполезная трата времени, во первых, т.к. будет куча неудовлетворенных зависимостей, во вторых, даже если забить на формальности, то бинарники из нового дистрибутива, как правило собраны под более новые библиотеки (libc, glib и т.д.), и скорее всего не будут работать.

Вариант переустановить систему на более новую я не рассматриваю. Поэтому основных решений обычно два:

1. Поискать готовый пакет под свою систему в ppa (https://launchpad.net/ubuntu/+ppas)

2. Портировать пакет из свежего дистра в свой.

Ставить пакеты из ppa, не очень безопасно, хорошо, если данный ppa принадлежит разработчику программы, и он там распростаняет свои сборки. Но чаще всего, архив принадлежит совершенно посторонним людям, и никаких гарантий, что в программу не засунули бэкдор нет.

Благо бэкпортить не сложно. Один из способов это селать, я покажу на примере программы snort. Что для этого нужно:

1. Установить ubuntu-dev-tools
2. Сгенерировать  пару gpg ключей.
3. Установить все необходимые для компиляции snort пакеты.
4. С помощью backportpackage получить необходимые для компиляции файлы.
5. Скомпилировать прогрумму. Читать