asterisk/asterisk.spec

Sun, 05 Jun 2011 11:43:33 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sun, 05 Jun 2011 11:43:33 +0200
changeset 347
10bd406e1c51
parent 318
62f6047fe81a
child 348
062212fbda04
permissions
-rw-r--r--

Update, correct, and add new config logic including fax and license paths.

michael@202 1 ##
michael@202 2 ## asterisk.spec -- OpenPKG RPM Package Specification
michael@311 3 ## Copyright (c) 2000-2009 OpenPKG Foundation e.V. <http://openpkg.net/>
michael@202 4 ##
michael@202 5 ## Permission to use, copy, modify, and distribute this software for
michael@202 6 ## any purpose with or without fee is hereby granted, provided that
michael@202 7 ## the above copyright notice and this permission notice appear in all
michael@202 8 ## copies.
michael@202 9 ##
michael@202 10 ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
michael@202 11 ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
michael@202 12 ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
michael@202 13 ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
michael@202 14 ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
michael@202 15 ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
michael@202 16 ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
michael@202 17 ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
michael@202 18 ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
michael@202 19 ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
michael@202 20 ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
michael@202 21 ## SUCH DAMAGE.
michael@202 22 ##
michael@202 23
michael@310 24 # package version
michael@347 25 %define V_opkg 1.8.4.2
michael@347 26 %define V_asterisk 1.8.4.2
michael@347 27 %define V_asterisk_fax_subdir 1.8.4
michael@347 28 %define V_asterisk_fax_digium 1.8.4_1.3.0
michael@347 29 %define V_asterisk_sounds_core 1.4.21
michael@311 30 %define V_asterisk_sounds_extra 1.4.11
michael@311 31 %define V_asterisk_sounds_amoogab 1.4
michael@311 32 %define V_asterisk_sounds_amootts current
michael@311 33 %define V_asterisk_sounds_custom 1.0
michael@311 34 %define V_asterisk_sounds_mohop 2.03
michael@311 35 %define V_asterisk_addons_mp3dec 1
michael@311 36 %define V_fswitch_sounds_en 1.0.14
michael@311 37 %define V_fswitch_sounds_ru 1.0.12
michael@311 38 %define V_fswitch_music 1.0.8
michael@311 39 %define V_asterisk_codecs_ilbc 20110104
michael@311 40 %define V_chan_capi 1.1.5.919
michael@202 41
michael@202 42 # package information
michael@202 43 Name: asterisk
michael@310 44 Summary: Private Branch Exchange (PBX)
michael@202 45 URL: http://www.asterisk.org/
michael@202 46 Vendor: Mark Spencer et al.
michael@310 47 Packager: OpenPKG Foundation e.V.
michael@310 48 Distribution: OpenPKG Community
michael@310 49 Class: BASE
michael@202 50 Group: VoIP
michael@202 51 License: GPL
michael@310 52 Version: %{V_opkg}
michael@347 53 Release: 20110602
michael@202 54
michael@202 55 # package options
michael@310 56 %option with_dahdi no
michael@310 57 %option with_capi no
michael@310 58 %option with_ogg no
michael@310 59 %option with_mp3 no
michael@310 60 %option with_fax no
michael@310 61 %option with_avcodec no
michael@310 62 %option with_ldap no
michael@310 63 %option with_radius no
michael@310 64 %option with_sqlite no
michael@311 65 %option with_srtp no
michael@311 66 %option with_pgsql no
michael@310 67 %option with_lua no
michael@310 68 %option with_jabber no
michael@310 69 %option with_imap no
michael@310 70 %option with_odbc no
michael@311 71 %option with_libpri no
michael@311 72 %option with_esounds no
michael@311 73 %option with_xfersips yes
michael@311 74 %option with_proxymwi yes
michael@311 75 %option with_smdipoll 10
michael@202 76
michael@202 77 # list of sources
michael@310 78 Source0: http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-%{V_asterisk}.tar.gz
michael@311 79 Source1: ftp://ftp.chan-capi.org/chan-capi/chan_capi-%{V_chan_capi}.tar.gz
michael@311 80 Source2: ftp://ftp.europalab.com/pub/sfw/machsnds/asterisk-moh-freeplay-sln16.tar.gz
michael@311 81 Source3: http://downloads.asterisk.org/pub/telephony/sounds/releases/asterisk-moh-opsound-sln16-%{V_asterisk_sounds_mohop}.tar.gz
michael@311 82 Source4: http://downloads.asterisk.org/pub/telephony/sounds/releases/asterisk-core-sounds-en-sln16-%{V_asterisk_sounds_core}.tar.gz
michael@311 83 Source5: http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-en_AU-sln16-current.tar.gz
michael@311 84 Source6: http://downloads.asterisk.org/pub/telephony/sounds/releases/asterisk-core-sounds-es-sln16-%{V_asterisk_sounds_core}.tar.gz
michael@311 85 Source7: http://downloads.asterisk.org/pub/telephony/sounds/releases/asterisk-core-sounds-fr-sln16-%{V_asterisk_sounds_core}.tar.gz
michael@311 86 Source8: http://downloads.asterisk.org/pub/telephony/sounds/releases/asterisk-extra-sounds-en-sln16-%{V_asterisk_sounds_extra}.tar.gz
michael@311 87 Source9: http://downloads.asterisk.org/pub/telephony/sounds/releases/asterisk-extra-sounds-fr-sln16-%{V_asterisk_sounds_extra}.tar.gz
michael@311 88 Source10: http://www.amooma.de/asterisk/sprachbausteine/asterisk-%{V_asterisk_sounds_amoogab}-de-prompts.tar.gz
michael@311 89 Source11: http://www.amooma.de/asterisk/sprachbausteine/asterisk-core-sounds-de-gsm-current.tar.gz
michael@311 90 Source12: ftp://ftp.europalab.com/pub/sfw/machsnds/de-digits/de-digits-%{V_asterisk_sounds_custom}.tar.bz2
michael@311 91 Source13: ftp://ftp.europalab.com/pub/sfw/machsnds/de-sounds/astmultisnds-de-sln16-%{V_asterisk_sounds_custom}.tar.bz2
michael@311 92 Source14: ftp://ftp.europalab.com/pub/sfw/machsnds/msvbsnds-sln16-%{V_asterisk_sounds_custom}.tar.bz2
michael@311 93 Source15: http://files.freeswitch.org/freeswitch-sounds-en-us-callie-48000-%{V_fswitch_sounds_en}.tar.gz
michael@311 94 Source16: http://files.freeswitch.org/freeswitch-sounds-es-mx-maria-44100.tar.gz
michael@311 95 Source17: http://files.freeswitch.org/freeswitch-sounds-ru-RU-elena-48000-%{V_fswitch_sounds_ru}.tar.gz
michael@311 96 Source18: http://files.freeswitch.org/freeswitch-sounds-music-48000-%{V_fswitch_music}.tar.gz
michael@311 97 Source19: http://svn.digium.com/svn/thirdparty/mp3/trunk/addons/mp3-%{V_asterisk_addons_mp3dec}.tar.gz
michael@347 98 Source20: http://downloads.digium.com/pub/telephony/fax/res_fax_digium/asterisk-%{V_asterisk_fax_subdir}/x86-64/res_fax_digium-%{V_asterisk_fax_digium}-generic_64.tar.gz
michael@347 99 Source21: http://downloads.digium.com/pub/telephony/fax/res_fax_digium/asterisk-%{V_asterisk_fax_subdir}/x86-32/res_fax_digium-%{V_asterisk_fax_digium}-generic_32.tar.gz
michael@311 100 Source22: ilbc-20110104.tar.gz
michael@311 101 Source23: asterisk.txt
michael@311 102 Source24: rc.asterisk
michael@311 103 Source25: wakeup.agi
michael@202 104 Patch0: asterisk.patch
michael@311 105 Patch1: asterisk.patch.xfersips
michael@311 106 Patch2: asterisk.patch.proxymwi
michael@202 107
michael@202 108 # build information
michael@311 109 Prefix: %{l_prefix}
michael@311 110 BuildRoot: %{l_buildroot}
michael@347 111 BuildPreReq: OpenPKG, openpkg >= 20040130, bison, gcc, make, grep, pkgconfig
michael@311 112 PreReq: OpenPKG, openpkg >= 20040130, MTA
michael@311 113 BuildPreReq: zlib, curl, openssl, ncurses, speex, sox, popt, gmime, libxml
michael@311 114 PreReq: zlib, curl, openssl, ncurses, speex, sox, popt, gmime, libxml
michael@310 115 %if "%{with_ogg}" == "yes"
michael@310 116 BuildPreReq: vorbis-libs
michael@310 117 PreReq: vorbis-libs
michael@310 118 %endif
michael@310 119 %if "%{with_mp3}" == "yes"
michael@310 120 PreReq: mpg123
michael@310 121 %endif
michael@310 122 %if "%{with_imap}" == "yes"
michael@310 123 BuildPreReq: imap
michael@310 124 PreReq: imap
michael@310 125 %endif
michael@310 126 %if "%{with_sqlite}" == "yes"
michael@310 127 BuildPreReq: sqlite
michael@310 128 PreReq: sqlite
michael@310 129 %endif
michael@311 130 %if "%{with_srtp}" == "yes"
michael@311 131 BuildPreReq: srtp
michael@311 132 PreReq: srtp
michael@311 133 %endif
michael@311 134 %if "%{with_pgsql}" == "yes"
michael@311 135 BuildPreReq: postgresql
michael@311 136 PreReq: postgresql
michael@311 137 %endif
michael@310 138 %if "%{with_lua}" == "yes"
michael@310 139 BuildPreReq: lua
michael@310 140 PreReq: lua
michael@310 141 %endif
michael@310 142 %if "%{with_avcodec}" == "yes"
michael@310 143 BuildPreReq: ffmpeg
michael@310 144 PreReq: ffmpeg
michael@310 145 %endif
michael@310 146 %if "%{with_ldap}" == "yes"
michael@310 147 BuildPreReq: openldap
michael@310 148 PreReq: openldap
michael@202 149 %endif
michael@202 150 %if "%{with_radius}" == "yes"
michael@202 151 BuildPreReq: radiusclient
michael@202 152 PreReq: radiusclient
michael@202 153 %endif
michael@310 154 %if "%{with_jabber}" == "yes"
michael@310 155 BuildPreReq: iksemel
michael@310 156 PreReq: iksemel
michael@202 157 %endif
michael@310 158 %if "%{with_odbc}" == "yes"
michael@310 159 BuildPreReq: unixodbc, sqlite, sqlite::with_odbc = yes
michael@310 160 PreReq: unixodbc, sqlite, sqlite::with_odbc = yes
michael@202 161 %endif
michael@311 162 %if "%{with_libpri}" == "yes"
michael@311 163 BuildPreReq: libpri > 1.4.11.5
michael@311 164 PreReq: libpri > 1.4.11.5
michael@311 165 %endif
michael@311 166 %if "%{with_esounds}" == "yes"
michael@311 167 BuildPreReq: sox
michael@311 168 %endif
michael@311 169 AutoReq: no
michael@311 170 AutoReqProv: no
michael@202 171
michael@202 172 %description
michael@202 173 Asterisk is a complete Private Branch Exchange (PBX) in software.
michael@311 174 It provides more than the features normally expected from a PBX,
michael@311 175 and can transceive Voice over IP (VoIP) in many protocols. Asterisk
michael@311 176 provides voicemail services with directory, call conferencing,
michael@311 177 interactive voice response and call queuing as well. It has support
michael@311 178 for three way calling, caller ID, ADSI, and SIP, and requires no
michael@311 179 additional hardware for VoIP applications.
michael@311 180
michael@311 181 This copy of Asterisk is optionally patched to allow the asterisk
michael@311 182 server to respond to SIP/TLS transfer requests using the Transfer()
michael@311 183 application. Should this option be chosen, the asterisk server
michael@311 184 successfully dispatches all transfer destinations using 'SIPS'
michael@311 185 technology by means of the standard SIP/2.0 302 Moved Temporarily
michael@311 186 message, with a URI resembling <sips:extension@hostname.tld:port>.
michael@311 187
michael@311 188 This copy of Asterisk is optionally patched as well to enclose the
michael@311 189 correct user name in NOTIFY messages when MWI logic detects changes
michael@311 190 in the state of Messages-Waiting. Asterisk will send NOTIFY messages
michael@311 191 with the URI 'user@hostname' instead of simply 'hostname'. This can
michael@311 192 be used by a external SIP proxy to route the MWI to the correct phone.
michael@202 193
michael@202 194 %track
michael@202 195 prog asterisk = {
michael@310 196 version = %{V_asterisk}
michael@310 197 url = http://downloads.asterisk.org/pub/telephony/asterisk/releases/
michael@310 198 regex = asterisk-(\d+\.\d+(\.\d+)+)\.tar\.gz
michael@310 199 }
michael@311 200 prog asterisk:fax_digium_32 = {
michael@311 201 version = %{V_asterisk_fax_digium}
michael@311 202 url = http://downloads.digium.com/pub/telephony/fax/res_fax_digium/asterisk-1.8.0/x86-32/
michael@311 203 regex = res_fax_digium-(__VER__)-generic_32.tar.gz\.tar\.gz
michael@310 204 }
michael@311 205 prog asterisk:fax_digium_64 = {
michael@311 206 version = %{V_asterisk_fax_digium}
michael@311 207 url = http://downloads.digium.com/pub/telephony/fax/res_fax_digium/asterisk-1.8.0/x86-64/
michael@311 208 regex = res_fax_digium-(__VER__)-generic_64.tar.gz\.tar\.gz
michael@311 209 }
michael@311 210 prog asterisk:sounds_core = {
michael@311 211 version = %{V_asterisk_sounds_core}
michael@310 212 url = http://downloads.asterisk.org/pub/telephony/sounds/releases/
michael@311 213 regex = asterisk-core-sounds-en-sln16-(\d+\.\d+(\.\d+)+)\.tar\.gz
michael@310 214 }
michael@311 215 prog asterisk:sounds_extra = {
michael@311 216 version = %{V_asterisk_sounds_extra}
michael@310 217 url = http://downloads.asterisk.org/pub/telephony/sounds/releases/
michael@311 218 regex = asterisk-extra-sounds-en-sln16-(\d+\.\d+(\.\d+)+)\.tar\.gz
michael@310 219 }
michael@311 220 prog asterisk:sounds_amootts = {
michael@311 221 version = %{V_asterisk_sounds_amootts}
michael@310 222 url = http://www.amooma.de/asterisk/sprachbausteine/
michael@310 223 regex = asterisk-core-sounds-de-gsm-(__VER__)\.tar\.gz
michael@310 224 }
michael@311 225 prog asterisk:sounds_amoogab = {
michael@311 226 version = %{V_asterisk_sounds_amoogab}
michael@311 227 url = http://www.amooma.de/asterisk/sprachbausteine/
michael@311 228 regex = asterisk-(__VER__)-de-prompts\.tar\.gz
michael@311 229 }
michael@311 230 prog asterisk:sounds_digits = {
michael@311 231 version = %{V_asterisk_sounds_custom}
michael@311 232 url = ftp://ftp.europalab.com/pub/sfw/machsnds/de-digits/
michael@311 233 regex = de-digits-(__VER__)\.tar\.bz2
michael@311 234 }
michael@311 235 prog asterisk:sounds_custom = {
michael@311 236 version = %{V_asterisk_sounds_custom}
michael@311 237 url = ftp://ftp.europalab.com/pub/sfw/machsnds/de-sounds/
michael@311 238 regex = astmultisnds-de-sln16-(__VER__)\.tar\.bz2
michael@311 239 }
michael@311 240 prog asterisk:sounds_mohop = {
michael@311 241 version = %{V_asterisk_sounds_mohop}
michael@311 242 url = http://downloads.asterisk.org/pub/telephony/sounds/releases/
michael@311 243 regex = asterisk-moh-opsound-sln16-(__VER__)\.tar\.gz
michael@311 244 }
michael@310 245 prog asterisk:chan_capi = {
michael@310 246 version = %{V_chan_capi}
michael@310 247 url = ftp://ftp.chan-capi.org/chan-capi/
michael@310 248 regex = chan_capi-(__VER__)\.tar\.gz
michael@202 249 }
michael@202 250
michael@202 251 %prep
michael@310 252 %setup -q -n asterisk-%{V_asterisk}
michael@310 253 %setup -q -n asterisk-%{V_asterisk} -D -T -a 1
michael@311 254 %setup -q -n asterisk-%{V_asterisk} -D -T -a 2
michael@311 255 %if "%{with_fax}" == "yes"
michael@311 256 %setup -q -n asterisk-%{V_asterisk} -D -T -a 20
michael@311 257 %setup -q -n asterisk-%{V_asterisk} -D -T -a 21
michael@311 258 %endif
michael@311 259 ( cd addons
michael@311 260 %{l_tar} zxf %{_sourcedir}/mp3-%{V_asterisk_addons_mp3dec}.tar.gz
michael@311 261 ) || exit $?
michael@311 262 ( cd codecs
michael@311 263 %{l_tar} zxf %{_sourcedir}/ilbc-%{V_asterisk_codecs_ilbc}.tar.gz
michael@311 264 mv ilbc-%{V_asterisk_codecs_ilbc}/* ilbc/
michael@311 265 rmdir ilbc-%{V_asterisk_codecs_ilbc}
michael@311 266 ) || exit $?
michael@202 267 %patch -p0
michael@311 268 %if "%{with_xfersips}" == "yes"
michael@311 269 %patch -p0 -P 1
michael@311 270 %endif
michael@311 271 %if "%{with_proxymwi}" == "yes"
michael@311 272 %patch -p0 -P 2
michael@311 273 %endif
michael@310 274 %{l_shtool} subst \
michael@311 275 -e 's;\(astdatadir=.*\)\${astvarlibdir};\1${datadir};' \
michael@311 276 -e 's;\(astvarlibdir=.*\)/lib/asterisk;\1/asterisk/lib;' \
michael@311 277 -e 's;\(dir=.*{localstatedir}\)/\([^/][^/]*\)/asterisk;\1/asterisk/\2;g' \
michael@311 278 configure
michael@311 279 %{l_shtool} subst \
michael@311 280 -e 's;ffmpeg/avcodec\.h;libavcodec/avcodec.h;' \
michael@311 281 -e 's;\(sqlite\)\(_exec\);\13\2;g' \
michael@311 282 -e 's;-lradiusclient-ng;-lradiusclient;g' \
michael@311 283 -e 's;radiusclient-ng\.h;radiusclient.h;g' \
michael@311 284 -e 's;-I${IMAP_TK_DIR}/c-client;-DUSE_SYSTEM_IMAP -I${IMAP_TK_DIR}/include/imap;g' \
michael@311 285 -e 's;${IMAP_TK_DIR}/c-client/c-client\.a;-limap -lssl -lcrypto -lcrypt;g' \
michael@311 286 configure
michael@311 287 %{l_shtool} subst \
michael@311 288 -e 's;\(sh\) \(bash\) ksh sh5;\2 \1;' \
michael@311 289 configure
michael@311 290 %{l_shtool} subst \
michael@311 291 -e 's;^\(#define DEFAULT_DB .*\${ASTDBDIR}\)/astdb;\1/asterisk.db;' \
michael@311 292 build_tools/make_defaults_h
michael@311 293 %{l_shtool} subst \
michael@311 294 -e 's; *-I/usr/local/ssl/include;;g' \
michael@311 295 -e 's;/opt/ssl/include;%{l_prefix}/include;g' \
michael@311 296 -e 's;/usr/local;%{l_prefix};g' \
michael@311 297 Makefile
michael@311 298 %{l_shtool} subst \
michael@311 299 -e 's;\$(SUBMAKE);$(MAKE);g' \
michael@311 300 -e 's;\$(SILENTMAKE);$(MAKE) --quiet --no-print-directory;g' \
michael@311 301 -e 's;\$(MAKE_MENUSELECT); $(MAKE) -C menuselect;g' \
michael@311 302 Makefile
michael@311 303 %{l_shtool} subst \
michael@311 304 -e 's; *-L/usr/local/ssl/lib;;g' \
michael@311 305 -e 's;/opt/ssl/lib;%{l_prefix}/lib;g' \
michael@311 306 -e 's;/usr/local;%{l_prefix};g' \
michael@311 307 -e 's;\(ASTLINK=\)$;\1-Wl,--export-dynamic;g' \
michael@311 308 -e 's;\( CFLAGS=\)"[^"]+";"%{l_cflags -O}";g' \
michael@311 309 main/Makefile
michael@311 310 %{l_shtool} subst \
michael@311 311 -e 's;\(<defaultenabled>\)no\(</defaultenabled>\);\1yes\2;g' \
michael@311 312 addons/.*.moduleinfo \
michael@311 313 apps/.app_ivrdemo.moduleinfo \
michael@311 314 apps/.app_saycounted.moduleinfo \
michael@311 315 apps/.app_rpt.moduleinfo \
michael@311 316 codecs/.moduleinfo \
michael@311 317 utils/utils.xml \
michael@311 318 agi/agi.xml
michael@311 319 %{l_shtool} subst \
michael@311 320 -e 's;check_expr2;check_expr;g' \
michael@311 321 utils/utils.xml
michael@311 322 %{l_shtool} subst \
michael@311 323 -e 's;\(-DSOLARIS\);\1 -D__EXTENSIONS__=1;g' \
michael@311 324 main/editline/Makefile.in \
michael@311 325 main/db1-ast/Makefile
michael@311 326 %{l_shtool} subst \
michael@311 327 -e 's;%s/astdb;%s/asterisk.db;g' \
michael@311 328 main/asterisk.c
michael@311 329 %{l_shtool} subst \
michael@311 330 -e 's;u_int\([0-9]*\)_t;uint\1_t;g' \
michael@311 331 main/db1-ast/hash/hash.h
michael@311 332 %{l_shtool} subst \
michael@311 333 -e 's;if \(((tmp = strchr(name\);while \1;g' \
michael@311 334 main/abstract_jb.c
michael@311 335 %{l_shtool} subst \
michael@311 336 -e 's;\(CORE_SOUNDS_VERSION\):=.*$;\1:=%{V_asterisk_sounds_core};' \
michael@311 337 -e 's;\(EXTRA_SOUNDS_VERSION\):=.*$;\1:=%{V_asterisk_sounds_extra};' \
michael@310 338 sounds/Makefile
michael@310 339 %{l_shtool} subst \
michael@311 340 -e 's;\(/etc/radiusclient-ng/radiusclient.conf\);%{l_prefix}\1;g' \
michael@311 341 -e 's;\(radiusclient\)-ng;\1;g' \
michael@311 342 cdr/cdr_radius.c \
michael@311 343 cel/cel_radius.c
michael@311 344 %{l_shtool} subst \
michael@311 345 -e 's;\(sqlite\)\(\.h\);\13\2;g' \
michael@311 346 cdr/cdr_sqlite.c
michael@311 347 %{l_shtool} subst \
michael@311 348 -e 's;\(#define DEFAULT_POLLING_INTERVAL\) .*;\1 %{with_smdipoll};' \
michael@311 349 res/res_smdi.c
michael@311 350 %{l_shtool} subst \
michael@311 351 -e 's;\(ASTERISK_HEADER_DIR=\).*;\1%{l_prefix}/include;g' \
michael@311 352 -e 's;\(MODULES_DIR=\).*;\1%{l_prefix}/lib/asterisk/modules;g' \
michael@311 353 -e 's;\(CONFIG_DIR=\).*;\1%{l_prefix}/etc/asterisk;g' \
michael@311 354 -e 's;\(\$(MODULES_DIR)\);$(DESTDIR)\1;g' \
michael@311 355 -e 's;\${CONFIG_DIR};$(DESTDIR)$(CONFIG_DIR);g' \
michael@311 356 -e 's;^\(USE_OWN_LIBCAPI\)=yes;\1=no;' \
michael@311 357 chan_capi-%{V_chan_capi}/Makefile
michael@310 358
michael@310 359 %build
michael@311 360 # sanity check operating system
michael@310 361 %if "%{with_dahdi}" == "yes"
michael@310 362 dahdi_prefix=""
michael@310 363 case "%{l_platform -t}" in
michael@310 364 *-linux* )
michael@311 365 if [ ! -f /usr/include/dahdi/user.h ]; then
michael@310 366 echo "option \"with_dahdi\" requires DAHDI Linux drivers installed" 1>&2; exit 1
michael@310 367 fi
michael@310 368 dahdi_prefix=/usr
michael@310 369 ;;
michael@310 370 *-freebsd* )
michael@311 371 if [ ! -f /usr/local/include/dahdi/user.h ]; then
michael@310 372 echo "option \"with_dahdi\" requires DAHDI FreeBSD drivers installed" 1>&2; exit 1
michael@310 373 fi
michael@310 374 dahdi_prefix=/usr/local
michael@310 375 ;;
michael@310 376 * ) echo "option \"with_dahdi\" supported under Linux and FreeBSD only" 1>&2; exit 1 ;;
michael@310 377 esac
michael@202 378 %endif
michael@311 379 # correct platform dependent build configuration
michael@311 380 extflg=
michael@311 381 case "%{l_platform -t}" in
michael@311 382 *-linux* )
michael@311 383 pthlibflg='-lpthread'
michael@311 384 ;;
michael@311 385 esac
michael@202 386
michael@311 387 # adapt buildconf to find mpg123 (for music on hold)
michael@310 388 %if "%{with_mp3}" == "yes"
michael@310 389 mpg123="%{l_prefix}/bin/mpg123"
michael@310 390 %else
michael@310 391 mpg123="`which false`"
michael@310 392 %endif
michael@310 393 %{l_shtool} subst \
michael@310 394 -e "s;/usr/local/bin/mpg123;$mpg123;" \
michael@310 395 -e "s;/usr/bin/mpg123;$mpg123;" \
michael@310 396 res/res_musiconhold.c apps/app_mp3.c
michael@202 397
michael@311 398 # configure program
michael@310 399 ( echo "ac_cv_prog_CONFIG_GMIME=%{l_prefix}/bin/gmime-config"
michael@310 400 ) >config.cache
michael@310 401 cflags="%{l_cflags -O}"
michael@311 402 cppflags="%{l_cppflags ncurses lua}"
michael@310 403 ldflags="%{l_ldflags}"
michael@310 404 libs=""
michael@311 405 cppflags="$cppflags `pkg-config gmime-2.4 --cflags-only-I`"
michael@311 406 ldflags="$ldflags `pkg-config gmime-2.4 --libs-only-L`"
michael@311 407 libs="$libs `pkg-config gmime-2.4 --libs-only-l` -lssl -lcrypto"
michael@310 408 %if "%{with_ogg}" == "yes"
michael@310 409 libs="$libs -logg -lm"
michael@202 410 %endif
michael@310 411 %if "%{with_avcodec}" == "yes"
michael@310 412 libs="$libs -lavcodec -lavutil"
michael@202 413 %endif
michael@310 414 %if "%{with_ldap}" == "yes"
michael@311 415 libs="$libs -lldap -llber"
michael@202 416 %endif
michael@310 417 %if "%{with_dahdi}" == "yes"
michael@310 418 cppflags="$cppflags -I$dahdi_prefix/include"
michael@310 419 ldflags="$ldflags -L$dahdi_prefix/lib"
michael@202 420 %endif
michael@202 421 CC="%{l_cc}" \
michael@310 422 CFLAGS="$cflags" \
michael@310 423 CPPFLAGS="$cppflags" \
michael@310 424 LDFLAGS="$ldflags" \
michael@202 425 LIBS="$libs" \
michael@311 426 INSTALL="%{l_shtool} install -c" \
michael@311 427 PTHREAD_LIBS="$pthlibflg" \
michael@202 428 ./configure \
michael@310 429 --cache-file=./config.cache \
michael@202 430 --prefix=%{l_prefix} \
michael@202 431 --mandir=%{l_prefix}/man \
michael@310 432 --sysconfdir=%{l_prefix}/etc \
michael@311 433 --localstatedir=%{l_prefix}/var \
michael@311 434 --datarootdir=%{l_prefix}/share/asterisk \
michael@311 435 --with-crypto=%{l_prefix} \
michael@310 436 --with-curl=%{l_prefix} \
michael@311 437 --with-ncurses=%{l_prefix} \
michael@310 438 --with-gsm="internal" \
michael@310 439 --with-popt=%{l_prefix} \
michael@310 440 %if "%{with_sqlite}" == "yes"
michael@310 441 --with-sqlite3=%{l_prefix} \
michael@202 442 %else
michael@310 443 --without-sqlite3 \
michael@202 444 %endif
michael@311 445 %if "%{with_srtp}" == "yes"
michael@311 446 --with-srtp=%{l_prefix} \
michael@311 447 %else
michael@311 448 --without-srtp \
michael@311 449 %endif
michael@311 450 %if "%{with_pgsql}" == "yes"
michael@311 451 --with-postgres=%{l_prefix} \
michael@311 452 %else
michael@311 453 --with-postgres=no \
michael@311 454 %endif
michael@310 455 --with-speex=%{l_prefix} \
michael@310 456 --with-speexdsp=%{l_prefix} \
michael@202 457 --with-ssl=%{l_prefix} \
michael@310 458 --with-gmime=%{l_prefix} \
michael@310 459 --with-z=%{l_prefix} \
michael@310 460 %if "%{with_ogg}" == "yes"
michael@310 461 --with-ogg=%{l_prefix} \
michael@310 462 --with-vorbis=%{l_prefix} \
michael@310 463 %else
michael@310 464 --without-ogg \
michael@310 465 --without-vorbis \
michael@310 466 %endif
michael@310 467 %if "%{with_jabber}" == "yes"
michael@310 468 --with-iksemel=%{l_prefix} \
michael@310 469 %else
michael@310 470 --without-iksemel \
michael@310 471 %endif
michael@310 472 %if "%{with_lua}" == "yes"
michael@310 473 --with-lua=%{l_prefix} \
michael@310 474 %else
michael@310 475 --without-lua \
michael@310 476 %endif
michael@310 477 %if "%{with_dahdi}" == "yes"
michael@310 478 --with-dahdi=$dahdi_prefix \
michael@310 479 --with-tonezone=$dahdi_prefix \
michael@310 480 %else
michael@310 481 --without-dahdi \
michael@310 482 --without-tonezone \
michael@310 483 %endif
michael@310 484 %if "%{with_avcodec}" == "yes"
michael@310 485 --with-avcodec=%{l_prefix} \
michael@310 486 %else
michael@310 487 --without-avcodec \
michael@310 488 %endif
michael@310 489 %if "%{with_ldap}" == "yes"
michael@310 490 --with-ldap=%{l_prefix} \
michael@310 491 %else
michael@310 492 --without-ldap \
michael@310 493 %endif
michael@202 494 %if "%{with_radius}" == "yes"
michael@202 495 --with-radius=%{l_prefix} \
michael@202 496 %else
michael@310 497 --without-radius \
michael@202 498 %endif
michael@202 499 %if "%{with_imap}" == "yes"
michael@202 500 --with-imap=%{l_prefix} \
michael@311 501 --disable-largefile \
michael@202 502 %else
michael@310 503 --without-imap \
michael@202 504 %endif
michael@310 505 %if "%{with_odbc}" == "yes"
michael@310 506 --with-odbc=%{l_prefix} \
michael@202 507 %else
michael@310 508 --without-odbc \
michael@202 509 %endif
michael@311 510 %if "%{with_libpri}" == "yes"
michael@311 511 --with-pri=%{l_prefix} \
michael@311 512 %else
michael@311 513 --without-pri \
michael@311 514 %endif
michael@311 515 --with-sounds-cache=no \
michael@310 516 --without-netsnmp \
michael@310 517 --without-isdnnet \
michael@310 518 --without-misdn \
michael@310 519 --without-nbs \
michael@310 520 --without-newt \
michael@310 521 --without-asound \
michael@310 522 --without-oss \
michael@310 523 --without-sqlite \
michael@310 524 --without-tds \
michael@310 525 --without-osptk \
michael@310 526 --without-suppserv \
michael@310 527 --without-vpb \
michael@310 528 --without-sdl \
michael@310 529 --without-x11 \
michael@310 530 --without-gtk \
michael@310 531 --without-gtk2
michael@311 532
michael@311 533 # build menuselect
michael@311 534 %{l_make} %{l_mflags -O} menuselect.makeopts
michael@311 535 %{l_shtool} subst \
michael@311 536 -e 's;\(MENUSELECT_MOH=\).*;\1;' \
michael@311 537 -e 's;\(MENUSELECT_CORE_SOUNDS=\).*;\1;' \
michael@311 538 -e 's;\(MENUSELECT_EXTRA_SOUNDS=\).*;\1;' \
michael@311 539 menuselect.makeopts
michael@311 540 %if "%{with_imap}" == "yes"
michael@311 541 %{l_shtool} subst \
michael@311 542 -e 's;\(MENUSELECT_OPTS_app_voicemail=\).*;\1IMAP_STORAGE;' \
michael@311 543 menuselect.makeopts
michael@311 544 %endif
michael@311 545
michael@311 546 # build program
michael@311 547 %{l_make} %{l_mflags -O} \
michael@311 548 CC="%{l_cc} $cflags -I../include -I../../include $cppflags" NOISY_BUILD=yes
michael@202 549
michael@310 550 # build addon modules
michael@311 551 ( cd addons
michael@311 552 %{l_make} %{l_mflags -O} \
michael@311 553 CC="%{l_cc} %{l_cflags -O} -I../../include %{l_cppflags ncurses}" NOISY_BUILD=yes ASTTOPDIR=..
michael@310 554 ) || exit $?
michael@311 555
michael@311 556 # build agi programs
michael@311 557 ( cd agi && %{l_make} %{l_mflags -O}) || exit $?
michael@311 558
michael@202 559 %if "%{with_capi}" == "yes"
michael@311 560 # build capi channel
michael@310 561 ( cd chan_capi-*
michael@310 562 ln -s ../include/asterisk .
michael@310 563 ln -s ../include/asterisk.h .
michael@311 564 %{l_make} %{l_mflags -O} V=1 \
michael@310 565 INSTALL_PREFIX=%{l_prefix} \
michael@311 566 ASTERISK_HEADER_DIR="`pwd`" \
michael@202 567 ) || exit $?
michael@202 568 %endif
michael@202 569
michael@202 570 %install
michael@310 571 # install program
michael@311 572 rm -rf $RPM_BUILD_ROOT
michael@310 573 %{l_make} %{l_mflags} install \
michael@310 574 DESTDIR=$RPM_BUILD_ROOT \
michael@310 575 INSTALL_PREFIX=%{l_prefix}
michael@202 576
michael@310 577 # install addon modules
michael@311 578 ( cd addons
michael@310 579 %{l_make} %{l_mflags} install \
michael@311 580 ASTTOPDIR=.. \
michael@310 581 DESTDIR=$RPM_BUILD_ROOT \
michael@310 582 INSTALL_PREFIX=%{l_prefix}
michael@310 583 ) || exit $?
michael@311 584
michael@202 585 %if "%{with_capi}" == "yes"
michael@311 586 # install capi channel
michael@310 587 ( cd chan_capi-*
michael@310 588 %{l_make} %{l_mflags} install \
michael@310 589 INSTALL_PREFIX=$RPM_BUILD_ROOT%{l_prefix} \
michael@310 590 INSTALL="%{l_shtool} install -c" \
michael@310 591 MODULES_DIR='$(INSTALL_PREFIX)/lib/asterisk/modules'
michael@202 592 ) || exit $?
michael@202 593 %endif
michael@202 594
michael@311 595 %if "%{with_fax}" == "yes"
michael@311 596 # install fax support
michael@311 597 case "%{l_platform -t}" in
michael@311 598 amd64*-* )
michael@311 599 %{l_shtool} install -c -m 755 \
michael@311 600 res_fax_digium-%{V_asterisk_fax_digium}-generic_64/res_*.so \
michael@311 601 $RPM_BUILD_ROOT%{l_prefix}/lib/asterisk/modules/
michael@311 602 %{l_shtool} install -c -m 640 \
michael@311 603 res_fax_digium-%{V_asterisk_fax_digium}-generic_64/*.conf \
michael@311 604 $RPM_BUILD_ROOT%{l_prefix}/etc/asterisk/
michael@311 605 ;;
michael@311 606 i?86-* )
michael@311 607 %{l_shtool} install -c -m 755 \
michael@311 608 res_fax_digium-%{V_asterisk_fax_digium}-generic_32/res_*.so \
michael@311 609 $RPM_BUILD_ROOT%{l_prefix}/lib/asterisk/modules/
michael@311 610 %{l_shtool} install -c -m 640 \
michael@311 611 res_fax_digium-%{V_asterisk_fax_digium}-generic_32/*.conf \
michael@311 612 $RPM_BUILD_ROOT%{l_prefix}/etc/asterisk/
michael@311 613 ;;
michael@318 614 *-* )
michael@311 615 echo "Error determining hardware architecture." \
michael@311 616 | %{l_rpmtool} msg -b -t warn
michael@311 617 exit 1;
michael@311 618 ;;
michael@311 619 esac
michael@311 620 %endif
michael@311 621
michael@311 622 ( echo 'Start of sound installation block (RPM)'
michael@311 623 %if "%{with_esounds}" == "yes"
michael@311 624 # install freeswitch sound prompt files, expecting
michael@311 625 # identical sound filenames to be overwritten later
michael@311 626 cd $RPM_BUILD_ROOT%{l_prefix}/share/asterisk/sounds/en
michael@311 627 %{l_tar} zxf %{_sourcedir}/freeswitch-sounds-en-us-callie-48000-%{V_fswitch_sounds_en}.tar.gz
michael@311 628 subs=`( cd en/us/callie && find * -type d -prune )`
michael@311 629 for subdir in $subs; do
michael@311 630 mkdir $subdir
michael@311 631 mv -f en/us/callie/$subdir/*/* ${subdir}/
michael@311 632 done
michael@311 633 rm -rf en
michael@311 634 cd $RPM_BUILD_ROOT%{l_prefix}/share/asterisk/sounds/es
michael@311 635 %{l_tar} zxf %{_sourcedir}/freeswitch-sounds-es-mx-maria-44100.tar.gz
michael@311 636 subs=`( cd es/mx/maria && find * -type d -prune )`
michael@311 637 for subdir in $subs; do
michael@311 638 mkdir $subdir
michael@311 639 mv -f es/mx/maria/$subdir/*/* ${subdir}/
michael@311 640 done
michael@311 641 rm -rf es
michael@311 642 %{l_shtool} mkdir -f -p -m 755 \
michael@311 643 $RPM_BUILD_ROOT%{l_prefix}/share/asterisk/sounds/ru
michael@311 644 cd $RPM_BUILD_ROOT%{l_prefix}/share/asterisk/sounds/ru
michael@311 645 %{l_tar} zxf %{_sourcedir}/freeswitch-sounds-ru-RU-elena-48000-%{V_fswitch_sounds_ru}.tar.gz
michael@311 646 subs=`( cd ru/RU/elena && find * -type d -prune )`
michael@311 647 for subdir in $subs; do
michael@311 648 mkdir $subdir
michael@311 649 mv -f ru/RU/elena/$subdir/*/* ${subdir}/
michael@311 650 done
michael@311 651 rm -rf ru
michael@311 652
michael@311 653 # install freeswitch music on hold files
michael@311 654 cd $RPM_BUILD_ROOT%{l_prefix}/share/asterisk/moh
michael@311 655 %{l_tar} zxf %{_sourcedir}/freeswitch-sounds-music-48000-%{V_fswitch_music}.tar.gz
michael@311 656 mv -f music/48000/* . && rm -rf music
michael@311 657
michael@311 658 # convert freeswitch 48000 and 441000 KHz to 8000 Khz
michael@347 659 # ffmpeg -i <in> -ar 8000 -ac 1 -acodec pcm_s16le -f s16le <out>
michael@311 660 cd $RPM_BUILD_ROOT%{l_prefix}/share/asterisk
michael@311 661 for highfile in `find . -name '*.wav'`; do
michael@311 662 lowfile=`echo $highfile | sed -e 's;\(.*\)\.wav;\1.sln16;'`
michael@311 663 %{l_prefix}/bin/sox $highfile -t raw -r 16000 -s -2 -c 1 $lowfile
michael@311 664 rm $highfile
michael@311 665 done
michael@311 666 %endif
michael@311 667
michael@311 668 # install australian nonversioned sound prompt files
michael@311 669 cd $RPM_BUILD_ROOT%{l_prefix}/share/asterisk/sounds/en_AU
michael@311 670 %{l_tar} zxf %{_sourcedir}/asterisk-core-sounds-en_AU-current.tar.gz
michael@311 671
michael@311 672 # install main sound prompt files
michael@311 673 #for codec in alaw ulaw g722 g729 gsm; do
michael@311 674 for lang in en es fr; do
michael@311 675 cd $RPM_BUILD_ROOT%{l_prefix}/share/asterisk/sounds/${lang}
michael@311 676 %{l_tar} zxf %{_sourcedir}/asterisk-core-sounds-${lang}-sln16-%{V_asterisk_sounds_core}.tar.gz
michael@311 677 done
michael@311 678 for lang in en fr; do
michael@311 679 cd $RPM_BUILD_ROOT%{l_prefix}/share/asterisk/sounds/${lang}
michael@311 680 %{l_tar} zxf %{_sourcedir}/asterisk-extra-sounds-${lang}-sln16-%{V_asterisk_sounds_extra}.tar.gz
michael@311 681 done
michael@311 682
michael@311 683 # install special case sound files
michael@311 684 cd $RPM_BUILD_ROOT%{l_prefix}/share/asterisk/sounds
michael@311 685 #%{l_tar} jxf %{SOURCE de-digits-%{V_asterisk_sounds_custom}.tar.bz2}
michael@311 686 #( cd de && %{l_tar} zxf %{SOURCE asterisk-core-sounds-de-gsm-%{V_asterisk_sounds_amootts}.tar.gz} ) || exit $?
michael@311 687 #%{l_tar} zxf %{SOURCE asterisk-%{V_asterisk_sounds_amoogab}-de-prompts.tar.gz}
michael@311 688 #mv -f dictate/de/* de/dictate/ && rm -rf dictate/de
michael@311 689 #mv -f digits/de/* de/digits/ && rm -rf digits/de
michael@311 690 #mv -f letters/de/* de/letters/ && rm -rf letters/de
michael@311 691 #mv -f phonetic/de/* de/phonetic/ && rm -rf phonetic/de
michael@311 692 %{l_tar} jxf %{SOURCE astmultisnds-de-sln16-%{V_asterisk_sounds_custom}.tar.bz2}
michael@311 693 %{l_tar} jxf %{SOURCE msvbsnds-sln16-%{V_asterisk_sounds_custom}.tar.bz2}
michael@347 694 mv msvbsnds-sln16-%{V_asterisk_sounds_custom} msvb
michael@311 695
michael@311 696 # install additional asterisk music on hold
michael@311 697 cd $RPM_BUILD_ROOT%{l_prefix}/share/asterisk/moh
michael@311 698 %{l_tar} zxf %{_sourcedir}/asterisk-moh-freeplay-sln16.tar.gz
michael@311 699 %{l_tar} zxf %{_sourcedir}/asterisk-moh-opsound-sln16-%{V_asterisk_sounds_mohop}.tar.gz
michael@311 700
michael@311 701 # correct sound permissions
michael@311 702 find $RPM_BUILD_ROOT%{l_prefix}/share/asterisk/sounds/ -type f \
michael@311 703 | xargs chmod 644
michael@311 704 find $RPM_BUILD_ROOT%{l_prefix}/share/asterisk/sounds/ -type d \
michael@311 705 | xargs chmod 755
michael@311 706
michael@311 707 # apply provisional workaround for bug 0016104
michael@311 708 # https://issues.asterisk.org/view.php?id=16104
michael@311 709 cd $RPM_BUILD_ROOT%{l_prefix}/share/asterisk/sounds
michael@311 710 cd en && ln -s vm-INBOX.sln16 vm-Voicemail.sln16
michael@311 711 cd ../es && ln -s vm-INBOX.sln16 vm-Voicemail.sln16
michael@311 712 cd ../de && ln -s vm-INBOX.sln16 vm-Voicemail.sln16
michael@311 713 cd ../fr && ln -s vm-INBOX.sln16 vm-Voicemail.sln16
michael@311 714
michael@311 715 # # install nonstandard voicemail prompts
michael@311 716 # %{l_shtool} mkdir -f -p -m 755 \
michael@311 717 # $RPM_BUILD_ROOT%{l_prefix}/var/asterisk/spool/voicemail/default/%{exten}/unavail
michael@311 718 # %{l_shtool} install -c -m 660 \
michael@311 719 # %{_sourcedir}/ansage-%{V_ansage}.wav} \
michael@311 720 # $RPM_BUILD_ROOT%{l_prefix}/var/asterisk/spool/voicemail/default/%{exten}/unavail.wav
michael@311 721 ) || exit $? # End of sound installation block (RPM)
michael@310 722
michael@310 723 # strip down installation
michael@310 724 rm -f $RPM_BUILD_ROOT%{l_prefix}/sbin/autosupport >/dev/null 2>&1 || true
michael@310 725 rm -f $RPM_BUILD_ROOT%{l_prefix}/sbin/safe_asterisk >/dev/null 2>&1 || true
michael@310 726 rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man8/autosupport.8 >/dev/null 2>&1 || true
michael@310 727 rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man8/safe_asterisk.8 >/dev/null 2>&1 || true
michael@310 728 rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/asterisk/images >/dev/null 2>&1 || true
michael@311 729 rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/asterisk/moh/CREDIT* >/dev/null 2>&1 || true
michael@311 730 rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/asterisk/moh/CHANGES* >/dev/null 2>&1 || true
michael@311 731 rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/asterisk/sounds/*/CREDIT* >/dev/null 2>&1 || true
michael@311 732 rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/asterisk/sounds/*/CHANGES* >/dev/null 2>&1 || true
michael@310 733
michael@310 734 # create additional directories
michael@310 735 %{l_shtool} mkdir -f -p -m 755 \
michael@311 736 $RPM_BUILD_ROOT%{l_prefix}/var/asterisk/db \
michael@347 737 $RPM_BUILD_ROOT%{l_prefix}/var/asterisk/spool/outgoing \
michael@347 738 $RPM_BUILD_ROOT%{l_prefix}/share/asterisk/licenses
michael@310 739
michael@311 740 # postadjust installation
michael@311 741 strip $RPM_BUILD_ROOT%{l_prefix}/sbin/* \
michael@311 742 $RPM_BUILD_ROOT%{l_prefix}/lib/asterisk/modules/* \
michael@311 743 $RPM_BUILD_ROOT%{l_prefix}/share/asterisk/agi-bin/* \
michael@311 744 >/dev/null 2>&1 || true
michael@310 745 mv $RPM_BUILD_ROOT%{l_prefix}/share/asterisk/agi-bin \
michael@310 746 $RPM_BUILD_ROOT%{l_prefix}/lib/asterisk/agi-bin
michael@311 747
michael@311 748 # install AGI progs
michael@311 749 ( cd agi
michael@311 750 %{l_shtool} install -c -m 755 %{l_value -s -a} \
michael@311 751 DialAnMp3.agi fastagi-test numeralize %{SOURCE wakeup.agi} \
michael@311 752 $RPM_BUILD_ROOT%{l_prefix}/lib/asterisk/agi-bin/
michael@311 753 ) || exit $?
michael@310 754 for bin in $RPM_BUILD_ROOT%{l_prefix}/lib/asterisk/agi-bin/*.*; do
michael@310 755 mv $bin `echo $bin | sed -e 's;\.[^.]*$;;'`
michael@202 756 done
michael@202 757
michael@310 758 # install default configuration
michael@310 759 for name in `grep "^<file" %{SOURCE asterisk.txt} | sed -e 's;^.*name=";;' -e 's;".*$;;'`; do
michael@310 760 %if "%{with_dahdi}" == "no"
michael@310 761 [ ".$name" = ".chan_dahdi.conf" ] && continue
michael@310 762 %endif
michael@310 763 %if "%{with_capi}" == "no"
michael@310 764 [ ".$name" = ".capi.conf" ] && continue
michael@310 765 %endif
michael@310 766 %if "%{with_sqlite}" == "no"
michael@310 767 [ ".$name" = ".cdr_sqlite3_custom.conf" ] && continue
michael@310 768 %endif
michael@310 769 %if "%{with_odbc}" == "no"
michael@310 770 [ ".$name" = ".res_odbc.conf" ] && continue
michael@310 771 [ ".$name" = ".func_odbc.conf" ] && continue
michael@310 772 %endif
michael@310 773 (echo ""; cat %{SOURCE asterisk.txt}; echo "") |\
michael@310 774 sed -e "1,/^<file name=\"$name\">/d" -e "/<\/file>/,\$d" >$name
michael@310 775 %{l_shtool} install -c -m 644 %{l_value -s -a} \
michael@310 776 $name $RPM_BUILD_ROOT%{l_prefix}/etc/asterisk/
michael@310 777 done
michael@202 778
michael@311 779 # install runcommand script
michael@202 780 %{l_shtool} mkdir -f -p -m 755 \
michael@202 781 $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d
michael@202 782 %{l_shtool} install -c -m 755 %{l_value -s -a} \
michael@202 783 %{SOURCE rc.asterisk} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
michael@202 784
michael@202 785 # determine installation files
michael@310 786 %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
michael@310 787 %{l_files_std} \
michael@347 788 '%config %attr(-,%{l_mgrp},%{l_mgrp}) %{l_prefix}/share/asterisk/licenses' \
michael@310 789 '%config %attr(640,%{l_mgrp},%{l_rgrp}) %{l_prefix}/etc/asterisk/*' \
michael@310 790 '%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/asterisk'
michael@202 791
michael@311 792 # '%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/share/asterisk/sounds/es/vm-Voicemail.sln16' \
michael@311 793 # '%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/share/asterisk/sounds/de/vm-Voicemail.sln16' \
michael@311 794 # '%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/share/asterisk/sounds/fr/vm-Voicemail.sln16' \
michael@311 795
michael@202 796 %files -f files
michael@202 797
michael@202 798 %clean
michael@311 799 rm -rf $RPM_BUILD_ROOT
michael@202 800
michael@202 801 %post
michael@310 802 %if "%{with_dahdi}" == "yes"
michael@310 803 if [ $1 -eq 1 ]; then
michael@310 804 case "%{l_platform -t}" in
michael@310 805 *-freebsd* )
michael@310 806 ( echo "To allow Asterisk to use the DAHDI /dev/dahdi/pseudo device(s)"
michael@310 807 echo "you have add the following entry to /etc/devfs.rules:"
michael@310 808 echo ""
michael@310 809 echo "[openpkg_asterisk=10]"
michael@310 810 echo "add path 'dahdi/pseudo*' mode 0664 user %{l_rusr} group %{l_rgrp}"
michael@310 811 echo ""
michael@310 812 ) | %{l_rpmtool} msg -b -t notice
michael@310 813 ;;
michael@310 814 esac
michael@310 815 fi
michael@310 816 %endif
michael@310 817 %if "%{with_odbc}" == "yes"
michael@310 818 # after install, optionally link into ODBC and create database
michael@310 819 if $RPM_INSTALL_PREFIX/bin/odbcinst -q -s -n "asterisk-sqlite" >/dev/null 2>&1; then
michael@310 820 :
michael@310 821 else
michael@310 822 ( echo "[asterisk-sqlite]"
michael@310 823 echo "Description = Asterisk SQLite Database"
michael@310 824 echo "Driver = SQLite3"
michael@310 825 echo "Database = $RPM_INSTALL_PREFIX/var/asterisk/db/asterisk.sqlite"
michael@310 826 echo "Timeout = 2000"
michael@310 827 ) | $RPM_INSTALL_PREFIX/bin/odbcinst -i -s -l -n "asterisk-sqlite" -r >/dev/null 2>&1 || true
michael@310 828 fi
michael@310 829 if [ ! -f $RPM_INSTALL_PREFIX/var/asterisk/run/asterisk.db ]; then
michael@310 830 ( umask 007
michael@310 831 echo "CREATE TABLE map (key TEXT, val TEXT);" | $RPM_INSTALL_PREFIX/bin/isql "asterisk-sqlite" -b
michael@310 832 chown %{l_rusr}:%{l_rgrp} $RPM_INSTALL_PREFIX/var/asterisk/db/asterisk.sqlite >/dev/null 2>&1 || true
michael@310 833 ) || exit $?
michael@310 834 fi
michael@310 835 %endif
michael@311 836 %if "%{with_fax}" == "yes"
michael@311 837 ( echo "Asterisk has been installed with proprietary Digium fax support."
michael@311 838 echo "The responsible module is called res_fax_digium and requires a"
michael@311 839 echo "valid license. The license must be found in the directory"
michael@347 840 echo "'licenses' which in turn must be found in $prefix/share/asterisk"
michael@311 841 echo "or wherever astvarlibdir has been configured in 'asterisk.conf'."
michael@311 842 echo ""
michael@311 843 echo "Please see http://downloads.digium.com/pub/telephony/fax/ for information."
michael@311 844 ) | %{l_rpmtool} msg -b -t notice
michael@311 845 %endif
michael@202 846 # after upgrade, restart service
michael@202 847 [ $1 -eq 2 ] || exit 0
michael@202 848 eval `%{l_rc} asterisk status 2>/dev/null`
michael@202 849 [ ".$asterisk_active" = .yes ] && %{l_rc} asterisk restart
michael@202 850 exit 0
michael@202 851
michael@202 852 %preun
michael@202 853 # before erase, stop service and remove log files
michael@202 854 [ $1 -eq 0 ] || exit 0
michael@202 855 %{l_rc} asterisk stop 2>/dev/null
michael@310 856 rm -f $RPM_INSTALL_PREFIX/var/asterisk/log/* >/dev/null 2>&1 || true
michael@310 857 rm -f $RPM_INSTALL_PREFIX/var/asterisk/log/cdr-*/* >/dev/null 2>&1 || true
michael@310 858 rm -f $RPM_INSTALL_PREFIX/var/asterisk/run/* >/dev/null 2>&1 || true
michael@310 859 rm -f $RPM_INSTALL_PREFIX/var/asterisk/spool/*/* >/dev/null 2>&1 || true
michael@311 860 rm -f $RPM_INSTALL_PREFIX/var/asterisk/lib/* >/dev/null 2>&1 || true
michael@310 861 rm -f $RPM_INSTALL_PREFIX/var/asterisk/db/* >/dev/null 2>&1 || true
michael@310 862 %if "%{with_odbc}" == "yes"
michael@310 863 # before erase, optionally unlink from ODBC and destroy database
michael@310 864 $RPM_INSTALL_PREFIX/bin/odbcinst -u -s -l -n "asterisk-sqlite" >/dev/null 2>&1 || true
michael@310 865 %endif
michael@202 866 exit 0
michael@202 867

mercurial