blob: 75062e1a5e08b6558e561256d1077db62dce980e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
|
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Contributor: Timo Teras <timo.teras@iki.fi>
# Maintainer: Timo Teras <timo.teras@iki.fi>
pkgname=asterisk
pkgver=14.2.1
pkgrel=2
pkgdesc="Asterisk: A Module Open Source PBX System"
pkgusers="asterisk"
pkggroups="asterisk"
url="http://www.asterisk.org/"
arch="all"
license="GPL2"
depends=
makedepends="autoconf automake libtool findutils tar wget bsd-compat-headers
ncurses-dev popt-dev newt-dev zlib-dev libedit-dev tiff-dev curl-dev
libressl-dev lua-dev libcap-dev jansson-dev util-linux-dev
sqlite-dev postgresql-dev unixodbc-dev freetds-dev mariadb-dev
alsa-lib-dev pjproject-dev dahdi-tools-dev libpri-dev libsrtp-dev
spandsp-dev libresample speex-dev speexdsp-dev libogg-dev
bluez-dev libxml2-dev imap-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:sample: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-alsa $pkgname-cdr-mysql:cdr_mysql"
_download="http://downloads.asterisk.org/pub/telephony/asterisk/releases"
source="$_download/asterisk-$pkgver.tar.gz
http://dev.alpinelinux.org/~tteras/asterisk-addon-mp3-r201.patch.gz
ASTERISK-24517.patch
fix-strerror_r.patch
musl-mutex-init.patch
restore-multihomed-module.patch
asterisk.initd
asterisk.confd
asterisk.logrotate"
builddir="$srcdir/$pkgname-${pkgver/_/-}"
prepare() {
default_prepare || return 1
# 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
sed -i -e 's:lua5.1/::' pbx/pbx_lua.c
sed -i -e 's/int foo = res_ninit(NULL);/res_ninit_is_not_really_here();/g' configure.ac
./bootstrap.sh
}
build() {
cd "$builddir"
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 \
--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 \
--with-spandsp \
--with-bluetooth \
--with-libcurl \
--with-libedit \
--with-srtp \
--with-imap=system \
|| return 1
# get default modules to build
rm 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 \
menuselect.makeopts
# build
make ASTCFLAGS="$CFLAGS" ASTLDFLAGS="$LDFLAGS" LDCONFIG= || return 1
}
package() {
cd "$builddir"
make -j1 DESTDIR="$pkgdir" LDCONFIG_FLAGS="-n" install || return 1
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
}
_move_dir() {
for DIR in "$@"; do
local dest=`dirname "$subpkgdir/$DIR"`
echo mkdir -p $dest
mkdir -p "$dest"
echo mv "$pkgdir"/$DIR $dest
mv "$pkgdir"/"$DIR" "$dest"
done
}
_find_and_move() {
local pattern="$1"
cd "$pkgdir" || return 1
find . -name "$pattern" -type f | while read f; do
local dest="$subpkgdir/${f%/*}"
mkdir -p "$dest"
mv "$f" "$dest"
done
}
doc() {
default_doc
}
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 || return 1
}
pgsql() {
depends=
install=
_find_and_move '*_pgsql*'
}
odbc() {
depends=
install=
_find_and_move '*odbc*'
}
tds() {
depends=
install=
_find_and_move '*_tds*'
}
fax() {
depends=
install=
_find_and_move '*_fax*'
}
mobile() {
depends=
install=
_find_and_move '*_mobile*'
}
_curl() {
depends=
install=
_find_and_move '*_curl*'
}
cdr_mysql() {
depends=
install=
_find_and_move '*cdr_mysql*'
}
srtp() { _find_and_move '*_srtp*'; }
dahdi() { _find_and_move '*_dahdi*'; }
speex() { _find_and_move '*_speex*'; }
alsa() { _find_and_move '*_alsa*'; }
sample() {
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=
install=
_move_dir var/lib/asterisk/moh
chown -R asterisk:asterisk "$subpkgdir"/var/*/asterisk
}
sound_en() {
pkgdesc="English sound files for asterisk"
depends=
install=
_move_dir var/lib/asterisk/sounds/en
chown -R asterisk:asterisk "$subpkgdir"/var/*/asterisk
}
md5sums="e65daf9b1d65b8047b2117f21587ab35 asterisk-14.2.1.tar.gz
126dd4fba66f4cf9aa94dfd7034e0ec4 asterisk-addon-mp3-r201.patch.gz
5f8eaac5d48c47033028abec56a881a5 ASTERISK-24517.patch
b562be4a764d275dad87682642b56ee3 fix-strerror_r.patch
1ca5e8326dc03c963a7ce5455d0f21ba musl-mutex-init.patch
f7038bbe05b7a32e7408fea7b92f7fc8 restore_multihomed_module.patch
4bdc82ba3d6bdfdedc71e5da2fde5ec2 asterisk.initd
ed31d7ba37bcf8b0346dcf8593c395f0 asterisk.confd
3e65172275684373e1a25c8a11224411 asterisk.logrotate"
sha256sums="b28b5131233db6c89bb3356c703033ec8a393ae378e4aae169993b60a5877ea4 asterisk-14.2.1.tar.gz
d32a5a695cee1699011d0e9ad02eb43af612def06f92017627194099edf98e3f asterisk-addon-mp3-r201.patch.gz
98a49e7241e0c7a7dd814ed472aa1b3be9b1ee3f2966c286fd8a3e11c7c278ae ASTERISK-24517.patch
546c0d60e08a17e7b888baada693a08608c3d4f54709e2959305c4a772bb8158 fix-strerror_r.patch
a5205ed44b57a72934baf8cde543ddb179f277494181818905110bfdcccfe7d9 musl-mutex-init.patch
c65bb73a276824ba8518aaa5f439e7fdbd10ba3b719bec9e848c55cfb8ca853a restore_multihomed_module.patch
10454553733e6cc52c6e9db508768a638655d99c095c5b39fb043858c088f21f asterisk.initd
d221148583b57f9c37d7160f2493f0d204ad11f7abb17e3a3534e108ad5452d7 asterisk.confd
77b253b6db71460acf9a51e87ad4c8582027a46db01a4c50fb048bada58c19d1 asterisk.logrotate"
sha512sums="cac5b9cb94f72cd2d60723ecf3cba15b2d19cbc29a5df6678481699f4f0344aa41d60cbce8bed8c863d5be7d3264c30bac3a90978b5b66ffde5652fa681c842f asterisk-14.2.1.tar.gz
aacef3f4796fb1abd33266998b53909cb4b36e7cc5ad2f7bac68bdc43e9a9072d9a4e2e7e681bddfa31f3d04575eb248afe6ea95da780c67e4829c1e22adfe1b asterisk-addon-mp3-r201.patch.gz
e0b43c8a0a7e041d5853f7508ebff747616d9745449ab4a5d28788fbe076f0e9d49dc7f9e818f5b55fd430c625d1d5ec8d8f7fe6f7c56315f16180ce405cf282 ASTERISK-24517.patch
46f661b5056a571181adfd93a34c836e2df091e1bfd400e0c09794f43b097c4401f47bf8f4b620a1549fa90bf287b3018d803c102c6c7835a67c4c85ea5c2e76 fix-strerror_r.patch
f72c2e04de80d3ed9ce841308101383a1655e6da7a3c888ad31fffe63d1280993e08aefcf8e638316d439c68b38ee05362c87503fca1f36343976a01af9d6eb1 musl-mutex-init.patch
935c25c7b1cdbd376056e20232a0e8c38dd32c344f50306d99930bf7cb37685c31329ead273b08ac9ab76daa9386adfb05b57440e46a39cb80e5542d65e8e3ed restore_multihomed_module.patch
cd5bd1c1d7db0a44b14eb10e6d098af0c6474c8fe1a57395090d6795ac00e9243d004b7d24eba2cfd5bd6d6407c271913e794551a8dfcf3cf93e89fc91349e12 asterisk.initd
ab6b6f08ff43268cbb1abb7ed7d678949991ba495682a644bbaeb017d6adbff0a43297905fd73ae8db1786a28d5b5904f1bc253209a0e388c8a27f26c6ce14ed asterisk.confd
7591d2faf539d05d9ee4e431c78a5e20686721fd79221ad94dffeeaff9282220b09cb9aec214bd7a8d12affaec0276c9c91e6e21af8b6712c0a9502b60b02f2b asterisk.logrotate"
|