Создание DEB-пакетов Asterisk
Добавлено: 22 июл 2021, 15:11
Для чего это - это уже отдельный разговор.
С выходом версии 16.19.0 решил пересобрать пакет и вспомнить старую тему с целью обмена опытом и разбором возможных ошибок.
Через сбор пакетов с помощью dh-make и debhelper у меня ничего не получилось, хотя попался очень интересный репозиторий на гитхабе https://github.com/ossobv/asterisk-deb - репозиторий старый, но рабочий (16.18.2 собирал) - создает несколько пакетов: базовый, модули, конфиги, без конфигов и тп (описание можно глянуть в файле).
Мне это показалось избыточным, но единым пакетом собирать через dh-make и debhelper не получалось. Потом подсказали через checkinstall.
Через него прекрасно собирается пакет, хотя встречал мнение что его возможности сильно урезаны по сравнению с настройками вышеуказанных утилит (пред и пост установочные и удаляемые скрипты и прочие скрипты).
Там всё просто:
При этом утилита предложит задать свою информацию, я указывал (поправьте если что не так):
добавлял свои конфиги и скрипты (выложил для удобства на GitHub), описание из пакета
малость правил файл DEBIAN/control (изменял версию). ПОтом по инструкции добавлял мд5 сумму для новых файлов (хотя так подозреваю не требуется) и собирал новый пакет:
Ну и остался вопрос по зависимостям - какие нужны именно при сборке, а какие для работы Asterisk?
Из скрипта install_prereq собрал список, но не уверен что все нужны для работы:
С выходом версии 16.19.0 решил пересобрать пакет и вспомнить старую тему с целью обмена опытом и разбором возможных ошибок.
Через сбор пакетов с помощью dh-make и debhelper у меня ничего не получилось, хотя попался очень интересный репозиторий на гитхабе https://github.com/ossobv/asterisk-deb - репозиторий старый, но рабочий (16.18.2 собирал) - создает несколько пакетов: базовый, модули, конфиги, без конфигов и тп (описание можно глянуть в файле).
Мне это показалось избыточным, но единым пакетом собирать через dh-make и debhelper не получалось. Потом подсказали через checkinstall.
Через него прекрасно собирается пакет, хотя встречал мнение что его возможности сильно урезаны по сравнению с настройками вышеуказанных утилит (пред и пост установочные и удаляемые скрипты и прочие скрипты).
Там всё просто:
Код: Выделить всё
cd /usr/src
tar https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16.19.0.tar.gz
tar xzf asterisk-16.19.0.tar.gz
cd asterisk-16.19.0
./configure
make menuselect
checkinstall
После этого по другой инструкции разбирал пакет0 - Maintainer: [ Dmitriy Q <dmitry@.....> ]
1 - Summary: [ Open Source Private Branch Exchange (PBX)
Asterisk is an Open Source PBX and telephony toolkit. It is, in a
sense, middleware between Internet and telephony channels on the bottom,
and Internet and telephony applications at the top.
.
Asterisk can be used with Voice over IP (SIP, H.323, IAX and more) standards,
or the Public Switched Telephone Network (PSTN) through supported hardware.
2 - Name: [ asterisk ]
3 - Version: [ 16.19.0 ]
4 - Release: [ atsip18 ]
5 - License: [ GPL ]
6 - Group: [ comm ]
7 - Architecture: [ amd64 ]
8 - Source location: [ asterisk-16.19.0 ]
9 - Alternate source location: [ ]
10 - Requires: [ adduser, libc6, libcap2, libedit2, libgcc1, libjansson4, libpopt0, libsqlite3-0, libssl1.1, libsystemd0, liburiparser1, libuuid1, libxml2, libxslt1.1, lsb-base ]
11 - Provides: [ asterisk ]
12 - Conflicts: [ libspeex1 ]
13 - Replaces: [ ]
Код: Выделить всё
dpkg-deb -x asterisk_16.19.0-atsip18_amd64.deb asterisk_16.19.0/
Код: Выделить всё
dpkg-deb -e ../asterisk_16.19.0-atsip18_amd64.deb ./DEBIAN
Код: Выделить всё
dpkg-deb -b ../asterisk_16.19.0 ../asterisk_16.19.0-atsip19_amd64.deb
Из скрипта install_prereq собрал список, но не уверен что все нужны для работы:
Ну, пиннайте, ругайте что и как было бы лучше сделать))build-essential pkg-config libedit-dev libjansson-dev libsqlite3-dev uuid-dev libxml2-dev libspeex-dev libspeexdsp-dev libogg-dev libvorbis-dev libasound2-dev portaudio19-dev libcurl4-openssl-dev xmlstarlet bison flex libpq-dev unixodbc-dev libneon27-dev libgmime-2.6-dev libgmime-3.0-dev liblua5.2-dev liburiparser-dev libxslt1-dev libssl-dev libvpb-dev libmysqlclient-dev libbluetooth-dev libradcli-dev freetds-dev libosptk-dev libjack-jackd2-dev bash libcap-dev libsnmp-dev libiksemel-dev libcorosync-common-dev libcpg-dev libcfg-dev libnewt-dev libpopt-dev libical-dev libspandsp-dev libresample1-dev libc-client2007e-dev binutils-dev libsrtp0-dev libsrtp2-dev libgsm1-dev doxygen graphviz zlib1g-dev libldap2-dev libcodec2-dev libfftw3-dev libsndfile1-dev libunbound-dev wget subversion bzip2 patch