From 5be487ac994b5cc95a7d79faef7e923032213e68 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Apr 01 2010 13:41:56 +0000 Subject: Ver. 1.2.0 --- diff --git a/.cvsignore b/.cvsignore index 0c8aff1..fcb862f 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -sems-1.1.1.w_o_ilbc_sources.tar.gz +sems-1.2.0.w_o_ilbc_sources.tar.gz diff --git a/import.log b/import.log index 2dd8b04..cb013c8 100644 --- a/import.log +++ b/import.log @@ -2,3 +2,4 @@ sems-1_1_0-5_fc10:HEAD:sems-1.1.0-5.fc10.src.rpm:1239420130 sems-1_1_0-6_fc10:HEAD:sems-1.1.0-6.fc10.src.rpm:1240162624 sems-1_1_1-1_fc10:HEAD:sems-1.1.1-1.fc10.src.rpm:1247323064 sems-1_1_1-6_fc11:HEAD:sems-1.1.1-6.fc11.src.rpm:1251489238 +sems-1_2_0-1_fc12:HEAD:sems-1.2.0-1.fc12.src.rpm:1270129147 diff --git a/sems--0001-Adjust-CMake-files-to-reflect-actual-SEMS-version.patch b/sems--0001-Adjust-CMake-files-to-reflect-actual-SEMS-version.patch new file mode 100644 index 0000000..0495b6b --- /dev/null +++ b/sems--0001-Adjust-CMake-files-to-reflect-actual-SEMS-version.patch @@ -0,0 +1,32 @@ +From 443ff1eee2d76e2152e1691bc7f0123d83f2c68d Mon Sep 17 00:00:00 2001 +From: Peter Lemenkov +Date: Wed, 31 Mar 2010 11:51:44 +0400 +Subject: [PATCH 01/13] Adjust CMake files to reflect actual SEMS version + +Signed-off-by: Peter Lemenkov +--- + CMakeLists.txt | 6 +++--- + 1 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c69432b..d8f2c43 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -3,11 +3,11 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6) + PROJECT (SEMS) + + SET(SEMS_MAJOR_VERSION 1) +-SET(SEMS_MINOR_VERSION 1) +-SET(SEMS_BUILD_VERSION 1) ++SET(SEMS_MINOR_VERSION 2) ++SET(SEMS_BUILD_VERSION 0) + SET(SEMS_EXTRA_VERSION dev) + SET(SEMS_VERSION +- "${SEMS_MAJOR_VERSION}.${SEMS_MINOR_VERSION}.${SEMS_BUILD_VERSION}-${SEMS_EXTRA_VERSION}") ++ "${SEMS_MAJOR_VERSION}.${SEMS_MINOR_VERSION}.${SEMS_BUILD_VERSION}") + + IF(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR AND NOT MSVC_IDE) + message(FATAL_ERROR "In-source builds are not allowed. +-- +1.6.6.1 + diff --git a/sems--0002-Force-to-use-system-wide-GSM-includes.patch b/sems--0002-Force-to-use-system-wide-GSM-includes.patch new file mode 100644 index 0000000..1f7d20d --- /dev/null +++ b/sems--0002-Force-to-use-system-wide-GSM-includes.patch @@ -0,0 +1,26 @@ +From 4daff2ce25b7f87896ede3f65d50ed04b281cd72 Mon Sep 17 00:00:00 2001 +From: Peter Lemenkov +Date: Wed, 31 Mar 2010 11:52:52 +0400 +Subject: [PATCH 02/13] Force to use system-wide GSM includes + +Signed-off-by: Peter Lemenkov +--- + core/plug-in/gsm/gsm.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/core/plug-in/gsm/gsm.c b/core/plug-in/gsm/gsm.c +index fd63fb5..0c1e237 100644 +--- a/core/plug-in/gsm/gsm.c ++++ b/core/plug-in/gsm/gsm.c +@@ -27,7 +27,7 @@ + + #include "amci.h" + #include "codecs.h" +-#include "gsm-1.0-pl10/inc/gsm.h" ++#include + #include "../../log.h" + + #include +-- +1.6.6.1 + diff --git a/sems--0003-Allow-rewrite-of-custom-makefiles-by-CMake.patch b/sems--0003-Allow-rewrite-of-custom-makefiles-by-CMake.patch new file mode 100644 index 0000000..c3d7f76 --- /dev/null +++ b/sems--0003-Allow-rewrite-of-custom-makefiles-by-CMake.patch @@ -0,0 +1,33 @@ +From 7dd4d723ab58c54b6e918c3eacc78f0b877e9530 Mon Sep 17 00:00:00 2001 +From: Peter Lemenkov +Date: Wed, 31 Mar 2010 11:53:48 +0400 +Subject: [PATCH 03/13] Allow rewrite of custom makefiles by CMake + +Signed-off-by: Peter Lemenkov +--- + CMakeLists.txt | 9 --------- + 1 files changed, 0 insertions(+), 9 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d8f2c43..8e250e4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -9,15 +9,6 @@ SET(SEMS_EXTRA_VERSION dev) + SET(SEMS_VERSION + "${SEMS_MAJOR_VERSION}.${SEMS_MINOR_VERSION}.${SEMS_BUILD_VERSION}") + +-IF(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR AND NOT MSVC_IDE) +- message(FATAL_ERROR "In-source builds are not allowed. +-CMake would overwrite all makefiles distributed with SEMS. +-Please create a directory and run cmake from there, passing the path +-to this source directory as the last argument. +-This process created the file `CMakeCache.txt' and the directory `CMakeFiles'. +-Please delete them.") +-ENDIF(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR AND NOT MSVC_IDE) +- + OPTION(SEMS_USE_SPANDSP "Build with spandsp" OFF) + OPTION(SEMS_USE_LIBSAMPLERATE "Build with libsamplerate" OFF) + OPTION(SEMS_USE_ZRTP "Build with ZRTP" OFF) +-- +1.6.6.1 + diff --git a/sems--0004-Relax-requirements-for-CMake-version.patch b/sems--0004-Relax-requirements-for-CMake-version.patch new file mode 100644 index 0000000..82a4086 --- /dev/null +++ b/sems--0004-Relax-requirements-for-CMake-version.patch @@ -0,0 +1,23 @@ +From e4cf5961d73fda32abed0cddeb39bc58bde3e1a9 Mon Sep 17 00:00:00 2001 +From: Peter Lemenkov +Date: Wed, 31 Mar 2010 12:10:52 +0400 +Subject: [PATCH 04/13] Relax requirements for CMake version + +Signed-off-by: Peter Lemenkov +--- + CMakeLists.txt | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8e250e4..1f1e41b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,4 +1,4 @@ +-CMAKE_MINIMUM_REQUIRED(VERSION 2.6) ++CMAKE_MINIMUM_REQUIRED(VERSION 2.4) + + PROJECT (SEMS) + +-- +1.6.6.1 + diff --git a/sems--0005-Disable-ilbc-plugin.patch b/sems--0005-Disable-ilbc-plugin.patch new file mode 100644 index 0000000..8b8218b --- /dev/null +++ b/sems--0005-Disable-ilbc-plugin.patch @@ -0,0 +1,26 @@ +From 46d4fe37bedec0bd4fbbc4e2f695ce9d911c022c Mon Sep 17 00:00:00 2001 +From: Peter Lemenkov +Date: Wed, 31 Mar 2010 12:19:48 +0400 +Subject: [PATCH 05/13] Disable ilbc plugin + +Signed-off-by: Peter Lemenkov +--- + core/plug-in/CMakeLists.txt | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/core/plug-in/CMakeLists.txt b/core/plug-in/CMakeLists.txt +index 8fc0281..8ba89bc 100644 +--- a/core/plug-in/CMakeLists.txt ++++ b/core/plug-in/CMakeLists.txt +@@ -7,7 +7,7 @@ ENDIF(SEMS_USE_SPANDSP) + IF(GSM_FOUND) + ADD_SUBDIRECTORY (gsm) + ENDIF(GSM_FOUND) +-ADD_SUBDIRECTORY (ilbc) ++#ADD_SUBDIRECTORY (ilbc) + ADD_SUBDIRECTORY (l16) + ADD_SUBDIRECTORY (session_timer) + ADD_SUBDIRECTORY (sipctrl) +-- +1.6.6.1 + diff --git a/sems--0006-Fix-module-name-definition.patch b/sems--0006-Fix-module-name-definition.patch new file mode 100644 index 0000000..30657c6 --- /dev/null +++ b/sems--0006-Fix-module-name-definition.patch @@ -0,0 +1,26 @@ +From 4af73128163baf0ab7034f182de0cedf6e416393 Mon Sep 17 00:00:00 2001 +From: Peter Lemenkov +Date: Wed, 31 Mar 2010 16:08:43 +0400 +Subject: [PATCH 06/13] Fix module name definition. + +Signed-off-by: Peter Lemenkov +--- + cmake/module.rules.txt | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/cmake/module.rules.txt b/cmake/module.rules.txt +index f43becb..80ec94e 100644 +--- a/cmake/module.rules.txt ++++ b/cmake/module.rules.txt +@@ -6,7 +6,7 @@ + + ADD_LIBRARY(sems_${sems_module_name} SHARED ${${sems_module_name}_SRCS}) + +-ADD_DEFINITIONS(-DMOD_NAME="${sems_module_name}") ++ADD_DEFINITIONS(-DMOD_NAME="\\\"${sems_module_name}\\\"") + + # all modules should be linked against ${CMAKE_DL_LIBS} at least + # and with additional ${sems_module_libs} if they exists +-- +1.6.6.1 + diff --git a/sems--0007-No-longer-install-SEMS-OpenSER-SER-HOWTOs.patch b/sems--0007-No-longer-install-SEMS-OpenSER-SER-HOWTOs.patch new file mode 100644 index 0000000..1fe3168 --- /dev/null +++ b/sems--0007-No-longer-install-SEMS-OpenSER-SER-HOWTOs.patch @@ -0,0 +1,26 @@ +From ccac93f6784d96dbe03de31e02c0d556f4adb0a1 Mon Sep 17 00:00:00 2001 +From: Peter Lemenkov +Date: Wed, 31 Mar 2010 16:09:48 +0400 +Subject: [PATCH 07/13] No longer install SEMS-OpenSER/SER HOWTOs + +Signed-off-by: Peter Lemenkov +--- + core/CMakeLists.txt | 2 -- + 1 files changed, 0 insertions(+), 2 deletions(-) + +diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt +index 785f9fa..7459f45 100644 +--- a/core/CMakeLists.txt ++++ b/core/CMakeLists.txt +@@ -98,8 +98,6 @@ SET(doc_files + ../doc/CHANGELOG + ../doc/COMPILING + ../doc/COPYING +- ../doc/Configure-Sems-OpenSER-HOWTO +- ../doc/Configure-Sems-Ser-HOWTO + ../doc/Makefile + ../doc/Readme.ann_b2b.txt + ../doc/Readme.announce_transfer.txt +-- +1.6.6.1 + diff --git a/sems--0008-Typo.patch b/sems--0008-Typo.patch new file mode 100644 index 0000000..9874fc0 --- /dev/null +++ b/sems--0008-Typo.patch @@ -0,0 +1,26 @@ +From dad7ba2e371af7eec9e95e049512fb55fa021b5f Mon Sep 17 00:00:00 2001 +From: Peter Lemenkov +Date: Wed, 31 Mar 2010 18:48:57 +0400 +Subject: [PATCH 08/13] Typo + +Signed-off-by: Peter Lemenkov +--- + apps/annrecorder/CMakeLists.txt | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/apps/annrecorder/CMakeLists.txt b/apps/annrecorder/CMakeLists.txt +index 3560e8a..548071f 100644 +--- a/apps/annrecorder/CMakeLists.txt ++++ b/apps/annrecorder/CMakeLists.txt +@@ -2,7 +2,7 @@ set (annrecorder_SRCS + AnnRecorder.cpp + ) + +-set (audio_filenames ++set (audio_files + beep.wav + bye.wav + confirm.wav +-- +1.6.6.1 + diff --git a/sems--0009-Set-CFG_PREFIX-to-empty-string-by-default.patch b/sems--0009-Set-CFG_PREFIX-to-empty-string-by-default.patch new file mode 100644 index 0000000..c3380e9 --- /dev/null +++ b/sems--0009-Set-CFG_PREFIX-to-empty-string-by-default.patch @@ -0,0 +1,26 @@ +From de3a993f1cc5ee844932010feb0384721844f02a Mon Sep 17 00:00:00 2001 +From: Peter Lemenkov +Date: Wed, 31 Mar 2010 18:56:39 +0400 +Subject: [PATCH 09/13] Set CFG_PREFIX to empty string by default + +Signed-off-by: Peter Lemenkov +--- + CMakeLists.txt | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1f1e41b..d3a8a39 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -24,7 +24,7 @@ OPTION(MAX_RTP_SESSIONS:int "How many rtp sessions SEMS will handle simultaneo + SET(CMAKE_DL_LIBS ${CMAKE_DL_LIBS} m pthread) + + IF (NOT SEMS_CFG_PREFIX) +- SET(SEMS_CFG_PREFIX "/usr/local") ++ SET(SEMS_CFG_PREFIX "") + ENDIF (NOT SEMS_CFG_PREFIX) + MESSAGE(STATUS "SEMS cfg prefix was set to: ${SEMS_CFG_PREFIX}") + +-- +1.6.6.1 + diff --git a/sems--0010-Fix-LAME-library-detection.patch b/sems--0010-Fix-LAME-library-detection.patch new file mode 100644 index 0000000..fa78244 --- /dev/null +++ b/sems--0010-Fix-LAME-library-detection.patch @@ -0,0 +1,45 @@ +From f84b0860cbc5eac2a196bde7c418c7b6781a4f0b Mon Sep 17 00:00:00 2001 +From: Peter Lemenkov +Date: Thu, 1 Apr 2010 13:54:54 +0400 +Subject: [PATCH 10/13] Fix LAME library detection + +Signed-off-by: Peter Lemenkov +--- + CMakeLists.txt | 10 +++++----- + 1 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d3a8a39..97da195 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -102,22 +102,22 @@ ELSE(SEMS_USE_ZRTP) + ENDIF(SEMS_USE_ZRTP) + + # Lame MP3 support +-IF(SEMS_USE_LAME) ++IF(SEMS_USE_MP3) + FIND_LIBRARY(LAME_LIBRARIES NAMES mp3lame) +- FIND_PATH(LAME_INCLUDE_DIR lame.h) ++ FIND_PATH(LAME_INCLUDE_DIR lame/lame.h) + IF(LAME_INCLUDE_DIR AND LAME_LIBRARIES) + SET(LAME_FOUND TRUE) +- MESSAGE(STATUS "Found lame mp3 includes: ${LAME_INCLUDE_DIR}/lame.h") ++ MESSAGE(STATUS "Found lame mp3 includes: ${LAME_INCLUDE_DIR}/lame/lame.h") + MESSAGE(STATUS "Found lame mp3 library: ${LAME_LIBRARIES}") + MESSAGE(STATUS "Using lame mp3: YES") + ELSE(LAME_INCLUDE_DIR AND LAME_LIBRARIES) + SET(LAME_FOUND FALSE) + MESSAGE(FATAL_ERROR "Could NOT find lame development files") + ENDIF(LAME_INCLUDE_DIR AND LAME_LIBRARIES) +-ELSE(SEMS_USE_LAME) ++ELSE(SEMS_USE_MP3) + SET(LAME_FOUND FALSE) + MESSAGE(STATUS "Using lame mp3: NO (default)") +-ENDIF(SEMS_USE_LAME) ++ENDIF(SEMS_USE_MP3) + + # build in support for monitoring? + IF(SEMS_USE_MONITORING) +-- +1.6.6.1 + diff --git a/sems--0011-Add-py_sems-back.patch b/sems--0011-Add-py_sems-back.patch new file mode 100644 index 0000000..cb653a2 --- /dev/null +++ b/sems--0011-Add-py_sems-back.patch @@ -0,0 +1,34 @@ +From 8824dd67189dec8226e1b698bcfc789887996881 Mon Sep 17 00:00:00 2001 +From: Peter Lemenkov +Date: Thu, 1 Apr 2010 13:55:30 +0400 +Subject: [PATCH 11/11] Add py_sems back + +Signed-off-by: Peter Lemenkov +--- + apps/CMakeLists.txt | 10 +++++----- + 1 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt +index 8c0e6f3..ba652c7 100644 +--- a/apps/CMakeLists.txt ++++ b/apps/CMakeLists.txt +@@ -34,11 +34,11 @@ IF(PYTHONLIBS_FOUND) + ADD_SUBDIRECTORY(pin_collect) + ENDIF(PYTHONLIBS_FOUND) + ADD_SUBDIRECTORY(precoded_announce) +-#IF(PYTHONLIBS_FOUND) +-#IF(SIP_FOUND) +-# ADD_SUBDIRECTORY(py_sems) +-#ENDIF(SIP_FOUND) +-#ENDIF(PYTHONLIBS_FOUND) ++IF(PYTHONLIBS_FOUND) ++IF(SIP_FOUND) ++ ADD_SUBDIRECTORY(py_sems) ++ENDIF(SIP_FOUND) ++ENDIF(PYTHONLIBS_FOUND) + ADD_SUBDIRECTORY(reg_agent) + ADD_SUBDIRECTORY(registrar_client) + ADD_SUBDIRECTORY(sw_prepaid_sip) +-- +1.6.6.1 + diff --git a/sems--0012-Add-missing-files-to-CMake-target.patch b/sems--0012-Add-missing-files-to-CMake-target.patch new file mode 100644 index 0000000..3acabd9 --- /dev/null +++ b/sems--0012-Add-missing-files-to-CMake-target.patch @@ -0,0 +1,39 @@ +From b53db68b9c06354d3745ad5e9abdc0adec67e7c7 Mon Sep 17 00:00:00 2001 +From: Peter Lemenkov +Date: Thu, 1 Apr 2010 16:59:28 +0400 +Subject: [PATCH 12/13] Add missing files to CMake target + +Signed-off-by: Peter Lemenkov +--- + core/CMakeLists.txt | 3 +++ + 1 files changed, 3 insertions(+), 0 deletions(-) + +diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt +index 7459f45..9f49f8e 100644 +--- a/core/CMakeLists.txt ++++ b/core/CMakeLists.txt +@@ -5,6 +5,7 @@ SET (sems_SRCS + AmAudio.cpp + AmAudioFile.cpp + AmAudioMixIn.cpp ++ AmAudioMixer.cpp + AmB2ABSession.cpp + AmB2BSession.cpp + AmBufferedAudio.cpp +@@ -35,11 +36,13 @@ SET (sems_SRCS + AmServer.cpp + AmSession.cpp + AmSessionContainer.cpp ++ AmSessionEventHandler.cpp + AmSipDialog.cpp + AmSipDispatcher.cpp + AmSipMsg.cpp + AmThread.cpp + AmUAC.cpp ++ AmUriParser.cpp + AmUtils.cpp + AmZRTP.cpp + LowcFE.cpp +-- +1.6.6.1 + diff --git a/sems--0013-Fix-for-newest-GCC.patch b/sems--0013-Fix-for-newest-GCC.patch new file mode 100644 index 0000000..66e4f6e --- /dev/null +++ b/sems--0013-Fix-for-newest-GCC.patch @@ -0,0 +1,34 @@ +From a8b16914c49361aa1263fe8d7d680e17e602f17c Mon Sep 17 00:00:00 2001 +From: Peter Lemenkov +Date: Thu, 1 Apr 2010 17:09:47 +0400 +Subject: [PATCH 13/13] Fix for newest GCC + +--- + apps/dsm/mods/mod_mysql/ModMysql.cpp | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/apps/dsm/mods/mod_mysql/ModMysql.cpp b/apps/dsm/mods/mod_mysql/ModMysql.cpp +index 46adf02..0bdacda 100644 +--- a/apps/dsm/mods/mod_mysql/ModMysql.cpp ++++ b/apps/dsm/mods/mod_mysql/ModMysql.cpp +@@ -321,7 +321,7 @@ EXEC_ACTION_START(SCMyQueryGetResultAction) { + mysqlpp::Query query = conn->query(qstr.c_str()); + mysqlpp::StoreQueryResult res = query.store(); + if (res) { +- size_t rowindex_i = 0; ++ unsigned int rowindex_i = 0; + string rowindex = resolveVars(par2, sess, sc_sess, event_params); + if (rowindex.length()) { + if (str2i(rowindex, rowindex_i)) { +@@ -369,7 +369,7 @@ EXEC_ACTION_START(SCMyGetResultAction) { + return false; + } + +- size_t rowindex_i = 0; ++ unsigned int rowindex_i = 0; + string rowindex = resolveVars(par1, sess, sc_sess, event_params); + string colname = resolveVars(par2, sess, sc_sess, event_params); + +-- +1.6.6.1 + diff --git a/sems--external_gsm_lib.diff b/sems--external_gsm_lib.diff deleted file mode 100644 index c345da1..0000000 --- a/sems--external_gsm_lib.diff +++ /dev/null @@ -1,33 +0,0 @@ ---- core/plug-in/gsm/gsm.c~ 2008-02-10 21:52:44.000000000 +0300 -+++ core/plug-in/gsm/gsm.c 2008-08-13 13:25:17.000000000 +0400 -@@ -27,7 +27,7 @@ - - #include "amci.h" - #include "codecs.h" --#include "gsm-1.0-pl10/inc/gsm.h" -+#include "gsm.h" - #include "../../log.h" - - #include ---- core/plug-in/gsm/Makefile~ 2007-01-18 23:35:32.000000000 +0300 -+++ core/plug-in/gsm/Makefile 2008-08-13 14:17:41.000000000 +0400 -@@ -3,17 +3,14 @@ - plug_in_name = gsm - - module_ldflags = --module_cflags = -I gsm-1.0-pl10/inc -DHAS_STDLIB_H -+module_cflags = -DHAS_STDLIB_H - --module_extra_objs = gsm-1.0-pl10/lib/libgsm.a -+module_extra_objs = -lgsm - - extra_clean = clean_gsmlib - - include ../Makefile.audio_module - --gsm-1.0-pl10/lib/libgsm.a:: -- cd gsm-1.0-pl10; $(MAKE) ./lib/libgsm.a -- - .PHONY: clean_gsmlib - clean_gsmlib: - cd gsm-1.0-pl10; $(MAKE) clean diff --git a/sems--flite-hardcoded-path-removal.diff b/sems--flite-hardcoded-path-removal.diff deleted file mode 100644 index 6c8b5bd..0000000 --- a/sems--flite-hardcoded-path-removal.diff +++ /dev/null @@ -1,41 +0,0 @@ ---- apps/py_sems/Makefile~ 2008-04-23 22:15:21.000000000 +0400 -+++ apps/py_sems/Makefile 2009-04-07 23:48:00.725992047 +0400 -@@ -21,15 +21,12 @@ - # flite text to speech - # - # uncomment the next lines if you want to have flite text-to-speech (ivr.say("Hello there"); ) --FLITE_DIR = /usr/src/flite-1.2-release - ALT_FLITE_DIR = /usr/include/flite --PY_SEMS_TTS_module_ldflags = -L$(FLITE_DIR)/lib -lm -lflite_cmu_us_kal -lflite_usenglish \ -+PY_SEMS_TTS_module_ldflags = -lm -lflite_cmu_us_kal -lflite_usenglish \ - -lflite_cmulex -lflite --PY_SEMS_TTS_module_cflags = -I$(FLITE_DIR)/include -I$(ALT_FLITE_DIR) -DPY_SEMS_WITH_TTS -+PY_SEMS_TTS_module_cflags = -I$(ALT_FLITE_DIR) -DPY_SEMS_WITH_TTS - endif - --LOCAL_INCLUDES = -I$(FLITE_DIR)/lang/usenglish -- - # On FreeBSD, remove the following flags: -ldl -lpthread - module_ldflags = -ldl -lpthread -lutil -lm \ - $(PYTHON_module_ldflags) \ ---- apps/ivr/Makefile~ 2008-04-13 15:51:02.000000000 +0400 -+++ apps/ivr/Makefile 2009-04-07 23:50:55.087991178 +0400 -@@ -25,16 +25,14 @@ - # - # flite text to speech - # --IVR_TTS_module_ldflags = -L$(FLITE_DIR)/lib -lm -lflite_cmu_us_kal -lflite_usenglish \ -+IVR_TTS_module_ldflags = -lm -lflite_cmu_us_kal -lflite_usenglish \ - -lflite_cmulex -lflite --IVR_TTS_module_cflags = -I$(FLITE_DIR)/include -I$(ALT_FLITE_DIR) -DIVR_WITH_TTS -+IVR_TTS_module_cflags = -I$(ALT_FLITE_DIR) -DIVR_WITH_TTS - else - FLITE_DIR = - ALT_FLITE_DIR = - endif - --LOCAL_INCLUDES = -I$(FLITE_DIR)/lang/usenglish -- - module_ldflags = -lutil \ - $(PYTHON_module_ldflags) \ - $(IVR_TTS_module_ldflags) diff --git a/sems--gcc44.diff b/sems--gcc44.diff deleted file mode 100644 index 3db9f8a..0000000 --- a/sems--gcc44.diff +++ /dev/null @@ -1,10 +0,0 @@ ---- ./apps/diameter_client/ServerConnection.h~ 2009-01-19 20:11:43.000000000 +0300 -+++ ./apps/diameter_client/ServerConnection.h 2009-04-19 21:08:09.048458437 +0400 -@@ -38,6 +38,7 @@ - #include - #include - #include -+#include - using std::string; - using std::vector; - using std::map; diff --git a/sems--makefile_defs_removal.diff b/sems--makefile_defs_removal.diff deleted file mode 100644 index 6ab1d1d..0000000 --- a/sems--makefile_defs_removal.diff +++ /dev/null @@ -1,236 +0,0 @@ ---- Makefile.defs~ 2009-01-20 21:02:34.000000000 +0300 -+++ Makefile.defs 2009-04-19 20:45:30.208412422 +0400 -@@ -1,10 +1,3 @@ --ifeq ($(makefile_defs), 1) --else --makefile_defs=1 --export makefile_defs -- --SVN_REV?=r$(shell svnversion -n .) -- - #version number - VERSION = 1 - PATCHLEVEL = 1 -@@ -14,153 +7,19 @@ - REL_VERSION=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL) - RELEASE=$(REL_VERSION)$(EXTRAVERSION) - --CPPFLAGS += -D_DEBUG \ -- -D_THREAD_SAFE -D_REENTRANT \ -- -DSEMS_VERSION='"$(RELEASE)"' -DARCH='"$(ARCH)"'\ -- -DOS='"$(OS)"' \ --# -DMAX_RTP_SESSIONS=8192 \ --# -DOpenSER \ --# -DSUPPORT_IPV6 \ --# -DNO_THREADID_LOG \ -- --# compile with spandsp DTMF detection? see soft-switch.org --# this needs a fairly new version of spandsp - tested with 0.0.4pre11 --# will not work with spandsp 0.0.2 . --# (which means that current debian and gentoo packages don't work) --# --#USE_SPANDSP = yes --# statically link spandsp library? --# (might need adjusting spandsp lib path LIBSPANDSP_LDIR - may be /usr/lib) --#LIBSPANDSP_STATIC = yes --#LIBSPANDSP_LDIR = /usr/local/lib/ -- -- --# compile with sample rate conversion from secret rabbit code? --# (see http://www.mega-nerd.com/SRC/) --# --#USE_LIBSAMPLERATE = yes -- --# --# ZRTP support? (see zfoneproject.com) --#WITH_ZRTP = yes -- --# --# exclude some modules from compilation? --# e.g. python modules: --#exclude_modules ?= py_sems ivr mailbox pin_collect conf_auth mp3 examples -- - LDFLAGS += -lm - - OS = $(shell uname -s | sed -e s/SunOS/solaris/ | tr "[A-Z]" "[a-z]") - --ifdef USE_SPANDSP --ifneq ($(spandsp_defs), 1) --spandsp_defs=1 --export spandsp_defs --CPPFLAGS += -DUSE_SPANDSP -D__STDC_LIMIT_MACROS --endif --endif -- --ifdef USE_LIBSAMPLERATE --ifneq ($(libsrc_defs), 1) --libsrc_defs=1 --export libsrc_defs --CPPFLAGS += -DUSE_LIBSAMPLERATE --endif --endif -- --# Additions for Solaris support. --ifeq ($(OS),solaris) -- GETARCH=uname -p -- CPPFLAGS += -DHAVE_SYS_SOCKIO_H -DBSD_COMP -fPIC -include compat/solaris.h -- CFLAGS += -DHAVE_SYS_SOCKIO_H -DBSD_COMP -fPIC -include compat/solaris.h -- # For nanosleep. -- LDFLAGS += -lrt -- # For inet_aton. -- LDFLAGS += -lresolv -- -- # I don't have libspeex installed. -- # binrpcctrl does some really weird header stuff that doesn't work. -- exclude_modules += binrpcctrl ilbc speex --else -- GETARCH=uname -m --endif -- --ARCH ?= $(shell $(GETARCH) |sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \ -- -e s/armv4l/arm/ -e "s/Power Macintosh/ppc/" \ -- -e "s/cobalt/mips2/" \ -- -e s/amd64/x86_64/ ) -- --# fix sparc -> sparc64 --ifeq ($(ARCH),sparc) -- ifeq ($(shell uname -m),sun4u) -- ARCH := sparc64 -- endif --endif -- - # need OS specific for this ? - CXX = g++ - CC = gcc - LD = $(CC) - -- --CXXFLAGS += -Wall -Wno-reorder -fPIC -g \ -- -O2 $(EXTRA_CXXFLAGS) -- --CFLAGS += -Wall -fPIC -g -O2 $(EXTRA_CFLAGS) -- --ifeq ($(DEBUG_PLAYOUT), yes) --CPPFLAGS += -DDEBUG_PLAYOUTBUF --endif -- --ifdef WITH_ZRTP --CPPFLAGS += -DWITH_ZRTP \ -- -DBUILD_ZRTP_MUTEXES \ -- -DBUILD_DEFAULT_CACHE -DBUILD_DEFAULT_TIMER -DUNIX -DBUILD_ZRTP_MUTEXES \ -- -I/usr/local/include/zrtp --endif -- - TARGET = - LIB_LDFLAGS = -shared - --ifeq ($(OS), linux) -- LDFLAGS += -ldl -rdynamic -lpthread --else --ifeq ($(OS), freebsd) -- LDFLAGS += -rdynamic -pthread --else --ifeq ($(OS), openbsd) -- LDFLAGS += -rdynamic -pthread --else --ifeq ($(OS), netbsd) -- LDFLAGS += -rdynamic -pthread --else --ifeq ($(OS), darwin) -- LDFLAGS += -rdynamic -pthread -- LIB_LDFLAGS = -flat_namespace -undefined suppress -bundle -- CXXFLAGS += -fno-common -- CFLAGS += -fno-common -- -- #necessary for sa_len|ss_len|sin_len -- # may be needed on other *BSD -- CPPFLAGS += -DBSD44SOCKETS -- -- # add the DarwinPorts directory -- ifneq ($(ARCH), iphone) -- CPPFLAGS += -D__DARWIN_UNIX03 -- CPPFLAGS += -I /opt/local/include -- LDFLAGS += -L/opt/local/lib -- endif -- -- override exclude_modules += binrpcctrl mp3 examples py_sems --else -- LDFLAGS+= -fPIC -ldl -lsocket -lnsl -lpthread -- TARGET=solaris --endif --endif --endif --endif --endif -+LDFLAGS += -ldl -rdynamic -lpthread - - LIB_LDFLAGS += $(LDFLAGS) - -@@ -201,28 +60,8 @@ - - ser-cfg-dir = etc/ser/ - --ifeq ($(OS), linux) -- doc-dir = share/doc/sems/ -- man-dir = share/man/ --else --ifeq ($(OS), freebsd) -- doc-dir = share/doc/sems/ -- man-dir = man/ --else --ifeq ($(OS), openbsd) -- doc-dir = share/doc/sems/ -- man-dir = man/ --else --ifeq ($(OS), netbsd) -- doc-dir = share/doc/sems -- man-dir = man/ --else -- doc-dir = doc/sems/ -- man-dir = man/ --endif --endif --endif --endif -+doc-dir = share/doc/sems/ -+man-dir = share/man/ - - # target dirs for various stuff - bin-target = $(prefix)/$(bin-dir) -@@ -232,14 +71,8 @@ - ser-cfg-target =$(ser-prefix)/$(ser-cfg-dir) - lib-target = $(prefix)/$(lib-dir) - --ifeq ($(OS), solaris) --#use GNU versions --INSTALL ?= ginstall --TAR ?= gtar --else - INSTALL ?= install - TAR ?= tar --endif - - INSTALL-TOUCH = touch # used to create the file first (good to - # make solaris install work) -@@ -251,7 +84,7 @@ - - #export stuff to sub-makes - export REL_VERSION RELEASE OS --export CPPFLAGS CXXFLAGS LDFLAGS CFLAGS LIB_LDFLAGS -+export LDFLAGS LIB_LDFLAGS - export CXX CC LD - export DESTDIR PREFIX prefix basedir ser-prefix - export start-script -@@ -260,12 +93,6 @@ - export bin-target cfg-target modules-target audio-target ser-cfg-target lib-target - export INSTALL TAR INSTALL-TOUCH INSTALL-CFG INSTALL-BIN INSTALL-MODULES INSTALL-DOC INSTALL-AUDIO - --export USE_SPANDSP LIBSPANDSP_STATIC LIBSPANDSP_LDIR --export USE_LIBSAMPLERATE --export WITH_ZRTP -- --endif # ifeq ($(makefile_defs, 1) -- - mk-install-dirs: $(DESTDIR)$(cfg-target) \ - $(DESTDIR)$(bin-prefix)/$(bin-dir) \ - $(DESTDIR)$(modules-prefix)/$(modules-dir) \ diff --git a/sems--openssl10.diff b/sems--openssl10.diff deleted file mode 100644 index a7d1338..0000000 --- a/sems--openssl10.diff +++ /dev/null @@ -1,14 +0,0 @@ ---- apps/xmlrpc2di/xmlrpc++/src/XmlRpcSource.h~ 2008-12-19 21:24:02.000000000 +0300 -+++ apps/xmlrpc2di/xmlrpc++/src/XmlRpcSource.h 2009-08-28 23:36:28.702111338 +0400 -@@ -48,7 +48,11 @@ - bool _ssl; - SSL_CTX* _ssl_ctx; - SSL* _ssl_ssl; -+#if OPENSSL_VERSION_NUMBER >= 0x10000000L -+ const SSL_METHOD* _ssl_meth; -+#else - SSL_METHOD* _ssl_meth; -+#endif - private: - - // Socket. This should really be a SOCKET (an alias for unsigned int*) on windows... diff --git a/sems--py_sources_install.diff b/sems--py_sources_install.diff deleted file mode 100644 index b91f754..0000000 --- a/sems--py_sources_install.diff +++ /dev/null @@ -1,35 +0,0 @@ ---- apps/py_sems/Makefile~ 2009-04-07 23:48:00.725992047 +0400 -+++ apps/py_sems/Makefile 2009-04-07 23:52:09.909991935 +0400 -@@ -81,7 +81,7 @@ - .PHONY: install_python_files - install_python_files: $(DESTDIR)$(modules-prefix)/$(modules-dir) - echo "Installing Python object files..." -- for f in $(py_obj) ; do \ -+ for f in $(py_src) $(py_obj) ; do \ - if [ -n "py/$$f" ]; then \ - $(INSTALL-TOUCH) $(DESTDIR)$(modules-prefix)/$(modules-dir)/$$f; \ - $(INSTALL-MODULES) py/$$f $(DESTDIR)$(modules-prefix)/$(modules-dir)/$$f; \ ---- apps/ivr/Makefile~ 2009-04-08 08:30:00.788685533 +0400 -+++ apps/ivr/Makefile 2009-04-08 08:31:48.349687025 +0400 -@@ -92,7 +92,7 @@ - .PHONY: install_python_files - install_python_files: $(DESTDIR)$(modules-prefix)/$(modules-dir) - echo "Installing Python object files..." -- for f in $(py_obj) ; do \ -+ for f in $(py_src) $(py_obj) ; do \ - if [ -n "py/$$f" ]; then \ - $(INSTALL-TOUCH) $(DESTDIR)$(modules-prefix)/$(modules-dir)/$$f; \ - $(INSTALL-MODULES) py/$$f $(DESTDIR)$(modules-prefix)/$(modules-dir)/$$f; \ ---- apps/ivr/Makefile.ivr_application~ 2008-08-20 17:23:41.000000000 +0400 -+++ apps/ivr/Makefile.ivr_application 2009-04-08 08:32:38.509685952 +0400 -@@ -41,8 +41,10 @@ - .PHONY: install - install: all $(extra_install) - install -d $(DESTDIR)${BASEDIR}/${LIB_INSTALLDIR} -+ install -m ${LIB_PERMISSIONS} *.py $(DESTDIR)${BASEDIR}/${LIB_INSTALLDIR} - install -m ${LIB_PERMISSIONS} *.pyc $(DESTDIR)${BASEDIR}/${LIB_INSTALLDIR} - install -d $(DESTDIR)${BASEDIR}/${LIB_INSTALLDIR}/${LIBDIR} -+ install -m ${LIB_PERMISSIONS} ${LIBDIR}/*.py $(DESTDIR)${BASEDIR}/${LIB_INSTALLDIR}/${LIBDIR} - install -m ${LIB_PERMISSIONS} ${LIBDIR}/*.pyc $(DESTDIR)${BASEDIR}/${LIB_INSTALLDIR}/${LIBDIR} - - .PHONY: install-cfg diff --git a/sems--spandsp_0_0_6_fix.diff b/sems--spandsp_0_0_6_fix.diff deleted file mode 100644 index 5e47460..0000000 --- a/sems--spandsp_0_0_6_fix.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- core/plug-in/g722/g722.c.spandsp_new 2008-07-15 22:48:07.000000000 +0400 -+++ core/plug-in/g722/g722.c 2009-08-28 20:51:44.911218471 +0400 -@@ -28,7 +28,7 @@ - typedef unsigned char uint8_t; - typedef signed short int16_t; - --#include "spandsp/g722.h" -+#include - #include "../../log.h" - - diff --git a/sems--xmlrpc++-use_fedora_cxxflags.diff b/sems--xmlrpc++-use_fedora_cxxflags.diff deleted file mode 100644 index 4fa9a7c..0000000 --- a/sems--xmlrpc++-use_fedora_cxxflags.diff +++ /dev/null @@ -1,20 +0,0 @@ ---- apps/xmlrpc2di/xmlrpc++/Makefile~ 2008-12-19 21:24:02.000000000 +0300 -+++ apps/xmlrpc2di/xmlrpc++/Makefile 2009-04-08 11:52:21.235663373 +0400 -@@ -6,7 +6,7 @@ - DEBUG = -g - OPTIMIZE = -O2 - GCCWARN = -Wall #-Wstrict-prototypes --CXXFLAGS = $(DEBUG) $(GCCWARN) $(OPTIMIZE) $(INCLUDES) -+EXTRA_CXXFLAGS ?= $(DEBUG) $(GCCWARN) $(OPTIMIZE) $(INCLUDES) - VERSION = 0.8 - - DESTDIR = -@@ -43,7 +43,7 @@ - - - tests: $(LIB) -- cd test && $(MAKE) CXX=$(CXX) CXXFLAGS="$(CXXFLAGS)" SYSTEMLIBS="$(SYSTEMLIBS)" -+ cd test && $(MAKE) CXX=$(CXX) CXXFLAGS="$(EXTRA_CXXFLAGS)" SYSTEMLIBS="$(SYSTEMLIBS)" - - doc doxygen: - cd src && doxygen Doxyfile diff --git a/sems.spec b/sems.spec index 5c4e336..61f7f5f 100644 --- a/sems.spec +++ b/sems.spec @@ -1,46 +1,57 @@ Summary: SIP Express Media Server, an extensible SIP media server Name: sems -Version: 1.1.1 -Release: 7%{?dist} +Version: 1.2.0 +Release: 1%{?dist} URL: http://www.iptel.org/sems -# wget http://ftp.iptel.org/pub/sems/sems-1.1.1.tar.gz -# tar zx --exclude iLBC_rfc3951 -f sems-1.1.1.tar.gz -# tar czf sems-1.1.1.w_o_ilbc_sources.tar.gz sems-1.1.1 -Source0: sems-1.1.1.w_o_ilbc_sources.tar.gz +## wget http://ftp.iptel.org/pub/sems/1.2/1.2.0/src/sems-1.2.0.tar.gz +## tar zx --exclude iLBC_rfc3951 -f sems-1.2.0.tar.gz +## tar czf sems-1.2.0.w_o_ilbc_sources.tar.gz sems-1.2.0 +Source0: %{name}-%{version}.w_o_ilbc_sources.tar.gz License: GPLv2+ Group: Applications/Communications -# Use external gsm instead of shipped one -Patch2: sems--external_gsm_lib.diff -# Remove hardcoded path to search for flite includes -Patch3: sems--flite-hardcoded-path-removal.diff -# install also *.py (not only *.pyc) files -Patch4: sems--py_sources_install.diff -# module apps/xmlrpc2di uses custoimized version of xmlrpc++ library -Patch5: sems--xmlrpc++-use_fedora_cxxflags.diff -# Get rid of stupid makefile_defs condition in Makefile.defs -# which prevents uf from successful building on some Fedora releases -Patch6: sems--makefile_defs_removal.diff -# GCC 4.4 fixes -Patch7: sems--gcc44.diff -# spandsp 0.0.6pre fixes -Patch8: sems--spandsp_0_0_6_fix.diff -# openssl 1.0 patch -Patch9: sems--openssl10.diff +# Applied upstream +Patch1: sems--0001-Adjust-CMake-files-to-reflect-actual-SEMS-version.patch +# Will be proposed for inclusion in upstream +Patch2: sems--0002-Force-to-use-system-wide-GSM-includes.patch +# Fedora-specific +Patch3: sems--0003-Allow-rewrite-of-custom-makefiles-by-CMake.patch +# Will be proposed for inclusion in upstream +Patch4: sems--0004-Relax-requirements-for-CMake-version.patch +# Fedora-specific +Patch5: sems--0005-Disable-ilbc-plugin.patch +# Will be proposed for inclusion in upstream +Patch6: sems--0006-Fix-module-name-definition.patch +# Applied upstream +Patch7: sems--0007-No-longer-install-SEMS-OpenSER-SER-HOWTOs.patch +# Applied upstream +Patch8: sems--0008-Typo.patch +# Fedora-specific +Patch9: sems--0009-Set-CFG_PREFIX-to-empty-string-by-default.patch +# Applied upstream +Patch10: sems--0010-Fix-LAME-library-detection.patch +# Applied upstream +Patch11: sems--0011-Add-py_sems-back.patch +# Applied upstream +Patch12: sems--0012-Add-missing-files-to-CMake-target.patch +# Will be proposed for inclusion in upstream +Patch13: sems--0013-Fix-for-newest-GCC.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) # temporary fix for https://fedorahosted.org/fedora-infrastructure/ticket/1202 #BuildRequires: python >= 2.3 BuildRequires: python -# re-enable when/if building -python subpkg -#BuildRequires: sip-devel -#{?_sip_api:Requires: sip-api(%{_sip_api_major}) >= %{_sip_api}} +BuildRequires: sip-devel +%{?_sip_api:Requires: sip-api(%{_sip_api_major}) >= %{_sip_api}} BuildRequires: libsamplerate-devel BuildRequires: gsm-devel BuildRequires: spandsp-devel -# TODO consider enabling flite support in apps/conference BuildRequires: flite-devel BuildRequires: speex-devel BuildRequires: mISDN-devel BuildRequires: openssl-devel +%if %{defined fedora} +BuildRequires: mysql++-devel +%endif +BuildRequires: cmake >= 2.4 Requires(post): /sbin/chkconfig Requires(preun):/sbin/chkconfig Requires(preun):/sbin/service @@ -49,7 +60,7 @@ Requires(preun):/sbin/service SEMS (SIP Express Media Server) is very extensible and programmable SIP media server for SER or OpenSER. The plug-in based SDK enables you to extend SEMS and write your own applications and integrate new -codec. Voicemail, announcement and echo plug-ins are already included. +codec. Voice-mail, announcement and echo plug-ins are already included. SEMS supports g711u, g711a, GSM06.10 and wav file. %package conf_auth @@ -61,6 +72,15 @@ Requires: %{name}-ivr = %{version}-%{release} %description conf_auth Conference with authorization by PIN-numbers. +%package conference +Summary: Conferencing application +Group: Applications/Communications +Requires: %{name} = %{version}-%{release} +Obsoletes: %{name} < 1.2.0 + +%description conference +Conferencing application for SEMS. + %package diameter_client Summary: A simple DIAMETER client implementation Group: Applications/Communications @@ -75,6 +95,28 @@ It is used from other modules with the DI API - i.e. other modules can execute DI functions to add a server connection, or send a DIAMETER request. +%package dsm +Summary: The state machine interpreter for SEMS +Group: Applications/Communications +Requires: %{name} = %{version}-%{release} +Obsoletes: %{name} < 1.2.0 + +%description dsm +DonkeySM is a state machine interpreter for SEMS. Application +or service logic can comfortably and accurately be defined +as state machine, in a simple textual state machine definition +language, and executed by the dsm module as application in SEMS. + +%package early_announce +Summary: Early announce application +Group: Applications/Communications +Requires: %{name} = %{version}-%{release} +Obsoletes: %{name} < 1.2.0 + +%description early_announce +Early annonce application for SEMS. + + %package g722 Summary: G.722 support for SEMS Group: Applications/Communications @@ -117,7 +159,7 @@ Requires: %{name}-ivr = %{version}-%{release} %description mailbox The mailbox application is a mailbox where callers can leave messages for offline or unavailable users and the users can dial in to check their -messages. It uses an IMAP server as backend to store the voice messages. +messages. It uses an IMAP server as back-end to store the voice messages. %package pin_collect Summary: Collects a PIN @@ -129,14 +171,14 @@ Requires: %{name}-ivr = %{version}-%{release} This application collects a PIN and then transfers using a (proprietary) REFER the call. -#%package python -#Summary: Python bindings for SEMS -#Group: Applications/Communications -#Requires: python >= 2.3 -#Requires: %{name} = %{version}-%{release} +%package python +Summary: Python bindings for SEMS +Group: Applications/Communications +Requires: python >= 2.3 +Requires: %{name} = %{version}-%{release} -#%description python -#Python bindings for SEMS. +%description python +Python bindings for SEMS. %package speex Summary: Speex support for SEMS @@ -153,7 +195,7 @@ Requires: %{name} = %{version}-%{release} %description xmlrpc2di This module makes the Dynamic Invocation (DI) Interfaces exported -by component modules accessible from XMLRPC. Additionally the builtin +by component modules accessible from XMLRPC. Additionally the built-in methods calls, get_loglevel and set_loglevel are implemented (like in the stats UDP server). Additionally, it can be used as client to access XMLRPC servers. @@ -161,49 +203,47 @@ XMLRPC servers. %prep %setup -q rm -rf core/plug-in/gsm/gsm-1.0-pl10/ -%patch2 -p0 -b .gsm_ext -%patch3 -p0 -b .flite_hardcoded -%patch4 -p0 -b .py_install_also -%patch5 -p0 -b .cxxflags -%patch6 -p0 -b .makefile_defs_removal -%patch7 -p0 -b .gcc44 -%patch8 -p0 -b .spandsp_new -%patch9 -p0 -b .openssl10 - -iconv -f iso8859-1 -t UTF-8 doc/Readme.diameter_client > doc/Readme.diameter_client.utf8 && mv doc/Readme.diameter_client{.utf8,} -iconv -f iso8859-1 -t UTF-8 doc/Readme.voicebox > doc/Readme.voicebox.utf8 && mv doc/Readme.voicebox{.utf8,} +%patch1 -p1 -b .sems_version +%patch2 -p1 -b .use_system_wide_gsm +%patch3 -p1 -b .allow_rewrite_of_makefiles +%patch4 -p1 -b .relax_required_cmake_ver +%patch5 -p1 -b .no_ilbc +%patch6 -p1 -b .fix_modname +%patch7 -p1 -b .no_longer_install_ser_howto +%patch8 -p1 -b .typo +%patch9 -p1 -b .cfg_prefix_to_empty_string +%patch10 -p1 -b .lame_fix +%patch11 -p1 -b .enable_py_sems +%patch12 -p1 -b .add_missing_sources +%patch13 -p1 -b .fix_for_newest_gcc + + +iconv -f iso8859-1 -t UTF-8 doc/Readme.diameter_client.txt > doc/Readme.diameter_client.utf8 && mv doc/Readme.diameter_client.{utf8,txt} +iconv -f iso8859-1 -t UTF-8 doc/Readme.voicebox.txt > doc/Readme.voicebox.utf8 && mv doc/Readme.voicebox.{utf8,txt} mv ./apps/dsm/fsmc/readme.txt ./apps/dsm/fsmc/Readme.fsmc.txt %build -export CPPFLAGS="-D_REENTRANT -DSEMS_VERSION='\"%{version}\"' -DARCH='\"%{_arch}\"' -DOS='\"linux\"' -DSPANDSP_EXPOSE_INTERNAL_STRUCTURES -DUSE_SPANDSP -D__STDC_LIMIT_MACROS -DUSE_LIBSAMPLERATE -Wall -Wno-reorder -fPIC -g" -export CXXFLAGS="-Wno-reorder -fPIC $RPM_OPT_FLAGS" -export CFLAGS="-Wno-reorder -fPIC $RPM_OPT_FLAGS" -make %{?_smp_mflags} EXTRA_CXXFLAGS="$RPM_OPT_FLAGS" USE_SPANDSP="yes" USE_LIBSAMPLERATE="yes" TTS="y" exclude_modules="examples %{!?with_ilbc:ilbc} %{!?with_mp3:mp3}" all +%{cmake} \ + -DSEMS_USE_SPANDSP=yes \ + -DSEMS_USE_LIBSAMPLERATE=yes \ + -DSEMS_USE_TTS=yes \ + -DSEMS_USE_OPENSSL=yes \ + -DSEMS_USE_MONITORING=yes \ + -DSEMS_CFG_PREFIX= \ + -DSEMS_AUDIO_PREFIX=%{_datadir} \ + -DSEMS_EXEC_PREFIX=%{_prefix} \ + -DSEMS_LIBDIR=%{_lib} \ + -DSEMS_DOC_PREFIX=%{_docdir} + +make %{?_smp_mflags} %install rm -rf $RPM_BUILD_ROOT -make install USE_SPANDSP="yes" USE_LIBSAMPLERATE="yes" TTS="y" exclude_modules="examples %{!?with_ilbc:ilbc} %{!?with_mp3:mp3}" \ - DESTDIR=$RPM_BUILD_ROOT \ - basedir= \ - prefix=%{_prefix} \ - modules-prefix= \ - modules-dir=%{_libdir}/%{name}/plug-in \ - modules-target=%{_libdir}/%{name}/plug-in \ - lib-prefix= \ - lib-dir=%{_libdir}/%{name}/ \ - lib-target=%{_libdir}/%{name}/ \ - ivr-modules-dir=%{_libdir}/%{name}/ivr \ - cfg-prefix= \ - cfg-target=%{_sysconfdir}/%{name}/ \ - doc-prefix= \ - doc-dir=%{_docdir}/%{name}/ \ - audio-prefix= \ - audio-dir=%{_datadir}/%{name}/audio/ \ - audio-target=%{_datadir}/%{name}/audio/ +make install DESTDIR=$RPM_BUILD_ROOT install -D -p -m755 pkg/rpm/sems.init $RPM_BUILD_ROOT/%{_sysconfdir}/init.d/%{name} -# Remove installed README +# Remove installed docs rm -rf $RPM_BUILD_ROOT%{_docdir}/%{name} rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/default.template.sample rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/sems.conf.default @@ -211,10 +251,13 @@ rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/sems.conf.default # remove currently empty conf-file rm -f $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/etc/conf_auth.conf -# fix permissions -chmod 644 $RPM_BUILD_ROOT%{_libdir}/%{name}/plug-in/log.py* -#chmod 644 $RPM_BUILD_ROOT%{_libdir}/%{name}/plug-in/py_sems_log.py* -rm -f $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/etc/py_sems.conf +# add empty directories for audiofiles +mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}/audio/ann_b2b +mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}/audio/announcement +mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}/audio/announce_transfer + +# install template file for voicemail +install -D -p -m 644 apps/voicemail/default.template $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/default.template %clean rm -rf $RPM_BUILD_ROOT @@ -230,6 +273,7 @@ if [ $1 -eq 0 ]; then /sbin/chkconfig --del sems || : fi + %files %defattr(-,root,root) @@ -242,11 +286,10 @@ fi %dir %{_datadir}/%{name}/audio/announcement %dir %{_datadir}/%{name}/audio/announce_transfer %dir %{_datadir}/%{name}/audio/annrecorder -%dir %{_datadir}/%{name}/audio/conference +%dir %{_datadir}/%{name}/audio/precoded_announce %dir %{_datadir}/%{name}/audio/voicebox %dir %{_datadir}/%{name}/audio/voicemail %dir %{_datadir}/%{name}/audio/webconference -%dir %{_libdir}/%{name}/dsm %dir %{_libdir}/%{name}/plug-in %{_sysconfdir}/init.d/%{name} @@ -258,67 +301,62 @@ fi %config(noreplace) %{_sysconfdir}/%{name}/etc/announcement.conf %config(noreplace) %{_sysconfdir}/%{name}/etc/annrecorder.conf %config(noreplace) %{_sysconfdir}/%{name}/etc/app_mapping.conf +%config(noreplace) %{_sysconfdir}/%{name}/etc/auth_b2b.conf %config(noreplace) %{_sysconfdir}/%{name}/etc/binrpcctrl.conf %config(noreplace) %{_sysconfdir}/%{name}/etc/call_timer.conf %config(noreplace) %{_sysconfdir}/%{name}/etc/callback.conf %config(noreplace) %{_sysconfdir}/%{name}/etc/click2dial.conf -%config(noreplace) %{_sysconfdir}/%{name}/etc/conference.conf -%config(noreplace) %{_sysconfdir}/%{name}/etc/dsm.conf -%config(noreplace) %{_sysconfdir}/%{name}/etc/dsm_in_prompts.conf -%config(noreplace) %{_sysconfdir}/%{name}/etc/dsm_out_prompts.conf -%config(noreplace) %{_sysconfdir}/%{name}/etc/early_announce.conf +%config(noreplace) %{_sysconfdir}/%{name}/etc/echo.conf +%config(noreplace) %{_sysconfdir}/%{name}/etc/monitoring.conf %config(noreplace) %{_sysconfdir}/%{name}/etc/msg_storage.conf %config(noreplace) %{_sysconfdir}/%{name}/etc/precoded_announce.conf %config(noreplace) %{_sysconfdir}/%{name}/etc/reg_agent.conf %config(noreplace) %{_sysconfdir}/%{name}/etc/sipctrl.conf %config(noreplace) %{_sysconfdir}/%{name}/etc/stats.conf %config(noreplace) %{_sysconfdir}/%{name}/etc/sw_prepaid_sip.conf -%config(noreplace) %{_sysconfdir}/%{name}/etc/unixsockctrl.conf %config(noreplace) %{_sysconfdir}/%{name}/etc/voicebox.conf %config(noreplace) %{_sysconfdir}/%{name}/etc/voicemail.conf %config(noreplace) %{_sysconfdir}/%{name}/etc/webconference.conf %doc README -%doc apps/dsm/doc/Readme.dsm.txt -%doc apps/dsm/mods/mod_dlg/Readme.mod_dlg.txt -%doc apps/dsm/mods/mod_sys/Readme.mod_sys.txt -%doc apps/dsm/mods/mod_uri/Readme.mod_uri.txt -%doc apps/dsm/fsmc/Readme.fsmc.txt -%doc apps/examples/tutorial/cc_acc/Readme.cc_acc %doc core/plug-in/adpcm/README_G711 %doc core/plug-in/stats/README.stats %doc doc/figures +%doc doc/Howtostart_noproxy.txt +%doc doc/Howtostart_simpleproxy.txt +%doc doc/Howtostart_voicemail.txt %doc doc/CHANGELOG %doc doc/COPYING -%doc doc/Configure-Sems-OpenSER-HOWTO -%doc doc/Configure-Sems-Ser-HOWTO -%doc doc/Readme.ann_b2b -%doc doc/Readme.announce_transfer -%doc doc/Readme.announcement -%doc doc/Readme.annrecorder -%doc doc/Readme.auth_b2b -%doc doc/Readme.call_timer -%doc doc/Readme.callback -%doc doc/Readme.click2dial -%doc doc/Readme.conf_auth -%doc doc/Readme.conference -%doc doc/Readme.early_announce -%doc doc/Readme.echo +%doc doc/Readme.ann_b2b.txt +%doc doc/Readme.announce_transfer.txt +%doc doc/Readme.announcement.txt +%doc doc/Readme.annrecorder.txt +%doc doc/Readme.auth_b2b.txt +%doc doc/Readme.call_timer.txt +%doc doc/Readme.callback.txt +%doc doc/Readme.click2dial.txt +%doc doc/Readme.conf_auth.txt +%doc doc/Readme.echo.txt %if 0%{?with_ilbc} -%doc doc/Readme.iLBC +%doc doc/Readme.iLBC.txt %endif +%doc doc/Readme.monitoring.txt %if 0%{?with_mp3} -%doc doc/Readme.mp3plugin +%doc doc/Readme.mp3plugin.txt %endif -%doc doc/Readme.msg_storage -%doc doc/Readme.reg_agent -%doc doc/Readme.registrar_client -%doc doc/Readme.sw_prepaid_sip -%doc doc/Readme.uac_auth -%doc doc/Readme.voicebox -%doc doc/Readme.voicemail -%doc doc/Readme.webconference +%doc doc/Readme.msg_storage.txt +%doc doc/Readme.py_sems.txt +%doc doc/Readme.reg_agent.txt +%doc doc/Readme.registrar_client.txt +%doc doc/Readme.sw_prepaid_sip.txt +%doc doc/Readme.twit.txt +%doc doc/Readme.uac_auth.txt +%doc doc/Readme.voicebox.txt +%doc doc/Readme.voicemail.txt +%doc doc/Readme.webconference.txt %doc doc/WHATSNEW_0.10 +%doc doc/Tuning.txt +#%doc doc/ZRTP.txt %{_sbindir}/%{name} %{_sbindir}/%{name}-stats @@ -332,8 +370,7 @@ fi %{_datadir}/%{name}/audio/annrecorder/to_record.wav %{_datadir}/%{name}/audio/annrecorder/welcome.wav %{_datadir}/%{name}/audio/annrecorder/your_prompt.wav -%{_datadir}/%{name}/audio/conference/beep.wav -%{_datadir}/%{name}/audio/conference/first_participant.wav +%{_datadir}/%{name}/audio/precoded_announce/test.predef %{_datadir}/%{name}/audio/voicebox/0.wav %{_datadir}/%{name}/audio/voicebox/1.wav %{_datadir}/%{name}/audio/voicebox/10.wav @@ -408,12 +445,6 @@ fi %{_datadir}/%{name}/audio/webconference/pin_prompt.wav %{_datadir}/%{name}/audio/webconference/wrong_pin.wav -%{_libdir}/%{name}/dsm/mod_dlg.so -%{_libdir}/%{name}/dsm/mod_sys.so -%{_libdir}/%{name}/dsm/mod_uri.so -%{_libdir}/%{name}/dsm/inbound_call.dsm -%{_libdir}/%{name}/dsm/outbound_call.dsm - %{_libdir}/%{name}/plug-in/adpcm.so %{_libdir}/%{name}/plug-in/ann_b2b.so %{_libdir}/%{name}/plug-in/announce_transfer.so @@ -423,16 +454,13 @@ fi %{_libdir}/%{name}/plug-in/binrpcctrl.so %{_libdir}/%{name}/plug-in/call_timer.so %{_libdir}/%{name}/plug-in/callback.so -%{_libdir}/%{name}/plug-in/cc_acc.so %{_libdir}/%{name}/plug-in/click2dial.so -%{_libdir}/%{name}/plug-in/conference.so -%{_libdir}/%{name}/plug-in/dsm.so -%{_libdir}/%{name}/plug-in/early_announce.so %{_libdir}/%{name}/plug-in/echo.so %if 0%{?with_ilbc} %{_libdir}/%{name}/plug-in/ilbc.so %endif %{_libdir}/%{name}/plug-in/l16.so +%{_libdir}/%{name}/plug-in/monitoring.so %{_libdir}/%{name}/plug-in/msg_storage.so %{_libdir}/%{name}/plug-in/precoded_announce.so %{_libdir}/%{name}/plug-in/reg_agent.so @@ -442,7 +470,6 @@ fi %{_libdir}/%{name}/plug-in/stats.so %{_libdir}/%{name}/plug-in/sw_prepaid_sip.so %{_libdir}/%{name}/plug-in/uac_auth.so -%{_libdir}/%{name}/plug-in/unixsockctrl.so %{_libdir}/%{name}/plug-in/voicebox.so %{_libdir}/%{name}/plug-in/voicemail.so %{_libdir}/%{name}/plug-in/wav.so @@ -452,16 +479,61 @@ fi %defattr(-,root,root) # currently empty #%config(noreplace) %{_sysconfdir}/%{name}/etc/conf_auth.conf -%doc doc/Readme.conf_auth +%doc doc/Readme.conf_auth.txt %{_libdir}/%{name}/ivr/conf_auth.py %{_libdir}/%{name}/ivr/conf_auth.pyc %{_libdir}/%{name}/ivr/conf_auth.pyo +%files conference +%defattr(-,root,root) +%config(noreplace) %{_sysconfdir}/%{name}/etc/conference.conf +%doc doc/Readme.conference.txt +%dir %{_datadir}/%{name}/audio/conference +%{_libdir}/%{name}/plug-in/conference.so +%{_datadir}/%{name}/audio/conference/beep.wav +%{_datadir}/%{name}/audio/conference/first_participant.wav + %files diameter_client %defattr(-,root,root) -%doc doc/Readme.diameter_client +%doc doc/Readme.diameter_client.txt %{_libdir}/%{name}/plug-in/diameter_client.so +%files dsm +%defattr(-,root,root) +%config(noreplace) %{_sysconfdir}/%{name}/etc/dsm.conf +%config(noreplace) %{_sysconfdir}/%{name}/etc/dsm_in_prompts.conf +%config(noreplace) %{_sysconfdir}/%{name}/etc/dsm_out_prompts.conf +%doc apps/dsm/mods/mod_aws/Readme.mod_aws.txt +%doc apps/dsm/mods/mod_conference/Readme.mod_conference.txt +%doc apps/dsm/mods/mod_dlg/Readme.mod_dlg.txt +%doc apps/dsm/mods/mod_monitoring/Readme.mod_monitoring.txt +%doc apps/dsm/mods/mod_mysql/Readme.mod_mysqlpp.txt +%doc apps/dsm/mods/mod_py/Readme.mod_py.txt +%doc apps/dsm/mods/mod_sys/Readme.mod_sys.txt +%doc apps/dsm/mods/mod_uri/Readme.mod_uri.txt +%doc apps/dsm/mods/mod_utils/Readme.mod_utils.txt +%doc apps/dsm/fsmc/Readme.fsmc.txt +%doc doc/dsm +%dir %{_libdir}/%{name}/dsm +%{_libdir}/%{name}/dsm/mod_dlg.so +%{_libdir}/%{name}/dsm/mod_conference.so +%{_libdir}/%{name}/dsm/mod_monitoring.so +%{_libdir}/%{name}/dsm/mod_mysql.so +%{_libdir}/%{name}/dsm/mod_py.so +%{_libdir}/%{name}/dsm/mod_sys.so +%{_libdir}/%{name}/dsm/mod_uri.so +%{_libdir}/%{name}/dsm/mod_utils.so +%{_libdir}/%{name}/dsm/inbound_call.dsm +%{_libdir}/%{name}/dsm/outbound_call.dsm +%{_libdir}/%{name}/plug-in/dsm.so + + +%files early_announce +%defattr(-,root,root) +%config(noreplace) %{_sysconfdir}/%{name}/etc/early_announce.conf +%doc doc/Readme.early_announce.txt +%{_libdir}/%{name}/plug-in/early_announce.so + %files g722 %defattr(-,root,root) %doc core/plug-in/g722/Readme.g722codec @@ -479,18 +551,18 @@ fi %files ivr %defattr(-,root,root) %config(noreplace) %{_sysconfdir}/%{name}/etc/ivr.conf -%doc doc/Readme.ivr +%doc doc/Readme.ivr.txt %dir %{_libdir}/%{name}/ivr %{_libdir}/%{name}/plug-in/ivr.so -%{_libdir}/%{name}/plug-in/log.py -%{_libdir}/%{name}/plug-in/log.pyc -%{_libdir}/%{name}/plug-in/log.pyo +%{_libdir}/%{name}/ivr/log.py +%{_libdir}/%{name}/ivr/log.pyc +%{_libdir}/%{name}/ivr/log.pyo %files mailbox %defattr(-,root,root) %config(noreplace) %{_sysconfdir}/%{name}/etc/mailbox.conf %config(noreplace) %{_sysconfdir}/%{name}/etc/mailbox_query.conf -%doc doc/Readme.mailbox +%doc doc/Readme.mailbox.txt %dir %{_datadir}/%{name}/audio/mailbox %dir %{_libdir}/%{name}/ivr/imap_mailbox %{_datadir}/%{name}/audio/mailbox/and.wav @@ -525,22 +597,22 @@ fi %files pin_collect %defattr(-,root,root) %config(noreplace) %{_sysconfdir}/%{name}/etc/pin_collect.conf -%doc doc/Readme.pin_collect -%dir %{_datadir}/%{name}/audio/pincollect -%{_datadir}/%{name}/audio/pincollect/enter_pin.wav -%{_datadir}/%{name}/audio/pincollect/welcome.wav +%doc doc/Readme.pin_collect.txt +%dir %{_datadir}/%{name}/audio/pin_collect +%{_datadir}/%{name}/audio/pin_collect/enter_pin.wav +%{_datadir}/%{name}/audio/pin_collect/welcome.wav %{_libdir}/%{name}/ivr/pin_collect.py %{_libdir}/%{name}/ivr/pin_collect.pyc %{_libdir}/%{name}/ivr/pin_collect.pyo -#%files python -#%defattr(-,root,root) -#%config(noreplace) %{_sysconfdir}/%{name}/etc/py_sems.conf -#%doc doc/Readme.py_sems -#%{_libdir}/%{name}/plug-in/py_sems.so -#%{_libdir}/%{name}/plug-in/py_sems_log.py -#%{_libdir}/%{name}/plug-in/py_sems_log.pyc -#%{_libdir}/%{name}/plug-in/py_sems_log.pyo +%files python +%defattr(-,root,root) +%config(noreplace) %{_sysconfdir}/%{name}/etc/py_sems.conf +%doc doc/Readme.py_sems.txt +%{_libdir}/%{name}/plug-in/py_sems.so +%{_libdir}/%{name}/plug-in/py_sems_log.py +%{_libdir}/%{name}/plug-in/py_sems_log.pyc +%{_libdir}/%{name}/plug-in/py_sems_log.pyo %files speex %defattr(-,root,root) @@ -549,10 +621,18 @@ fi %files xmlrpc2di %defattr(-,root,root) %config(noreplace) %{_sysconfdir}/%{name}/etc/xmlrpc2di.conf -%doc doc/Readme.xmlrpc2di +%doc doc/Readme.xmlrpc2di.txt %{_libdir}/%{name}/plug-in/xmlrpc2di.so %changelog +* Wed Mar 31 2010 Peter Lemenkov 1.2.0-1 +- Ver. 1.2.0 +- Switched to CMake (and fixed many packaging and linking issues) +- All old patches were either applied upstream or dropped (no longer required) +- Finally removed unixsockctrl interface +- New sub-packages: conference, dsm, early_announce +- Module py_sems was re-enabled + * Mon Nov 16 2009 Rex Dieter 1.1.1-7 - drop BR: sip-devel diff --git a/sources b/sources index 4718b32..d01fe16 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1faee6a6e7c85babd84288cd7e0ff7cc sems-1.1.1.w_o_ilbc_sources.tar.gz +56fae7b42d9f2ca2b111a4ee41b575fe sems-1.2.0.w_o_ilbc_sources.tar.gz