diff options
author | Diego Elio Pettenò <flameeyes@gentoo.org> | 2009-03-22 13:58:12 +0000 |
---|---|---|
committer | Diego Elio Pettenò <flameeyes@gentoo.org> | 2009-03-22 13:58:12 +0000 |
commit | cc1a325b284a13826f0e44f569cf11c17e266ba5 (patch) | |
tree | c8a6ea1a497ce31cacb109008060a02da0567137 /sys-power | |
parent | * bump (diff) | |
download | gentoo-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')
-rw-r--r-- | sys-power/apcupsd/ChangeLog | 10 | ||||
-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.ebuild | 116 | ||||
-rw-r--r-- | sys-power/apcupsd/files/apcupsd.powerfail.init | 18 |
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 +} |