ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Создание DEB-пакетов Asterisk

Раздел для разработчиков для обсуждения программных и аппаратных продуктов и их реализации.

Модераторы: april22, Zavr2008

Создание DEB-пакетов Asterisk

Сообщение Kroteg » 22 июл 2021, 16:11

Для чего это - это уже отдельный разговор.
С выходом версии 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/

добавлял свои конфиги и скрипты (выложил для удобства на GitHub), описание из пакета
Код: выделить все
dpkg-deb -e ../asterisk_16.19.0-atsip18_amd64.deb ./DEBIAN

малость правил файл DEBIAN/control (изменял версию). ПОтом по инструкции добавлял мд5 сумму для новых файлов (хотя так подозреваю не требуется) и собирал новый пакет:
Код: выделить все
dpkg-deb -b ../asterisk_16.19.0 ../asterisk_16.19.0-atsip19_amd64.deb

Ну и остался вопрос по зависимостям - какие нужны именно при сборке, а какие для работы Asterisk?
Из скрипта 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

Ну, пиннайте, ругайте что и как было бы лучше сделать))
Изображение
Аватар пользователя
Kroteg
 
Сообщений: 195
Зарегистрирован: 11 янв 2018, 14:51

Re: Создание DEB-пакетов Asterisk

Сообщение AndyBack » 30 авг 2021, 02:56

А есть у кого опыт создания бинарных deb пакетов со всеми зависимостями, необходимыми для работы? Чтобы не таскать на сервер инфраструктуру нужную для сборки.
AndyBack
 
Сообщений: 40
Зарегистрирован: 31 авг 2018, 23:03


Re: Создание DEB-пакетов Asterisk

Сообщение Kroteg » 08 авг 2023, 12:10

Зависимости для сборки:
Код: выделить все
autoconf automake binutils-dev dahdi-source debhelper-compat (= 13) default-libmysqlclient-dev freetds-dev libasound2-dev libavcodec-dev libavdevice-dev libbluetooth-dev [linux-any] libc-client2007e-dev libcap-dev [linux-any] libcodec2-dev libcurl4-openssl-dev libedit-dev libfftw3-dev libgmime-3.0-dev libgsm1-dev libical-dev libiksemel-dev libjack-dev libjansson-dev libldap-dev liblua5.2-dev libncurses-dev libneon27-dev libnewt-dev libogg-dev libopencore-amrnb-dev libopencore-amrwb-dev libopenr2-dev [linux-any] libopus-dev libopusfile-dev libpopt-dev libpq-dev libpri-dev libradcli-dev libreadline-dev libresample1-dev libsdl-image1.2-dev libsndfile1-dev libsnmp-dev libspandsp-dev libspeex-dev libspeexdsp-dev libsqlite3-dev libsrtp2-dev libss7-dev libssl-dev libswscale-dev libsystemd-dev [linux-any] libtonezone-dev [linux-any] libunbound-dev liburiparser-dev libvo-amrwbenc-dev libvorbis-dev libxml2-dev libxslt1-dev perl portaudio19-dev unixodbc-dev uuid-dev zlib1g-dev
Изображение
Аватар пользователя
Kroteg
 
Сообщений: 195
Зарегистрирован: 11 янв 2018, 14:51


Вернуться в Разработка

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH