257 lines
7.8 KiB
Plaintext
257 lines
7.8 KiB
Plaintext
# Contributor: Duncan Bellamy <dunk@denkimushi.com>
|
|
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
|
|
# Contributor: Timo Teras <timo.teras@iki.fi>
|
|
# Maintainer: Timo Teras <timo.teras@iki.fi>
|
|
pkgname=asterisk
|
|
pkgver=18.15.0
|
|
pkgrel=0
|
|
pkgdesc="Modular Open Source PBX System"
|
|
pkgusers="asterisk"
|
|
pkggroups="asterisk"
|
|
url="https://www.asterisk.org/"
|
|
arch="all"
|
|
license="GPL-2.0-only WITH OpenSSL-Exception"
|
|
options="!check" # Test suite is separate, and require separate build
|
|
makedepends="
|
|
alsa-lib-dev
|
|
bluez-dev
|
|
bsd-compat-headers
|
|
curl-dev
|
|
dahdi-tools-dev
|
|
findutils
|
|
freetds-dev
|
|
imap-dev
|
|
jansson-dev
|
|
libcap-dev
|
|
libedit-dev
|
|
libogg-dev
|
|
libpri-dev
|
|
libresample
|
|
libsrtp-dev
|
|
libtool
|
|
libxml2-dev
|
|
lua-dev
|
|
mariadb-connector-c-dev
|
|
ncurses-dev
|
|
newt-dev
|
|
openssl-dev>3
|
|
opus-dev
|
|
opusfile-dev
|
|
pjproject-dev
|
|
popt-dev
|
|
libpq-dev
|
|
spandsp-dev
|
|
speexdsp-dev
|
|
speex-dev
|
|
sqlite-dev
|
|
tar
|
|
tiff-dev
|
|
unbound-dev
|
|
unixodbc-dev
|
|
util-linux-dev
|
|
zlib-dev
|
|
"
|
|
install="$pkgname.pre-install $pkgname.pre-upgrade"
|
|
subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc $pkgname-pgsql $pkgname-odbc
|
|
$pkgname-tds $pkgname-fax $pkgname-sample-config:config:noarch
|
|
$pkgname-sounds-moh:sound_moh:noarch $pkgname-sounds-en:sound_en:noarch
|
|
$pkgname-mobile $pkgname-curl:_curl $pkgname-srtp $pkgname-dahdi
|
|
$pkgname-speex $pkgname-opus $pkgname-alsa $pkgname-cdr-mysql:cdr_mysql
|
|
$pkgname-openrc"
|
|
|
|
# Using commit from https://github.com/traud/asterisk-opus/commits/asterisk-13.7
|
|
_opus_commit=90e8780faccc79e68c07775c6ab2fe1ffaccfa08
|
|
_download="https://downloads.asterisk.org/pub/telephony/asterisk/releases"
|
|
source="$_download/asterisk-$pkgver.tar.gz
|
|
https://dev.alpinelinux.org/~tteras/asterisk-addon-mp3-r201.patch.gz
|
|
asterisk-13.7-$_opus_commit.tar.gz::https://github.com/traud/asterisk-opus/archive/$_opus_commit.tar.gz
|
|
10-musl-mutex-init.patch
|
|
20-musl-astmm-fix.patch
|
|
30-asterisk-mariadb.patch
|
|
40-asterisk-cdefs.patch
|
|
asterisk.initd
|
|
asterisk.confd
|
|
asterisk.logrotate
|
|
"
|
|
|
|
# secfixes:
|
|
# 18.11.2-r0:
|
|
# - CVE-2022-26498
|
|
# - CVE-2022-26499
|
|
# - CVE-2022-26651
|
|
# 18.2.2-r2:
|
|
# - CVE-2021-32558
|
|
# 18.2.1-r0:
|
|
# - CVE-2021-26712
|
|
# - CVE-2021-26713
|
|
# - CVE-2021-26717
|
|
# - CVE-2021-26906
|
|
# 18.1.1-r0:
|
|
# - CVE-2020-35652
|
|
# - CVE-2020-35776
|
|
# 18.0.1-r0:
|
|
# - CVE-2020-28327
|
|
# 16.6.2-r0:
|
|
# - CVE-2019-18610
|
|
# - CVE-2019-18790
|
|
# 16.5.1-r0:
|
|
# - CVE-2019-15297
|
|
# - CVE-2019-15639
|
|
# 16.4.1-r0:
|
|
# - CVE-2019-12827
|
|
# 16.3.0-r0:
|
|
# - CVE-2019-7251
|
|
# 15.7.1-r0:
|
|
# - CVE-2018-19278
|
|
|
|
prepare() {
|
|
default_prepare
|
|
update_config_guess
|
|
|
|
# asteriskssl does not have direct references to libssl, but looks up
|
|
# symbols from it using dlsym(RTLD_NEXT), so use --no-as-needed for it.
|
|
sed -i -e 's/ASTSSL_LIBS:=$(OPENSSL_LIB)/ASTSSL_LIBS:=-Wl,--no-as-needed $(OPENSSL_LIB) -Wl,--as-needed/g' main/Makefile
|
|
|
|
# copy codec_opus_open_source files
|
|
# res/* and include/asterisk/* are not needed as asterisk is new enough
|
|
cp --verbose ../asterisk-opus*/codecs/* codecs
|
|
}
|
|
|
|
build() {
|
|
SHA1SUM="$PWD"/build_tools/sha1sum-sh ./configure \
|
|
--build=$CBUILD \
|
|
--host=$CHOST \
|
|
--prefix=/usr \
|
|
--sysconfdir=/etc \
|
|
--mandir=/usr/share/man \
|
|
--infodir=/usr/share/info \
|
|
--libdir=/usr/lib \
|
|
--localstatedir=/var \
|
|
--disable-xmldoc \
|
|
--enable-permanent-dlopen \
|
|
--with-gsm=internal \
|
|
--with-popt \
|
|
--with-z \
|
|
--with-newt \
|
|
--with-unixodbc \
|
|
--with-postgres \
|
|
--with-tds \
|
|
--with-dahdi \
|
|
--with-pri \
|
|
--with-tonezone \
|
|
--with-resample \
|
|
--with-sqlite3 \
|
|
--with-speex \
|
|
--with-asound \
|
|
--without-x11 \
|
|
--without-pjproject-bundled \
|
|
--with-spandsp \
|
|
--with-bluetooth \
|
|
--with-libcurl \
|
|
--with-libedit \
|
|
--with-srtp \
|
|
--with-imap=system \
|
|
--with-opus \
|
|
--with-opusfile \
|
|
CFLAGS="$CFLAGS -DENABLE_SRTP_AES_256"
|
|
|
|
# get default modules to build
|
|
rm -f menuselect.makeopts
|
|
make menuselect.makeopts
|
|
|
|
# and add the non-default modules we need
|
|
./menuselect/menuselect \
|
|
--enable chan_mobile \
|
|
--enable app_meetme \
|
|
--enable cdr_mysql \
|
|
--disable BUILD_NATIVE \
|
|
--enable codec_opus_open_source \
|
|
--enable app_macro \
|
|
--enable CORE-SOUNDS-RU-ULAW \
|
|
--enable CORE-SOUNDS-RU-ALAW \
|
|
menuselect.makeopts
|
|
|
|
# build
|
|
make LDCONFIG=
|
|
}
|
|
|
|
package() {
|
|
make DESTDIR="$pkgdir" LDCONFIG_FLAGS="-n" install
|
|
make DESTDIR="$pkgdir" install-headers
|
|
|
|
install -d "$pkgdir"/var/run/asterisk
|
|
install -d "$pkgdir"/var/lib/asterisk
|
|
|
|
install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
|
|
install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
|
|
install -m644 -D "$srcdir"/$pkgname.logrotate \
|
|
"$pkgdir"/etc/logrotate.d/$pkgname
|
|
|
|
chown -R asterisk:asterisk "$pkgdir"/var/*/asterisk
|
|
chown -R asterisk:asterisk "$pkgdir"/etc/asterisk
|
|
chmod -R u=rwX,g=rX,o= "$pkgdir"/etc/asterisk
|
|
|
|
# let alpine-baselayout set permissions of /tmp
|
|
rm -r "$pkgdir"/tmp
|
|
}
|
|
|
|
dev() {
|
|
default_dev
|
|
depends="asterisk"
|
|
|
|
# move back the /usr/lib/libasteriskssl.so symlink, asterisk needs it
|
|
# see http://bugs.alpinelinux.org/issues/6393
|
|
mv "$subpkgdir"/usr/lib/libasteriskssl.so "$pkgdir"/usr/lib/libasteriskssl.so
|
|
}
|
|
|
|
pgsql() { amove usr/lib/asterisk/modules/*_pgsql*; }
|
|
odbc() { amove usr/lib/asterisk/modules/*_odbc*; }
|
|
tds() { amove usr/lib/asterisk/modules/*_tds*; }
|
|
fax() { amove usr/lib/asterisk/modules/*_fax*; }
|
|
mobile() { amove usr/lib/asterisk/modules/*_mobile*; }
|
|
_curl() { amove usr/lib/asterisk/modules/*_curl*; }
|
|
cdr_mysql() { amove usr/lib/asterisk/modules/*cdr_mysql*; }
|
|
srtp() { amove usr/lib/asterisk/modules/*_srtp*; }
|
|
dahdi() { amove usr/lib/asterisk/modules/*_dahdi*; }
|
|
speex() { amove usr/lib/asterisk/modules/*_speex*; }
|
|
opus() { amove usr/lib/asterisk/modules/codec_opus_open_source.so; }
|
|
alsa() { amove usr/lib/asterisk/modules/*_alsa*; }
|
|
|
|
config() {
|
|
pkgdesc="Sample configuration files for asterisk"
|
|
cd "$builddir"
|
|
mkdir -p "$subpkgdir"/var/lib/asterisk/phoneprov
|
|
make -j1 samples DESTDIR="$subpkgdir"
|
|
|
|
chown -R asterisk:asterisk "$subpkgdir"/var/*/asterisk
|
|
chown -R asterisk:asterisk "$subpkgdir"/etc/asterisk
|
|
chmod -R u=rwX,g=rX,o= "$subpkgdir"/etc/asterisk
|
|
}
|
|
|
|
sound_moh() {
|
|
pkgdesc="Default on-hold music files for asterisk"
|
|
depends=
|
|
amove var/lib/asterisk/moh
|
|
chown -R asterisk:asterisk "$subpkgdir"/var/*/asterisk
|
|
}
|
|
|
|
sound_en() {
|
|
pkgdesc="English sound files for asterisk"
|
|
depends=
|
|
amove var/lib/asterisk/sounds/en
|
|
chown -R asterisk:asterisk "$subpkgdir"/var/*/asterisk
|
|
}
|
|
|
|
sha512sums="
|
|
acf202246e149ddc44ffb688a834455420d6ab53989560568cdccf0da121821ee946c45085c964b52632e24109741908d3f4c00ca00d0b4a9402c128becd9e28 asterisk-18.15.0.tar.gz
|
|
aacef3f4796fb1abd33266998b53909cb4b36e7cc5ad2f7bac68bdc43e9a9072d9a4e2e7e681bddfa31f3d04575eb248afe6ea95da780c67e4829c1e22adfe1b asterisk-addon-mp3-r201.patch.gz
|
|
69d82b878728f99b7bf7e862025cbc01aa5b6b9332a5372059ea89a788c66fd351f1103989b3573a7a4ba9ff533f3ee2ff5d88de938440e05d6246e41a882306 asterisk-13.7-90e8780faccc79e68c07775c6ab2fe1ffaccfa08.tar.gz
|
|
771237ba6d42ab62d914f2702234b23fd0bc8c22f2aa33b0e745c9170163c8046f6d48ecb299faab3d6fb397f1aa046421083c3cc88510c9779861c522f357dd 10-musl-mutex-init.patch
|
|
0fae11b42894ab3d405bc50e9275b9084712b482fbf9b4259ea938667fc5cbe413655f3ff83da0f607151bb2b6e49c2f741b5ada6944dbb478f076ef8d86380a 20-musl-astmm-fix.patch
|
|
616de74bdd3c4a6e899128c73e31f5ff219095d2afe321f85a51f518ec2e9dac9b63396eed8e2568c295f1beb90f9a506c72d28211a973b35185bfffd24af37e 30-asterisk-mariadb.patch
|
|
ba33f11169284f190b7dabab1da7d2751cb65d7976408db635a892fa17d7552e1660350017e7aada3464ecc7d9d6e99d6ad76d66c0036de062a386cffbc948e6 40-asterisk-cdefs.patch
|
|
0044c5db468ec8f2385d18d476f89976f6d036448583a4ef8017ce7a6f8f72105337e6b20037ffe47f561d2877fc9c86720aef23ab037df89b36dc140a5924c4 asterisk.initd
|
|
ab6b6f08ff43268cbb1abb7ed7d678949991ba495682a644bbaeb017d6adbff0a43297905fd73ae8db1786a28d5b5904f1bc253209a0e388c8a27f26c6ce14ed asterisk.confd
|
|
449b5808d90c813c23432274fba47e53227e3a924a55719d2f9e5a90fd2dfb33660a5c85c7e8f11fbb1cd93387e5c68329ed5583f7a64c2451fadad62a9f87dd asterisk.logrotate
|
|
"
|