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.
Gentoo-Bug: 626086 Package-Manager: Portage-2.3.6, Repoman-2.3.1
- Loading branch information
Marek Szuba
committed
Jul 25, 2017
1 parent
cc53eb4
commit df1cd36
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,2 +1,3 @@ | ||
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 | ||
DIST syncthing-0.14.32.tar.gz 6943444 SHA256 d5b5d5bcb1b13f47d7889d9dbe7e13fed6080750fb4a93241a7fb7cf6324a463 SHA512 1db8939c0d7b5d6d1d21ed32a19bc8bc5832407a04546af88e36f8ad82113cf73909789531a2d39b670eebbfc799cdd9ac81bc1e1d42ba4702341f98b875b786 WHIRLPOOL 1e2ece603568f4deb5373bfa2ecc0bc115b12856be8520b66bbc122ed9c4ead7093f85a1346204622e0c43a9f9704ab5c99eb0fe705912ace5fddfb3a4182208 |
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 | ||
} |