1
0
mirror of synced 2024-06-02 10:48:09 +02:00
TheChymera-overlay/net-p2p/syncthing/syncthing-0.11.16.ebuild
2015-07-21 02:54:16 +02:00

80 lines
2.2 KiB
Bash

# Copyright 2014 Jonathan Vasquez <jvasquez1011@gmail.com>
# Distributed under the terms of the GNU General Public License v2
EAPI=5
inherit user systemd
GITHUB_USER="syncthing"
GITHUB_REPO="syncthing"
GITHUB_TAG="${PV}"
NAME="syncthing"
DESCRIPTION="Open Source Continuous File Synchronization"
HOMEPAGE="http://syncthing.net/"
SRC_URI="
amd64? ( https://github.com/${GITHUB_USER}/${GITHUB_REPO}/releases/download/v${GITHUB_TAG}/syncthing-linux-amd64-v${PV}.tar.gz )"
#https://github.com/$//archive/v${GITHUB_TAG}.tar.gz -> ${P}.tar.gz
#https://github.com/{GITHUB_USER}/${GITHUB_REPO}/releases/download/v${GITHUB_TAG}/syncthing-linux-amd64-v${PV}.tar.gz
RESTRICT="mirror"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64"
DEPEND=">=dev-lang/go-1.3.0"
S="${WORKDIR}"
configDir="/etc/${PN}"
config="${configDir}/config.xml"
src_install() {
# Create directory structure recommended by SyncThing Documentation
# Since Go is "very particular" about file locations.
local newBaseDir="src/github.com/${PN}"
local newWorkDir="${newBaseDir}/${PN}"
mkdir -p "${newBaseDir}"
mv "${P}" "${newWorkDir}"
cd "${newWorkDir}"
# Build SyncThing ;D
go run build.go -version v${PV} -no-upgrade=true
# Copy compiled binary over to image directory
dobin "${WORKDIR}/syncthing-linux-amd64-v${PV}/syncthing"
# Install the OpenRC init file
doinitd "${FILESDIR}/init.d/${NAME}"
# Install the systemd unit file
systemd_newunit "${FILESDIR}/${PN}_.service" "${PN}@.service"
#Install the systemd user unit file
systemd_douserunit "${FILESDIR}/${PN}.service"
}
pkg_postinst() {
if [[ ! -d "${configDir}" ]]; then
mkdir "${configDir}"
fi
if [[ ! -e "${config}" ]]; then
einfo "Generating default configuration file ..."
syncthing -generate "${configDir}"
# Remove 'default' folder (it has an incorrect path anyway)
sed -i '/<folder id="default"/,/<\/folder>/d' "${config}"
fi
elog "In order to be able to view the Web UI remotely (from another machine),"
elog "edit your ${config} and change the 127.0.0.1:8080 to 0.0.0.0:8080 in"
elog "the 'address' section."
elog ""
elog "After checking your config, run 'rc-config start ${PN}' to start the application."
elog "Point your browser to the address above to access the Web UI."
elog ""
}