Correct detection of GCC sync_fetch_and_add atomic builtins, update the

Tue, 28 Aug 2012 18:32:05 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 28 Aug 2012 18:32:05 +0200
changeset 552
e568963742d6
parent 551
d7ae7fd8a214
child 553
412e528abcd1

Correct detection of GCC sync_fetch_and_add atomic builtins, update the
version, modernize packaging, add new prompts, and correct sound paths.
The vendor configure script checks for sync_fetch_and_add and reports
success because strangely GCC only fails when returning the return value
of the builtin function in the consumer function.

asterisk/asterisk.patch file | annotate | diff | comparison | revisions
asterisk/asterisk.patch.proxymwi file | annotate | diff | comparison | revisions
asterisk/asterisk.patch.xfersips file | annotate | diff | comparison | revisions
asterisk/asterisk.spec file | annotate | diff | comparison | revisions
     1.1 --- a/asterisk/asterisk.patch	Tue Aug 28 18:32:00 2012 +0200
     1.2 +++ b/asterisk/asterisk.patch	Tue Aug 28 18:32:05 2012 +0200
     1.3 @@ -255,7 +255,7 @@
     1.4   static char imapparentfolder[64] = "\0";
     1.5   static char greetingfolder[64];
     1.6   static char authuser[32];
     1.7 -@@ -2524,7 +2525,7 @@
     1.8 +@@ -2527,7 +2528,7 @@
     1.9   	}
    1.10   
    1.11   	/* Build up server information */
    1.12 @@ -264,7 +264,7 @@
    1.13   
    1.14   	/* Add authentication user if present */
    1.15   	if (!ast_strlen_zero(authuser))
    1.16 -@@ -6186,6 +6187,7 @@
    1.17 +@@ -6193,6 +6194,7 @@
    1.18   	/* simple. huh? */
    1.19   	char sequence[10];
    1.20   	char mailbox[256];
    1.21 @@ -272,7 +272,7 @@
    1.22   	int res;
    1.23   
    1.24   	/* get the real IMAP message number for this message */
    1.25 -@@ -6201,10 +6203,24 @@
    1.26 +@@ -6208,10 +6210,24 @@
    1.27   		mail_setflag(vms->mailstream, sequence, "\\Unseen");
    1.28   		mail_clearflag(vms->mailstream, sequence, "\\Seen");
    1.29   	}
    1.30 @@ -299,7 +299,7 @@
    1.31   	/* Create the folder if it don't exist */
    1.32   	imap_mailbox_name(mailbox, sizeof(mailbox), vms, box, 1); /* Get the full mailbox name */
    1.33   	ast_debug(5, "Checking if folder exists: %s\n", mailbox);
    1.34 -@@ -10478,6 +10494,10 @@
    1.35 +@@ -10517,6 +10533,10 @@
    1.36   #ifndef IMAP_STORAGE
    1.37   				} else if (!cmd) {
    1.38   					vms.deleted[vms.curmsg] = 1;
    1.39 @@ -310,7 +310,7 @@
    1.40   #endif
    1.41   				} else {
    1.42   					vms.deleted[vms.curmsg] = 0;
    1.43 -@@ -11996,6 +12016,15 @@
    1.44 +@@ -12046,6 +12066,15 @@
    1.45   		} else {
    1.46   			ast_copy_string(imapfolder, "INBOX", sizeof(imapfolder));
    1.47   		}
    1.48 @@ -379,10 +379,10 @@
    1.49   
    1.50   	/* Unique ID */
    1.51   	if (!rc_avpair_add(rh, tosend, PW_ACCT_SESSION_ID, &cdr->uniqueid, strlen(cdr->uniqueid), 0))
    1.52 -Index: chan_capi-1.1.5.20120324/chan_capi20.h
    1.53 -diff -Nau chan_capi-1.1.5.20120324/chan_capi20.h.orig chan_capi-1.1.5.20120324/chan_capi20.h
    1.54 ---- chan_capi-1.1.5.20120324/chan_capi20.h.orig	2005-09-20 20:33:40.000000000 +0200
    1.55 -+++ chan_capi-1.1.5.20120324/chan_capi20.h	2012-03-18 17:47:07.888451260 +0100
    1.56 +Index: chan_capi-1.1.5.20120615/chan_capi20.h
    1.57 +diff -Nau chan_capi-1.1.5.20120615/chan_capi20.h.orig chan_capi-1.1.5.20120615/chan_capi20.h
    1.58 +--- chan_capi-1.1.5.20120615/chan_capi20.h.orig	2005-09-20 20:33:40.000000000 +0200
    1.59 ++++ chan_capi-1.1.5.20120615/chan_capi20.h	2012-03-18 17:47:07.888451260 +0100
    1.60  @@ -4,10 +4,13 @@
    1.61    * first. Else the checks below will fail.
    1.62    */
    1.63 @@ -406,10 +406,10 @@
    1.64   #ifndef HEADER_CID
    1.65   #define HEADER_CID(x) ((x)->adr.adrNCCI)
    1.66   #endif
    1.67 -Index: chan_capi-1.1.5.20120324/chan_capi_utils.c
    1.68 -diff -Nau chan_capi-1.1.5.20120324/chan_capi_utils.c.orig chan_capi-1.1.5.20120324/chan_capi_utils.c
    1.69 ---- chan_capi-1.1.5.20120324/chan_capi_utils.c.orig	2011-08-07 16:31:05.000000000 +0200
    1.70 -+++ chan_capi-1.1.5.20120324/chan_capi_utils.c	2012-03-18 17:47:07.888451260 +0100
    1.71 +Index: chan_capi-1.1.5.20120615/chan_capi_utils.c
    1.72 +diff -Nau chan_capi-1.1.5.20120615/chan_capi_utils.c.orig chan_capi-1.1.5.20120615/chan_capi_utils.c
    1.73 +--- chan_capi-1.1.5.20120615/chan_capi_utils.c.orig	2011-08-07 16:31:05.000000000 +0200
    1.74 ++++ chan_capi-1.1.5.20120615/chan_capi_utils.c	2012-03-18 17:47:07.888451260 +0100
    1.75  @@ -1160,6 +1160,9 @@
    1.76   {
    1.77   	MESSAGE_EXCHANGE_ERROR error;
    1.78 @@ -420,10 +420,10 @@
    1.79   	unsigned char manbuf[CAPI_MANUFACTURER_LEN];
    1.80   	_cmsg CMSG;
    1.81   
    1.82 -Index: chan_capi-1.1.5.20120324/libcapi20/capi20.c
    1.83 -diff -Nau chan_capi-1.1.5.20120324/libcapi20/capi20.c.orig chan_capi-1.1.5.20120324/libcapi20/capi20.c
    1.84 ---- chan_capi-1.1.5.20120324/libcapi20/capi20.c.orig	2010-02-17 20:10:53.000000000 +0100
    1.85 -+++ chan_capi-1.1.5.20120324/libcapi20/capi20.c	2012-03-18 17:47:07.888451260 +0100
    1.86 +Index: chan_capi-1.1.5.20120615/libcapi20/capi20.c
    1.87 +diff -Nau chan_capi-1.1.5.20120615/libcapi20/capi20.c.orig chan_capi-1.1.5.20120615/libcapi20/capi20.c
    1.88 +--- chan_capi-1.1.5.20120615/libcapi20/capi20.c.orig	2010-02-17 20:10:53.000000000 +0100
    1.89 ++++ chan_capi-1.1.5.20120615/libcapi20/capi20.c	2012-03-18 17:47:07.888451260 +0100
    1.90  @@ -19,8 +19,10 @@
    1.91   #include <stdio.h>
    1.92   #include <ctype.h>
    1.93 @@ -717,10 +717,10 @@
    1.94   }
    1.95   /*
    1.96    * functions added to the CAPI2.0 spec
    1.97 -Index: chan_capi-1.1.5.20120324/libcapi20/convert.c
    1.98 -diff -Nau chan_capi-1.1.5.20120324/libcapi20/convert.c.orig chan_capi-1.1.5.20120324/libcapi20/convert.c
    1.99 ---- chan_capi-1.1.5.20120324/libcapi20/convert.c.orig	2010-09-14 21:54:25.000000000 +0200
   1.100 -+++ chan_capi-1.1.5.20120324/libcapi20/convert.c	2012-03-18 17:47:07.888451260 +0100
   1.101 +Index: chan_capi-1.1.5.20120615/libcapi20/convert.c
   1.102 +diff -Nau chan_capi-1.1.5.20120615/libcapi20/convert.c.orig chan_capi-1.1.5.20120615/libcapi20/convert.c
   1.103 +--- chan_capi-1.1.5.20120615/libcapi20/convert.c.orig	2010-09-14 21:54:25.000000000 +0200
   1.104 ++++ chan_capi-1.1.5.20120615/libcapi20/convert.c	2012-03-18 17:47:07.888451260 +0100
   1.105  @@ -11,7 +11,14 @@
   1.106   #include <stddef.h>
   1.107   #include <time.h>
   1.108 @@ -736,11 +736,11 @@
   1.109   
   1.110   #include "capi20.h"
   1.111   
   1.112 -Index: chan_capi-1.1.5.20120324/Makefile
   1.113 -diff -Nau chan_capi-1.1.5.20120324/Makefile.orig chan_capi-1.1.5.20120324/Makefile
   1.114 ---- chan_capi-1.1.5.20120324/Makefile.orig	2011-02-04 18:41:46.000000000 +0100
   1.115 -+++ chan_capi-1.1.5.20120324/Makefile	2012-03-18 17:47:07.888451260 +0100
   1.116 -@@ -114,6 +114,9 @@
   1.117 +Index: chan_capi-1.1.5.20120615/Makefile
   1.118 +diff -Nau chan_capi-1.1.5.20120615/Makefile.orig chan_capi-1.1.5.20120615/Makefile
   1.119 +--- chan_capi-1.1.5.20120615/Makefile.orig	2011-02-04 18:41:46.000000000 +0100
   1.120 ++++ chan_capi-1.1.5.20120615/Makefile	2012-03-18 17:47:07.888451260 +0100
   1.121 +@@ -115,6 +115,9 @@
   1.122   CFLAGS+=-O2
   1.123   CFLAGS+=$(shell if $(CC) -march=$(PROC) -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=$(PROC)"; fi)
   1.124   CFLAGS+=$(shell if uname -m | grep -q "ppc\|arm\|s390"; then echo "-fsigned-char"; fi)
   1.125 @@ -754,7 +754,7 @@
   1.126  diff -Nau channels/chan_sip.c.orig channels/chan_sip.c
   1.127  --- channels/chan_sip.c.orig	2012-02-28 18:53:34.000000000 +0100
   1.128  +++ channels/chan_sip.c	2012-03-18 17:47:07.898462166 +0100
   1.129 -@@ -12034,7 +12034,16 @@
   1.130 +@@ -12104,7 +12104,16 @@
   1.131    	} else {
   1.132    		if (sipmethod == SIP_NOTIFY && !ast_strlen_zero(p->theirtag)) {
   1.133    			/* If this is a NOTIFY, use the From: tag in the subscribe (RFC 3265) */
   1.134 @@ -792,7 +792,7 @@
   1.135  diff -Nau configure.orig configure
   1.136  --- configure.orig	2012-01-14 17:40:17.000000000 +0100
   1.137  +++ configure	2012-03-18 17:47:32.518450837 +0100
   1.138 -@@ -4716,11 +4716,6 @@
   1.139 +@@ -4711,11 +4711,6 @@
   1.140   esac
   1.141   
   1.142   case "${host_os}" in
   1.143 @@ -804,7 +804,7 @@
   1.144        openbsd*)
   1.145        ac_default_prefix=/usr/local
   1.146        if test ${prefix} = '/usr/local' || test ${prefix} = 'NONE'; then
   1.147 -@@ -18904,8 +18899,8 @@
   1.148 +@@ -18994,8 +18989,8 @@
   1.149   		if test -f "${IMAP_TK_DIR}/c-client/LDFLAGS"; then
   1.150         		imap_ldflags=`cat ${IMAP_TK_DIR}/c-client/LDFLAGS`
   1.151   		fi
   1.152 @@ -815,7 +815,7 @@
   1.153         	CPPFLAGS="${CPPFLAGS} ${imap_include}"
   1.154   	  	LIBS="${LIBS} ${imap_libs} "`echo ${imap_ldflags}`
   1.155   	  	cat confdefs.h - <<_ACEOF >conftest.$ac_ext
   1.156 -@@ -26681,7 +26676,7 @@
   1.157 +@@ -26771,7 +26766,7 @@
   1.158         	 pbxlibdir="-L${SQLITE_DIR}"
   1.159         fi
   1.160      fi
   1.161 @@ -828,7 +828,7 @@
   1.162  diff -Nau formats/format_pcm.c.orig formats/format_pcm.c
   1.163  --- formats/format_pcm.c.orig	2011-07-14 22:13:06.000000000 +0200
   1.164  +++ formats/format_pcm.c	2012-03-18 17:47:07.898462166 +0100
   1.165 -@@ -354,6 +354,7 @@
   1.166 +@@ -376,6 +376,7 @@
   1.167   		ast_log(LOG_WARNING, "Unable to write header\n");
   1.168   		return -1;
   1.169   	}
   1.170 @@ -840,7 +840,7 @@
   1.171  diff -Nau formats/format_wav.c.orig formats/format_wav.c
   1.172  --- formats/format_wav.c.orig	2011-11-09 16:25:33.000000000 +0100
   1.173  +++ formats/format_wav.c	2012-03-18 17:47:07.898462166 +0100
   1.174 -@@ -308,6 +308,7 @@
   1.175 +@@ -310,6 +310,7 @@
   1.176   		ast_log(LOG_WARNING, "Unable to write header\n");
   1.177   		return -1;
   1.178   	}
   1.179 @@ -891,33 +891,33 @@
   1.180  diff -Nau main/features.c.orig main/features.c
   1.181  --- main/features.c.orig	2012-01-23 21:30:21.000000000 +0100
   1.182  +++ main/features.c	2012-03-18 17:47:07.898462166 +0100
   1.183 -@@ -2067,6 +2067,10 @@
   1.184 - 			snprintf(args, len, "%s,%s,m", S_OR(touch_format, "wav"), touch_filename);
   1.185 - 		}
   1.186 +@@ -2127,6 +2127,10 @@
   1.187 + 		snprintf(args, len, "%s,%s,m", S_OR(touch_format, "wav"), touch_filename);
   1.188 + 	}
   1.189   
   1.190 -+		for(x = 0; x < strlen(touch_filename); x++) {
   1.191 -+			if (args[x] == '/')
   1.192 -+				args[x] = '-';
   1.193 -+		}
   1.194 - 		for(x = 0; x < strlen(args); x++) {
   1.195 - 			if (args[x] == '/')
   1.196 - 				args[x] = '-';
   1.197 -@@ -2183,6 +2187,10 @@
   1.198 - 			snprintf(args, len, "%s.%s,b", touch_filename, S_OR(touch_format, "wav"));
   1.199 - 		}
   1.200 ++	for(x = 0; x < strlen(touch_filename); x++) {
   1.201 ++		if (args[x] == '/')
   1.202 ++			args[x] = '-';
   1.203 ++	}
   1.204 + 	for(x = 0; x < strlen(args); x++) {
   1.205 + 		if (args[x] == '/')
   1.206 + 			args[x] = '-';
   1.207 +@@ -2239,6 +2243,10 @@
   1.208 + 		snprintf(args, len, "%s.%s,b", touch_filename, S_OR(touch_format, "wav"));
   1.209 + 	}
   1.210   
   1.211 -+		for( x = 0; x < strlen(touch_filename); x++) {
   1.212 -+			if (args[x] == '/')
   1.213 -+				args[x] = '-';
   1.214 -+		}
   1.215 - 		for( x = 0; x < strlen(args); x++) {
   1.216 - 			if (args[x] == '/')
   1.217 - 				args[x] = '-';
   1.218 ++   	for( x = 0; x < strlen(touch_filename); x++) {
   1.219 ++   		if (args[x] == '/')
   1.220 ++   			args[x] = '-';
   1.221 ++   	}
   1.222 + 	for( x = 0; x < strlen(args); x++) {
   1.223 + 		if (args[x] == '/')
   1.224 + 			args[x] = '-';
   1.225  Index: main/file.c
   1.226  diff -Nau main/file.c.orig main/file.c
   1.227  --- main/file.c.orig	2012-01-05 23:06:46.000000000 +0100
   1.228  +++ main/file.c	2012-03-18 17:47:07.898462166 +0100
   1.229 -@@ -256,7 +256,7 @@
   1.230 +@@ -260,7 +260,7 @@
   1.231   	char *fn = NULL;
   1.232   
   1.233   	if (!strcmp(ext, "wav49"))
   1.234 @@ -930,7 +930,7 @@
   1.235  diff -Nau main/Makefile.orig main/Makefile
   1.236  --- main/Makefile.orig	2011-09-19 22:27:03.000000000 +0200
   1.237  +++ main/Makefile	2012-03-18 17:47:07.898462166 +0100
   1.238 -@@ -69,10 +69,7 @@
   1.239 +@@ -66,10 +66,7 @@
   1.240   endif
   1.241   
   1.242   ifeq ($(OSARCH),FreeBSD)
   1.243 @@ -946,7 +946,7 @@
   1.244  diff -Nau main/tcptls.c.orig main/tcptls.c
   1.245  --- main/tcptls.c.orig	2011-11-30 22:41:31.000000000 +0100
   1.246  +++ main/tcptls.c	2012-03-18 17:47:07.898462166 +0100
   1.247 -@@ -372,6 +372,7 @@
   1.248 +@@ -391,6 +391,7 @@
   1.249   	if (!ast_strlen_zero(cfg->cafile) || !ast_strlen_zero(cfg->capath)) {
   1.250   		if (SSL_CTX_load_verify_locations(cfg->ssl_ctx, S_OR(cfg->cafile, NULL), S_OR(cfg->capath,NULL)) == 0)
   1.251   			ast_verb(0, "SSL CA file(%s)/path(%s) error\n", cfg->cafile, cfg->capath);
   1.252 @@ -958,7 +958,7 @@
   1.253  diff -Nau main/udptl.c.orig main/udptl.c
   1.254  --- main/udptl.c.orig	2011-10-06 19:49:38.000000000 +0200
   1.255  +++ main/udptl.c	2012-03-18 17:47:07.898462166 +0100
   1.256 -@@ -98,6 +98,18 @@
   1.257 +@@ -101,6 +101,18 @@
   1.258   
   1.259   #define UDPTL_BUF_MASK              15
   1.260   
   1.261 @@ -981,14 +981,11 @@
   1.262  diff -Nau Makefile.orig Makefile
   1.263  --- Makefile.orig	2011-10-05 00:54:15.000000000 +0200
   1.264  +++ Makefile	2012-03-18 17:47:07.898462166 +0100
   1.265 -@@ -230,15 +230,6 @@
   1.266 -   _ASTCFLAGS+=-fsigned-char
   1.267 +@@ -186,12 +186,6 @@
   1.268 +   _ASTCFLAGS+=-isystem /usr/local/include
   1.269   endif
   1.270   
   1.271  -ifeq ($(OSARCH),FreeBSD)
   1.272 --  ifeq ($(PROC),i386)
   1.273 --    _ASTCFLAGS+=-march=i686
   1.274 --  endif
   1.275  -  # -V is understood by BSD Make, not by GNU make.
   1.276  -  BSDVERSION=$(shell make -V OSVERSION -f /usr/share/mk/bsd.port.subdir.mk)
   1.277  -  _ASTCFLAGS+=$(shell if test $(BSDVERSION) -lt 500016 ; then echo "-D_THREAD_SAFE"; fi)
     2.1 --- a/asterisk/asterisk.patch.proxymwi	Tue Aug 28 18:32:00 2012 +0200
     2.2 +++ b/asterisk/asterisk.patch.proxymwi	Tue Aug 28 18:32:05 2012 +0200
     2.3 @@ -2,7 +2,7 @@
     2.4  diff -Nau channels/chan_sip.c.orig channels/chan_sip.c
     2.5  --- channels/chan_sip.c.orig	2011-01-14 18:32:52.000000000 +0100
     2.6  +++ channels/chan_sip.c	2011-03-13 14:34:29.000000000 +0100
     2.7 -@@ -25085,6 +25085,7 @@
     2.8 +@@ -25791,6 +25791,7 @@
     2.9   	struct sip_pvt *p;
    2.10   	int newmsgs = 0, oldmsgs = 0;
    2.11   	const char *vmexten = NULL;
    2.12 @@ -10,7 +10,7 @@
    2.13   
    2.14   	ao2_lock(peer);
    2.15   
    2.16 -@@ -25138,6 +25139,11 @@
    2.17 +@@ -25852,6 +25853,11 @@
    2.18   		}
    2.19   		/* Recalculate our side, and recalculate Call ID */
    2.20   		ast_sip_ouraddrfor(&p->sa, &p->ourip, p);
    2.21 @@ -20,5 +20,5 @@
    2.22  +		if (s != NULL)
    2.23  +			*s = 0;
    2.24   		build_via(p);
    2.25 - 		ao2_t_unlink(dialogs, p, "About to change the callid -- remove the old name");
    2.26 - 		build_callid_pvt(p);
    2.27 + 
    2.28 + 		ao2_lock(peer);
     3.1 --- a/asterisk/asterisk.patch.xfersips	Tue Aug 28 18:32:00 2012 +0200
     3.2 +++ b/asterisk/asterisk.patch.xfersips	Tue Aug 28 18:32:05 2012 +0200
     3.3 @@ -2,7 +2,7 @@
     3.4  diff -Nau channels/chan_sip.c.orig channels/chan_sip.c
     3.5  --- channels/chan_sip.c.orig	2011-05-23 17:35:28.358543497 +0200
     3.6  +++ channels/chan_sip.c	2011-05-23 17:57:05.948534524 +0200
     3.7 -@@ -28839,6 +28839,7 @@
     3.8 +@@ -29733,6 +29733,7 @@
     3.9   \todo	Fix this function so that we wait for reply to the REFER and
    3.10   	react to errors, denials or other issues the other end might have.
    3.11    */
    3.12 @@ -10,16 +10,16 @@
    3.13   static int sip_sipredirect(struct sip_pvt *p, const char *dest)
    3.14   {
    3.15   	char *cdest;
    3.16 -@@ -28847,7 +28848,7 @@
    3.17 +@@ -29741,7 +29742,7 @@
    3.18   	cdest = ast_strdupa(dest);
    3.19 - 	
    3.20 + 
    3.21   	extension = strsep(&cdest, "@");
    3.22 --	domain = strsep(&cdest, ":");
    3.23 +-	domain = cdest;
    3.24  +	domain = strsep(&cdest, ":");     /* MSvB: Could begin with '@' if SIPS */
    3.25   	if (ast_strlen_zero(extension)) {
    3.26   		ast_log(LOG_ERROR, "Missing mandatory argument: extension\n");
    3.27   		return 0;
    3.28 -@@ -28879,7 +28880,14 @@
    3.29 +@@ -29773,7 +29774,14 @@
    3.30   		}
    3.31   	}
    3.32   
     4.1 --- a/asterisk/asterisk.spec	Tue Aug 28 18:32:00 2012 +0200
     4.2 +++ b/asterisk/asterisk.spec	Tue Aug 28 18:32:05 2012 +0200
     4.3 @@ -22,23 +22,24 @@
     4.4  ##
     4.5  
     4.6  #   package version
     4.7 -%define       V_opkg                     1.8.11.0
     4.8 -%define       V_asterisk                 1.8.11.0
     4.9 +%define       V_opkg                     1.8.15.0
    4.10 +%define       V_asterisk                 1.8.15.0
    4.11  %define       V_asterisk_fax_subdir      1.8.4
    4.12 -%define       V_asterisk_fax_digium      1.8.4_1.3.0
    4.13 +%define       V_asterisk_fax_digium      1.8.4_1.3.1
    4.14  %define       V_asterisk_sounds_core     1.4.22
    4.15  %define       V_asterisk_sounds_extra    1.4.11
    4.16  %define       V_asterisk_sounds_amoogab  1.4
    4.17  %define       V_asterisk_sounds_amootts  current
    4.18  %define       V_asterisk_sounds_custom   1.0
    4.19  %define       V_asterisk_sounds_mohop    2.03
    4.20 +%define       V_asterisk_sounds_newpro   july_2012
    4.21  %define       V_asterisk_addons_mp3dec   1
    4.22 -%define       V_fswitch_sounds_en        1.0.16
    4.23 -%define       V_fswitch_sounds_fr        1.0.14
    4.24 +%define       V_fswitch_sounds_en        1.0.20
    4.25 +%define       V_fswitch_sounds_fr        1.0.16
    4.26  %define       V_fswitch_sounds_ru        1.0.13
    4.27  %define       V_fswitch_music            1.0.8
    4.28  %define       V_asterisk_codecs_ilbc     20110104
    4.29 -%define       V_chan_capi                1.1.5.20120324
    4.30 +%define       V_chan_capi                1.1.5.20120615
    4.31  
    4.32  #   package information
    4.33  Name:         asterisk
    4.34 @@ -51,7 +52,7 @@
    4.35  Group:        VoIP
    4.36  License:      GPL
    4.37  Version:      %{V_opkg}
    4.38 -Release:      20120330
    4.39 +Release:      20120800
    4.40  
    4.41  #   package options
    4.42  %option       with_dahdi   no
    4.43 @@ -80,7 +81,6 @@
    4.44  Source0:      http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-%{V_asterisk}.tar.gz
    4.45  Source1:      ftp://ftp.chan-capi.org/chan-capi/chan_capi-%{V_chan_capi}.tar.gz
    4.46  Source2:      ftp://ftp.europalab.com/pub/sfw/machsnds/asterisk-moh-freeplay-sln16.tar.gz
    4.47 -
    4.48  Source3:      http://downloads.asterisk.org/pub/telephony/sounds/releases/asterisk-moh-opsound-sln16-%{V_asterisk_sounds_mohop}.tar.gz
    4.49  Source4:      http://downloads.asterisk.org/pub/telephony/sounds/releases/asterisk-core-sounds-en-sln16-%{V_asterisk_sounds_core}.tar.gz
    4.50  Source5:      http://downloads.asterisk.org/pub/telephony/sounds/releases/asterisk-core-sounds-es-sln16-%{V_asterisk_sounds_core}.tar.gz
    4.51 @@ -89,32 +89,31 @@
    4.52  Source8:      http://downloads.asterisk.org/pub/telephony/sounds/releases/asterisk-core-sounds-ru-sln16-%{V_asterisk_sounds_core}.tar.gz
    4.53  Source9:      http://downloads.asterisk.org/pub/telephony/sounds/releases/asterisk-extra-sounds-en-sln16-%{V_asterisk_sounds_extra}.tar.gz
    4.54  Source10:     http://downloads.asterisk.org/pub/telephony/sounds/releases/asterisk-extra-sounds-fr-sln16-%{V_asterisk_sounds_extra}.tar.gz
    4.55 -Source11:     http://www.amooma.de/asterisk/sprachbausteine/asterisk-%{V_asterisk_sounds_amoogab}-de-prompts.tar.gz
    4.56 -Source12:     http://www.amooma.de/asterisk/sprachbausteine/asterisk-core-sounds-de-gsm-current.tar.gz
    4.57 -Source13:     ftp://ftp.europalab.com/pub/sfw/machsnds/de-digits/de-digits-%{V_asterisk_sounds_custom}.tar.bz2
    4.58 -Source14:     ftp://ftp.europalab.com/pub/sfw/machsnds/de-sounds/astmultisnds-de-sln16-%{V_asterisk_sounds_custom}.tar.bz2
    4.59 -Source15:     ftp://ftp.europalab.com/pub/sfw/machsnds/msvbsnds-sln16-%{V_asterisk_sounds_custom}.tar.bz2
    4.60 -Source16:     http://files.freeswitch.org/freeswitch-sounds-en-us-callie-48000-%{V_fswitch_sounds_en}.tar.gz
    4.61 -Source17:     http://files.freeswitch.org/freeswitch-sounds-es-mx-maria-44100.tar.gz
    4.62 -Source18:     http://files.freeswitch.org/freeswitch-sounds-fr-ca-june-48000-%{V_fswitch_sounds_fr}.tar.gz
    4.63 -Source19:     http://files.freeswitch.org/freeswitch-sounds-ru-RU-elena-48000-%{V_fswitch_sounds_ru}.tar.gz
    4.64 -Source20:     http://files.freeswitch.org/freeswitch-sounds-music-48000-%{V_fswitch_music}.tar.gz
    4.65 -Source21:     http://svn.digium.com/svn/thirdparty/mp3/trunk/addons/mp3-%{V_asterisk_addons_mp3dec}.tar.gz
    4.66 -Source22:     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
    4.67 -Source23:     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
    4.68 -Source24:     ilbc-20110104.tar.gz
    4.69 -Source25:     asterisk.txt
    4.70 -Source26:     rc.asterisk
    4.71 -Source27:     wakeup.agi
    4.72 +Source11:     http://www.asterisk.org/files/new_prompts_%{V_asterisk_sounds_newpro}.zip
    4.73 +Source12:     http://www.amooma.de/asterisk/sprachbausteine/asterisk-%{V_asterisk_sounds_amoogab}-de-prompts.tar.gz
    4.74 +Source13:     http://www.amooma.de/asterisk/sprachbausteine/asterisk-core-sounds-de-gsm-current.tar.gz
    4.75 +Source14:     ftp://ftp.europalab.com/pub/sfw/machsnds/de-digits/de-digits-%{V_asterisk_sounds_custom}.tar.bz2
    4.76 +Source15:     ftp://ftp.europalab.com/pub/sfw/machsnds/de-sounds/astmultisnds-de-sln16-%{V_asterisk_sounds_custom}.tar.bz2
    4.77 +Source16:     ftp://ftp.europalab.com/pub/sfw/machsnds/msvbsnds-sln16-%{V_asterisk_sounds_custom}.tar.bz2
    4.78 +Source17:     http://files.freeswitch.org/freeswitch-sounds-en-us-callie-48000-%{V_fswitch_sounds_en}.tar.gz
    4.79 +Source18:     http://files.freeswitch.org/freeswitch-sounds-es-mx-maria-44100.tar.gz
    4.80 +Source19:     http://files.freeswitch.org/freeswitch-sounds-fr-ca-june-48000-%{V_fswitch_sounds_fr}.tar.gz
    4.81 +Source20:     http://files.freeswitch.org/freeswitch-sounds-ru-RU-elena-48000-%{V_fswitch_sounds_ru}.tar.gz
    4.82 +Source21:     http://files.freeswitch.org/freeswitch-sounds-music-48000-%{V_fswitch_music}.tar.gz
    4.83 +Source22:     http://svn.digium.com/svn/thirdparty/mp3/trunk/addons/mp3-%{V_asterisk_addons_mp3dec}.tar.gz
    4.84 +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
    4.85 +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
    4.86 +Source25:     ilbc-%{V_asterisk_codecs_ilbc}.tar.gz
    4.87 +Source26:     asterisk.txt
    4.88 +Source27:     rc.asterisk
    4.89 +Source28:     wakeup.agi
    4.90  Patch0:       asterisk.patch
    4.91  Patch1:       asterisk.patch.xfersips
    4.92  Patch2:       asterisk.patch.proxymwi
    4.93  
    4.94  #   build information
    4.95 -Prefix:       %{l_prefix}
    4.96 -BuildRoot:    %{l_buildroot}
    4.97 -BuildPreReq:  OpenPKG, openpkg >= 20060823, bison, gcc, make, grep, pkgconfig
    4.98 -PreReq:       OpenPKG, openpkg >= 20060823, MTA
    4.99 +BuildPreReq:  OpenPKG, openpkg >= 20100101, bison, gcc, make, grep, pkgconfig
   4.100 +PreReq:       OpenPKG, openpkg >= 20100101, MTA
   4.101  BuildPreReq:  zlib, curl, openssl, ncurses, speex, sox, popt, gmime, libxml
   4.102  PreReq:       zlib, curl, openssl, ncurses, speex, sox, popt, gmime, libxml
   4.103  %if "%{with_ogg}" == "yes"
   4.104 @@ -172,10 +171,8 @@
   4.105  PreReq:       libpri > 1.4.11.5
   4.106  %endif
   4.107  %if "%{with_esounds}" == "yes"
   4.108 -BuildPreReq:  sox
   4.109 +BuildPreReq:  sox, infozip
   4.110  %endif
   4.111 -AutoReq:      no
   4.112 -AutoReqProv:  no
   4.113  
   4.114  %description
   4.115      Asterisk is a complete Private Branch Exchange (PBX) in software.
   4.116 @@ -220,6 +217,11 @@
   4.117          url       = http://downloads.asterisk.org/pub/telephony/sounds/releases/
   4.118          regex     = asterisk-core-sounds-en-sln16-(\d+\.\d+(\.\d+)+)\.tar\.gz
   4.119      }
   4.120 +    prog asterisk:sounds_newpro = {
   4.121 +        version   = %{V_asterisk_sounds_newpro}
   4.122 +        url       = http://www.asterisk.org/files/
   4.123 +        regex     = new_prompts_(__VER__)\.zip
   4.124 +    }
   4.125      prog asterisk:sounds_extra = {
   4.126          version   = %{V_asterisk_sounds_extra}
   4.127          url       = http://downloads.asterisk.org/pub/telephony/sounds/releases/
   4.128 @@ -266,8 +268,8 @@
   4.129      %setup -q -n asterisk-%{V_asterisk} -D -T -a 1
   4.130      %setup -q -n asterisk-%{V_asterisk} -D -T -a 2
   4.131  %if "%{with_fax}" == "yes"
   4.132 -    %setup -q -n asterisk-%{V_asterisk} -D -T -a 22
   4.133      %setup -q -n asterisk-%{V_asterisk} -D -T -a 23
   4.134 +    %setup -q -n asterisk-%{V_asterisk} -D -T -a 24
   4.135  %endif
   4.136      ( cd addons
   4.137        %{l_tar} zxf %{_sourcedir}/mp3-%{V_asterisk_addons_mp3dec}.tar.gz
   4.138 @@ -306,6 +308,9 @@
   4.139          -e 's;\(sh\) \(bash\) ksh sh5;\2 \1;' \
   4.140          configure
   4.141      %{l_shtool} subst \
   4.142 +        -e 's/int foo2 = \(__sync_fetch_and_add(\&foo1, 1);\)/return \1/' \
   4.143 +        configure
   4.144 +    %{l_shtool} subst \
   4.145          -e 's;^\(#define DEFAULT_DB .*\${ASTDBDIR}\)/astdb;\1/asterisk.db;' \
   4.146          build_tools/make_defaults_h
   4.147      %{l_shtool} subst \
   4.148 @@ -331,7 +336,6 @@
   4.149          -e 's;\(<defaultenabled>\)no\(</defaultenabled>\);\1yes\2;g' \
   4.150          apps/app_ivrdemo.c \
   4.151          apps/app_saycounted.c \
   4.152 -        apps/app_rpt.c \
   4.153          utils/utils.xml \
   4.154          agi/agi.xml
   4.155      %{l_shtool} subst \
   4.156 @@ -598,7 +602,6 @@
   4.157  
   4.158  %install
   4.159      #   install program
   4.160 -    rm -rf $RPM_BUILD_ROOT
   4.161      %{l_make} %{l_mflags} install \
   4.162          DESTDIR=$RPM_BUILD_ROOT \
   4.163          INSTALL_PREFIX=%{l_prefix}
   4.164 @@ -641,12 +644,20 @@
   4.165  %endif
   4.166  
   4.167      ( echo 'Start of sound installation block (OpenPKG)'
   4.168 +      #   create main sound directory hierarchy
   4.169 +      ( cd $RPM_BUILD_ROOT%{l_prefix}/share/asterisk/sounds
   4.170 +        %{l_shtool} mkdir -f -p -m 755 en es fr en_AU
   4.171 +      ) || exit $?
   4.172  %if "%{with_esounds}" == "yes"
   4.173 -      #   create sound directory hierarchy
   4.174 -      for sndir in en es fr ru en_AU moh; do
   4.175 -          %{l_shtool} mkdir -f -p -m 755 \
   4.176 -              $RPM_BUILD_ROOT%{l_prefix}/share/asterisk/sounds/$sndir
   4.177 -      done
   4.178 +      #   create extra sound directory hierarchy
   4.179 +      %{l_shtool} mkdir -f -p -m 755 \
   4.180 +          $RPM_BUILD_ROOT%{l_prefix}/share/asterisk/sounds/ru
   4.181 +          $RPM_BUILD_ROOT%{l_prefix}/share/asterisk/sounds/moh
   4.182 +
   4.183 +      #   install humorous 'new' prompts
   4.184 +      cd $RPM_BUILD_ROOT%{l_prefix}/share/asterisk/sounds/en
   4.185 +      %{l_prefix}/bin/unzip %{_sourcedir}/new_prompts_%{V_asterisk_sounds_newpro}.zip
   4.186 +
   4.187        #   install freeswitch sound prompt files, expecting
   4.188        #   identical sound filenames to be overwritten later
   4.189        cd $RPM_BUILD_ROOT%{l_prefix}/share/asterisk/sounds/en
   4.190 @@ -828,7 +839,6 @@
   4.191  %files -f files
   4.192  
   4.193  %clean
   4.194 -    rm -rf $RPM_BUILD_ROOT
   4.195  
   4.196  %post
   4.197  %if "%{with_dahdi}" == "yes"

mercurial