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
|
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-power/nut/nut-2.0.1_pre4.ebuild,v 1.3 2007/06/29 17:06:39 armin76 Exp $
inherit eutils fixheadtails
MY_P="${P/_/-}"
DESCRIPTION="Network-UPS Tools"
HOMEPAGE="http://www.networkupstools.org/"
SRC_URI="mirror://nut/source/2.0/testing/${MY_P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
IUSE="cgi snmp usb"
RDEPEND="cgi? ( media-libs/gd )
snmp? ( net-analyzer/net-snmp )"
DEPEND="${RDEPEND}
>=sys-apps/sed-4
>=sys-devel/autoconf-2.58"
S=${WORKDIR}/${MY_P/-pre4//}
pkg_setup() {
enewgroup nut 84
enewuser nut 84 -1 /var/state/nut nut
}
src_unpack() {
unpack ${A}
cd "${S}"
sed -e "s/install: install-dirs/install: install-dirs install-conf/" \
-i Makefile.in || die "sed failed"
ht_fix_file configure.in
sed -e "s:GD_LIBS.*=.*-L/usr/X11R6/lib \(.*\) -lXpm -lX11:GD_LIBS=\"\1:" \
-i configure.in || die "sed failed"
ebegin "Recreating configure"
WANT_AUTOCONF=2.5 autoconf || die "autoconf failed"
eend $?
}
src_compile() {
local myconf
myconf="${myconf} `use_with cgi` `use_with cgi cgipath /usr/share/nut`"
if [ -n "${NUT_DRIVERS}" ]; then
myconf="${myconf} --with-drivers=${NUT_DRIVERS// /,}"
fi
econf \
--with-user=nut \
--with-group=nut \
--with-drvpath=/usr/lib/nut \
--sysconfdir=/etc/nut \
--with-logfacility=LOG_DAEMON \
--with-statepath=/var/lib/nut \
${myconf} || die "econf failed"
emake || die "compile problem"
if use snmp; then
emake snmp || die "snmp compile problem"
fi
if use usb; then
emake usb || die "snmp compile problem"
fi
if use cgi; then
emake cgi || die "compile cgi problem"
fi
}
src_install() {
make DESTDIR="${D}" install install-lib || die "make install failed"
dodir /usr/sbin
dosym /usr/lib/nut/upsdrvctl /usr/sbin/upsdrvctl
for i in "${D}"/etc/nut/*.sample ; do
mv "${i}" "${i/.sample/}"
done
if use snmp; then
make DESTDIR="${D}" install-snmp || die "make install-snmp failed"
fi
if use usb; then
make DESTDIR="${D}" install-usb || die "make install-usb failed"
fi
if use cgi; then
make DESTDIR="${D}" install-cgi || die "make install-cgi failed"
einfo "CGI monitoring scripts are installed in /usr/share/nut,"
einfo "copy them to your web server's ScriptPath to activate."
fi
dodoc CHANGES COPYING CREDITS INSTALL MAINTAINERS NEWS README UPGRADING \
docs/{FAQ,*.txt}
newdoc lib/README README.lib
docinto cables
dodoc docs/cables/*
newinitd "${FILESDIR}/upsd.rc6" upsd
newinitd "${FILESDIR}/upsdrv.rc6-r1" upsdrv
newinitd "${FILESDIR}/upsmon.rc6" upsmon
keepdir /var/lib/nut
fperms 0700 /var/lib/nut
fperms 0640 /etc/nut/{upsd.conf,upsd.users,upsmon.conf}
fowners nut:nut /var/lib/nut
fowners root:nut /etc/nut/{upsd.conf,upsd.users,upsmon.conf}
}
pkg_postinst() {
# this is to ensure that everybody that installed old versions still has
# correct permissions
chown nut:nut ${ROOT}/var/lib/nut 2>/dev/null
chmod 0700 ${ROOT}/var/lib/nut 2>/dev/null
chown root:nut ${ROOT}/etc/nut/{upsd.conf,upsd.users,upsmon.conf} 2>/dev/null
chmod 0640 ${ROOT}/etc/nut/{upsd.conf,upsd.users,upsmon.conf} 2>/dev/null
}
|