freeswitch-stable: bump to 1.10.5 570/head
authorSebastian Kemper <sebastian_ml@gmx.net>
Fri, 11 Sep 2020 12:01:34 +0000 (14:01 +0200)
committerSebastian Kemper <sebastian_ml@gmx.net>
Fri, 11 Sep 2020 12:01:37 +0000 (14:01 +0200)
Includes some backports from master.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
net/freeswitch-stable/Makefile
net/freeswitch-stable/patches/120-fix-copts.patch
net/freeswitch-stable/patches/340-mod-spandsp-fix-typo.patch [new file with mode: 0644]
net/freeswitch-stable/patches/350-gsmopen-spandsp-fixup.patch [new file with mode: 0644]
net/freeswitch-stable/patches/390-spandsp3-pkg-config.patch [new file with mode: 0644]
net/freeswitch-stable/patches/390-t38-reinvite-488-fix.patch [deleted file]
net/freeswitch-stable/patches/400-disable-libcheck.patch [deleted file]

index 6cab268ee7161bd5e3b68d7f3c43af2985294836..71cbe695d5b76288b3fc9383578ff23d1565bb80 100644 (file)
@@ -9,29 +9,25 @@ include $(TOPDIR)/rules.mk
 
 PRG_NAME:=freeswitch
 PKG_NAME:=$(PRG_NAME)-stable
-PKG_VERSION:=1.10.3
-PKG_RELEASE:=2
+PKG_VERSION:=1.10.5
+PKG_RELEASE:=1
 PKG_MAINTAINER:=Sebastian Kemper <sebastian_ml@gmx.net>
 
 PKG_SOURCE:=$(PRG_NAME)-$(PKG_VERSION).-release.tar.xz
 PKG_SOURCE_URL:=https://files.$(PRG_NAME).org/releases/$(PRG_NAME)
-PKG_HASH:=2d7db07a64ee2f19f9b6e3a4ce76fa42e0fe46c29d95edf1b690a3df3729f307
+PKG_HASH:=3e26600767a82946eca94af2c8f14712783aa83db5fb1cc57585f544aecce327
 
 PKG_CPE_ID:=cpe:/a:freeswitch:freeswitch
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PRG_NAME)-$(PKG_VERSION).-release
 
-# configure in libs/spandsp fails without libjpeg and tiff
 PKG_BUILD_DEPENDS:= \
-       libjpeg \
-       tiff \
        perl/host \
        python/host
 
 PKG_FIXUP:=autoreconf
 
-# With mod_ssml and mod_rayo enabled the parallel compiles always failed
-PKG_BUILD_PARALLEL:=0
+PKG_BUILD_PARALLEL:=1
 PKG_INSTALL:=1
 
 PKG_LICENSE:= \
@@ -281,6 +277,10 @@ endef
 $$(eval $$(call Download,$(1)))
 endef
 
+define Package/$(PKG_NAME)/enable/plugin
+       $(SED) '/$(1)$$$$/s/^#//' $(PKG_BUILD_DIR)/modules.conf
+endef
+
 define Package/$(PKG_NAME)/install/bin
        $(INSTALL_DIR) $(1)$(FS_STABLE_BIN_DIR)
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)$(FS_STABLE_BIN_DIR)/$(2) \
@@ -347,7 +347,7 @@ endef
 define Package/$(PKG_LIBFTDM)/FTModule
 define Package/$(PKG_LIBFTDM)-ftmod-$(subst _,-,$(1))
 $(call Package/$(PKG_LIBFTDM)/Default)
-  DEPENDS:=PACKAGE_$(PKG_LIBFTDM)-ftmod-$(subst _,-,$(1)):$(PKG_LIBFTDM) \
+  DEPENDS:=$(PKG_LIBFTDM) \
          $(patsubst +%,+PACKAGE_$(PKG_LIBFTDM)-ftmod-$(subst _,-,$(1)):%,$(4))
   TITLE:=$(2) FreeTDM module
 endef
