From 60266dc66579928df8e30baea5ccc4e8c6558d69 Mon Sep 17 00:00:00 2001 From: Sebastian Kemper Date: Fri, 16 Aug 2019 20:36:13 +0200 Subject: [PATCH] freeswitch-stable: upgrade to version 1.10.0 - PostgreSQL is a module now, it's no longer in the core. This commit removes the related options. - New modules: mod_mariadb and mod_pgsql. The latter cannot be compiled against uclibcpp because of a missing header ("unordered_map"). - Fixed a typo in the eval line for mod_mp4v. - Refreshed patches. Signed-off-by: Sebastian Kemper --- net/freeswitch-stable/Config.in | 6 ----- net/freeswitch-stable/Makefile | 27 ++++++++++++------- .../patches/030-fix-configure-ac.patch | 20 +++++++------- .../patches/120-fix-copts.diff | 2 +- .../patches/140-libvpx-cross.patch | 6 ++--- ...x-memory-leak-in-mod_event_multicast.patch | 9 ++----- 6 files changed, 33 insertions(+), 37 deletions(-) diff --git a/net/freeswitch-stable/Config.in b/net/freeswitch-stable/Config.in index de0c82a..8e200ef 100644 --- a/net/freeswitch-stable/Config.in +++ b/net/freeswitch-stable/Config.in @@ -27,12 +27,6 @@ config FS_STABLE_WITH_ODBC help Enable ODBC support. -config FS_STABLE_WITH_PGSQL - bool "Compile with PGSQL support" - default y if x86_64 - help - Enable PostgreSQL support. - config FS_STABLE_WITH_PNG bool "Compile with PNG support" default y if x86_64 diff --git a/net/freeswitch-stable/Makefile b/net/freeswitch-stable/Makefile index 958893f..0b38378 100644 --- a/net/freeswitch-stable/Makefile +++ b/net/freeswitch-stable/Makefile @@ -9,17 +9,17 @@ include $(TOPDIR)/rules.mk PRG_NAME:=freeswitch PKG_NAME:=$(PRG_NAME)-stable -PKG_VERSION:=1.8.7 +PKG_VERSION:=1.10.0 PKG_RELEASE:=1 PKG_MAINTAINER:=Sebastian Kemper -PKG_SOURCE:=$(PRG_NAME)-$(PKG_VERSION).tar.xz +PKG_SOURCE:=$(PRG_NAME)-$(PKG_VERSION).-release.tar.xz PKG_SOURCE_URL:=https://files.$(PRG_NAME).org/releases/$(PRG_NAME) -PKG_HASH:=7d3cee32713db5f65e3d4703c6420038872d8f6efab8be4d58fbf66ffa993008 +PKG_HASH:=932992c6fed2ede1173cc6f25fe45017291afa1a8e1d97a9c5b65b44b6e67452 PKG_CPE_ID:=cpe:/a:freeswitch:freeswitch -PKG_BUILD_DIR:=$(BUILD_DIR)/$(PRG_NAME)-$(PKG_VERSION) +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PRG_NAME)-$(PKG_VERSION).-release # configure in libs/spandsp fails without libjpeg and tiff PKG_BUILD_DEPENDS:= \ @@ -147,6 +147,7 @@ FS_STABLE_MOD_AVAILABLE:= \ logfile \ loopback \ lua \ + mariadb \ mp4v \ native_file \ nibblebill \ @@ -155,6 +156,7 @@ FS_STABLE_MOD_AVAILABLE:= \ opusfile \ oreka \ perl \ + pgsql \ png \ pocketsphinx \ portaudio \ @@ -228,7 +230,6 @@ PKG_CONFIG_DEPENDS:= \ CONFIG_FS_STABLE_WITH_FREETYPE \ CONFIG_FS_STABLE_WITH_LIBYUV \ CONFIG_FS_STABLE_WITH_ODBC \ - CONFIG_FS_STABLE_WITH_PGSQL \ CONFIG_FS_STABLE_WITH_PNG \ CONFIG_FS_STABLE_WITH_SRTP \ CONFIG_FS_STABLE_WITH_VPX \ @@ -375,7 +376,6 @@ $(call Package/$(PKG_NAME)/Default) $(ICONV_DEPENDS) \ +FS_STABLE_WITH_FREETYPE:libfreetype \ +FS_STABLE_WITH_ODBC:unixodbc \ - +FS_STABLE_WITH_PGSQL:libpq \ +FS_STABLE_WITH_PNG:libpng \ +libcurl \ +libedit \ @@ -646,14 +646,12 @@ CONFIGURE_ARGS+= \ $(call autoconf_bool,CONFIG_FS_STABLE_WITH_DEBUG,debug) \ $(call autoconf_bool,CONFIG_FS_STABLE_WITH_LIBYUV,libyuv) \ $(call autoconf_bool,CONFIG_FS_STABLE_WITH_ODBC,core-odbc-support) \ - $(call autoconf_bool,CONFIG_FS_STABLE_WITH_PGSQL,core-pgsql-support) \ $(call autoconf_bool,CONFIG_FS_STABLE_WITH_SRTP,srtp) \ $(call autoconf_bool,CONFIG_FS_STABLE_WITH_VPX,libvpx) \ $(call autoconf_bool,CONFIG_FS_STABLE_WITH_ZRTP,zrtp) \ $(if $(CONFIG_FS_STABLE_WITH_FREETYPE),,--without-freetype) \ $(if $(CONFIG_FS_STABLE_WITH_ODBC),--with-odbc-lib="$(STAGING_DIR)$(FS_STABLE_LIB_DIR)") \ $(if $(CONFIG_FS_STABLE_WITH_ODBC),--with-odbc="$(STAGING_DIR)/usr") \ - $(if $(CONFIG_FS_STABLE_WITH_PGSQL),,--without-pgsql) \ $(if $(CONFIG_FS_STABLE_WITH_PNG),,--without-png) \ $(if $(CONFIG_PACKAGE_$(PKG_LIBFTDM)-ftmod-libpri),--with-libpri="$(STAGING_DIR)/usr",--without-libpri) \ $(if $(CONFIG_PACKAGE_$(PKG_LIBFTDM)-ftmod-pritap),--with-pritap,--without-pritap) @@ -678,6 +676,13 @@ CONFIGURE_ARGS+= \ --enable-fixed-point endif +# FreeSWITCH dropped postgresql support from the core. postgresql +# support is now available via mod_pgsql. We still need to pass +# '--without-pgsql', otherwise apr-util links to libpq and we still +# would have the core link to it. +CONFIGURE_ARGS+= \ + --without-pgsql + # Don't want host-php CONFIGURE_VARS+= \ ac_cv_have_php=no \ @@ -1008,7 +1013,7 @@ $(eval $(call Package/$(PKG_NAME)/Module,blacklist,Blacklist helper,This module $(eval $(call Package/$(PKG_NAME)/Module,callcenter,Call center,This module implements Automated Call Distribution queues.,)) $(eval $(call Package/$(PKG_NAME)/Module,cdr_csv,CSV CDR,CSV Call Detail Record handler.,)) $(eval $(call Package/$(PKG_NAME)/Module,cdr_mongodb,MongoDB CDR,MongoDB Call Detail Record handler.,)) -$(eval $(call Package/$(PKG_NAME)/Module,cdr_pg_csv,PostgreSQL CDR,PostgreSQL Call Detail Record handler.,@FS_STABLE_WITH_PGSQL)) +$(eval $(call Package/$(PKG_NAME)/Module,cdr_pg_csv,PostgreSQL CDR,PostgreSQL Call Detail Record handler.,+libpq)) $(eval $(call Package/$(PKG_NAME)/Module,cdr_sqlite,SQLite CDR,SQLite Call Detail Record handler.,)) $(eval $(call Package/$(PKG_NAME)/Module,cidlookup,Caller ID lookup,This module provides an API for querying caller ID name and location\ndata.,)) $(eval $(call Package/$(PKG_NAME)/Module,clearmode,Clearmode,Clearmode codec passthrough support.,)) @@ -1061,7 +1066,8 @@ $(eval $(call Package/$(PKG_NAME)/Module,local_stream,Local stream,Connects mult $(eval $(call Package/$(PKG_NAME)/Module,logfile,File logger,Logs FreeSWITCH output to a file.,)) $(eval $(call Package/$(PKG_NAME)/Module,loopback,Loopback,A loopback channel driver.,)) $(eval $(call Package/$(PKG_NAME)/Module,lua,Lua,Lua language interface for FreeSWITCH.,+liblua)) -$(eval $(call Package/$(PKG_NAME)/Module,mp4v,MP4 video passthrough,MP4 video passthrough..,)) +$(eval $(call Package/$(PKG_NAME)/Module,mariadb,MariaDB,Adds MariaDB support.,+libmariadb @!USE_UCLIBCXX)) +$(eval $(call Package/$(PKG_NAME)/Module,mp4v,MP4 video passthrough,MP4 video passthrough.,)) $(eval $(call Package/$(PKG_NAME)/Module,native_file,Native file,Plays files that are already encoded in the right format.,)) $(eval $(call Package/$(PKG_NAME)/Module,nibblebill,Nibblebill,This module allows for real-time accounting of a cash balance and\nusing that information for call routing.,)) $(eval $(call Package/$(PKG_NAME)/Module,odbc_cdr,ODBC CDR,ODBC Call Detail Record handler.,)) @@ -1069,6 +1075,7 @@ $(eval $(call Package/$(PKG_NAME)/Module,opus,Opus,Opus codec support.,+libopus) $(eval $(call Package/$(PKG_NAME)/Module,opusfile,Opus file,Read and Write OGG/Opus files.,+libopusenc +libopusfile)) $(eval $(call Package/$(PKG_NAME)/Module,oreka,Oreka,This module provides media recording with the Oreka cross-platform\naudio stream recording and retrieval system.,)) $(eval $(call Package/$(PKG_NAME)/Module,perl,Perl,This package contains mod_perl for FreeSWITCH.,+libdb47 +libgdbm +perlbase-essential @PERL_THREADS)) +$(eval $(call Package/$(PKG_NAME)/Module,pgsql,PostgreSQL,Adds PostgreSQL support.,+libpq)) $(eval $(call Package/$(PKG_NAME)/Module,png,PNG,Allows playback of video using PNG files.,@FS_STABLE_WITH_PNG)) $(eval $(call Package/$(PKG_NAME)/Module,pocketsphinx,Pocketsphinx,This module allows speech recognition. You might want to install\n$(PKG_NAME)-misc-grammar as well.,+libsamplerate)) # When libsamplerate is found it'll be linked against, there is no switch to turn it off $(eval $(call Package/$(PKG_NAME)/Module,portaudio,Portaudio,Voice through a local soundcard.,+portaudio)) diff --git a/net/freeswitch-stable/patches/030-fix-configure-ac.patch b/net/freeswitch-stable/patches/030-fix-configure-ac.patch index a05ed6a..23c5094 100644 --- a/net/freeswitch-stable/patches/030-fix-configure-ac.patch +++ b/net/freeswitch-stable/patches/030-fix-configure-ac.patch @@ -31,16 +31,16 @@ else CC_FOR_BUILD='$(CC)' fi -@@ -649,7 +625,7 @@ AC_ARG_ENABLE(core-pgsql-pkgconfig, - [AS_HELP_STRING([--disable-core-pgsql-pkgconfig], [Use pg_config to get PGQSL build options])],[enable_core_pgsql_pkgconfig="$enableval"],[enable_core_pgsql_pkgconfig="yes"]) +@@ -659,7 +635,7 @@ path_push_unique () { + fi + } - if test x"$enable_core_pgsql_support" = x"yes" ; then -- AC_PATH_PROG([PG_CONFIG], [pg_config], [no]) -+ AC_PATH_PROG([PG_CONFIG], [pg_config], [no], ["${STAGING_DIR}"/usr/bin]) - AC_PATH_PROG([PKG_CONFIG], [pkg-config], [no]) - if test "$PKG_CONFIG" = "no" \ - || test x"$enable_core_pgsql_pkgconfig" = x"no" \ -@@ -1614,13 +1590,7 @@ AC_CHECK_PROG(PERL,perl,[ac_cv_have_perl +-AC_PATH_PROG([PG_CONFIG], [pg_config], [no]) ++AC_PATH_PROG([PG_CONFIG], [pg_config], [no], ["${STAGING_DIR}"/usr/bin]) + AC_PATH_PROG([PKG_CONFIG], [pkg-config], [no]) + + case $host in +@@ -1620,13 +1596,7 @@ AC_CHECK_PROG(PERL,perl,[ac_cv_have_perl # -a "x$ac_cv_have_EXTERN_h" != "xno" if test "x$ac_cv_have_perl" != "xno"; then @@ -55,7 +55,7 @@ save_CFLAGS="$CFLAGS" CFLAGS="$PERL_CFLAGS" -@@ -1715,24 +1685,12 @@ then +@@ -1721,24 +1691,12 @@ then if test "$python_has_distutils" != "no" ; then AC_MSG_CHECKING([location of site-packages]) diff --git a/net/freeswitch-stable/patches/120-fix-copts.diff b/net/freeswitch-stable/patches/120-fix-copts.diff index 3eae7bd..6381f90 100644 --- a/net/freeswitch-stable/patches/120-fix-copts.diff +++ b/net/freeswitch-stable/patches/120-fix-copts.diff @@ -1,6 +1,6 @@ --- a/configure.ac +++ b/configure.ac -@@ -2018,7 +2018,12 @@ AC_SUBST(OUR_DISABLED_INSTALL_MODS) +@@ -2038,7 +2038,12 @@ AC_SUBST(OUR_DISABLED_INSTALL_MODS) AC_SUBST(OUR_DISABLED_UNINSTALL_MODS) AC_SUBST(AM_MAKEFLAGS) diff --git a/net/freeswitch-stable/patches/140-libvpx-cross.patch b/net/freeswitch-stable/patches/140-libvpx-cross.patch index 5045fb9..c692bfb 100644 --- a/net/freeswitch-stable/patches/140-libvpx-cross.patch +++ b/net/freeswitch-stable/patches/140-libvpx-cross.patch @@ -1,6 +1,6 @@ --- a/Makefile.am +++ b/Makefile.am -@@ -577,8 +577,13 @@ libs/libedit/src/.libs/libedit.a: +@@ -585,8 +585,13 @@ libs/libedit/src/.libs/libedit.a: libs/libzrtp/libzrtp.a: cd libs/libzrtp && $(MAKE) @@ -9,9 +9,9 @@ +# - added CPPFLAGS to CFLAGS, otherwise they would be ignored +# - disabled optimizations that would override OpenWrt's CFLAGS + - libs/libvpx/Makefile: + libs/libvpx/Makefile: libs/libvpx/.update - cd libs/libvpx && CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" ./configure --enable-pic --disable-docs --disable-examples --disable-install-bins --disable-install-srcs --disable-unit-tests --size-limit=16384x16384 --extra-cflags="$(VISIBILITY_FLAG)" + cd libs/libvpx && CROSS="$(CROSS)" CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS) $(CPPFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" ./configure --target=generic-gnu --enable-pic --disable-docs --disable-examples --disable-install-bins --disable-install-srcs --disable-unit-tests --size-limit=16384x16384 --extra-cflags="$(VISIBILITY_FLAG)" --disable-optimizations - libs/libvpx/libvpx.a: libs/libvpx/Makefile + libs/libvpx/libvpx.a: libs/libvpx/Makefile libs/libvpx/.update @cd libs/libvpx && $(MAKE) diff --git a/net/freeswitch-stable/patches/300-fix-memory-leak-in-mod_event_multicast.patch b/net/freeswitch-stable/patches/300-fix-memory-leak-in-mod_event_multicast.patch index dacfb59..4709404 100644 --- a/net/freeswitch-stable/patches/300-fix-memory-leak-in-mod_event_multicast.patch +++ b/net/freeswitch-stable/patches/300-fix-memory-leak-in-mod_event_multicast.patch @@ -10,11 +10,9 @@ Signed-off-by: Eneas U de Queiroz src/mod/event_handlers/mod_event_multicast/mod_event_multicast.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.c b/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.c -index f591855a3e..fb952ce740 100644 --- a/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.c +++ b/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.c -@@ -324,7 +324,7 @@ static void event_handler(switch_event_t *event) +@@ -324,7 +324,7 @@ static void event_handler(switch_event_t &tmplen, (unsigned char *) MAGIC, (int) strlen((char *) MAGIC)); outlen += tmplen; EVP_EncryptFinal(ctx, (unsigned char *) buf + SWITCH_UUID_FORMATTED_LENGTH + outlen, &tmplen); @@ -23,7 +21,7 @@ index f591855a3e..fb952ce740 100644 #else EVP_CIPHER_CTX_init(&ctx); EVP_EncryptInit(&ctx, EVP_bf_cbc(), NULL, NULL); -@@ -570,7 +570,7 @@ SWITCH_MODULE_RUNTIME_FUNCTION(mod_event_multicast_runtime) +@@ -577,7 +577,7 @@ SWITCH_MODULE_RUNTIME_FUNCTION(mod_event EVP_DecryptInit(ctx, NULL, (unsigned char *) globals.psk, (unsigned char *) uuid_str); EVP_DecryptUpdate(ctx, (unsigned char *) tmp, &outl, (unsigned char *) packet, (int) len); EVP_DecryptFinal(ctx, (unsigned char *) tmp + outl, &tmplen); @@ -32,6 +30,3 @@ index f591855a3e..fb952ce740 100644 #else EVP_CIPHER_CTX_init(&ctx); EVP_DecryptInit(&ctx, EVP_bf_cbc(), NULL, NULL); --- -2.16.4 - -- 2.30.2