summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiri Slachta2017-12-27 08:45:25 +0000
committerGitHub2017-12-27 08:45:25 +0000
commit9e66952479c0572901057429f4fae4411279c39e (patch)
treecd241e04b0aba01bd5782b17319e358943d0e30e
parent0f9207c2640b13fb183abfb8c2ae6f09ee3a1e63 (diff)
parent53073babbf9a9909756addea9ee1610ed640c1d3 (diff)
downloadtelephony-9e66952479c0572901057429f4fae4411279c39e.tar.gz
Merge pull request #227 from micmac1/freeswitch-stable
New PR: freeswitch-stable
-rw-r--r--net/freeswitch-stable/Config.in9
-rw-r--r--net/freeswitch-stable/Makefile51
-rw-r--r--net/freeswitch-stable/files/freeswitch.default8
-rw-r--r--net/freeswitch-stable/files/freeswitch.init38
4 files changed, 41 insertions, 65 deletions
diff --git a/net/freeswitch-stable/Config.in b/net/freeswitch-stable/Config.in
index b88c55a..153175f 100644
--- a/net/freeswitch-stable/Config.in
+++ b/net/freeswitch-stable/Config.in
@@ -15,15 +15,6 @@ config FS_STABLE_WITH_FREETYPE
help
Add FreeType support to FreeSWITCH
-config FS_STABLE_WITH_LIBEDIT
- bool "Compile with libedit support"
- default y
- help
- Compile with libedit support to enable command-line history editing
- and curses functionality. Of course this feels nicer when interacting
- with FreeSWITCH (without it it doesn't feel very interactive at all),
- but it adds additional dependencies (libedit, libncursesw, terminfo).
-
config FS_STABLE_WITH_LIBYUV
bool "Compile with libyuv support"
default y if x86_64
diff --git a/net/freeswitch-stable/Makefile b/net/freeswitch-stable/Makefile
index ce7622a..eaffe8d 100644
--- a/net/freeswitch-stable/Makefile
+++ b/net/freeswitch-stable/Makefile
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PRG_NAME:=freeswitch
PKG_NAME:=$(PRG_NAME)-stable
PKG_VERSION:=1.6.19
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_MAINTAINER:=Sebastian Kemper <sebastian_ml@gmx.net>
PKG_SOURCE:=$(PRG_NAME)-$(PKG_VERSION).tar.xz
@@ -246,7 +246,6 @@ PKG_CONFIG_DEPENDS:= \
$(patsubst %,CONFIG_PACKAGE_$(PKG_NAME)-mod-%,$(FS_STABLE_MOD_AVAILABLE)) \
CONFIG_FS_STABLE_WITH_DEBUG \
CONFIG_FS_STABLE_WITH_FREETYPE \
- CONFIG_FS_STABLE_WITH_LIBEDIT \
CONFIG_FS_STABLE_WITH_LIBYUV \
CONFIG_FS_STABLE_WITH_MODCONF \
CONFIG_FS_STABLE_WITH_ODBC \
@@ -330,11 +329,11 @@ $(call Package/$(PKG_NAME)/Default)
USERID:=$(PRG_NAME)=372:$(PRG_NAME)=372
DEPENDS:= \
+FS_STABLE_WITH_FREETYPE:libfreetype \
- +FS_STABLE_WITH_LIBEDIT:libedit \
+FS_STABLE_WITH_ODBC:unixodbc \
+FS_STABLE_WITH_PGSQL:libpq \
+FS_STABLE_WITH_PNG:libpng \
+libcurl \
+ +libedit \
+libopenssl \
+libpcre \
+libpthread \
@@ -376,17 +375,15 @@ $(call Package/$(PKG_NAME)/install/lib,$(1),lib$(PRG_NAME))
$(1)$(FS_STABLE_SYSCONF_DIR)/init.d/$(PRG_NAME)
$(INSTALL_CONF) ./files/$(PRG_NAME).default \
$(1)$(FS_STABLE_SYSCONF_DIR)/default/$(PRG_NAME)
-ifeq ($(CONFIG_FS_STABLE_WITH_LIBEDIT),)
- $(SED) '/^ #procd_append_param command -nc -nf$$$$/s/#//' \
- $(1)$(FS_STABLE_SYSCONF_DIR)/init.d/$(PRG_NAME)
-endif
endef
define Package/$(PKG_NAME)/postinst
#!/bin/sh
if [ -z "$${IPKG_INSTROOT}" ]; then
- # Prevent autostart of $(PRG_NAME)
- touch $(FS_STABLE_SYSCONF_DIR)/$(PRG_NAME)_disabled
+ # Prevent $(PRG_NAME) from auto-starting after an upgrade. The modules may
+ # not be upgraded yet and the user configuration may need a revision.
+ sed -i '/^ENABLE_FREESWITCH="yes"/s/^/#/' \
+ $(FS_STABLE_SYSCONF_DIR)/default/$(PRG_NAME)
echo
echo "o-------------------------------------------------------------------o"
@@ -605,27 +602,6 @@ endef
define Package/$(PKG_NAME)-util-$(1)/install
$(call Package/$(PKG_NAME)/install/bin,$$(1),$(1))
endef
-ifeq ($(1)$(CONFIG_FS_STABLE_WITH_LIBEDIT),fs_cli)
-define Package/$(PKG_NAME)-util-$(1)/postinst
-#!/bin/sh
-if [ -z "$$$${IPKG_INSTROOT}" ]; then
- echo
- echo "o-------------------------------------------------------------------o"
- echo "| fs_cli note |"
- echo "o-------------------------------------------------------------------o"
- echo "| Your FreeSWITCH was compiled without libedit support. Due to an |"
- echo "| interop issue it's possible that when you try to exit fs_cli with |"
- echo "| Ctrl-D, you'll see messages flashing by and have to kill fs_cli |"
- echo "| manually. To avoid this you can either use Ctrl-C instead (fs_cli |"
- echo "| needs to be started with '-i' for this to work; you could create |"
- echo "| an appropriate alias in /etc/profile) or type /exit, /quit or |"
- echo "| /bye. |"
- echo "o-------------------------------------------------------------=^_^=-o"
- echo
-fi
-exit 0
-endef
-endif
$$(eval $$(call BuildPackage,$(PKG_NAME)-util-$(1)))
endef
@@ -634,6 +610,7 @@ CONFIGURE_ARGS+= \
--disable-dependency-tracking \
--disable-static \
--disable-system-xmlrpc-c \
+ --enable-core-libedit-support \
--enable-fhs \
--with-cachedir=/tmp/$(PRG_NAME)/cache \
--with-dbdir=/tmp/$(PRG_NAME)/db \
@@ -641,18 +618,18 @@ CONFIGURE_ARGS+= \
--with-logfiledir=/tmp/$(PRG_NAME)/log \
--with-recordingsdir=/tmp/$(PRG_NAME)/recordings \
--with-storagedir=/tmp/$(PRG_NAME)/storage \
- $(call autoconf_bool,CONFIG_FS_STABLE_WITH_LIBEDIT,core-libedit-support) \
+ $(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_DEBUG),,--disable-debug) \
$(if $(CONFIG_FS_STABLE_WITH_FREETYPE),,--without-freetype) \
- $(if $(CONFIG_FS_STABLE_WITH_LIBYUV),,--disable-libyuv) \
$(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),--enable-core-pgsql-support,--without-pgsql) \
- $(if $(CONFIG_FS_STABLE_WITH_PNG),,--without-png) \
- $(if $(CONFIG_FS_STABLE_WITH_VPX),,--disable-libvpx)
+ $(if $(CONFIG_FS_STABLE_WITH_PGSQL),,--without-pgsql) \
+ $(if $(CONFIG_FS_STABLE_WITH_PNG),,--without-png)
ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-misc-python-esl)$(CONFIG_PACKAGE_$(PKG_NAME)-mod-python),)
CONFIGURE_ARGS+= \
@@ -1055,7 +1032,7 @@ $(eval $(call Package/$(PKG_NAME)/Module,clearmode,Clearmode,Clearmode codec pas
$(eval $(call Package/$(PKG_NAME)/Module,cluechoo,Clue Choo,This demo module renders a Clue Choo train on the FreeSWITCH console.,+libncurses))
$(eval $(call Package/$(PKG_NAME)/Module,commands,Commands,This module provides miscellaneous API commands.,))
$(eval $(call Package/$(PKG_NAME)/Module,conference,Conference,This module provides multi-party conferencing.,))
-$(eval $(call Package/$(PKG_NAME)/Module,console,Console logger,Allows control over what messages get logged to the console. When\nFreeSWITCH is compiled without libedit support - this is not the\ndefault - mod_console has no effect because the init script starts\nFreeSWITCH with the console disabled to work around an\ninteroperability issue that causes high CPU load.,))
+$(eval $(call Package/$(PKG_NAME)/Module,console,Console logger,Allows control over what messages get logged to the console.,))
$(eval $(call Package/$(PKG_NAME)/Module,curl,cURL,This module provides an API for making HTTP requests with cURL.,))
$(eval $(call Package/$(PKG_NAME)/Module,cv,OpenCV,This module exposes opencv actions to enable computer vision actions.,+opencv @BROKEN)) # opencv package too stripped-down
$(eval $(call Package/$(PKG_NAME)/Module,dahdi_codec,DAHDI codec,DAHDI codec module.,))
diff --git a/net/freeswitch-stable/files/freeswitch.default b/net/freeswitch-stable/files/freeswitch.default
index 32effa2..cfea494 100644
--- a/net/freeswitch-stable/files/freeswitch.default
+++ b/net/freeswitch-stable/files/freeswitch.default
@@ -1,5 +1,9 @@
### FreeSWITCH configuration ###
+# Uncomment once you verified your configuration, otherwise the init script will
+# not start FreeSWITCH.
+#ENABLE_FREESWITCH="yes"
+
#FS_USER=freeswitch
#FS_GROUP=freeswitch
@@ -16,8 +20,8 @@
#FS_DIR_STORAGE="/tmp/freeswitch/storage"
#FS_DIR_TEMP="/tmp/freeswitch/temp"
-# The following is appended to the command line when starting FreeSWITCH:
-OPTIONS="-np -nonat"
+# The following is added to the command line when starting FreeSWITCH:
+OPTIONS="-nonat -np"
### Hotplug configuration ###
diff --git a/net/freeswitch-stable/files/freeswitch.init b/net/freeswitch-stable/files/freeswitch.init
index d55f810..c17768c 100644
--- a/net/freeswitch-stable/files/freeswitch.init
+++ b/net/freeswitch-stable/files/freeswitch.init
@@ -11,6 +11,7 @@ FS=freeswitch
DEFAULT=/etc/default/$FS
LOGGER="/usr/bin/logger -p user.err -s -t $FS"
OPTIONS=
+PROG=/usr/bin/$FS
TIMEOUT=30
[ -f $DEFAULT ] && . $DEFAULT
@@ -32,9 +33,9 @@ fs_dir_temp="${FS_DIR_TEMP:-/tmp/$FS/temp}"
start_service() {
local dir=
- if [ -f "/etc/${FS}_disabled" ]; then
- $LOGGER File \"/etc/${FS}_disabled\" exists
- $LOGGER Remove it once your configuration is set up
+ if [ "$ENABLE_FREESWITCH" != yes ]; then
+ $LOGGER User configuration incomplete - not starting $FS
+ $LOGGER Check ENABLE_FREESWITCH in $DEFAULT
exit 1
fi
@@ -56,20 +57,23 @@ start_service() {
procd_open_instance
# starting with full path seems cleaner judging by 'ps' output
- procd_set_param command /usr/bin/$FS
+ procd_set_param command $PROG
# need to specify all or none of -conf, -log, and -db
- procd_append_param command -cache "$fs_dir_cache" -conf \
- "$fs_dir_etc" -db "$fs_dir_db" -log "$fs_dir_log" -recordings \
- "$fs_dir_recordings" -run "$fs_dir_run" -storage "$fs_dir_storage" \
- -temp "$fs_dir_temp"
- procd_append_param command -c
- # -nc -nf: workaround for interop issue (which causes high load)
- #procd_append_param command -nc -nf
- procd_append_param command $OPTIONS
- procd_set_param user "$fs_user"
- # forward stdout of the command to logd
- #procd_set_param stdout 1
- # same for stderr
+ procd_append_param command \
+ -cache "$fs_dir_cache" \
+ -conf "$fs_dir_etc" \
+ -db "$fs_dir_db" \
+ -g "$fs_group" \
+ -log "$fs_dir_log" \
+ -recordings "$fs_dir_recordings" \
+ -run "$fs_dir_run" \
+ -storage "$fs_dir_storage" \
+ -temp "$fs_dir_temp" \
+ -u "$fs_user" \
+ $OPTIONS \
+ -nc \
+ -nf
+ # forward stderr to logd
procd_set_param stderr 1
procd_close_instance
}
@@ -107,7 +111,7 @@ stop_service() {
}
timeout=$TIMEOUT
- kill $mypid
+ kill $mypid 2>/dev/null
pgrep $FS | grep -w $mypid &>/dev/null
retval=$?