@@ -384,10 +384,12 @@ $(call Package/$(PKG_NAME)/Default)
          +libpcre \
          +libpthread \
          +librt \
+         +libspandsp3 \
          +libspeex \
          +libspeexdsp \
          +libsqlite3 \
          +libuuid \
+         +sofia-sip \
          +zlib
   CONFLICTS:=$(PRG_NAME)
 endef
@@ -659,13 +661,6 @@ CONFIGURE_ARGS+= \
        --with-erlang=no
 endif
 
-# Make mod_spandsp use fixed point math when soft float support is
-# enabled on target devices.
-ifeq ($(CONFIG_SOFT_FLOAT),y)
-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
@@ -811,27 +806,36 @@ define Build/Configure
        $(SED) '/^#/!s/^/#/' $(PKG_BUILD_DIR)/modules.conf
        $(foreach m,$(FS_STABLE_MOD_AVAILABLE),
                $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-$(subst _,-,$(m))),
-               $(SED) '/mod_$(m)$$$$/s/^#//' $(PKG_BUILD_DIR)/modules.conf))
+               $(call Package/$(PKG_NAME)/enable/plugin,mod_$(m))))
+
+# Some of the dependencies that necessitate below hacks are documented in
+# src/mod/Makefile.am.
 
 # Hack for misc-grammar - needs mod_pocketsphinx to provide grammar files
 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-misc-grammar),)
-ifeq ($(CONFIG_PACKAGE_$(PKG_NAME)-mod-pocketsphinx),)
-       $(SED) '/mod_pocketsphinx$$$$/s/^#//' $(PKG_BUILD_DIR)/modules.conf
-endif
+       $(call Package/$(PKG_NAME)/enable/plugin,mod_pocketsphinx)
 endif
 
 # Hack for mod_gsmopen - it has a build-time dep on mod_spandsp
 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-mod-gsmopen),)
-ifeq ($(CONFIG_PACKAGE_$(PKG_NAME)-mod-spandsp),)
-       $(SED) '/mod_spandsp$$$$/s/^#//' $(PKG_BUILD_DIR)/modules.conf
+       $(call Package/$(PKG_NAME)/enable/plugin,mod_spandsp)
+endif
+
+# Hack for mod_rayo - it has a build-time dep on mod_dingaling
+ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-mod-rayo),)
+       $(call Package/$(PKG_NAME)/enable/plugin,mod_dingaling)
 endif
+
+# Hack for mod_ssml - it has a build-time dep on mod_rayo. And mod_rayo needs
+# mod_dingaling :)
+ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-mod-ssml),)
+       $(call Package/$(PKG_NAME)/enable/plugin,mod_rayo)
+       $(call Package/$(PKG_NAME)/enable/plugin,mod_dingaling)
 endif
 
 # Hack for mod_unimrcp - it has a build-time dep on mod_sofia
 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-mod-unimrcp),)
-ifeq ($(CONFIG_PACKAGE_$(PKG_NAME)-mod-sofia),)
-       $(SED) '/mod_sofia$$$$/s/^#//' $(PKG_BUILD_DIR)/modules.conf
-endif
+       $(call Package/$(PKG_NAME)/enable/plugin,mod_sofia)
 endif
 
        $(call Build/Configure/Default)
index 09c800a6175cff22b9cc00ac100b3f976103bde3..3d9b082c5354ede3e51e7b5fff627d223cd805fe 100644 (file)
  
  #Set default language
  AC_LANG_C
