summaryrefslogtreecommitdiffstats
path: root/abs/extra/network-ups-tools
diff options
context:
space:
mode:
Diffstat (limited to 'abs/extra/network-ups-tools')
-rw-r--r--abs/extra/network-ups-tools/PKGBUILD57
-rw-r--r--abs/extra/network-ups-tools/finish.upsd16
-rw-r--r--abs/extra/network-ups-tools/network-ups-tools.tar.gzbin0 -> 1722 bytes
-rw-r--r--abs/extra/network-ups-tools/nut-driver.service.patch14
-rw-r--r--abs/extra/network-ups-tools/nut.install18
-rw-r--r--abs/extra/network-ups-tools/run.upsd21
-rw-r--r--abs/extra/network-ups-tools/upsd.init43
7 files changed, 169 insertions, 0 deletions
diff --git a/abs/extra/network-ups-tools/PKGBUILD b/abs/extra/network-ups-tools/PKGBUILD
new file mode 100644
index 0000000..50afbcc
--- /dev/null
+++ b/abs/extra/network-ups-tools/PKGBUILD
@@ -0,0 +1,57 @@
+# Maintainer: Alex Reznichenko <sa5gap@yandex.ru>
+# Contributor: Roman Kyrylych <roman@archlinux.org>
+# Contributor: Giuseppe Lucarelli <luk@rebelsoft.org>
+
+pkgname=network-ups-tools
+pkgver=2.6.5
+pkgrel=2
+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' 'libusb-compat')
+makedepends=()
+backup=(etc/ups/{ups.conf,upsd.conf,upsd.users,upsmon.conf,upssched.conf})
+install=nut.install
+source=("http://www.networkupstools.org/source/2.6/nut-$pkgver.tar.gz"
+ 'upsd.init' 'nut-driver.service.patch')
+options=('!emptydirs' '!libtool')
+md5sums=('e6eac4fa04baff0d0a827d64efe81a7e'
+ '089ea4a56552253328d17603ff5670cc'
+ 'ee3aa25a08caca24f51951ee1f090c44')
+
+build() {
+
+ cd $srcdir/nut-$pkgver
+ ./configure \
+ --without-wrap \
+ --with-user=ups \
+ --with-group=nut \
+ --with-usb \
+ --prefix=/usr \
+ --with-udev-dir=/usr/lib/udev \
+ --with-systemdsystemunitdir=/lib/systemd/system \
+ --datadir=/usr/share/ups \
+ --sysconfdir=/etc/ups || return 1
+
+ make || return 1
+
+}
+
+package() {
+
+ cd $srcdir/nut-$pkgver
+ make DESTDIR=$pkgdir install || return 1
+
+ install -D -m755 $startdir/upsd.init $pkgdir/etc/rc.d/upsd || return 1
+ 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
+
+ # Fix systemd's nut-driver.service
+ cd $pkgdir
+ patch -p1 < ../nut-driver.service.patch
+
+}
diff --git a/abs/extra/network-ups-tools/finish.upsd b/abs/extra/network-ups-tools/finish.upsd
new file mode 100644
index 0000000..8eb335b
--- /dev/null
+++ b/abs/extra/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/network-ups-tools/network-ups-tools.tar.gz b/abs/extra/network-ups-tools/network-ups-tools.tar.gz
new file mode 100644
index 0000000..eeb2ed6
--- /dev/null
+++ b/abs/extra/network-ups-tools/network-ups-tools.tar.gz
Binary files differ
diff --git a/abs/extra/network-ups-tools/nut-driver.service.patch b/abs/extra/network-ups-tools/nut-driver.service.patch
new file mode 100644
index 0000000..fec8116
--- /dev/null
+++ b/abs/extra/network-ups-tools/nut-driver.service.patch
@@ -0,0 +1,14 @@
+--- pkg/usr/lib/systemd/system/nut-driver.service 2012-10-15 21:50:08.216981122 +0400
++++ pkg/usr/lib/systemd/system/nut-driver.service 2012-10-15 22:08:44.826990389 +0400
+@@ -4,7 +4,9 @@
+ StopWhenUnneeded=yes
+
+ [Service]
+-ExecStart=${exec_prefix}/bin/upsdrvctl start
+-ExecStop=${exec_prefix}/bin/upsdrvctl stop
++ExecStart=/usr/bin/upsdrvctl start
++ExecStop=/usr/bin/upsdrvctl stop
+ Type=forking
+
++[Install]
++WantedBy=multi-user.target
diff --git a/abs/extra/network-ups-tools/nut.install b/abs/extra/network-ups-tools/nut.install
new file mode 100644
index 0000000..1eca341
--- /dev/null
+++ b/abs/extra/network-ups-tools/nut.install
@@ -0,0 +1,18 @@
+post_install() {
+ groupadd -g 55 nut &> /dev/null
+ useradd -u 55 -g nut -G tty -d /var/state/ups -s /bin/false ups >/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, you must"
+ echo ">>> edit /etc/ups/ups.conf in order to set your"
+ echo ">>> UPS driver and port."
+}
+
+pre_remove() {
+ userdel ups >/dev/null 2>&1
+ groupdel nut >/dev/null 2>&1
+ rm -rf /var/state/ups/
+}
+
diff --git a/abs/extra/network-ups-tools/run.upsd b/abs/extra/network-ups-tools/run.upsd
new file mode 100644
index 0000000..83be88d
--- /dev/null
+++ b/abs/extra/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
diff --git a/abs/extra/network-ups-tools/upsd.init b/abs/extra/network-ups-tools/upsd.init
new file mode 100644
index 0000000..acdd115
--- /dev/null
+++ b/abs/extra/network-ups-tools/upsd.init
@@ -0,0 +1,43 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/sbin/upsd`
+case "$1" in
+ start)
+ stat_busy "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
+ ;;
+
+ stop)
+ stat_busy "Stopping UPSd Daemon"
+ /usr/sbin/upsmon -c stop &> /dev/null
+ /usr/sbin/upsd -c stop &> /dev/null
+ /usr/bin/upsdrvctl stop &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon upsd
+ stat_done
+ fi
+ ;;
+
+ restart)
+ $0 stop
+ sleep 3
+ $0 start
+ ;;
+
+ *)
+ cho "usage: $0 {start|stop|restart}"
+esac
+exit 0