summaryrefslogtreecommitdiff
blob: bfd4999b729818d73377c2d340e24743d473ffec (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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/www-apps/viewcvs/viewcvs-0.9.2_p20041207-r1.ebuild,v 1.8 2007/07/29 17:41:28 phreak Exp $

inherit eutils

PDATE=${PV/0.9.2_p/}
DESCRIPTION="a web interface to cvs and subversion"
HOMEPAGE="http://viewcvs.sourceforge.net/"
SRC_URI="mirror://gentoo/${PN}-${PDATE}.tar.bz2"

LICENSE="viewcvs"
SLOT="0"
KEYWORDS="ppc sparc x86"
IUSE=""

DEPEND=""
RDEPEND="|| (
		(
			>=app-text/rcs-5.7
			>=dev-util/cvs-1.11
		)
		dev-util/subversion
	)
	sys-apps/diffutils
	www-servers/apache"
S=${WORKDIR}/${PN}

WWW="/var/www/localhost/viewcvs"
CONFFILE="/etc/viewcvs/viewcvs.conf"

doinstall() {
	# start_location=$1
	# end_location=$2
	# mode=$3
	if [ -d $1 ]; then
		install -o root -d ${D}/$2
		for f in ${1}/*
		do
			doinstall ${f} ${f/${1}/${2}} $3
		done
	else
		sed -e "{ s,\(^#!.*$\),#!/usr/bin/python,; \
		s,\(<VIEWCVS_INSTALL_DIRECTORY>\),${WWW},; \
		s,\(^LIBRARY_DIR\)\(.*\$\),\1 = \"${WWW}/lib\",; \
		s,\(^CONF_PATHNAME\)\(.*\$\),\1 = \"${CONFFILE}\",}" ${1} >${1}.cpy

		install -o root -m $3 ${1}.cpy ${D}/$2
		rm ${1}.cpy
	fi
}

src_unpack() {
	unpack ${A}
	cd ${S}
	epatch ${FILESDIR}/${PN}-CAN-2004-1062.patch
}

src_install() {
	cd ${S}
	install -o root -d ${D}/${WWW}/cgi

	doinstall www/cgi/viewcvs.cgi ${WWW}/cgi/viewcvs.cgi 755
	doinstall www/cgi/query.cgi ${WWW}/cgi/query.cgi 755
	doinstall standalone.py ${WWW}/standalone.py 755
	mkdir -p ${D}/`dirname ${CONFFILE}`
	doinstall viewcvs.conf.dist ${CONFFILE} 644
	doinstall cvsgraph.conf.dist `dirname ${CONFFILE}`/cvsgraph.conf 644
	doinstall tools/loginfo-handler ${WWW}/loginfo-handler 755
	doinstall tools/cvsdbadmin ${WWW}/cvsdbadmin 755
	doinstall tools/make-database ${WWW}/make-database 755

	doinstall lib ${WWW}/lib 644
	doinstall templates `dirname ${CONFFILE}`/templates 644

	dohtml -r website/*
	dosym /usr/share/doc/${PF}/html /etc/viewcvs/doc

	cat <<EOF >apache.conf
ScriptAlias /viewcvs /var/www/localhost/viewcvs/cgi/viewcvs.cgi
ScriptAlias /cvsquery /var/www/localhost/viewcvs/cgi/cvsquery.cgi

<Directory /var/www/localhost/viewcvs/cgi>
	Options ExecCGI
	<IfModule mod_access.c>
		Order allow,deny
		Allow from all
	</IfModule>
</Directory>
EOF
	dodoc INSTALL TODO CHANGES README apache.conf
}

pkg_postinst() {
	ewarn "Before using viewcvs make sure you configure it correctly"
	einfo "There is a sample apache integration configuration file in the"
	einfo "documentation directory named: apache.conf"
}