---- a/libs/sofia-sip/configure.ac
-+++ b/libs/sofia-sip/configure.ac
-@@ -13,9 +13,12 @@ dnl ---------------------------
- dnl update both the version for AC_INIT and the LIBSOFIA_SIP_UA_MAJOR_MINOR
- AC_INIT([sofia-sip], [1.12.10devel])
--CFLAGS="$CFLAGS $CONFIGURE_CFLAGS"
--CXXFLAGS="$CXXFLAGS $CONFIGURE_CXXFLAGS"
--LDFLAGS="$LDFLAGS $CONFIGURE_LDFLAGS"
-+m4_include(../apr/build/apr_common.m4)
-+
-+APR_ADDTO(CFLAGS, [$CONFIGURE_CFLAGS])
-+APR_ADDTO(CPPFLAGS, [$CONFIGURE_CPPFLAGS])
-+APR_ADDTO(CXXFLAGS, [$CONFIGURE_CXXFLAGS])
-+APR_ADDTO(LDFLAGS, [$CONFIGURE_LDFLAGS])
- AC_CONFIG_SRCDIR([libsofia-sip-ua/sip/sofia-sip/sip.h])
- AC_CONFIG_MACRO_DIR([m4])
---- a/libs/spandsp/configure.ac
-+++ b/libs/spandsp/configure.ac
-@@ -21,9 +21,12 @@
- AC_PREREQ([2.59])
- AC_INIT([spandsp], [1.99.0])
--CFLAGS="$CFLAGS $CONFIGURE_CFLAGS"
--CXXFLAGS="$CXXFLAGS $CONFIGURE_CXXFLAGS"
--LDFLAGS="$LDFLAGS $CONFIGURE_LDFLAGS"
-+m4_include(../apr/build/apr_common.m4)
-+
-+APR_ADDTO(CFLAGS, [$CONFIGURE_CFLAGS])
-+APR_ADDTO(CPPFLAGS, [$CONFIGURE_CPPFLAGS])
-+APR_ADDTO(CXXFLAGS, [$CONFIGURE_CXXFLAGS])
-+APR_ADDTO(LDFLAGS, [$CONFIGURE_LDFLAGS])
- SPANDSP_LT_CURRENT=3
- SPANDSP_LT_REVISION=0
 --- a/libs/srtp/configure.ac
 +++ b/libs/srtp/configure.ac
 @@ -3,9 +3,12 @@ AC_INIT(srtp, 1.4.2, mcgrew@cisco.com)
