From c7c80deec9e3adf001a7a47dafada47afef3ff04 Mon Sep 17 00:00:00 2001 From: Louis Sautier Date: Wed, 17 Feb 2016 15:01:29 +0100 Subject: [PATCH] net-p2p/syncthing: add init script, man, logrotate Package-Manager: portage-2.2.27 --- net-p2p/syncthing/files/syncthing.confd | 24 +++++++++++++++ net-p2p/syncthing/files/syncthing.initd | 34 +++++++++++++++++++++ net-p2p/syncthing/files/syncthing.logrotate | 9 ++++++ net-p2p/syncthing/syncthing-0.12.19.ebuild | 16 ++++++++-- 4 files changed, 81 insertions(+), 2 deletions(-) create mode 100644 net-p2p/syncthing/files/syncthing.confd create mode 100755 net-p2p/syncthing/files/syncthing.initd create mode 100644 net-p2p/syncthing/files/syncthing.logrotate diff --git a/net-p2p/syncthing/files/syncthing.confd b/net-p2p/syncthing/files/syncthing.confd new file mode 100644 index 000000000000..da3ac4d2bbf5 --- /dev/null +++ b/net-p2p/syncthing/files/syncthing.confd @@ -0,0 +1,24 @@ +# /etc/conf.d/syncthing: config file for /etc/init.d/syncthing + +# User and group as which to run +#SYNCTHING_USER="syncthing" +#SYNCTHING_GROUP="syncthing" + +# Configuration directory +#SYNCTHING_HOMEDIR="/var/lib/syncthing" + +# Log file location +#SYNCTHING_LOGFILE="/var/log/syncthing/syncthing.log" + +# umask used to create files +# The default allows group access +#SYNCTHING_UMASK=007 + +# I/O nice level of syncthing +#SYNCTHING_IONICE="0" + +# Nice level of syncthing +#SYNCTHING_NICE="0" + +# Extra options for syncthing +#SYNCTHING_OPTS="" diff --git a/net-p2p/syncthing/files/syncthing.initd b/net-p2p/syncthing/files/syncthing.initd new file mode 100755 index 000000000000..2acaf3420f3f --- /dev/null +++ b/net-p2p/syncthing/files/syncthing.initd @@ -0,0 +1,34 @@ +#!/sbin/runscript +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +SYNCTHING_USER=${SYNCTHING_USER:-syncthing} +SYNCTHING_GROUP=${SYNCTHING_GROUP:-syncthing} +SYNCTHING_HOMEDIR=${SYNCTHING_HOMEDIR:-/var/lib/syncthing} +SYNCTHING_LOGFILE=${SYNCTHING_LOGFILE:-/var/log/syncthing/syncthing.log} +SYNCTHING_UMASK=${SYNCTHING_UMASK:-007} +SYNCTHING_IONICE=${SYNCTHING_IONICE:-0} +SYNCTHING_NICE=${SYNCTHING_NICE:-0} + +description="Syncthing is an open, trustworthy and decentralized cloud storage system" +command="/usr/bin/syncthing" +command_args="-no-browser -home=${SYNCTHING_HOMEDIR} ${SYNCTHING_OPTS}" +pidfile="/run/syncthing.pid" +start_stop_daemon_args="--background \ + --user ${SYNCTHING_USER} \ + --group ${SYNCTHING_GROUP} \ + --umask ${SYNCTHING_UMASK} \ + --make-pidfile \ + --ionice ${SYNCTHING_IONICE} \ + --nicelevel ${SYNCTHING_NICE} \ + --stdout ${SYNCTHING_LOGFILE} \ + --stderr ${SYNCTHING_LOGFILE}" + +depend() { + need localmount net +} + +start_pre() { + checkpath -q -d -o ${SYNCTHING_USER}:${SYNCTHING_GROUP} ${SYNCTHING_HOMEDIR} + checkpath -q -f -o ${SYNCTHING_USER}:${SYNCTHING_GROUP} ${SYNCTHING_LOGFILE} +} diff --git a/net-p2p/syncthing/files/syncthing.logrotate b/net-p2p/syncthing/files/syncthing.logrotate new file mode 100644 index 000000000000..37c43209a120 --- /dev/null +++ b/net-p2p/syncthing/files/syncthing.logrotate @@ -0,0 +1,9 @@ +/var/log/syncthing/syncthing.log { + missingok + notifempty + sharedscripts + postrotate + kill -0 $( /dev/null 2>&1 || true + endscript +} diff --git a/net-p2p/syncthing/syncthing-0.12.19.ebuild b/net-p2p/syncthing/syncthing-0.12.19.ebuild index 07664310d1dc..5f22a11ad30c 100644 --- a/net-p2p/syncthing/syncthing-0.12.19.ebuild +++ b/net-p2p/syncthing/syncthing-0.12.19.ebuild @@ -7,7 +7,7 @@ EAPI=5 EGO_PN="github.com/syncthing/syncthing" EGIT_COMMIT=v${PV} -inherit golang-vcs-snapshot systemd +inherit golang-vcs-snapshot systemd user DESCRIPTION="Syncthing is an open, trustworthy and decentralized cloud storage system" HOMEPAGE="http://syncthing.net" @@ -21,6 +21,11 @@ IUSE="" DEPEND="" RDEPEND="" +pkg_setup() { + enewgroup ${PN} + enewuser ${PN} -1 -1 /var/lib/${PN} ${PN} +} + src_compile() { export GOPATH="${S}:$(get_golibdir_gopath)" cd src/${EGO_PN} @@ -34,8 +39,15 @@ src_test() { src_install() { cd src/${EGO_PN} + doman man/*.[157] || die dobin bin/* - dodoc README.md AUTHORS CONTRIBUTING.md + dodoc README.md AUTHORS CONTRIBUTING.md systemd_dounit "${S}"/src/${EGO_PN}/etc/linux-systemd/system/${PN}@.service systemd_douserunit "${S}"/src/${EGO_PN}/etc/linux-systemd/user/${PN}.service + newconfd "${FILESDIR}/${PN}.confd" ${PN} + newinitd "${FILESDIR}/${PN}.initd" ${PN} + keepdir /var/{lib,log}/${PN} + fowners ${PN}:${PN} /var/{lib,log}/${PN} + insinto /etc/logrotate.d + newins "${FILESDIR}/${PN}.logrotate" ${PN} } -- 2.26.2