net-p2p/syncthing: bump to 0.14.28
authorMarek Szuba <marecki@gentoo.org>
Mon, 22 May 2017 10:29:36 +0000 (11:29 +0100)
committerMarek Szuba <marecki@gentoo.org>
Mon, 22 May 2017 10:36:44 +0000 (11:36 +0100)
Also, make the default configuration directory consistent between
OpenRC and systemd.

Gentoo-Bug: 589774
Package-Manager: Portage-2.3.5, Repoman-2.3.1

net-p2p/syncthing/Manifest
net-p2p/syncthing/files/syncthing.confd
net-p2p/syncthing/files/syncthing.initd
net-p2p/syncthing/syncthing-0.14.28.ebuild [new file with mode: 0644]

index 090ccba139d45eb5e4eb3b9c1f9c9489391b7093..a6e7cb6caeaa35257dc5821b238bf1308550819f 100644 (file)
@@ -1,2 +1,3 @@
 DIST syncthing-0.14.24.tar.gz 6781504 SHA256 6538536d4c1c17dc20e1f1253f7a393ea7cf2f993d27b41e74d98af5963c2fc3 SHA512 164bb2ec8a85b5d10c9b4a08dfc3a94ff1b479069f272471067dea82ac6bb1616ea21fd2576bf5464c144be1bff61a89c24f04fe18c20c4c982acd26c0cc5ca3 WHIRLPOOL 56233ac875be1f633eae73337a88175391cae7d25a2a46d1715dd3b4397054863cdc1fc4a92dbdf1253dfecedaa8bf5d370428b78699ca6ce9d160a53148440a
 DIST syncthing-0.14.27.tar.gz 4611326 SHA256 27051df042b73df7cbee590a56a75931a63e228dcd5c044d0950e14b46730d64 SHA512 438d3385dc3b9737bc0ec275462b9dc41a630b353443061fddb9e48b184b5cb39e3ccf144fef4e30f4523d1c6a96f2a8a9d87bc27e9734b1f7d7d462c9c15e51 WHIRLPOOL 72f10183a7140b7989562de74d185cd8bcea41f52e31c2667126418d7b19c64a045f7f7ebfb0d6269e614e76b58762ccf21cd54ee69c343a2377776d311caac3
+DIST syncthing-0.14.28.tar.gz 4616581 SHA256 ef0a9916f82cf99e31deb5ae75127b8440abcb3b293c30c0c72d3a4ffb3d3d20 SHA512 0163d894080f7591536e78f7c50a5faf3ee63e62517c4c6989c084b8c7f6406bc221f1e4bdb3831cf1a93292d942942efa240bbe7592ec7c4436e1a6b7f6121b WHIRLPOOL d603dcf2fe2d8f82ffd0a9047a44ca9f5baa710e5e1212e9b8f0648bca5b13b199fcca9d9b7b0e978788bd9e59718fb3680e1c64a17b37428dfc2e91954238f8
index da3ac4d2bbf5c8b9f56b2bc6c2949c67e352d6b3..33773dc7fdf9156313d14b6c15b3846113fb4acd 100644 (file)
@@ -5,7 +5,7 @@
 #SYNCTHING_GROUP="syncthing"
 
 # Configuration directory
-#SYNCTHING_HOMEDIR="/var/lib/syncthing"
+#SYNCTHING_HOMEDIR="/var/lib/syncthing/.config/syncthing"
 
 # Log file location
 #SYNCTHING_LOGFILE="/var/log/syncthing/syncthing.log"
index 1ddea14408216a6bb6ead30b83ca9d105ed2527b..b64ebac03254ec7c846c50b3f01cf1f6f38e337e 100644 (file)
@@ -1,10 +1,10 @@
 #!/sbin/openrc-run
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 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_HOMEDIR=${SYNCTHING_HOMEDIR:-/var/lib/syncthing/.config/syncthing}
 SYNCTHING_LOGFILE=${SYNCTHING_LOGFILE:-/var/log/syncthing/syncthing.log}
 SYNCTHING_UMASK=${SYNCTHING_UMASK:-007}
 SYNCTHING_IONICE=${SYNCTHING_IONICE:-0}