diff --git a/net/freeswitch-stable/patches/340-mod-spandsp-fix-typo.patch b/net/freeswitch-stable/patches/340-mod-spandsp-fix-typo.patch
new file mode 100644 (file)
index 0000000..bc4f852
--- /dev/null
@@ -0,0 +1,10 @@
+--- a/src/mod/applications/mod_spandsp/Makefile.am
++++ b/src/mod/applications/mod_spandsp/Makefile.am
+@@ -4,6 +4,6 @@ MODNAME=mod_spandsp
+ mod_LTLIBRARIES = mod_spandsp.la
+ mod_spandsp_la_SOURCES  = mod_spandsp.c udptl.c mod_spandsp_fax.c mod_spandsp_dsp.c mod_spandsp_codecs.c mod_spandsp_modem.c
+ mod_spandsp_la_CFLAGS   = $(AM_CFLAGS) 
+-mod_spandsp_la_CPPFLAGS = $(SPANDSL_CFLAGS) -I.
++mod_spandsp_la_CPPFLAGS = $(SPANDSP_CFLAGS) -I.
+ mod_spandsp_la_LIBADD   = $(switch_builddir)/libfreeswitch.la $(SPANDSP_LIBS) -ljpeg -lz -ltiff
+ mod_spandsp_la_LDFLAGS  = -avoid-version -module -no-undefined -shared
diff --git a/net/freeswitch-stable/patches/350-gsmopen-spandsp-fixup.patch b/net/freeswitch-stable/patches/350-gsmopen-spandsp-fixup.patch
new file mode 100644 (file)
index 0000000..dccd8bf
--- /dev/null
@@ -0,0 +1,24 @@
+--- a/src/mod/endpoints/mod_gsmopen/Makefile.am
++++ b/src/mod/endpoints/mod_gsmopen/Makefile.am
+@@ -1,19 +1,9 @@
+ include $(top_srcdir)/build/modmake.rulesam
+ MODNAME=mod_gsmopen
+-SPANDSP_DIR=$(switch_srcdir)/libs/spandsp
+-SPANDSP_BUILDDIR=$(switch_builddir)/libs/spandsp
+-SPANDSP_LA=$(SPANDSP_BUILDDIR)/src/libspandsp.la
+-
+ mod_LTLIBRARIES = mod_gsmopen.la
+ mod_gsmopen_la_SOURCES  = mod_gsmopen.cpp gsmopen_protocol.cpp 
+ mod_gsmopen_la_CXXFLAGS = $(SWITCH_AM_CXXFLAGS)
+-mod_gsmopen_la_CPPFLAGS = -I$(SPANDSP_DIR)/src -I$(SPANDSP_BUILDDIR)/src -I.
+-mod_gsmopen_la_LIBADD   = $(switch_builddir)/libfreeswitch.la $(SPANDSP_LA)
++mod_gsmopen_la_CPPFLAGS = $(SPANDSP_CFLAGS) -I.
++mod_gsmopen_la_LIBADD   = $(switch_builddir)/libfreeswitch.la $(SPANDSP_LIBS)
+ mod_gsmopen_la_LDFLAGS  = -avoid-version -module -no-undefined -lctb-0.16 -lgsmme
+-
+-BUILT_SOURCES = $(SPANDSP_LA)
+-
+-$(SPANDSP_LA): $(SPANDSP_DIR) $(SPANDSP_DIR)/.update
+-      cd $(SPANDSP_BUILDDIR) && $(MAKE) CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)"
+-      $(TOUCH_TARGET)
diff --git a/net/freeswitch-stable/patches/390-spandsp3-pkg-config.patch b/net/freeswitch-stable/patches/390-spandsp3-pkg-config.patch
new file mode 100644 (file)
index 0000000..7fe82c6
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -703,7 +703,7 @@ PKG_CHECK_MODULES([MARIADB], [libmariadb
+   ])
+ ])
+-PKG_CHECK_MODULES([SPANDSP], [spandsp >= 3.0],[
++PKG_CHECK_MODULES([SPANDSP], [spandsp3 >= 3.0],[
+   AM_CONDITIONAL([HAVE_SPANDSP],[true])],[
+     AC_MSG_ERROR([no usable spandsp; please install spandsp3 devel package or equivalent])
+ ])
diff --git a/net/freeswitch-stable/patches/390-t38-reinvite-488-fix.patch b/net/freeswitch-stable/patches/390-t38-reinvite-488-fix.patch
deleted file mode 100644 (file)
index ea9c3dc..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-commit 167294ea2649afd0ffedf4520b0f308979c3ca2a
-Author: Sebastian Kemper <sebastian_ml@gmx.net>
-Date:   Fri Oct 18 18:28:07 2019 +0200
-
-    [mod-sofia] Fix reINVITE after T38 is rejected
-    
-    From FS-11833.
-    
-    After FS sends a reINVITE to T38 which gets rejected by peer it is no
-    longer in a state where it can properly answer a reINVITE which requests
-    a change of the media setup.
-    
-    1. FS sends INVITE (destination is a fax machine)
-    2. Call connects with "8 101"
-    3. FS sends reINVITE to T38
-    4. T38 rejected (488)
-    5. FS receives INVITE to "8"
-    6. FS replies with 200 OK without SDP
-    7. Call fails
-    
-    The bug is related to TFLAG_SDP. This flag is set when a media session
-    is established. And when there's a reINVITE sofia_glue_do_invite() from
-    sofia_glue.c is called and clears the flag again:
-    
-    sofia_clear_flag_locked(tech_pvt, TFLAG_SDP);
-    
-    So when FS sends a reINVITE to T38 the flag gets cleared. But when the
-    reINVITE is rejected with 488 the flag is not set again. It stays
-    cleared. So the call continues with the previously negotiated media, fax
-    passthrough (8 101 in this case), but TFLAG_SDP is not set.
-    
-    So when FS receives a reINVITE at this point it doesn't see the need to
-    renegotiate anything, even though it realizes that 2833 DTMF is now off:
-    
-    2019-04-30 16:42:12.478025 [DEBUG] switch_core_media.c:5478 Audio Codec Compare [PCMA:8:8000:20:64000:1]/[PCMA:8:8000:20:64000:1]
-    2019-04-30 16:42:12.478025 [DEBUG] switch_core_media.c:5533 Audio Codec Compare [PCMA:8:8000:20:64000:1] ++++ is saved as a match
-    2019-04-30 16:42:12.478025 [DEBUG] switch_core_media.c:5802 No 2833 in SDP. Disable 2833 dtmf and switch to INFO
-    
-    When FS doesn't send a reINVITE (fax_enable_t38_request=false) and the
-    reINVITE to "8" is received, TFLAG_SDP is still set and then FS
-    understands that it needs to renegotiate and replies with a 200 OK that
-    includes SDP:
-    
-    2019-04-30 16:41:19.358028 [DEBUG] switch_core_media.c:5478 Audio Codec Compare [PCMA:8:8000:20:64000:1]/[PCMA:8:8000:20:64000:1]
-    2019-04-30 16:41:19.358028 [DEBUG] switch_core_media.c:5533 Audio Codec Compare [PCMA:8:8000:20:64000:1] ++++ is saved as a match
-    2019-04-30 16:41:19.358028 [DEBUG] switch_core_media.c:5802 No 2833 in SDP. Disable 2833 dtmf and switch to INFO
-    2019-04-30 16:41:19.358028 [DEBUG] sofia.c:8237 skemper was here in line 8232
-    2019-04-30 16:41:19.358028 [DEBUG] switch_core_media.c:8390 skemper was here in line 8390.
-    2019-04-30 16:41:19.358028 [DEBUG] switch_core_media.c:8496 Audio params are unchanged for sofia/external/+called_number.
-    2019-04-30 16:41:19.358028 [DEBUG] sofia.c:8243 Processing updated SDP
-    
-    This fixes the state problem after a rejected T38 reINVITE by setting
-    TFLAG_SDP.
-    
-    Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
-
---- a/src/mod/endpoints/mod_sofia/sofia.c
-+++ b/src/mod/endpoints/mod_sofia/sofia.c
-@@ -6512,6 +6512,7 @@ static void sofia_handle_sip_r_invite(sw
-                       switch_channel_clear_app_flag_key("T38", tech_pvt->channel, CF_APP_T38_REQ);
-                       switch_channel_set_app_flag_key("T38", tech_pvt->channel, CF_APP_T38_FAIL);
-                       switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "%s T38 invite failed\n", switch_channel_get_name(tech_pvt->channel));
-+                      sofia_set_flag(tech_pvt, TFLAG_SDP);
-               }
diff --git a/net/freeswitch-stable/patches/400-disable-libcheck.patch b/net/freeswitch-stable/patches/400-disable-libcheck.patch
deleted file mode 100644 (file)
index 74bd873..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/libs/sofia-sip/configure.ac
-+++ b/libs/sofia-sip/configure.ac
-@@ -250,7 +250,7 @@ SAC_OPENSSL
- SAC_TPORT
- dnl Check is used for testing
--PKG_CHECK_MODULES(CHECK, check >= 0.9.4, have_check="yes", have_check="no")
-+PKG_CHECK_MODULES(CHECK, we_do_not_want_check >= 0.9.4, have_check="yes", have_check="no")
- AM_CONDITIONAL(HAVE_CHECK, test x"$have_check" = "xyes")
- if test x"$have_check" = "xyes"; then
-    AC_DEFINE([HAVE_CHECK], 1, [Define to 1 if check library is available])