diff --git a/srcpkgs/apcupsd/files/apcupsd-powerfail.sh b/srcpkgs/apcupsd/files/apcupsd-powerfail.sh new file mode 100644 index 00000000000..ac826dae8ba --- /dev/null +++ b/srcpkgs/apcupsd/files/apcupsd-powerfail.sh @@ -0,0 +1,7 @@ +PWRFAILDIR="$( awk '$1 == "PWRFAILDIR" {print $2; exit}' /etc/apcupsd/apcupsd.conf )" +PWRFAILDIR="${PWRFAILDIR:-/etc/apcupsd}" + +if [ -f "${PWRFAILDIR}/powerfail" ]; then + msg "Powering off the UPS with APCUPSD..." + /etc/apcupsd/apccontrol killpower +fi diff --git a/srcpkgs/apcupsd/files/apcupsd/run b/srcpkgs/apcupsd/files/apcupsd/run index e570f226c90..c11f573cf11 100644 --- a/srcpkgs/apcupsd/files/apcupsd/run +++ b/srcpkgs/apcupsd/files/apcupsd/run @@ -1,4 +1,9 @@ #!/bin/sh exec 2>&1 -[ -r conf] && . ./conf + +PWRFAILDIR="$( awk '$1 == "PWRFAILDIR" {print $2; exit}' /etc/apcupsd/apcupsd.conf )" +PWRFAILDIR="${PWRFAILDIR:-/etc/apcupsd}" +rm -f "${PWRFAILDIR}/powerfail" + +[ -r conf ] && . ./conf exec apcupsd -b ${OPTS} diff --git a/srcpkgs/apcupsd/patches/skip-man-txt-build.patch b/srcpkgs/apcupsd/patches/skip-man-txt-build.patch new file mode 100644 index 00000000000..e3820d77a2d --- /dev/null +++ b/srcpkgs/apcupsd/patches/skip-man-txt-build.patch @@ -0,0 +1,14 @@ +Do not generate *.man.txt files at build time. The build rule depends on the +deprecated `col` command and the files are only needed for the MinGW platform. +--- a/doc/Makefile ++++ b/doc/Makefile +@@ -3,9 +3,6 @@ + SUBDIRS = + include $(topdir)/autoconf/targets.mak + +-all-targets: apcupsd.man.txt apcaccess.man.txt apctest.man.txt \ +- apccontrol.man.txt apcupsd.conf.man.txt +- + apcupsd.man.txt: apcupsd.8 + $(call MANIFY,$<,$@) + apcaccess.man.txt: apcaccess.8 diff --git a/srcpkgs/apcupsd/template b/srcpkgs/apcupsd/template index ba1394b2d9d..5b7c1404589 100644 --- a/srcpkgs/apcupsd/template +++ b/srcpkgs/apcupsd/template @@ -1,7 +1,7 @@ # Template file for 'apcupsd' pkgname=apcupsd version=3.14.14 -revision=1 +revision=2 build_style=gnu-configure configure_args=" --disable-install-distdir @@ -37,4 +37,5 @@ post_install() { # This binary is not needed and conflicts with a binary from an other package. rm ${DESTDIR}/usr/bin/smtp vsv apcupsd + vinstall ${FILESDIR}/apcupsd-powerfail.sh 644 etc/runit/shutdown.d 89-apcupsd-powerfail.sh }