# # spec file for package nut (Version 2.0.4) # # Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: nut BuildRequires: apache2-devel gd-devel libusb net-snmp-devel openssl-devel tcpd-devel %if %suse_version > 1000 BuildRequires: dbus-1 %endif License: GPL Group: Hardware/UPS Provides: smartups Requires: /usr/bin/pgrep /usr/bin/pkill /usr/bin/grep /usr/bin/fgrep /usr/sbin/lsusb /usr/bin/readlink %if %suse_version > 1000 Requires: powersave %endif Obsoletes: smartups Conflicts: apcupsd Autoreqprov: on Summary: UPS Monitoring Software Version: 2.0.4 Release: 3 URL: http://www.networkupstools.org/ Source: %{name}-%{version}.tar.bz2 Source1: upsd.init Source2: README.SUSE Source3: upsd-early-powerdown.init Source4: upsd.dbus-1 Patch: nut-preconfig.patch Patch1: %{name}-%{version}-overflow.patch Patch3: nut-notifyflag.patch Patch4: nut-powersave.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build PreReq: %insserv_prereq /bin/chown /bin/chmod /usr/bin/fgrep /usr/bin/grep /usr/bin/sed /usr/bin/head /usr/bin/md5sum %define apache_serverroot %(/usr/sbin/apxs2 -q datadir 2>/dev/null || /usr/sbin/apxs -q PREFIX) %define CGIPATH %{apache_serverroot}/cgi-bin %define MODELPATH /usr/lib/ups/driver %define STATEPATH /var/lib/ups %define CONFPATH %{_sysconfdir}/ups %define USER upsd %description This is a developing project to monitor a large assortment of UPS hardware. Many models have ports on the back to allow other devices to check the status. If it gives basic information about the power and battery status, it can probably be supported without too much difficulty. More advanced features on the higher-end models are also supported to allow tracking of values over time such as temperature and voltage. Network communications are used so that multiple systems can monitor a single physical UPS and shut down together if necessary without any special "sharing hardware" on the UPS itself. Detailed information about supported hardware can be found in /usr/share/doc/packages/nut/README. _=====_ - APC Smart-UPS, Back-UPS Pro, Matrix-UPS, Belkin Regulator Pro, Best Power Fortress, Fortress (FOR), Fortress Telecom (FTC), Patriot Pro (PRO), Patriot Pro II (PR2), Engetron Jr, Fenton Technologies PowerPal, PowerOn, PowerPure, Effekta MI/MT/MH models (2502 cable), PowerGuard PG-600, IPT Anzen, MGE Pulsar, MGE Pulsar/Comet/Galaxy, Mustek Electronics, Opti-UPS, Advice Partner/King, PowerCom, Toshiba 1500 series, Trust (KingPro) 425/625, Microdowell BBox, IMV/Victron - Many models that use the same basic principle to communicate with the computer. See generic-ups.txt in /usr/share/doc/packages/nut for more information, including a list of supported equipment. Authors: -------- Russell Kroll Arnaud Quette Arjen de Korte Fabio Di Niro %prep %setup cp -a %{S:1} %{S:2} %{S:3} %{S:4} . mv upsd-early-powerdown.init upsd-early-powerdown %patch %patch1 %patch3 %if %suse_version > 1000 %patch4 %endif USB_IDS=$(sed -n 1000 mkdir -p $RPM_BUILD_ROOT/etc/dbus-1/system.d install -m 644 upsd.dbus-1 $RPM_BUILD_ROOT/etc/dbus-1/system.d/upsd.conf %endif %pre # 2>/dev/null usr/sbin/useradd -r -o -g daemon -s /bin/false \ -c "UPS daemon" -d /sbin %USER 2>/dev/null || : %post %{fillup_and_insserv -f -n upsd} # Generate initial passwords. if usr/bin/fgrep -q "password = @UPSD_INITIAL_MASTER_PASSWORD@" %{CONFPATH}/{upsmon.conf,upsd.users} ; then UPSD_INITIAL_MASTER_PASSWORD=$(usr/bin/head -c 20 /dev/urandom | usr/bin/md5sum | usr/bin/head -c 10) usr/bin/sed -i s/@UPSD_INITIAL_MASTER_PASSWORD@/$UPSD_INITIAL_MASTER_PASSWORD/ %{CONFPATH}/{upsmon.conf,upsd.users} fi if usr/bin/fgrep -q "password = @UPSD_INITIAL_SLAVE_PASSWORD@" %{CONFPATH}/upsd.users ; then UPSD_INITIAL_SLAVE_PASSWORD=$(usr/bin/head -c 20 /dev/urandom | usr/bin/md5sum | usr/bin/head -c 10) usr/bin/sed -i s/@UPSD_INITIAL_SLAVE_PASSWORD@/$UPSD_INITIAL_SLAVE_PASSWORD/ %{CONFPATH}/upsd.users fi # Be sure that all files are owned by a dedicated user. bin/chown -R %USER:root %STATEPATH bin/chown %USER:root %{CONFPATH}/upsd.conf %{CONFPATH}/upsmon.conf %{CONFPATH}/upsd.users bin/chmod 600 %{CONFPATH}/upsd.conf %{CONFPATH}/upsmon.conf %{CONFPATH}/upsd.users # Install HALT_POWERDOWN_INSERT %if %suse_version > 1000 if usr/bin/grep -q '^HALT_POWERDOWN_INSERT="\(/etc/init\.d/upsd try-powerdown\|\)"' etc/sysconfig/shutdown ; then usr/bin/sed -i 's:^\(HALT_POWERDOWN_INSERT="\).*"[[:space:]]*:\1/etc/init.d/upsd try-powerdown":' etc/sysconfig/shutdown else echo >&2 "nut: WARNING: Unknown value of HALT_POWERDOWN_INSERT in /etc/sysconfig/shutdown." echo >&2 " Keeping unchanged. Should be:" echo >&2 "HALT_POWERDOWN_INSERT=\"/etc/init.d/upsd try-powerdown\"" fi %endif # Silently remove /etc/sysconfig/smartups. File is now obsolete and # values are copied to not replaced config files. # /etc/sysconfig/smartups was last present in SuSE Linux 10.0 rm -f /etc/sysconfig/smartups %preun %{stop_on_removal upsd} %postun %{restart_on_update upsd} # Remove HALT_POWERDOWN_INSERT %if %suse_version > 1000 if test $1 -eq 0 -a ! -f /etc/init.d/upsd ; then if usr/bin/grep -q '^HALT_POWERDOWN_INSERT="/etc/init\.d/upsd try-powerdown"' etc/sysconfig/shutdown ; then usr/bin/sed -i 's:^\(HALT_POWERDOWN_INSERT="\)/etc/init\.d/upsd try-powerdown":\1":' etc/sysconfig/shutdown else echo >&2 "nut: WARNING: Unknown value of HALT_POWERDOWN_INSERT in /etc/sysconfig/shutdown." echo >&2 " Keeping unchanged. Should be:" echo >&2 "HALT_POWERDOWN_INSERT=\"\"" fi if test -f /etc/init.d/upsd-early-powerdown ; then echo >&2 "nut: WARNING: You may want to remove your /etc/init.d/upsd-early-powerdown." fi fi %endif %insserv_cleanup %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %doc docs/ CHANGES COPYING CREDITS INSTALL MAINTAINERS NEWS README README.SUSE UPGRADING upsd-early-powerdown %doc %{_mandir}/man8/* %doc %{_mandir}/man5/* %dir %{CONFPATH} %config(noreplace) %{CONFPATH}/hosts.conf %config(noreplace) %attr(600,%{USER},root) %{CONFPATH}/upsd.conf %config(noreplace) %attr(600,%{USER},root) %{CONFPATH}/upsd.users %config(noreplace) %attr(600,%{USER},root) %{CONFPATH}/upsmon.conf %config(noreplace) %{CONFPATH}/ups.conf %config(noreplace) %{CONFPATH}/upsset.conf %config(noreplace) %{CONFPATH}/upssched.conf %config(noreplace) %{CONFPATH}/upsstats-single.html %config(noreplace) %{CONFPATH}/upsstats.html /etc/init.d/upsd %if %suse_version > 1000 /etc/dbus-1/system.d/upsd.conf %endif %dir %attr(700,%{USER},nogroup) %{STATEPATH} %dir /usr/lib/ups %{MODELPATH} /usr/bin/* /usr/sbin/* %dir /usr/share/nut /usr/share/nut/* %{CGIPATH}/upsimage.cgi %{CGIPATH}/upsstats.cgi %{CGIPATH}/upsset.cgi %attr(700,%{USER},root) %STATEPATH %changelog -n nut * Mon Sep 18 2006 - anosek@suse.cz - fixed compiler warning: array subscript out of range [#204417] (overflow.patch) * Fri Sep 01 2006 - anosek@suse.cz - updated to 2.0.4 * A bug has been fixed in NUT core to support resuming from suspend-to-disk. This should also fix other similar issues, like time synchronisation through the NTP. * The mge-shut driver now better detects the Low Battery status, support new models and fixes some wrong status and data. It also fixes some issue where the UPS wasn't restarting (refer to mge-shut manpage). * The genericups custom configuration through ups.conf is working again * The genericups driver type 22 also support CyberPower 725SL (and maybe others SL models) * The new megatec driver, which will replace a bunch of drivers by nut 2.2 (refer to docs/megatec.txt and UPGRADING) has been backported from the trunk (Development tree). The powermust driver has also received some attention. * The new rhino driver was added to support Microsol Rhino UPS hardware. The solis has also been improved for solaris compatibility, and internal / external shutdown programming. Solis can now save external shutdown programming to ups, and support new cables for solis 3 - dropped obsolete patch (nut-2.0.4-memset.patch) - fixed subscript out of range [#185610] (overflow.patch) * Fri Jun 23 2006 - sbrabec@suse.cz - Typo fix in the init script. * Thu Apr 27 2006 - sbrabec@suse.cz - Work correctly, if port is a symlink (168611#c6). * Tue Apr 25 2006 - sbrabec@suse.cz - Fixed init script to behave correctly for port = auto (#168611). * Fri Mar 24 2006 - sbrabec@suse.cz - Typo fixes. * Tue Mar 21 2006 - sbrabec@suse.cz - Added D-BUS policy file (#159668). * Mon Mar 20 2006 - sbrabec@suse.cz - Support for UPS powerdown using HALT_POWERDOWN_INSERT. - Added upsd-early-powerdown template and improved README.SUSE. - Remove obsolete /etc/sysconfig/smartups in %%post. * Fri Mar 17 2006 - sbrabec@suse.cz - README.SUSE fixes (Marius Tomaschewski). - Init script fix. - Install all driver manual pages. - Use new powersave-notify path. * Wed Mar 15 2006 - sbrabec@suse.cz - Build all available drivers. * Tue Mar 14 2006 - sbrabec@suse.cz - Improved README.SUSE and predefined configuration. - Checks and fixes in the init script. - Improved notify flags, integrate with powersave. (Some fixes provided by Marius Tomaschewski.) * Fri Mar 10 2006 - sbrabec@suse.cz - Fixed memset error in upsrw.c. - Fixed upsmon typo in the init script. - Preconfigure upsd with one local UPS as default. * Thu Mar 09 2006 - sbrabec@suse.cz - Updated to version 2.0.3. - Removed SuSEconfig, wrote new init script (#27721, #141948, #156614). * Mon Feb 20 2006 - mmarek@suse.cz - fix array index out of range [#133610] (overflow.patch) * Wed Jan 25 2006 - mls@suse.de - converted neededforbuild to BuildRequires * Thu Jan 12 2006 - sbrabec@suse.cz - Updated to version 2.0.3-pre2. * Wed Nov 02 2005 - dmueller@suse.de - don't build as root * Mon Aug 01 2005 - sbrabec@suse.cz - Updated to version 2.0.2. * Fri Jan 21 2005 - sbrabec@suse.cz - Updated to version 2.0.1-pre4. * Mon Aug 23 2004 - sbrabec@suse.cz - Updated to version 2.0.0. * Mon Apr 19 2004 - ro@suse.de - build with apache2 * Wed Apr 14 2004 - aj@suse.de - build without kernel-source. * Tue Mar 23 2004 - sbrabec@suse.cz - Force-define HID_MAX_USAGES (kernel 2.6.4 include file bug, should be fixed in later kernels). * Mon Feb 09 2004 - sbrabec@suse.cz - Updated to version 1.4.1. * Thu Oct 02 2003 - stark@suse.de - adapted pre-configuration and startscript to reflect changes in 1.4.0 - changed file-permissions * Mon Sep 29 2003 - stark@suse.de - update to 1.4.0 * Tue Aug 19 2003 - mmj@suse.de - Add sysconfig metadata [#28939] * Thu Jun 26 2003 - stark@suse.de - update to 1.2.2 - removed config-check in init-script * Fri Jun 20 2003 - ro@suse.de - added directories to filelist * Tue May 13 2003 - mmj@suse.de - use %%defattr * Thu Feb 20 2003 - mmj@suse.de - Add sysconfig metadata [#22688] * Tue Aug 06 2002 - olh@suse.de - use X-UnitedLinux-Should-Start * Mon Aug 05 2002 - olh@suse.de - Required-start: setserial, add Prereq * Fri Aug 02 2002 - ro@suse.de - adapt server-root * Sat Jul 27 2002 - kukuk@suse.de - fix SuSEconfig.nut: - don't include rc.config [Bug #17267] - use correct path to sysconfig directory * Fri Jul 26 2002 - adrian@suse.de - fix neededforbuild * Tue May 28 2002 - stark@suse.de - update to 0.50.0 - changed init-script to use upsdrvctl (make it possible to change config-files manually without changing /etc/sysconfig/smartups) * Tue Apr 09 2002 - stark@suse.de - update to 0.45.5 - fixed SuSEconfig.nut to sysconfig scheme * Fri Feb 01 2002 - ro@suse.de - changed neededforbuild to * Sat Jan 12 2002 - stark@suse.de - little ifarch fix again :-( * Fri Jan 11 2002 - stark@suse.de - changed rc.config.d leftover in rcups - build hidups on all archs excluding s390 (finally) * Tue Jan 08 2002 - stark@suse.de - build hidups only on i386 * Thu Jan 03 2002 - stark@suse.de - build hidups driver for EXPERIMENTAL USB usage * Wed Dec 12 2001 - stark@suse.de - updated to 0.45.3 - removed START_SMARTUPS - renamed package to nut - b2zipped sources - moved rc.config.d/smartups.rc.config -> sysconfig/smartups * Mon Oct 22 2001 - stark@suse.de - fixed init-script to POWERDOWN correctly (#11909) - added rc.config variable UPSLOG_INTERVAL * Tue Sep 18 2001 - stark@suse.de - changed STATEPATH to /var/lib/ups according to FHS (#8678) * Fri Sep 07 2001 - stark@suse.de - added Conflicts: apcupsd (/usr/local/httpd/cgi-bin/multimon.cgi is in both packages) * Mon Sep 03 2001 - stark@suse.de - added a patch to be able to write the POWERDOWNFLAG to only-root-writable directories * Mon Aug 13 2001 - stark@suse.de - update to 0.45.1 * Mon Jun 18 2001 - stark@suse.de - update to 0.45.0 * Fri Apr 27 2001 - stark@suse.de - minor changes in init-script to avoid premature aborts * Thu Apr 19 2001 - stark@suse.de - minor changes on %%config-files and %%clean - changed upsd-exec-group to uucp - added libjpeg freetype2 freetype2-devel xf86 to neededforbuild * Tue Apr 17 2001 - stark@suse.de - init-script cleanup: try-restart and exitcodes * Fri Mar 23 2001 - stark@suse.de - update to 0.44.3 * Fri Mar 16 2001 - stark@suse.de - minor changes in init-script and documentation * Thu Jan 04 2001 - stark@suse.de - update to 0.44.2 * Thu Dec 14 2000 - stark@suse.de - fixed case in rc-script - move SuSE scripts and configs out of the diff - minor changes in config for insserv (use macros) * Mon Nov 27 2000 - stark@suse.de - moved /sbin/init.d -> /etc/init.d * Fri Nov 24 2000 - stark@suse.de - init script more LSB compliant * Wed Nov 22 2000 - stark@suse.de - improved runlevel position - spec now uses %%{_tmppath} * Tue Nov 21 2000 - stark@suse.de - removed runlevel-links from spec-file and moved to insserv - added init information to rc-script * Mon Nov 20 2000 - stark@suse.de - minor changes in rc-script (status) * Wed Nov 15 2000 - ro@suse.de - fixed neededforbuild gdlib -> gd gd-devel * Thu Nov 09 2000 - ro@suse.de - neededforbuild gd -> perl-GD * Wed Nov 08 2000 - stark@suse.de - adapted rc-script to use rc.status * Thu Oct 05 2000 - stark@suse.de - fixed typo in SuSEconfig.smartups * Mon Sep 18 2000 - stark@suse.de - update to 0.44.1 - new spec-file (with buildroot etc.) - fixed rc-script for server/client - added SuSEconfig.smartups * Thu Sep 14 2000 - stark@suse.de - fixed rc-script (added . /etc/rc.config) * Tue Jul 11 2000 - lemsi@suse.de - bugfix in ups start-script - changed /etc/rc.config to /etc/rc.config.d/smartups.rc.config * Mon Feb 28 2000 - kukuk@suse.de - Move most variables from rc.config -> rc.config.d * Thu Feb 24 2000 - lemsi@suse.de - new version - the orginal source is renamed, new name is nut-0.XX.X.tar.gz - added 2 new variables in rc.config; GENERICUPS_MODEL; SMARTUPS_MASTER - model check in rcups for genericups - starting all 4 deamons in rcups - new binary-installpath /usr/sbin * Wed Nov 10 1999 - ro@suse.de - fixed postinstall: (its post and not pre) * Tue Oct 26 1999 - lemsi@suse.de - added 2 new variables in rc.config; SMARTUPS_DEVICE; SMARTUPS_MODEL - modified rcups and smartups.spec - sending mail after instalation * Fri Oct 15 1999 - ro@suse.de - added libpng to neededforbuild (now needed for libgd) * Fri Oct 15 1999 - ro@suse.de - fixed patch arg * Thu Oct 14 1999 - ray@suse.de - new package