summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Elio Pettenò <flameeyes@gentoo.org>2009-03-22 13:58:12 +0000
committerDiego Elio Pettenò <flameeyes@gentoo.org>2009-03-22 13:58:12 +0000
commitcc1a325b284a13826f0e44f569cf11c17e266ba5 (patch)
treec8a6ea1a497ce31cacb109008060a02da0567137 /sys-power/apcupsd
parent* bump (diff)
downloadgentoo-2-cc1a325b284a13826f0e44f569cf11c17e266ba5.tar.gz
gentoo-2-cc1a325b284a13826f0e44f569cf11c17e266ba5.tar.bz2
gentoo-2-cc1a325b284a13826f0e44f569cf11c17e266ba5.zip
Add init script for shutting the UPS down on power failure. Thanks to Matt Whitlock in bug #262234.
(Portage version: 2.2_rc26/cvs/Linux x86_64)
Diffstat (limited to 'sys-power/apcupsd')
-rw-r--r--sys-power/apcupsd/ChangeLog10
-rw-r--r--sys-power/apcupsd/apcupsd-3.14.5-r2.ebuild (renamed from sys-power/apcupsd/apcupsd-3.14.5-r1.ebuild)13
-rw-r--r--sys-power/apcupsd/apcupsd-3.14.5.ebuild116
-rw-r--r--sys-power/apcupsd/files/apcupsd.powerfail.init18
4 files changed, 39 insertions, 118 deletions
diff --git a/sys-power/apcupsd/ChangeLog b/sys-power/apcupsd/ChangeLog
index 2f159f6d2da0..574af6ad09cf 100644
--- a/sys-power/apcupsd/ChangeLog
+++ b/sys-power/apcupsd/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for sys-power/apcupsd
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-power/apcupsd/ChangeLog,v 1.42 2009/03/11 11:23:11 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-power/apcupsd/ChangeLog,v 1.43 2009/03/22 13:58:12 flameeyes Exp $
+
+*apcupsd-3.14.5-r2 (22 Mar 2009)
+
+ 22 Mar 2009; Diego E. Pettenò <flameeyes@gentoo.org>
+ +files/apcupsd.powerfail.init, -apcupsd-3.14.5.ebuild,
+ -apcupsd-3.14.5-r1.ebuild, +apcupsd-3.14.5-r2.ebuild:
+ Add init script for shutting the UPS down on power failure. Thanks to Matt
+ Whitlock in bug #262234.
*apcupsd-3.14.5-r1 (11 Mar 2009)
diff --git a/sys-power/apcupsd/apcupsd-3.14.5-r1.ebuild b/sys-power/apcupsd/apcupsd-3.14.5-r2.ebuild
index 2d4c881e64be..167349529335 100644
--- a/sys-power/apcupsd/apcupsd-3.14.5-r1.ebuild
+++ b/sys-power/apcupsd/apcupsd-3.14.5-r2.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-power/apcupsd/apcupsd-3.14.5-r1.ebuild,v 1.1 2009/03/11 11:23:11 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-power/apcupsd/apcupsd-3.14.5-r2.ebuild,v 1.1 2009/03/22 13:58:12 flameeyes Exp $
WEBAPP_MANUAL_SLOT="yes"
WEBAPP_OPTIONAL="yes"
@@ -89,6 +89,7 @@ src_install() {
rm "${D}"/etc/init.d/apcupsd
newinitd "${FILESDIR}/${PN}.init.2" "${PN}" || die "newinitd failed"
+ newinitd "${FILESDIR}/${PN}.powerfail.init" "${PN}".powerfail || die "newinitd failed"
}
pkg_postinst() {
@@ -106,6 +107,16 @@ pkg_postinst() {
elog "/etc/init.d/apcupsd.something, and it will then load the"
elog "configuration file at /etc/apcupsd/something.conf."
elog ""
+
+ if [ -d "${ROOT}"/etc/runlevels/shutdown -a \
+ ! -e "${ROOT}"/etc/runlevels/shutdown/"${PN}".powerfail ] ; then
+ elog 'If you want apcupsd to power off your UPS when it'
+ elog 'shuts down your system in a power failure, you must'
+ elog 'add apcupsd.powerfail to your shutdown runlevel:'
+ elog ''
+ elog ' \e[01m rc-update add apcupsd.powerfail shutdown \e[0m'
+ elog ''
+ fi
}
pkg_prerm() {
diff --git a/sys-power/apcupsd/apcupsd-3.14.5.ebuild b/sys-power/apcupsd/apcupsd-3.14.5.ebuild
deleted file mode 100644
index cd7064da1848..000000000000
--- a/sys-power/apcupsd/apcupsd-3.14.5.ebuild
+++ /dev/null
@@ -1,116 +0,0 @@
-# Copyright 1999-2009 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-power/apcupsd/apcupsd-3.14.5.ebuild,v 1.4 2009/01/19 15:52:12 flameeyes Exp $
-
-WEBAPP_MANUAL_SLOT="yes"
-WEBAPP_OPTIONAL="yes"
-inherit eutils webapp
-
-DESCRIPTION="APC UPS daemon with integrated tcp/ip remote shutdown"
-HOMEPAGE="http://www.apcupsd.org/"
-SRC_URI="mirror://sourceforge/apcupsd/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86 ~x86-fbsd"
-IUSE="doc snmp usb cgi nls gnome"
-
-DEPEND="doc? ( virtual/latex-base
- dev-tex/latex2html
- app-text/dvipdfm )
- cgi? ( >=media-libs/gd-1.8.4
- ${WEBAPP_DEPEND} )
- nls? ( sys-devel/gettext )
- snmp? ( net-analyzer/net-snmp )
- gnome? ( >=x11-libs/gtk+-2.4.0
- >=dev-libs/glib-2.0
- >=gnome-base/gconf-2.0 )"
-RDEPEND="${DEPEND}
- virtual/mailx"
-
-pkg_setup() {
- use cgi && webapp_pkg_setup
-}
-
-src_compile() {
- local myconf
- use cgi && myconf="${myconf} --enable-cgi --with-cgi-bin=${MY_CGIBINDIR}"
- if use usb; then
- myconf="${myconf} --with-upstype=usb --with-upscable=usb --enable-usb --with-dev= "
- else
- myconf="${myconf} --with-upstype=apcsmart --with-upscable=smart --disable-usb"
- fi
-
- # We force the DISTNAME to gentoo so it will use gentoo's layout also
- # when installed on non-linux systems.
- econf \
- --sbindir=/sbin \
- --sysconfdir=/etc/apcupsd \
- --with-pwrfail-dir=/etc/apcupsd \
- --with-lock-dir=/var/lock \
- --with-pid-dir=/var/run \
- --with-log-dir=/var/log \
- --with-nis-port=3551 \
- --enable-net \
- --with-distname=gentoo \
- $(use_enable snmp net-snmp) \
- $(use_enable gnome gapcmon) \
- ${myconf} \
- APCUPSD_MAIL=/bin/mail \
- || die "econf failed"
- emake || die "emake failed"
-
- if use doc; then
- einfo "Building full documentation..."
- cd "${S}"/doc/latex
- emake -j1 texcheck tex web pdf || die "doc build failed"
- fi
-}
-
-src_install() {
- use cgi && webapp_src_preinst
-
- emake DESTDIR="${D}" install || die "installed failed"
- rm -f "${D}"/etc/init.d/halt
-
- insinto /etc/apcupsd
- newins examples/safe.apccontrol safe.apccontrol
-
- dodoc ChangeLog* ReleaseNotes
- newman doc/apctest.man apctest.8 || die "newman failed"
-
- if use doc; then
- einfo "Installing full documentation..."
- newdoc doc/latex/apcupsd.pdf manual.pdf || die "pdf doc failed"
- dohtml -r doc/latex/apcupsd/* || die "doc install failed"
- fi
-
- if use cgi; then
- mv "${D}"/etc/apcupsd/apcupsd.css "${D}""${MY_CGIBINDIR}"
- webapp_src_install
- fi
-
- rm "${D}"/etc/init.d/apcupsd
- newinitd "${FILESDIR}/${PN}.init.2" "${PN}" || die "newinitd failed"
-}
-
-pkg_postinst() {
- if use cgi; then
- elog "If you are upgrading from a previous version, please note"
- elog "that the CGI interface is now installed using webapp-config."
- elog "/var/www/apcupsd is no longer present."
- webapp_pkg_postinst
- fi
-
- elog ""
- elog "Since version 3.14.0 you can use multiple apcupsd instances to"
- elog "control more than one UPS in a single box."
- elog "To do this, create a link between /etc/init.d/apcupsd to a new"
- elog "/etc/init.d/apcupsd.something, and it will then load the"
- elog "configuration file at /etc/apcupsd/something.conf."
- elog ""
-}
-
-pkg_prerm() {
- use cgi && webapp_pkg_prerm
-}
diff --git a/sys-power/apcupsd/files/apcupsd.powerfail.init b/sys-power/apcupsd/files/apcupsd.powerfail.init
new file mode 100644
index 000000000000..35ee364c80ca
--- /dev/null
+++ b/sys-power/apcupsd/files/apcupsd.powerfail.init
@@ -0,0 +1,18 @@
+#!/sbin/runscript
+# Copyright 2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-power/apcupsd/files/apcupsd.powerfail.init,v 1.1 2009/03/22 13:58:11 flameeyes Exp $
+
+description='Signal the UPS to kill power in a power failure condition'
+
+depend() {
+ need mount-ro
+}
+
+start() {
+ if [[ $(runlevel) == *' 0' && -f /etc/apcupsd/powerfail ]] ; then
+ ebegin 'Signaling UPS to kill power'
+ /sbin/apcupsd --killpower
+ eend $?
+ fi
+}