summaryrefslogtreecommitdiffstats
path: root/extra/subversion/svnserve.initd
blob: 036d0187e7e22cd785da8d23ad5781bb967fa2b4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/sbin/runscript
# Copyright 2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License, v2 or later
# $Header: /var/cvsroot/gentoo-x86/dev-util/subversion/files/svnserve.initd,v 1.2 2005/08/25 13:59:48 pauldv Exp $

opts="$opts setup"

depend() {
	need net
}

start() {
	ebegin "Starting svnserve"
	# Ensure that we run from a readable working dir, and that we do not
	# lock filesystems when being run from such a location.
	cd /
	start-stop-daemon --start --quiet --background --make-pidfile \
		--pidfile /var/run/svnserve.pid --exec /usr/bin/svnserve \
		--chuid ${SVNSERVE_USER:-apache}:${SVNSERVE_GROUP:-apache} -- \
		--foreground --daemon ${SVNSERVE_OPTS:---root=/var/svn}
	eend $?
}

stop() {
	ebegin "Stopping svnserve"
	start-stop-daemon --stop --quiet --pidfile /var/run/svnserve.pid
	eend $?
}

setup() {
	local root=${SVNSERVE_ROOT:-/var/svn}
	ebeging "Setting up svnserve repositories in $root"
	if [ -e "$root/repos" ]; then
		eend 1 "$root/repos already exist"
		return 1
	fi
		
	svnadmin create "$root"/repos
	chown -Rf "${SVNSERVE_USER}:${SVNSERVE_GROUP}" "$root/repos"
	mkdir -p "$root/conf"
	chmod -Rf go-rwx "$root/conf"
	chmod -Rf o-rwx "$root/repos"
	eend $?
}