summaryrefslogtreecommitdiff
path: root/source/a/genpower
diff options
context:
space:
mode:
authorPatrick J Volkerding <volkerdi@slackware.com>2009-08-26 10:00:38 -0500
committerEric Hameleers <alien@slackware.com>2018-05-31 22:41:17 +0200
commit5a12e7c134274dba706667107d10d231517d3e05 (patch)
tree55718d5acb710fde798d9f38d0bbaf594ed4b296 /source/a/genpower
downloadcurrent-5a12e7c134274dba706667107d10d231517d3e05.tar.gz
Slackware 13.0slackware-13.0
Wed Aug 26 10:00:38 CDT 2009 Slackware 13.0 x86_64 is released as stable! Thanks to everyone who helped make this release possible -- see the RELEASE_NOTES for the credits. The ISOs are off to the replicator. This time it will be a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. We're taking pre-orders now at store.slackware.com. Please consider picking up a copy to help support the project. Once again, thanks to the entire Slackware community for all the help testing and fixing things and offering suggestions during this development cycle. As always, have fun and enjoy! -P.
Diffstat (limited to 'source/a/genpower')
-rwxr-xr-xsource/a/genpower/genpower.SlackBuild93
-rw-r--r--source/a/genpower/genpower.halt.diff32
-rw-r--r--source/a/genpower/genpower.var.diff34
-rw-r--r--source/a/genpower/slack-desc19
4 files changed, 178 insertions, 0 deletions
diff --git a/source/a/genpower/genpower.SlackBuild b/source/a/genpower/genpower.SlackBuild
new file mode 100755
index 00000000..03f15675
--- /dev/null
+++ b/source/a/genpower/genpower.SlackBuild
@@ -0,0 +1,93 @@
+#!/bin/sh
+
+# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+VERSION=${VERSION:-1.0.5}
+ARCH=${ARCH:-x86_64}
+BUILD=${BUILD:-2}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-genpower
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf genpower-$VERSION
+tar xvf $CWD/genpower-$VERSION.tar.gz || exit 1
+cd genpower-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+find . -type d -name CVS -depth -exec rm -rf {} \;
+
+zcat $CWD/genpower.var.diff.gz | patch -p1 -E --verbose || exit 1
+zcat $CWD/genpower.halt.diff.gz | patch -p1 --verbose || exit 1
+
+make -j4 || make || exit 1
+mkdir -p $PKG/sbin
+cat genpowerd > $PKG/sbin/genpowerd
+cat gentest > $PKG/sbin/gentest
+cat genpowerfail > $PKG/sbin/genpowerfail
+mkdir -p $PKG/etc
+cat genpowerd.conf > $PKG/etc/genpowerd.conf.new
+chmod 755 $PKG/sbin/*
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mkdir -p $PKG/usr/man/man8
+cat genpowerd.8 | gzip -9c > $PKG/usr/man/man8/genpowerd.8.gz
+cat gentest.8 | gzip -9c > $PKG/usr/man/man8/gentest.8.gz
+
+mkdir -p $PKG/usr/doc/genpower-$VERSION
+cp -a \
+ COPYING Change.Log README TODO genpower.docs cables \
+ $PKG/usr/doc/genpower-$VERSION
+
+mkdir -p $PKG/install
+cat << EOF > $PKG/install/doinst.sh
+#!/bin/sh
+config() {
+ NEW="\$1"
+ OLD="\$(dirname \$NEW)/\$(basename \$NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r \$OLD ]; then
+ mv \$NEW \$OLD
+ elif [ "\$(cat \$OLD | md5sum)" = "\$(cat \$NEW | md5sum)" ]; then # toss the redundant copy
+ rm \$NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+config etc/genpowerd.conf.new
+EOF
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/genpower-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/a/genpower/genpower.halt.diff b/source/a/genpower/genpower.halt.diff
new file mode 100644
index 00000000..05c6a23f
--- /dev/null
+++ b/source/a/genpower/genpower.halt.diff
@@ -0,0 +1,32 @@
+--- ./genpowerfail.orig 2008-12-02 17:49:36.000000000 -0600
++++ ./genpowerfail 2008-12-02 18:22:37.000000000 -0600
+@@ -36,23 +36,23 @@
+ stats=`head -1 $statpath`
+ case "$stats" in
+ FAIL) # Power is down
+- shutdown -r +2 "THE POWER IS DOWN! SHUTTING DOWN SYSTEM! PLEASE LOG OFF NOW!" < /dev/console &
++ shutdown -h +2 "THE POWER IS DOWN! SHUTTING DOWN SYSTEM! PLEASE LOG OFF NOW!" < /dev/console &
+ ;;
+ SCRAM) # Battery is low
+- shutdown -r now "THE POWER IS DOWN! BATTERY POWER IS LOW! EMERGENCY SHUTDOWN!" < /dev/console &
++ shutdown -h now "THE POWER IS DOWN! BATTERY POWER IS LOW! EMERGENCY SHUTDOWN!" < /dev/console &
+ ;;
+ CABLE) # Possible bad cable
+- shutdown -r +1 "POSSIBLE BAD CABLE! SHUTTING DOWN SYSTEM! PLEASE LOG OFF NOW!" < /dev/console &
++ shutdown -h +1 "POSSIBLE BAD CABLE! SHUTTING DOWN SYSTEM! PLEASE LOG OFF NOW!" < /dev/console &
+ ;;
+ *) # Unknown message, assume power is down
+- shutdown -r +2 "THE POWER IS DOWN! SHUTTING DOWN SYSTEM! PLEASE LOG OFF NOW!" < /dev/console &
++ shutdown -h +2 "THE POWER IS DOWN! SHUTTING DOWN SYSTEM! PLEASE LOG OFF NOW!" < /dev/console &
+ ;;
+
+ esac
+ else
+- # genowerfail called, and upsstatus dosen't exist.
++ # genpowerfail called, and upsstatus dosen't exist.
+ # Assume user is using powerd, and shutdown.
+- shutdown -r +2 "THE POWER IS DOWN! SHUTTING DOWN SYSTEM! PLEASE LOG OFF NOW!" < /dev/console &
++ shutdown -h +2 "THE POWER IS DOWN! SHUTTING DOWN SYSTEM! PLEASE LOG OFF NOW!" < /dev/console &
+
+ fi
+ ;;
diff --git a/source/a/genpower/genpower.var.diff b/source/a/genpower/genpower.var.diff
new file mode 100644
index 00000000..fa3c9e99
--- /dev/null
+++ b/source/a/genpower/genpower.var.diff
@@ -0,0 +1,34 @@
+--- ./genpowerfail.orig Wed Apr 10 18:25:07 2002
++++ ./genpowerfail Wed Apr 10 19:14:27 2002
+@@ -6,19 +6,19 @@
+ # This script is also being run when the power comes
+ # up again (if it does in time!)
+ #
+-# Version: /etc/genpowerfail 1.0.1
++# Version: /sbin/genpowerfail 1.0.1
+ #
+ # Author: Tom Webster <webster@kaiwan.com>
+ #
+
+ # Set the path.
+-PATH=/sbin:/etc:/bin:/usr/bin
++PATH=/sbin:/bin:/usr/bin:/usr/sbin
+
+ # Set location of upsstatus file
+ statpath="/etc/upsstatus"
+
+ # Set location of file containing PID of running shutdowns
+-spidpath="/etc/shutdownpid"
++spidpath="/var/run/shutdownpid"
+
+ # See what happened.
+ case "$1" in
+@@ -63,7 +63,7 @@
+ shutdown -c "THE POWER IS BACK"
+ ;;
+ *)
+- echo "Usage: /etc/genpowerfail {start|stop}"
++ echo "Usage: /sbin/genpowerfail {start|stop}"
+ exit 1
+ ;;
+ esac
diff --git a/source/a/genpower/slack-desc b/source/a/genpower/slack-desc
new file mode 100644
index 00000000..e0f4590e
--- /dev/null
+++ b/source/a/genpower/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+genpower: genpower (UPS monitoring daemon)
+genpower:
+genpower: The genpower daemon, genpowerd, will monitor the status of a serial
+genpower: line connected to a UPS (Uninterruptible Power Supply). If a power
+genpower: failure is detected, genpowerd will notify the system to take the
+genpower: needed steps to react to the condition of the UPS. This may include
+genpower: shutting the system down, or canceling a pending shutdown if the
+genpower: power is restored.
+genpower:
+genpower:
+genpower: