blob: 0df61011977e322a19bf012a116b433dbf9692bc (
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
|
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Contributor: Timo Teras <timo.teras@iki.fi>
# Maintainer: Timo Teras <timo.teras@iki.fi>
pkgname=asterisk
pkgver=14.3.0
pkgrel=0
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
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 -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 \
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
}
sha512sums="9a3ccbd7dfce18ae7c81f4d005362771443293f295b590242c8754b76a9d6ebd8d9d3d0c0aaef565dcfbf66f020e432a64bc0d65d3bb14220ae88ae0f2e37a69 asterisk-14.3.0.tar.gz
aacef3f4796fb1abd33266998b53909cb4b36e7cc5ad2f7bac68bdc43e9a9072d9a4e2e7e681bddfa31f3d04575eb248afe6ea95da780c67e4829c1e22adfe1b asterisk-addon-mp3-r201.patch.gz
d9156e8a1d9848a8a65ad6cb91f23bcfb47b0e18f92a22f4ec8ae5aedbf8dd3a169ac151ff3aa1b7d595a687ade7ebb598d87cc575a0dd9b46549ede97064c2e ASTERISK-24517.patch
f72c2e04de80d3ed9ce841308101383a1655e6da7a3c888ad31fffe63d1280993e08aefcf8e638316d439c68b38ee05362c87503fca1f36343976a01af9d6eb1 musl-mutex-init.patch
935c25c7b1cdbd376056e20232a0e8c38dd32c344f50306d99930bf7cb37685c31329ead273b08ac9ab76daa9386adfb05b57440e46a39cb80e5542d65e8e3ed restore-multihomed-module.patch
cd5bd1c1d7db0a44b14eb10e6d098af0c6474c8fe1a57395090d6795ac00e9243d004b7d24eba2cfd5bd6d6407c271913e794551a8dfcf3cf93e89fc91349e12 asterisk.initd
ab6b6f08ff43268cbb1abb7ed7d678949991ba495682a644bbaeb017d6adbff0a43297905fd73ae8db1786a28d5b5904f1bc253209a0e388c8a27f26c6ce14ed asterisk.confd
7591d2faf539d05d9ee4e431c78a5e20686721fd79221ad94dffeeaff9282220b09cb9aec214bd7a8d12affaec0276c9c91e6e21af8b6712c0a9502b60b02f2b asterisk.logrotate"
|