From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id A43D41382BD for ; Fri, 24 Jun 2016 20:05:38 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 2330AE0AEE; Fri, 24 Jun 2016 20:05:36 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id A56CDE0AEE for ; Fri, 24 Jun 2016 20:05:35 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 0AF08340BDA for ; Fri, 24 Jun 2016 20:05:34 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 3233B209C for ; Fri, 24 Jun 2016 20:05:30 +0000 (UTC) From: "Dirkjan Ochtman" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Dirkjan Ochtman" Message-ID: <1466798691.7deebb7157b1b7713488676ad049926f6aaf7217.djc@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: net-p2p/syncthing/files/, net-p2p/syncthing/ X-VCS-Repository: repo/gentoo X-VCS-Files: net-p2p/syncthing/files/relaysrv.systemd.patch net-p2p/syncthing/files/syncthing-relaysrv.confd net-p2p/syncthing/files/syncthing-relaysrv.initd net-p2p/syncthing/files/syncthing-relaysrv.logrotate net-p2p/syncthing/files/syncthing.logrotate net-p2p/syncthing/metadata.xml net-p2p/syncthing/syncthing-0.13.7-r1.ebuild X-VCS-Directories: net-p2p/syncthing/files/ net-p2p/syncthing/ X-VCS-Committer: djc X-VCS-Committer-Name: Dirkjan Ochtman X-VCS-Revision: 7deebb7157b1b7713488676ad049926f6aaf7217 X-VCS-Branch: master Date: Fri, 24 Jun 2016 20:05:30 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 3fdbb386-45da-4e83-95af-99fc9ac6aaea X-Archives-Hash: 4f062ff1056656f55686c5f807b8706e commit: 7deebb7157b1b7713488676ad049926f6aaf7217 Author: Dirkjan Ochtman gentoo org> AuthorDate: Fri Jun 24 20:04:51 2016 +0000 Commit: Dirkjan Ochtman gentoo org> CommitDate: Fri Jun 24 20:04:51 2016 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7deebb71 net-p2p/syncthing: add tools flag Thanks to Alexey Korepanov for implementing this. Package-Manager: portage-2.2.28 net-p2p/syncthing/files/relaysrv.systemd.patch | 13 +++ net-p2p/syncthing/files/syncthing-relaysrv.confd | 3 + net-p2p/syncthing/files/syncthing-relaysrv.initd | 30 ++++++ .../syncthing/files/syncthing-relaysrv.logrotate | 6 ++ net-p2p/syncthing/files/syncthing.logrotate | 5 +- net-p2p/syncthing/metadata.xml | 5 + net-p2p/syncthing/syncthing-0.13.7-r1.ebuild | 108 +++++++++++++++++++++ 7 files changed, 166 insertions(+), 4 deletions(-) diff --git a/net-p2p/syncthing/files/relaysrv.systemd.patch b/net-p2p/syncthing/files/relaysrv.systemd.patch new file mode 100644 index 0000000..2cff1dc --- /dev/null +++ b/net-p2p/syncthing/files/relaysrv.systemd.patch @@ -0,0 +1,13 @@ +diff --git src/github.com/syncthing/syncthing/cmd/relaysrv/etc/linux-systemd/syncthing-relaysrv.service src/github.com/syncthing/syncthing/cmd/relaysrv/etc/linux-systemd/syncthing-relaysrv.service +index b9d3173..7f8e2c0 100644 +--- src/github.com/syncthing/syncthing/cmd/relaysrv/etc/linux-systemd/syncthing-relaysrv.service ++++ src/github.com/syncthing/syncthing/cmd/relaysrv/etc/linux-systemd/syncthing-relaysrv.service +@@ -5,7 +5,7 @@ After=network.target + [Service] + User=syncthing-relaysrv + Group=syncthing-relaysrv +-ExecStart=/usr/bin/relaysrv ++ExecStart=/usr/libexec/syncthing/relaysrv + WorkingDirectory=/var/lib/syncthing-relaysrv + + PrivateTmp=true diff --git a/net-p2p/syncthing/files/syncthing-relaysrv.confd b/net-p2p/syncthing/files/syncthing-relaysrv.confd new file mode 100644 index 0000000..2effc39 --- /dev/null +++ b/net-p2p/syncthing/files/syncthing-relaysrv.confd @@ -0,0 +1,3 @@ +# Options to pass to relaysrv +# see relaysrv --help for more information +SR_OPTS= diff --git a/net-p2p/syncthing/files/syncthing-relaysrv.initd b/net-p2p/syncthing/files/syncthing-relaysrv.initd new file mode 100644 index 0000000..860c5f3 --- /dev/null +++ b/net-p2p/syncthing/files/syncthing-relaysrv.initd @@ -0,0 +1,30 @@ +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +SR_USER=syncthing-relaysrv +SR_GROUP=syncthing-relaysrv +SR_HOMEDIR=/var/lib/syncthing-relaysrv +SR_LOGFILE=/var/log/syncthing/relaysrv.log + + +description="Relay service for syncthing" +command="/usr/libexec/syncthing/relaysrv" +command_args="${SR_OPTS}" +pidfile="/run/relaysrv.pid" +start_stop_daemon_args="--background + --user ${SR_USER} + --group ${SR_GROUP} + --chdir \"${SR_HOMEDIR}\" + --make-pidfile + --stdout \"${SR_LOGFILE}\" + --stderr \"${SR_LOGFILE}\" + " + +depend() { + need net +} + +start_pre() { + checkpath -q -d -o ${SR_USER}:${SR_GROUP} ${SR_HOMEDIR} + checkpath -q -f -o ${SR_USER}:${SR_GROUP} ${SR_LOGFILE} +} diff --git a/net-p2p/syncthing/files/syncthing-relaysrv.logrotate b/net-p2p/syncthing/files/syncthing-relaysrv.logrotate new file mode 100644 index 0000000..f168cbf --- /dev/null +++ b/net-p2p/syncthing/files/syncthing-relaysrv.logrotate @@ -0,0 +1,6 @@ +/var/log/syncthing/relaysrv.log { + missingok + notifempty + sharedscripts + copytruncate +} diff --git a/net-p2p/syncthing/files/syncthing.logrotate b/net-p2p/syncthing/files/syncthing.logrotate index 37c4320..11310e3 100644 --- a/net-p2p/syncthing/files/syncthing.logrotate +++ b/net-p2p/syncthing/files/syncthing.logrotate @@ -2,8 +2,5 @@ missingok notifempty sharedscripts - postrotate - kill -0 $( /dev/null 2>&1 || true - endscript + copytruncate } diff --git a/net-p2p/syncthing/metadata.xml b/net-p2p/syncthing/metadata.xml index 78bfd30..df7f002 100644 --- a/net-p2p/syncthing/metadata.xml +++ b/net-p2p/syncthing/metadata.xml @@ -18,6 +18,11 @@ Syncthing replaces proprietary sync and cloud services with something open, trustworthy and decentralized. Your data is your data alone and you deserve to choose where it is stored, if it is shared with some third party and how it's transmitted over the Internet. + + + Install discosrv, relaysrv and other tools to /usr/libexec/synsthing/. + + syncthing/syncthing https://github.com/syncthing/syncthing/issues diff --git a/net-p2p/syncthing/syncthing-0.13.7-r1.ebuild b/net-p2p/syncthing/syncthing-0.13.7-r1.ebuild new file mode 100644 index 0000000..fdc4011 --- /dev/null +++ b/net-p2p/syncthing/syncthing-0.13.7-r1.ebuild @@ -0,0 +1,108 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +EGO_PN="github.com/syncthing/syncthing" +EGIT_COMMIT=v${PV} + +inherit golang-vcs-snapshot systemd user versionator + +DESCRIPTION="Open Source Continuous File Synchronization" +HOMEPAGE="https://syncthing.net" +SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" + +LICENSE="MPL-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~arm" +IUSE="tools" + +DEPEND="" +RDEPEND="" + +DOCS="README.md AUTHORS CONTRIBUTING.md" + +pkg_setup() { + enewgroup ${PN} + enewuser ${PN} -1 -1 /var/lib/${PN} ${PN} + + if use tools ; then + # separate user for relaysrv + enewgroup ${PN}-relaysrv + enewuser ${PN}-relaysrv -1 -1 /var/lib/${PN}-relaysrv ${PN}-relaysrv + fi +} + +src_prepare() { + epatch "${FILESDIR}/relaysrv.systemd.patch" + eapply_user +} + +src_compile() { + export GOPATH="${S}:$(get_golibdir_gopath)" + cd src/${EGO_PN} + # If we pass "build" to build.go, it builds only syncthing itself, and + # places the binary in the root folder. If we do not pass "build", all the + # tools are built, and all binaries are placed in folder ./bin. + ST_BUILD="build" + if use tools ; then + ST_BUILD="" + fi + go run build.go -version "v${PV}" -no-upgrade ${ST_BUILD} || die "build failed" +} + +src_test() { + cd src/${EGO_PN} + go run build.go test || die "test failed" +} + +src_install() { + cd src/${EGO_PN} + doman man/*.[157] + + if use tools ; then + dobin bin/syncthing + exeinto /usr/libexec/syncthing + for exe in bin/* ; do + [ "${exe}" = "bin/syncthing" ] || doexe "${exe}" + done + else + dobin syncthing + fi + + # openrc and systemd service files + systemd_dounit "${S}"/src/${EGO_PN}/etc/linux-systemd/system/${PN}@.service \ + "${S}"/src/${EGO_PN}/etc/linux-systemd/system/${PN}-resume.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} + + if use tools ; then + # openrc and systemd service files + systemd_dounit "${S}"/src/${EGO_PN}/cmd/relaysrv/etc/linux-systemd/${PN}-relaysrv.service + newconfd "${FILESDIR}/${PN}-relaysrv.confd" ${PN}-relaysrv + newinitd "${FILESDIR}/${PN}-relaysrv.initd" ${PN}-relaysrv + + keepdir /var/lib/${PN}-relaysrv + fowners ${PN}-relaysrv:${PN}-relaysrv /var/{lib,log}/${PN} + + insinto /etc/logrotate.d + newins "${FILESDIR}/syncthing-relaysrv.logrotate" syncthing-relaysrv + fi +} + +pkg_postinst() { + if [[ $(get_version_component_range 2) -gt \ + $(get_version_component_range 2 ${REPLACING_VERSIONS}) ]]; then + ewarn "Version ${PV} is not protocol-compatible with version" \ + "0.$(($(get_version_component_range 2) - 1)).x or lower." + ewarn "Make sure all your devices are running at least version" \ + "0.$(get_version_component_range 2).0." + fi +}