Как собрать Netatalk 3 для Ubuntu

Если вы вдруг не доверяете моему PPA для Netatalk, этот гайд для вас, мои дорогие параноики ;-)

Для начала идём на актуальную страницу вики проекта Netatalk, в котором указан порядок сборки программы, без сборки пакета. На момент написания поста актуальная версия этой инструкции — здесь.

На момент написания этого поста актуальный список зависимостей сборки устанавливался таким образом:

# apt-get install build-essential libevent-dev libssl-dev libgcrypt-dev libkrb5-dev libpam0g-dev libwrap0-dev libdb-dev libtdb-dev libmysqlclient-dev avahi-daemon libavahi-client-dev libacl1-dev libldap2-dev libcrack2-dev systemtap-sdt-dev libdbus-1-dev libdbus-glib-1-dev libglib2.0-dev tracker libtracker-sparql-1.0-dev libtracker-miner-1.0-dev

За описанием, что зачем надо — ссылка на вики выше. Она на английском, но там всё предельно просто.

Дальше устанавливаем devscripts — коллекцию утилит для правильной сборки пакета Debian, а так же некоторые служебные пакеты для сборки:

# apt-get install devscripts
# apt-get install cdbs debhelper dh-buildinfo d-shlibs

Создаём у себя где-нибудь директорию для всего этого хлама, который нам предстоит собрать. В эту директорию кладём тарболл с исходниками Netatalk (брать на официальном ресурсе проекта), и debian sources для пакета (брать, например у меня в PPA). Распаковываем архив исходников:

$ tar jxfv netatalk-3.1.8.tar.bz2

Переходим в распакованную директорию, и копируем туда исходник дебиановского пакета. Пишем что-нибудь осмысленное в чейнджлог:

$ dch -v 3.1.10 -D xenial

Проверяем необходимость накладывания патчей (актуален на данный момент лишь патч 114_fix_macusers_ps_parsing.patch):

$ vim debian/patches/series

Правим зависимости — они должны совпадать с теми, что есть в вики Netatalk:

$ vim debian/control

Правим сборочный скрипт для пакета — нам нужны опции configure, как в вики!

$ vim debian/rules

Теперь можно собирать сам пакет. Команда debuild — один из вариантов запуска сборки пакета. Другие варианты можно посмотреть, например, здесь.

$ debuild

Если сборка прошла нормально, то вы должны получить кучу файлов, среди которых будет собранный пакет для вашей системы. Если вы хотите поделиться пакетом со всеми, используйте debuild -S для сборки файла исходников, и dput для загрузки файла на сервера Launchpad-а.

Здесь возможен небольшой подводный камень. Так как, вероятно, пакет собирается впервые, то у вас нету OpenGPG-ключа. Он нужен для правильной сборки пакета, например, если вы хотите поделиться им с другими пользователями посредством собственного PPA. Можно использовать мануал типа этого. Подписывание пакета необязательно, если вы его собираетесь использовать исключительно для себя.

Данный мануал и собранный пакет основаны на работе Jay R. Wen, за что ему большое спасибо.

Поделиться
Отправить
Популярное