forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Package-Manager: Portage-2.3.5, Repoman-2.3.1
- Loading branch information
Marek Szuba
committed
Jun 13, 2017
1 parent
72d85a6
commit e1399a3
Showing
2 changed files
with
124 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
DIST syncthing-0.14.28.tar.gz 4616581 SHA256 ef0a9916f82cf99e31deb5ae75127b8440abcb3b293c30c0c72d3a4ffb3d3d20 SHA512 0163d894080f7591536e78f7c50a5faf3ee63e62517c4c6989c084b8c7f6406bc221f1e4bdb3831cf1a93292d942942efa240bbe7592ec7c4436e1a6b7f6121b WHIRLPOOL d603dcf2fe2d8f82ffd0a9047a44ca9f5baa710e5e1212e9b8f0648bca5b13b199fcca9d9b7b0e978788bd9e59718fb3680e1c64a17b37428dfc2e91954238f8 | ||
DIST syncthing-0.14.30.tar.gz 4616400 SHA256 e3f03ad6421e8832ea1b0f3363490e2eefb241e037016e5c87e72c20a8995a57 SHA512 fd2745595657f27f1ad157b685374b8671694ff9ab47a94e9c613aa1662146db78c31d93abf35b8c336948affb3dd2e3d54184b41996bfab9db204f380a6a3f0 WHIRLPOOL db0d0099a641b13b8bc1e27d576a0636b6e63c28308ebaa1e52bfec43103897538ac3c09f263e34e6598438ff5f9d6e47459d0460d34939df7570fe70865811c |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 | ||
} |