blob: b2020197691998041f469cac621946dd5983bf55 (
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
WEBAPP_OPTIONAL="yes"
inherit depend.php eutils perl-module toolchain-funcs webapp
DESCRIPTION="System monitor for obtaining accurate and up to date info on the performance of a number of systems"
HOMEPAGE="http://www.xs4all.nl/~wpd/symon/"
SRC_URI="http://www.xs4all.nl/~wpd/symon/philes/${P}.tar.gz
syweb? ( http://www.xs4all.nl/~wpd/symon/philes/syweb-0.58.tar.gz )"
LICENSE="BSD-2"
WEBAPP_MANUAL_SLOT="yes"
SLOT="0"
KEYWORDS="~amd64 ~sparc ~x86"
IUSE="client symux syweb vhosts"
RDEPEND="client? ( dev-lang/perl )
symux? ( net-analyzer/rrdtool )
syweb? ( ${WEBAPP_DEPEND}
virtual/httpd-php )"
DEPEND="${RDEPEND}
sys-devel/pmake"
S=${WORKDIR}/${PN}
pkg_setup() {
if use syweb ; then
require_php_with_any_use gd gd-external
webapp_pkg_setup
fi
}
src_unpack() {
unpack ${A}
epatch "${FILESDIR}"/${PN}-symon.conf.patch
use symux && epatch "${FILESDIR}"/${PN}-symux.conf.patch
if use syweb ; then
epatch "${FILESDIR}"/${PN}-syweb-class_lexer.inc.patch
epatch "${FILESDIR}"/${PN}-syweb-setup.inc.patch
epatch "${FILESDIR}"/${PN}-syweb-total_firewall.layout.patch
fi
if ! use client ; then
sed -i "/SUBDIR/s/client//" "${S}"/Makefile || die "sed failed."
fi
if ! use symux ; then
sed -i "/SUBDIR/s/symux//" "${S}"/Makefile || die "sed failed."
fi
}
src_compile() {
MAKE=pmake emake \
AR="$(tc-getAR)" \
CC="$(tc-getCC)" \
CFLAGS+="${CFLAGS}" \
RANLIB="$(tc-getRANLIB)" \
STRIP=true || die "emake failed."
}
src_install() {
insinto /etc
doins symon/symon.conf
newinitd "${FILESDIR}"/${PN}-init.d ${PN} || die "newinitd failed."
dodoc CHANGELOG HACKERS TODO
doman symon/symon.8
dosbin symon/symon
dodir /usr/share/symon
insinto /usr/share/symon
doins symon/c_config.sh
fperms a+x,u-w /usr/share/symon/c_config.sh
if use client ; then
dobin client/getsymonitem.pl
perlinfo
insinto ${SITE_LIB}
doins client/SymuxClient.pm
fi
if use symux ; then
insinto /etc
doins symux/symux.conf
newinitd "${FILESDIR}"/symux-init.d symux || die "newinitd failed."
doman symux/symux.8
dosbin symux/symux
insinto /usr/share/symon
doins symux/c_smrrds.sh
fperms u-w,u+x /usr/share/symon/c_smrrds.sh
dodir /var/lib/symon/rrds/localhost
fi
if use syweb ; then
docinto layouts
dodoc "${WORKDIR}"/syweb/symon/total_firewall.layout
webapp_src_preinst
dodir "${MY_HTDOCSDIR}"/cache
dodir "${MY_HTDOCSDIR}"/layouts
webapp_serverowned "${MY_HTDOCSDIR}"/cache
insinto "${MY_HTDOCSDIR}"
doins -r "${WORKDIR}"/syweb/htdocs/syweb/*
webapp_configfile "${MY_HTDOCSDIR}"/setup.inc
webapp_src_install
fi
}
pkg_postinst() {
use client && perl-module_pkg_postinst
if use syweb ; then
elog "Test your syweb configuration by pointing your browser at:"
elog "http://${VHOST_HOSTNAME}/${PN}/configtest.php"
webapp_pkg_postinst
fi
elog "You'll need to setup /etc/sym{on,ux}.conf before running these"
elog "daemons for the first time."
elog "To create the RRDs run /usr/share/symon/c_smrrds.sh all"
elog "To test the configuration run sym{on,ux} -t"
elog "NOTE that symon won't chroot by default."
}
pkg_prerm() {
use syweb && webapp_pkg_prerm
}
|