Иногда хочется пересобрать какой-нибудь пакет дистрибутива, включив или отключив в нём что-нибудь на свой вкус (наложив патч, изменив опции сборки…). Например, я (для личного пользования) вырезаю занимающее полэкрана приветствие gnuplot при его запуске
К счастью, пересобрать (изменённый) пакет достаточно просто. Последовательность действий:
0. Убедиться, что в /etc/apt/sources.list
есть подходящая запись deb-src; добавить, если нет. Добавляется примерно такая строчка:
deb-src http://ftp.ru.debian.org/debian/ testing main contrib non-free
в ней можно менять адрес зеркала, ветку (например, stable или unstable вместо testing) и разделы репозитория.
После этого надо сделать aptitude update
. Перейти в каталог, в котором собираетесь собирать исходники.
1. Получить исходники пакета: apt-get source названиепакета
. Здесь надо учитывать, что иногда из одного пакета с исходниками собирается несколько бинарных.
2. Скачать всё, что необходимо для сборки: apt-get build-dep название пакета
3. Перейти в каталог названиепакета-версия/
4. Поправить, что хочется, в исходниках. Отредактировать файл debian/changelog
. Описывать изменения и менять номер версии пакета нужно, чтобы потом самому отличать свои пакеты от дистрибутивных.
5. Пересобрать пакет: fakeroot dpkg-buildpackage -us -uc
На каталог выше должны появиться новые бинарные пакеты, готовые к установке.
Возможно, это не совсем идеологически верное описание и что-то важное я упустил (я не Debian-гуру). Кто знает лучше — пусть поправит. Однако такой способ вполне годится для личного использования.
Дополнение: анонимный читатель указал, что для пересборки пакета можно также воспользоваться программой pbuilder
, которая позволяет производить сборку в «чистом окружении» и не засорять систему зависимостями для сборки (см. этап получения build-dep).
Оригинал тут