diff options
Diffstat (limited to 'abs/extra/community/network-ups-tools')
-rw-r--r-- | abs/extra/community/network-ups-tools/PKGBUILD | 53 | ||||
-rw-r--r-- | abs/extra/community/network-ups-tools/finish.upsd | 16 | ||||
-rw-r--r-- | abs/extra/community/network-ups-tools/nut.install | 21 | ||||
-rw-r--r-- | abs/extra/community/network-ups-tools/run.upsd | 21 |
4 files changed, 111 insertions, 0 deletions
diff --git a/abs/extra/community/network-ups-tools/PKGBUILD b/abs/extra/community/network-ups-tools/PKGBUILD new file mode 100644 index 0000000..1644c2e --- /dev/null +++ b/abs/extra/community/network-ups-tools/PKGBUILD @@ -0,0 +1,53 @@ +# $Id: PKGBUILD 12757 2010-03-13 04:22:57Z dgriffiths $ +# Maintainer: Roman Kyrylych <roman@archlinux.org> +# Contributor: Giuseppe Lucarelli <luk@rebelsoft.org> + +pkgname=network-ups-tools +pkgver=2.4.3 +pkgrel=5 +pkgdesc="NUT is a collection of programs for monitoring and administering UPS hardware" +arch=('i686' 'x86_64') +url="http://www.networkupstools.org/" +license=('GPL2') +depends=('openssl' 'hal' 'gd') +makedepends=('libusb') +backup=(etc/ups/{ups.conf,upsd.conf,upsd.users,upsmon.conf,upssched.conf}) +install=nut.install +source=(http://www.networkupstools.org/source/2.4/nut-$pkgver.tar.gz run.upsd finish.upsd) +options=('!emptydirs' '!libtool') + +build() { +cd $srcdir/nut-$pkgver +./configure --with-user=nut \ +--prefix=/usr \ +--datadir=/usr/share/ups \ +--sysconfdir=/etc/ups \ +--with-group=nut \ +--with-hal \ +--with-usb \ +--with-cgi \ +--with-cgipath=/usr/share/webapps/nut \ +--with-htmlpath=/usr/share/webapps/nut \ +--with-udev-dir=/etc/udev || return 1 + + make || return 1 + make DESTDIR=$pkgdir install + #ugly hack because --with-pkgconfig-dir doesn't work + install -D -m644 lib/libupsclient.pc $pkgdir/usr/lib/pkgconfig + + install -D -m644 conf/ups.conf.sample $pkgdir/etc/ups/ups.conf + install -D -m640 conf/upsd.conf.sample $pkgdir/etc/ups/upsd.conf + install -D -m640 conf/upsd.users.sample $pkgdir/etc/ups/upsd.users + install -D -m640 conf/upsmon.conf.sample $pkgdir/etc/ups/upsmon.conf + install -D -m644 conf/upssched.conf.sample $pkgdir/etc/ups/upssched.conf + install -D -m755 ../run.upsd $pkgdir/etc/sv/upsd/run || return 1 + install -D -m755 ../finish.upsd $pkgdir/etc/sv/upsd/finish || return 1 + + # Fix udev rules + sed -i "s|SYSFS|ATTRS|g" $pkgdir/etc/udev/rules.d/52-nut-usbups.rules + install -dm755 ${pkgdir}/lib + mv ${pkgdir}/etc/udev ${pkgdir}/lib +} +md5sums=('6f893b61b07915e7a139324fa3f79121' + 'd7af81650a966660f6fd41f957c66165' + 'd50f13385848a9bb8f8cbc9ee5dd9fd5') diff --git a/abs/extra/community/network-ups-tools/finish.upsd b/abs/extra/community/network-ups-tools/finish.upsd new file mode 100644 index 0000000..8eb335b --- /dev/null +++ b/abs/extra/community/network-ups-tools/finish.upsd @@ -0,0 +1,16 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/sbin/upsd` + stat_runit "Stopping UPSd Daemon" + /usr/bin/upsdrvctl stop &> /dev/null + /usr/sbin/upsmon -c stop &> /dev/null + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon upsd + stat_done + fi diff --git a/abs/extra/community/network-ups-tools/nut.install b/abs/extra/community/network-ups-tools/nut.install new file mode 100644 index 0000000..1e6beee --- /dev/null +++ b/abs/extra/community/network-ups-tools/nut.install @@ -0,0 +1,21 @@ +post_install() { + groupadd -g 55 nut &> /dev/null + useradd -u 55 -g nut -G tty -d /var/state/ups -s /bin/false nut >/dev/null 2>&1 + mkdir -p /var/state/ups/ + chmod 0770 /var/state/ups/ + chown root:nut /var/state/ups/ + chown root:nut /etc/ups/upsd.conf /etc/ups/upsd.users /etc/ups/upsmon.conf + echo ">>> Before starting your UPSd daemon, it is imperative" + echo ">>> that you read through and edit where needed these files:" + echo ">>> /etc/ups/{ups.conf,upsd.conf,upsmon.conf,upsd.users}" + echo ">>>" + echo ">>> Then add the the upsd service:" + echo ">>> $ sudo add_service.sh upsd" +} + +pre_remove() { + remove_service.sh upsd + userdel nut >/dev/null 2>&1 + groupdel nut >/dev/null 2>&1 + rm -rf /var/state/ups/ +} diff --git a/abs/extra/community/network-ups-tools/run.upsd b/abs/extra/community/network-ups-tools/run.upsd new file mode 100644 index 0000000..83be88d --- /dev/null +++ b/abs/extra/community/network-ups-tools/run.upsd @@ -0,0 +1,21 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/sbin/upsd` + + stat_runit "Starting UPSd Daemon" + /usr/bin/upsdrvctl start &> /dev/null + [ -z "$PID" ] && /usr/sbin/upsd &>/dev/null + /usr/sbin/upsmon &>/dev/null + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon upsd + stat_done + fi + + while [ -n $PID ] ; do + sleep 60 + done |