net-im/coturn: sane logging defaults thanks to Andrey Utkin. New systemd unit, see...
authorAndreas Schuerch <nativemad@gentoo.org>
Sat, 1 Apr 2017 10:44:07 +0000 (12:44 +0200)
committerAndreas Schuerch <nativemad@gentoo.org>
Sat, 1 Apr 2017 10:45:42 +0000 (12:45 +0200)
Package-Manager: Portage-2.3.3, Repoman-2.3.1

net-im/coturn/coturn-4.5.0.4-r1.ebuild [moved from net-im/coturn/coturn-4.5.0.4.ebuild with 68% similarity]
net-im/coturn/coturn-9999.ebuild
net-im/coturn/files/coturn.service [new file with mode: 0644]
net-im/coturn/files/logrotate.coturn [new file with mode: 0644]
net-im/coturn/files/turnserver.init

similarity index 68%
rename from net-im/coturn/coturn-4.5.0.4.ebuild
rename to net-im/coturn/coturn-4.5.0.4-r1.ebuild
index 6fa8344cd79dc5d55c991565410effa1b3f797eb..2ffd86380e4e42ed839e56a0525421737ab5fc2b 100644 (file)
@@ -1,8 +1,8 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
-inherit eutils user
+inherit eutils user systemd
 DESCRIPTION="coturn TURN server project"
 HOMEPAGE="https://github.com/${PN}/${PN}"
 
@@ -30,6 +30,10 @@ RDEPEND="dev-libs/libevent[ssl]
 DEPEND="${RDEPEND}"
 
 src_configure() {
+       sed 's:#log-file=/var/tmp/turn.log:log-file=/var/log/turnserver.log:' \
+           -i "${S}/examples/etc/turnserver.conf"  || die "sed for logdir failed"
+       sed 's:#simple-log:simple-log:' -i "${S}/examples/etc/turnserver.conf" \
+           || die "sed for simple-log failed"
        if ! use mongodb; then
                export TURN_NO_MONGO=yes
        fi
@@ -52,12 +56,14 @@ src_configure() {
 src_install() {
        default
        newinitd "${FILESDIR}/turnserver.init" turnserver
+       insinto /etc/logrotate.d
+       newins "${FILESDIR}/logrotate.${PN}" "${PN}"
+       systemd_dounit "${FILESDIR}/${PN}.service"
 }
 
 pkg_postinst() {
        enewgroup turnserver
        enewuser turnserver -1 -1 -1 turnserver
-       elog "Be aware that the default path for logfiles in coturn is /var/tmp!"
-       elog "You should copy /etc/turnserver.conf.default to"
-       elog "/etc/turnserver.conf and change not only the log option."
+       elog "You need to copy /etc/turnserver.conf.default to"
+       elog "/etc/turnserver.conf and do your settings there."
 }
index 6fa8344cd79dc5d55c991565410effa1b3f797eb..2ffd86380e4e42ed839e56a0525421737ab5fc2b 100644 (file)
@@ -1,8 +1,8 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
-inherit eutils user
+inherit eutils user systemd
 DESCRIPTION="coturn TURN server project"
 HOMEPAGE="https://github.com/${PN}/${PN}"
 
@@ -30,6 +30,10 @@ RDEPEND="dev-libs/libevent[ssl]
 DEPEND="${RDEPEND}"
 
 src_configure() {
+       sed 's:#log-file=/var/tmp/turn.log:log-file=/var/log/turnserver.log:' \
+           -i "${S}/examples/etc/turnserver.conf"  || die "sed for logdir failed"
+       sed 's:#simple-log:simple-log:' -i "${S}/examples/etc/turnserver.conf" \
+           || die "sed for simple-log failed"
        if ! use mongodb; then
                export TURN_NO_MONGO=yes
        fi
@@ -52,12 +56,14 @@ src_configure() {
 src_install() {
        default
        newinitd "${FILESDIR}/turnserver.init" turnserver
+       insinto /etc/logrotate.d
+       newins "${FILESDIR}/logrotate.${PN}" "${PN}"
+       systemd_dounit "${FILESDIR}/${PN}.service"
 }
 
 pkg_postinst() {
        enewgroup turnserver
        enewuser turnserver -1 -1 -1 turnserver
-       elog "Be aware that the default path for logfiles in coturn is /var/tmp!"
-       elog "You should copy /etc/turnserver.conf.default to"
-       elog "/etc/turnserver.conf and change not only the log option."
+       elog "You need to copy /etc/turnserver.conf.default to"
+       elog "/etc/turnserver.conf and do your settings there."
 }
diff --git a/net-im/coturn/files/coturn.service b/net-im/coturn/files/coturn.service
new file mode 100644 (file)
index 0000000..81465f5
--- /dev/null
@@ -0,0 +1,17 @@
+[Unit]
+Description=turnserver daemon
+After=networking.target
+
+[Service]
+Type=simple
+User=turnserver
+Group=turnserver
+PermissionsStartOnly=true
+ExecStartPre=/bin/bash -c "[ -f /var/log/turnserver.log ] || touch /var/log/turnserver.log && chown turnserver:turnserver /var/log/turnserver.log && chmod 660 /var/log/turnserver.log"
+ExecStartPre=/bin/bash -c "[ -d /var/run/turnserver ] || mkdir /var/run/turnserver && chown turnserver:turnserver /var/run/turnserver"
+ExecStart=/usr/bin/turnserver --pidfile /var/run/turnserver/turnserver.pid
+Restart=always
+RestartSec=30s
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-im/coturn/files/logrotate.coturn b/net-im/coturn/files/logrotate.coturn
new file mode 100644 (file)
index 0000000..06b4d74
--- /dev/null
@@ -0,0 +1,15 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+/var/log/turnserver.log {
+daily
+rotate 7
+create 660 turnserver turnserver
+notifempty
+size 50M
+sharedscripts
+missingok
+postrotate
+[ -f /var/run/turnserver/turnserver.pid ] && kill -HUP `cat /var/run/turnserver/turnserver.pid`
+endscript
+}
index 9be7711a8508216a5c262b321fdb325e3912b184..682e4f12202dc77d681070f2553d877b0d235c52 100755 (executable)
@@ -1,5 +1,5 @@
 #!/sbin/openrc-run
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 
@@ -13,6 +13,7 @@ depend() {
 start() {
        ebegin "Starting turnserver"
        checkpath -q -d -m 0755 -o turnserver:turnserver /var/run/turnserver
+       checkpath -q -f -m 0660 -o turnserver:turnserver /var/log/turnserver.log
        start-stop-daemon --start --user turnserver --exec /usr/bin/turnserver -- -o \
        --pidfile /var/run/turnserver/turnserver.pid >/dev/null
        eend $?