From b496a12b5c9529365b10c942aa9efd578f3ecfaf Mon Sep 17 00:00:00 2001 From: Hans Zandbelt Date: Thu, 4 Jun 2009 18:47:57 +0000 Subject: [PATCH] update asterisk-1.6.x to 1.6.2.0-beta2 SVN-Revision: 16341 --- net/asterisk-1.6.x/Makefile | 5 +- .../patches/100-build_tools-iconv.patch | 10 +- .../patches/200-uclibc-daemon.patch | 44 ---- net/asterisk-1.6.x/patches/210-ppc_fix.patch | 7 +- net/asterisk-1.6.x/patches/300-bug14930.patch | 234 ------------------ net/asterisk-1.6.x/patches/300-cli.patch | 14 ++ 6 files changed, 26 insertions(+), 288 deletions(-) delete mode 100644 net/asterisk-1.6.x/patches/200-uclibc-daemon.patch delete mode 100644 net/asterisk-1.6.x/patches/300-bug14930.patch create mode 100644 net/asterisk-1.6.x/patches/300-cli.patch diff --git a/net/asterisk-1.6.x/Makefile b/net/asterisk-1.6.x/Makefile index 1eeacb7a63..ad05ec5648 100644 --- a/net/asterisk-1.6.x/Makefile +++ b/net/asterisk-1.6.x/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=asterisk -PKG_VERSION:=1.6.1.0 +PKG_VERSION:=1.6.2.0-beta2 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://downloads.digium.com/pub/asterisk/releases/ -PKG_MD5SUM:=7e4dccc79c504ae497ff42062279905d +PKG_MD5SUM:=ca10a82f5c6ffcec8a9168560e5107ea include $(INCLUDE_DIR)/package.mk @@ -167,6 +167,7 @@ CONFIGURE_ARGS+= \ --without-vorbis \ --without-vpb \ --with-z="$(STAGING_DIR)/usr" \ + --disable-xmldoc \ ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk16-app-meetme),) CONFIGURE_ARGS+= \ diff --git a/net/asterisk-1.6.x/patches/100-build_tools-iconv.patch b/net/asterisk-1.6.x/patches/100-build_tools-iconv.patch index a0b9667f4d..e502580617 100644 --- a/net/asterisk-1.6.x/patches/100-build_tools-iconv.patch +++ b/net/asterisk-1.6.x/patches/100-build_tools-iconv.patch @@ -1,7 +1,7 @@ -diff -Nru asterisk-1.6.1-beta4.org/build_tools/menuselect-deps.in asterisk-1.6.1-beta4/build_tools/menuselect-deps.in ---- asterisk-1.6.1-beta4.org/build_tools/menuselect-deps.in 2008-08-03 18:14:14.000000000 +0200 -+++ asterisk-1.6.1-beta4/build_tools/menuselect-deps.in 2008-12-22 21:49:16.000000000 +0100 -@@ -10,7 +10,7 @@ +diff -Nru asterisk-1.6.2.0-beta2.org/build_tools/menuselect-deps.in asterisk-1.6.2.0-beta2/build_tools/menuselect-deps.in +--- asterisk-1.6.2.0-beta2.org/build_tools/menuselect-deps.in 2009-01-15 21:18:53.000000000 +0100 ++++ asterisk-1.6.2.0-beta2/build_tools/menuselect-deps.in 2009-06-04 19:37:42.000000000 +0200 +@@ -11,7 +11,7 @@ GTK=@PBX_GTK@ H323=@PBX_H323@ HOARD=@PBX_HOARD@ @@ -9,4 +9,4 @@ diff -Nru asterisk-1.6.1-beta4.org/build_tools/menuselect-deps.in asterisk-1.6.1 +ICONV=0 IKSEMEL=@PBX_IKSEMEL@ IMAP_TK=@PBX_IMAP_TK@ - ISDNNET=@PBX_ISDNNET@ + IODBC=@PBX_IODBC@ diff --git a/net/asterisk-1.6.x/patches/200-uclibc-daemon.patch b/net/asterisk-1.6.x/patches/200-uclibc-daemon.patch deleted file mode 100644 index 4956791d4d..0000000000 --- a/net/asterisk-1.6.x/patches/200-uclibc-daemon.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff -Nru asterisk-1.6.1-beta4.org/main/asterisk.c asterisk-1.6.1-beta4/main/asterisk.c ---- asterisk-1.6.1-beta4.org/main/asterisk.c 2008-12-12 23:05:58.000000000 +0100 -+++ asterisk-1.6.1-beta4/main/asterisk.c 2008-12-23 15:28:21.000000000 +0100 -@@ -3295,9 +3295,40 @@ - #if HAVE_WORKING_FORK - if (ast_opt_always_fork || !ast_opt_no_fork) { - #ifndef HAVE_SBIN_LAUNCHD -+#ifndef __UCLIBC__ - if (daemon(1, 0) < 0) { - ast_log(LOG_ERROR, "daemon() failed: %s\n", strerror(errno)); - } -+#else -+ /* -+ * workaround for uClibc-0.9.29 mipsel bug: -+ * recursive mutexes do not work if uClibc daemon() function has been called, -+ * if parent thread locks a mutex -+ * the child thread cannot acquire a lock with the same name -+ * (same code works if daemon() is not called) -+ * but duplication of uClibc daemon.c code in here does work. -+ */ -+ int fd; -+ switch (fork()) { -+ case -1: -+ exit(1); -+ case 0: -+ break; -+ default: -+ _exit(0); -+ } -+ if (setsid() == -1) -+ exit(1); -+ if (fork()) -+ _exit(0); -+ if ((fd = open("/dev/null", O_RDWR, 0)) != -1) { -+ dup2(fd, STDIN_FILENO); -+ dup2(fd, STDOUT_FILENO); -+ dup2(fd, STDERR_FILENO); -+ if (fd > 2) -+ close(fd); -+ } -+#endif - ast_mainpid = getpid(); - /* Blindly re-write pid file since we are forking */ - unlink(ast_config_AST_PID); diff --git a/net/asterisk-1.6.x/patches/210-ppc_fix.patch b/net/asterisk-1.6.x/patches/210-ppc_fix.patch index 1fa746cb11..fb77b67003 100644 --- a/net/asterisk-1.6.x/patches/210-ppc_fix.patch +++ b/net/asterisk-1.6.x/patches/210-ppc_fix.patch @@ -1,6 +1,7 @@ ---- a/apps/app_festival.c -+++ b/apps/app_festival.c -@@ -120,6 +120,7 @@ +diff -Nru asterisk-1.6.2.0-beta2.org/apps/app_festival.c asterisk-1.6.2.0-beta2/apps/app_festival.c +--- asterisk-1.6.2.0-beta2.org/apps/app_festival.c 2008-12-09 21:46:11.000000000 +0100 ++++ asterisk-1.6.2.0-beta2/apps/app_festival.c 2009-06-04 19:41:05.000000000 +0200 +@@ -129,6 +129,7 @@ int res; #ifdef __PPC__ char c; diff --git a/net/asterisk-1.6.x/patches/300-bug14930.patch b/net/asterisk-1.6.x/patches/300-bug14930.patch deleted file mode 100644 index 6cf313ca90..0000000000 --- a/net/asterisk-1.6.x/patches/300-bug14930.patch +++ /dev/null @@ -1,234 +0,0 @@ -diff -Nru asterisk-1.6.1.0.org/configure asterisk-1.6.1.0/configure ---- asterisk-1.6.1.0.org/configure 2009-03-19 19:14:55.000000000 +0100 -+++ asterisk-1.6.1.0/configure 2009-05-01 16:20:40.000000000 +0200 -@@ -16790,6 +16790,70 @@ - rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - -+{ echo "$as_me:$LINENO: checking for pthread_rwlock_timedwrlock() in pthread.h" >&5 -+echo $ECHO_N "checking for pthread_rwlock_timedwrlock() in pthread.h... $ECHO_C" >&6; } -+cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+#include -+ #include -+int -+main () -+{ -+pthread_rwlock_t foo; struct timespec bar; pthread_rwlock_timedwrlock(&foo, &bar) -+ ; -+ return 0; -+} -+ -+_ACEOF -+rm -f conftest.$ac_objext conftest$ac_exeext -+if { (ac_try="$ac_link" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 -+ (eval "$ac_link") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest$ac_exeext && -+ $as_test_x conftest$ac_exeext; then -+ -+ { echo "$as_me:$LINENO: result: yes" >&5 -+echo "${ECHO_T}yes" >&6; } -+ ac_cv_pthread_rwlock_timedwrlock="yes" -+ -+else -+ echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ -+ { echo "$as_me:$LINENO: result: no" >&5 -+echo "${ECHO_T}no" >&6; } -+ ac_cv_pthread_rwlock_timedwrlock="no" -+ -+ -+fi -+ -+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -+ conftest$ac_exeext conftest.$ac_ext -+if test "${ac_cv_pthread_rwlock_timedwrlock}" = "yes"; then -+ -+cat >>confdefs.h <<\_ACEOF -+#define HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK 1 -+_ACEOF -+ -+fi -+ - - if test "x${PBX_PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP}" != "x1"; then - { echo "$as_me:$LINENO: checking for PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP in pthread.h" >&5 -diff -Nru asterisk-1.6.1.0.org/configure.ac asterisk-1.6.1.0/configure.ac ---- asterisk-1.6.1.0.org/configure.ac 2009-03-19 19:14:55.000000000 +0100 -+++ asterisk-1.6.1.0/configure.ac 2009-05-01 16:20:40.000000000 +0200 -@@ -437,6 +437,24 @@ - AC_MSG_RESULT(no) - ) - -+AC_MSG_CHECKING(for pthread_rwlock_timedwrlock() in pthread.h) -+AC_LINK_IFELSE( -+ [AC_LANG_PROGRAM( -+ [#include -+ #include ], -+ [pthread_rwlock_t foo; struct timespec bar; pthread_rwlock_timedwrlock(&foo, &bar)]) -+ ],[ -+ AC_MSG_RESULT(yes) -+ ac_cv_pthread_rwlock_timedwrlock="yes" -+ ],[ -+ AC_MSG_RESULT(no) -+ ac_cv_pthread_rwlock_timedwrlock="no" -+ ] -+) -+if test "${ac_cv_pthread_rwlock_timedwrlock}" = "yes"; then -+ AC_DEFINE([HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK], 1, [Define if your system has pthread_rwlock_timedwrlock()]) -+fi -+ - AST_C_DEFINE_CHECK([PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP], [PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP], [pthread.h]) - - #if test "${cross_compiling}" = "no"; -diff -Nru asterisk-1.6.1.0.org/include/asterisk/autoconfig.h.in asterisk-1.6.1.0/include/asterisk/autoconfig.h.in ---- asterisk-1.6.1.0.org/include/asterisk/autoconfig.h.in 2009-03-19 19:14:55.000000000 +0100 -+++ asterisk-1.6.1.0/include/asterisk/autoconfig.h.in 2009-05-01 16:20:40.000000000 +0200 -@@ -647,6 +647,9 @@ - pthread.h */ - #undef HAVE_PTHREAD_RWLOCK_PREFER_WRITER_NP - -+/* Define if your system has pthread_rwlock_timedwrlock() */ -+#undef HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK -+ - /* Define to 1 if the system has the type `ptrdiff_t'. */ - #undef HAVE_PTRDIFF_T - -diff -Nru asterisk-1.6.1.0.org/include/asterisk/lock.h asterisk-1.6.1.0/include/asterisk/lock.h ---- asterisk-1.6.1.0.org/include/asterisk/lock.h 2009-04-10 05:56:37.000000000 +0200 -+++ asterisk-1.6.1.0/include/asterisk/lock.h 2009-05-01 16:20:40.000000000 +0200 -@@ -49,10 +49,15 @@ - #define _ASTERISK_LOCK_H - - #include -+#include - #include - #ifdef HAVE_BKTR - #include - #endif -+ -+#ifndef HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK -+#include "asterisk/time.h" -+#endif - #include "asterisk/logger.h" - - /* internal macro to profile mutexes. Only computes the delay on -@@ -1395,7 +1400,23 @@ - ast_store_lock_info(AST_WRLOCK, filename, line, func, name, t); - #endif - } -+#ifdef HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK - res = pthread_rwlock_timedrdlock(&t->lock, abs_timeout); -+#else -+ do { -+ struct timeval _start = ast_tvnow(), _diff; -+ for (;;) { -+ if (!(res = pthread_rwlock_tryrdlock(&t->lock))) { -+ break; -+ } -+ _diff = ast_tvsub(ast_tvnow(), _start); -+ if (_diff.tv_sec > abs_timeout->tv_sec || (_diff.tv_sec == abs_timeout->tv_sec && _diff.tv_usec * 1000 > abs_timeout->tv_nsec)) { -+ break; -+ } -+ usleep(1); -+ } -+ } while (0); -+#endif - if (!res) { - ast_reentrancy_lock(lt); - if (lt->reentrancy < AST_MAX_REENTRANCY) { -@@ -1474,7 +1495,23 @@ - ast_store_lock_info(AST_WRLOCK, filename, line, func, name, t); - #endif - } -+#ifdef HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK - res = pthread_rwlock_timedwrlock(&t->lock, abs_timeout); -+#else -+ do { -+ struct timeval _start = ast_tvnow(), _diff; -+ for (;;) { -+ if (!(res = pthread_rwlock_trywrlock(&t->lock))) { -+ break; -+ } -+ _diff = ast_tvsub(ast_tvnow(), _start); -+ if (_diff.tv_sec > abs_timeout->tv_sec || (_diff.tv_sec == abs_timeout->tv_sec && _diff.tv_usec * 1000 > abs_timeout->tv_nsec)) { -+ break; -+ } -+ usleep(1); -+ } -+ } while (0); -+#endif - if (!res) { - ast_reentrancy_lock(lt); - if (lt->reentrancy < AST_MAX_REENTRANCY) { -@@ -1762,7 +1799,23 @@ - - static inline int ast_rwlock_timedrdlock(ast_rwlock_t *prwlock, const struct timespec *abs_timeout) - { -- return pthread_rwlock_timedrdlock(prwlock, abs_timeout); -+ int res; -+#ifdef HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK -+ res = pthread_rwlock_timedrdlock(prwlock, abs_timeout); -+#else -+ struct timeval _start = ast_tvnow(), _diff; -+ for (;;) { -+ if (!(res = pthread_rwlock_tryrdlock(prwlock))) { -+ break; -+ } -+ _diff = ast_tvsub(ast_tvnow(), _start); -+ if (_diff.tv_sec > abs_timeout->tv_sec || (_diff.tv_sec == abs_timeout->tv_sec && _diff.tv_usec * 1000 > abs_timeout->tv_nsec)) { -+ break; -+ } -+ usleep(1); -+ } -+#endif -+ return res; - } - - static inline int ast_rwlock_tryrdlock(ast_rwlock_t *prwlock) -@@ -1777,7 +1830,25 @@ - - static inline int ast_rwlock_timedwrlock(ast_rwlock_t *prwlock, const struct timespec *abs_timeout) - { -- return pthread_rwlock_timedwrlock(prwlock, abs_timeout); -+ int res; -+#ifdef HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK -+ res = pthread_rwlock_timedwrlock(prwlock, abs_timeout); -+#else -+ do { -+ struct timeval _start = ast_tvnow(), _diff; -+ for (;;) { -+ if (!(res = pthread_rwlock_trywrlock(prwlock))) { -+ break; -+ } -+ _diff = ast_tvsub(ast_tvnow(), _start); -+ if (_diff.tv_sec > abs_timeout->tv_sec || (_diff.tv_sec == abs_timeout->tv_sec && _diff.tv_usec * 1000 > abs_timeout->tv_nsec)) { -+ break; -+ } -+ usleep(1); -+ } -+ } while (0); -+#endif -+ return res; - } - - static inline int ast_rwlock_trywrlock(ast_rwlock_t *prwlock) diff --git a/net/asterisk-1.6.x/patches/300-cli.patch b/net/asterisk-1.6.x/patches/300-cli.patch new file mode 100644 index 0000000000..0ea0d1adef --- /dev/null +++ b/net/asterisk-1.6.x/patches/300-cli.patch @@ -0,0 +1,14 @@ +diff -Nru asterisk-1.6.2.0-beta2.org/main/cli.c asterisk-1.6.2.0-beta2/main/cli.c +--- asterisk-1.6.2.0-beta2.org/main/cli.c 2009-04-22 23:18:40.000000000 +0200 ++++ asterisk-1.6.2.0-beta2/main/cli.c 2009-06-04 20:31:14.000000000 +0200 +@@ -406,8 +406,10 @@ + } else if (a->n == (22 - numbermatch) && a->pos == 3 && ast_strlen_zero(argv3)) { + return ast_strdup("atleast"); + } ++/* + } else if (a->pos == 4 || (a->pos == 5 && !strcasecmp(argv3, "atleast"))) { + return ast_complete_source_filename(a->pos == 4 ? S_OR(a->argv[4], "") : S_OR(a->argv[5], ""), a->n); ++*/ + } + return NULL; + } -- 2.30.2