4 changed files with 306 additions and 0 deletions
@ -0,0 +1,78 @@
|
||||
Index: configure
|
||||
--- configure.orig 2019-03-02 22:06:19.000000000 +0100
|
||||
+++ configure 2020-01-06 10:31:05.733453000 +0100
|
||||
@@ -817,7 +817,7 @@
|
||||
###########################
|
||||
|
||||
GNUOSCFLAGS="-g ${GNUOSCFLAGS}"
|
||||
-GNUOSCFLAGS="${GNUOSCFLAGS} -Wall -Wno-deprecated-declarations -Wextra -Wformat-security -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wcast-qual"
|
||||
+GNUOSCFLAGS="${GNUOSCFLAGS} -Wno-deprecated-declarations"
|
||||
GNUOSCFLAGS="${GNUOSCFLAGS}"
|
||||
|
||||
${CC} -Werror ${GNUOSCFLAGS} ${TMPCPROGC} ${OSCFLAGS} -o ${TMPCPROGB} 2>>/dev/null
|
||||
@@ -966,6 +966,31 @@
|
||||
exit
|
||||
fi
|
||||
|
||||
+if [ -z "${TURN_NO_TLS}" ] ; then
|
||||
+
|
||||
+ testlib event_openssl
|
||||
+ ER=$?
|
||||
+ if ! [ ${ER} -eq 0 ] ; then
|
||||
+ ${ECHO_CMD} "Libevent2 openssl found."
|
||||
+ else
|
||||
+ ${ECHO_CMD} "ERROR: Libevent2 development libraries are not compiled with OpenSSL support."
|
||||
+ ${ECHO_CMD} "TLS will be disabled."
|
||||
+ TURN_NO_TLS="-DTURN_NO_TLS"
|
||||
+ fi
|
||||
+
|
||||
+else
|
||||
+ TURN_NO_TLS="-DTURN_NO_TLS"
|
||||
+fi
|
||||
+
|
||||
+testlib event_pthreads
|
||||
+ER=$?
|
||||
+if ! [ ${ER} -eq 0 ] ; then
|
||||
+ ${ECHO_CMD} "Libevent2 pthreads found."
|
||||
+else
|
||||
+ ${ECHO_CMD} "ERROR: Libevent2 development libraries are not compiled with threads support."
|
||||
+ exit
|
||||
+fi
|
||||
+
|
||||
testlib event_core
|
||||
ER=$?
|
||||
if ! [ ${ER} -eq 0 ] ; then
|
||||
@@ -994,31 +1019,8 @@
|
||||
exit
|
||||
fi
|
||||
fi
|
||||
-
|
||||
-if [ -z "${TURN_NO_TLS}" ] ; then
|
||||
-
|
||||
- testlib event_openssl
|
||||
- ER=$?
|
||||
- if ! [ ${ER} -eq 0 ] ; then
|
||||
- ${ECHO_CMD} "Libevent2 openssl found."
|
||||
- else
|
||||
- ${ECHO_CMD} "ERROR: Libevent2 development libraries are not compiled with OpenSSL support."
|
||||
- ${ECHO_CMD} "TLS will be disabled."
|
||||
- TURN_NO_TLS="-DTURN_NO_TLS"
|
||||
- fi
|
||||
-
|
||||
-else
|
||||
- TURN_NO_TLS="-DTURN_NO_TLS"
|
||||
-fi
|
||||
-
|
||||
-testlib event_pthreads
|
||||
-ER=$?
|
||||
-if ! [ ${ER} -eq 0 ] ; then
|
||||
- ${ECHO_CMD} "Libevent2 pthreads found."
|
||||
-else
|
||||
- ${ECHO_CMD} "ERROR: Libevent2 development libraries are not compiled with threads support."
|
||||
- exit
|
||||
-fi
|
||||
+testlib event_core
|
||||
+testlib event
|
||||
|
||||
###########################
|
||||
# Test SQLite setup
|
||||
@ -0,0 +1,141 @@
|
||||
## |
||||
## coturn.spec -- OpenPKG RPM Package Specification |
||||
## Copyright (c) 2000-2020 OpenPKG Project <http://openpkg.org/> |
||||
## |
||||
## Permission to use, copy, modify, and distribute this software for |
||||
## any purpose with or without fee is hereby granted, provided that |
||||
## the above copyright notice and this permission notice appear in all |
||||
## copies. |
||||
## |
||||
## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED |
||||
## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
||||
## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
||||
## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR |
||||
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF |
||||
## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
||||
## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
||||
## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT |
||||
## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
||||
## SUCH DAMAGE. |
||||
## |
||||
|
||||
# package information |
||||
Name: coturn |
||||
Summary: TURN/STUN Server |
||||
URL: https://github.com/coturn/coturn/ |
||||
Vendor: Oleg Moskalenko |
||||
Packager: OpenPKG Project |
||||
Distribution: OpenPKG Community |
||||
Class: EVAL |
||||
Group: Networking |
||||
License: BSD |
||||
Version: 4.5.1.1 |
||||
Release: 20200106 |
||||
|
||||
# list of sources |
||||
Source0: https://github.com/coturn/coturn/archive/%{version}.tar.gz |
||||
Source1: turnserver.conf |
||||
Source2: rc.coturn |
||||
Patch0: coturn.patch |
||||
|
||||
# build information |
||||
BuildPreReq: OpenPKG, openpkg >= 20140101, gcc, make |
||||
PreReq: OpenPKG, openpkg >= 20140101, x509 |
||||
BuildPreReq: openssl, sqlite, libevent |
||||
PreReq: openssl, sqlite, libevent |
||||
|
||||
%description |
||||
CoTURN is a combined TURN, STUN and ICE server providing a network |
||||
traffic NAT traversal server and gateway. |
||||
|
||||
%track |
||||
prog coturn = { |
||||
version = %{version} |
||||
url = https://github.com/coturn/coturn/releases |
||||
regex = (\d+\.\d+\.\d+\.\d+)\.tar\.gz |
||||
} |
||||
|
||||
%prep |
||||
%setup -q |
||||
%patch -p0 |
||||
|
||||
%build |
||||
# configure program |
||||
CC="%{l_cc}" \ |
||||
CFLAGS="%{l_cflags -O}" \ |
||||
CPPFLAGS="%{l_cppflags}" \ |
||||
LDFLAGS="%{l_ldflags} -lssl -lcrypto" \ |
||||
./configure \ |
||||
--prefix=%{l_prefix} \ |
||||
--disable-shared \ |
||||
--disable-nls |
||||
|
||||
# build program |
||||
%{l_make} %{l_mflags -O} |
||||
|
||||
%install |
||||
# install program |
||||
%{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT PREFIX=%{l_prefix} |
||||
|
||||
# strip down installation |
||||
strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true |
||||
rm -f $RPM_BUILD_ROOT%{l_prefix}/etc/turnserver.conf.default |
||||
rm -f $RPM_BUILD_ROOT%{l_prefix}/info/dir |
||||
rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/doc |
||||
rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/examples |
||||
rm -rf $RPM_BUILD_ROOT%{l_prefix}/var/db |
||||
|
||||
# install default configuration |
||||
%{l_shtool} mkdir -f -p -m 755 \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/etc/coturn |
||||
%{l_shtool} install -c -m 644 %{l_value -s -a} \ |
||||
%{SOURCE turnserver.conf} $RPM_BUILD_ROOT%{l_prefix}/etc/coturn/ |
||||
|
||||
# install run-command script |
||||
%{l_shtool} mkdir -f -p -m 755 \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/etc/rc.d |
||||
%{l_shtool} install -c -m 644 %{l_value -s -a} \ |
||||
%{SOURCE rc.coturn} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ |
||||
|
||||
# create run-time directories |
||||
%{l_shtool} mkdir -f -p -m 755 \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/var/coturn/log \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/var/coturn/run \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/var/coturn/db |
||||
|
||||
# determine installation files |
||||
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ |
||||
%{l_files_std} \ |
||||
'%config %{l_prefix}/etc/coturn/*' \ |
||||
'%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/coturn/*' |
||||
|
||||
%files -f files |
||||
|
||||
%clean |
||||
|
||||
%post |
||||
if [ $1 -eq 1 ]; then |
||||
# after initial installation, create database |
||||
$RPM_INSTALL_PREFIX/bin/sqlite $RPM_INSTALL_PREFIX/var/coturn/db/turnserver.db \ |
||||
<$RPM_INSTALL_PREFIX/share/turnserver/schema.sql |
||||
chmod 600 $RPM_INSTALL_PREFIX/var/coturn/db/turnserver.db |
||||
chown %{l_rusr}:%{l_rgrp} $RPM_INSTALL_PREFIX/var/coturn/db/turnserver.db |
||||
elif [ $1 -eq 2 ]; then |
||||
# after upgrade, restart service |
||||
eval `%{l_rc} coturn status 2>/dev/null` |
||||
[ ".$coturn_active" = .yes ] && %{l_rc} coturn restart |
||||
fi |
||||
exit 0 |
||||
|
||||
%preun |
||||
if [ $1 -eq 0 ]; then |
||||
# before erase, stop service and remove log files |
||||
%{l_rc} coturn stop 2>/dev/null |
||||
rm -rf $RPM_INSTALL_PREFIX/var/coturn/log/* >/dev/null 2>&1 || true |
||||
rm -rf $RPM_INSTALL_PREFIX/var/coturn/run/* >/dev/null 2>&1 || true |
||||
rm -rf $RPM_INSTALL_PREFIX/var/coturn/db/* >/dev/null 2>&1 || true |
||||
fi |
||||
exit 0 |
||||
|
||||
@ -0,0 +1,57 @@
|
||||
#!@l_prefix@/bin/openpkg rc |
||||
## |
||||
## rc.coturn -- Run-Commands |
||||
## |
||||
|
||||
%config |
||||
coturn_enable="$openpkg_rc_def" |
||||
coturn_flags="--prod" |
||||
coturn_log_prolog="true" |
||||
coturn_log_epilog="true" |
||||
coturn_log_numfiles="10" |
||||
coturn_log_minsize="1M" |
||||
coturn_log_complevel="9" |
||||
|
||||
%common |
||||
coturn_cfgfile="@l_prefix@/etc/coturn/turnserver.conf" |
||||
coturn_pidfile="@l_prefix@/var/coturn/run/turnserver.pid" |
||||
coturn_logfile="@l_prefix@/var/coturn/log/turnserver.log" |
||||
coturn_signal () { |
||||
[ -f $coturn_pidfile ] && kill -$1 `cat $coturn_pidfile` |
||||
} |
||||
|
||||
%status -u @l_rusr@ -o |
||||
coturn_usable="unknown" |
||||
coturn_active="no" |
||||
rcService coturn enable yes && \ |
||||
coturn_signal 0 && coturn_active="yes" |
||||
echo "coturn_enable=\"$coturn_enable\"" |
||||
echo "coturn_usable=\"$coturn_usable\"" |
||||
echo "coturn_active=\"$coturn_active\"" |
||||
|
||||
%start -u @l_rusr@ |
||||
rcService coturn enable yes || exit 0 |
||||
rcService coturn active yes && exit 0 |
||||
@l_prefix@/bin/turnserver -c $coturn_cfgfile --daemon |
||||
|
||||
%stop -u @l_rusr@ |
||||
rcService coturn enable yes || exit 0 |
||||
rcService coturn active no && exit 0 |
||||
coturn_signal TERM |
||||
sleep 2 |
||||
rm -f $coturn_pidfile >/dev/null 2>&1 || true |
||||
|
||||
%restart -u @l_rusr@ |
||||
rcService coturn enable yes || exit 0 |
||||
rcService coturn active no && exit 0 |
||||
rc coturn stop start |
||||
|
||||
%daily -u @l_susr@ |
||||
rcService coturn enable yes || exit 0 |
||||
shtool rotate -f \ |
||||
-n ${coturn_log_numfiles} -s ${coturn_log_minsize} -d \ |
||||
-z ${coturn_log_complevel} -m 664 -o @l_rusr@ -g @l_rgrp@ \ |
||||
-P "${coturn_log_prolog}" \ |
||||
-E "${coturn_log_epilog}; rc coturn restart" \ |
||||
$coturn_logfile |
||||
|
||||
@ -0,0 +1,30 @@
|
||||
## |
||||
## turnserver.conf -- CoTURN Server Configuration |
||||
## |
||||
|
||||
proc-user=@l_rusr@ |
||||
proc-group=@l_rgrp@ |
||||
|
||||
listening-ip=127.0.0.1 |
||||
listening-port=3478 |
||||
|
||||
cli-ip=127.0.0.1 |
||||
cli-port=5766 |
||||
|
||||
no-multicast-peers |
||||
|
||||
cert=@l_prefix@/etc/x509/example-server.crt |
||||
pkey=@l_prefix@/etc/x509/example-server.key |
||||
|
||||
no-auth |
||||
userdb=@l_prefix@/var/coturn/db/turnserver.db |
||||
realm=example.com |
||||
|
||||
pidfile=@l_prefix@/var/coturn/run/turnserver.pid |
||||
log-file=@l_prefix@/var/coturn/log/turnserver.log |
||||
no-stdout-log |
||||
simple-log |
||||
|
||||
verbose |
||||
#Verbose |
||||
|
||||
Loading…
Reference in new issue