diff --git a/net-p2p/syncthing/syncthing-0.14.28.ebuild b/net-p2p/syncthing/syncthing-0.14.28.ebuild
new file mode 100644 (file)
index 0000000..27a867b
--- /dev/null
@@ -0,0 +1,123 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+EGO_PN="github.com/${PN}/${PN}"
+
+inherit golang-vcs-snapshot systemd user versionator
+
+DESCRIPTION="Open Source Continuous File Synchronization"
+HOMEPAGE="https://syncthing.net"
+SRC_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~arm"
+IUSE="selinux tools"
+
+RDEPEND="selinux? ( sec-policy/selinux-syncthing )"
+
+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 the relay server
+               enewgroup strelaysrv
+               enewuser strelaysrv -1 -1 /var/lib/strelaysrv strelaysrv
+               # and his home folder
+               keepdir /var/lib/strelaysrv
+               fowners strelaysrv:strelaysrv /var/lib/strelaysrv
+       fi
+}
+
+src_prepare() {
+       default
+       sed -i \
+               's|^ExecStart=.*|ExecStart=/usr/libexec/syncthing/strelaysrv|' \
+               src/${EGO_PN}/cmd/strelaysrv/etc/linux-systemd/strelaysrv.service \
+               || die
+}
+
+src_compile() {
+       export GOPATH="${S}:$(get_golibdir_gopath)"
+       cd src/${EGO_PN} || die
+       go run build.go -version "v${PV}" -no-upgrade install \
+               $(usex tools "all" "") || die "build failed"
+}
+
+src_test() {
+       cd src/${EGO_PN} || die
+       go run build.go test || die "test failed"
+}
+
+src_install() {
+       pushd src/${EGO_PN} >& /dev/null || die
+       doman man/*.[157]
+       einstalldocs
+
+       dobin bin/syncthing
+       if use tools ; then
+               exeinto /usr/libexec/syncthing
+               local exe
+               for exe in bin/* ; do
+                       [[ "${exe}" == "bin/syncthing" ]] || doexe "${exe}"
+               done
+       fi
+       popd >& /dev/null || die
+
+       # openrc and systemd service files
+       systemd_dounit src/${EGO_PN}/etc/linux-systemd/system/${PN}{@,-resume}.service
+       systemd_douserunit 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 src/${EGO_PN}/cmd/strelaysrv/etc/linux-systemd/strelaysrv.service
+               newconfd "${FILESDIR}/strelaysrv.confd" strelaysrv
+               newinitd "${FILESDIR}/strelaysrv.initd" strelaysrv
+
+               insinto /etc/logrotate.d
+               newins "${FILESDIR}/strelaysrv.logrotate" strelaysrv
+       fi
+}
+
+pkg_postinst() {
+       local v
+       for v in ${REPLACING_VERSIONS}; do
+               if [[ $(get_version_component_range 2) -gt \
+                               $(get_version_component_range 2 ${v}) ]]; 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
+               ewarn "Syncthing OpenRC init script now uses the upstream default of"
+               ewarn ""
+               ewarn "  /var/lib/${PN}/.config/${PN}"
+               ewarn ""
+               ewarn "as its configuration directory. Please set SYNCTHING_HOMEDIR"
+               ewarn "to /var/lib/${PN} in /etc/conf.d/${PN} if you wish to continue"
+               ewarn "using the old Gentoo default. Systemd users are not affected."
+       done
+
+       # check if user syncthing-relaysrv exists
+       # if yes, warn that it has been moved to strelaysrv
+       if [[ -n "$(egetent passwd syncthing-relaysrv 2>/dev/null)" ]]; then
+               ewarn
+               ewarn "The user and group for the relay server have been changed"
+               ewarn "from syncthing-relaysrv to strelaysrv"
+               ewarn "The old user and group are not deleted automatically. Delete them by running:"
+               ewarn "    userdel -r syncthing-relaysrv"
+               ewarn "    groupdel syncthing-relaysrv"
+       fi
+}