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