]> git.pld-linux.org Git - packages/nut.git/blobdiff - nut.spec
- upsdrvctl is in /usr/sbin now
[packages/nut.git] / nut.spec
index c608426db8cc8a0a48e1480f19cbff4fe86d678b..9d995bb81af98e9e49117aae6d619ccb1e02465b 100644 (file)
--- a/nut.spec
+++ b/nut.spec
@@ -1,23 +1,21 @@
 # TODO:
 #      - upsdrvctl (used by ups.init) doesn't recognize status and reload commands
-#      - test that hal-stuff
 #
 # Conditional build:
 %bcond_without usb                     # build without usb drivers
-%bcond_without hal                     # build without hal support
 %bcond_without snmp                    # build without snmp driver
 %bcond_without cgi                     # build without cgi support
-%bcond_with    neonxml                 # build with neon based XML/HTTP driver
+%bcond_without neon                    # build with neon based XML/HTTP driver
 #
 Summary:       Network UPS Tools
 Summary(pl.UTF-8):     Sieciowe narzędzie do UPS-ów
 Name:          nut
-Version:       2.2.2
-Release:       1
+Version:       2.7.4
+Release:       2
 License:       GPL
 Group:         Applications/System
-Source0:       http://eu1.networkupstools.org/source/2.2/%{name}-%{version}.tar.gz
-# Source0-md5: 677a84a83e9be7bc93610413ee696375
+Source0:       http://www.networkupstools.org/source/2.7/%{name}-%{version}.tar.gz
+# Source0-md5: 3ba53656933d7471f95140b32a5b8d5c
 Source1:       %{name}.init
 Source2:       %{name}.sysconfig
 Source3:       %{name}-upsmon.init
@@ -26,22 +24,30 @@ Patch0:             %{name}-client.patch
 Patch1:                %{name}-config.patch
 Patch2:                %{name}-smartdp-load.patch
 Patch3:                %{name}-upssched-cmd-sysconf.patch
-Patch4:                %{name}-as-needed.patch
-Patch5:                %{name}-hal-paths.patch
+Patch4:                %{name}-matrix.patch
+Patch5:                systemd-sysconfig.patch
+Patch6:                bcmxcp-off-by-one.patch
+Patch7:                %{name}-build.patch
 URL:           http://www.networkupstools.org/
 BuildRequires: autoconf
 BuildRequires: automake
-%{?with_hal:BuildRequires:     dbus-glib-devel}
+BuildRequires: avahi-devel
+BuildRequires: freeipmi-devel
 %{?with_cgi:BuildRequires:     gd-devel >= 2.0.15}
-%{?with_hal:BuildRequires:     hal-devel >= 0.5.8}
+BuildRequires: libltdl-devel
 BuildRequires: libtool
-%{?with_usb:BuildRequires:     libusb-devel}
+%{?with_usb:BuildRequires:     libusb-compat-devel}
+BuildRequires: libwrap-devel
+%{?with_neon:BuildRequires:    neon-devel}
 %{?with_snmp:BuildRequires:    net-snmp-devel}
 BuildRequires: openssl-devel >= 0.9.7d
-BuildRequires: rpmbuild(macros) >= 1.268
+BuildRequires: pkgconfig
+BuildRequires: rpmbuild(macros) >= 1.647
+Requires:      systemd-units >= 38
 Requires(post,preun):  /sbin/chkconfig
 Requires:      %{name}-common = %{version}-%{release}
 Requires:      rc-scripts
+Obsoletes:     nut-hal
 Obsoletes:     smartupstools
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -104,6 +110,7 @@ Group:              Applications/System
 Requires(post,preun):  /sbin/chkconfig
 Requires:      %{name}-common = %{version}-%{release}
 Requires:      rc-scripts
+Requires:      systemd-units >= 38
 
 %description client
 This package includes the client utilities that are required to
@@ -160,8 +167,8 @@ UPS через веб-інтерфейс.
 Summary:       Files for NUT clients development
 Summary(pl.UTF-8):     Pliki do tworzenia klientów NUT-a
 Group:         Development/Libraries
-Requires:      openssl-devel >= 0.9.7c
 Requires:      %{name}-common = %{version}-%{release}
+Requires:      openssl-devel >= 0.9.7c
 
 %description devel
 Object file and header for developing NUT clients.
@@ -169,18 +176,6 @@ Object file and header for developing NUT clients.
 %description devel -l pl.UTF-8
 Plik wynikowy oraz nagłówek służące do tworzenia klientów NUT-a.
 
-%package hal
-Summary:       NUT integration with FreeDesktop HAL
-Summary(pl.UTF-8):     Pliki do integracji NUT-a z HAL-em
-Group:         Development/Libraries
-Requires:      %{name} = %{version}-%{release}
-
-%description hal
-NUT integration with FreeDesktop HAL.
-
-%description hal -l pl.UTF-8
-Pliki do integracji NUT-a z HAL-em.
-
 %prep
 %setup -q
 %patch0 -p1
@@ -189,6 +184,8 @@ Pliki do integracji NUT-a z HAL-em.
 %patch3 -p1
 %patch4 -p1
 %patch5 -p1
+%patch6 -p1
+%patch7 -p1
 
 %build
 cp -f /usr/share/automake/config.sub .
@@ -202,19 +199,18 @@ cp -f /usr/share/automake/config.sub .
        --with-serial \
        --with%{!?with_usb:out}-usb \
        --with%{!?with_snmp:out}-snmp \
-       --with%{!?with_hal:out}-hal \
        --with%{!?with_cgi:out}-cgi \
+       --with-avahi \
+       --with-ipmi \
        --with-dev \
-       --with%{!?with_neonxml:out}-neonxml \
-       --with-linux-hiddev=%{_includedir}/linux/hiddev.h \
+       --with%{!?with_neon:out}-neon \
        --with-ssl \
-       --with-ipv6 \
+       --with-openssl \
        %{?with_usb:--with-udev-dir=/etc/udev} \
-       %{?with_hal:--with-hal-callouts-path=%{_libdir}/hal} \
-       %{?with_hal:--with-hal-fdi-path=%{_datadir}/hal/fdi/information/20thirdparty} \
        --with-statepath=%{_var}/lib/ups \
        --with-drvpath=/lib/nut \
        --with-cgipath=/home/services/httpd/cgi-bin \
+       --with-systemdsystemunitdir=%{systemdunitdir} \
        --with-user=ups \
        --with-group=ups
 
@@ -232,37 +228,53 @@ install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/ups
 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/upsmon
 install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/upsmon
 
+ln -s /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/ups.service
+ln -s /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/upsmon.service
+
 for i in $RPM_BUILD_ROOT%{_sysconfdir}/*.sample; do
        mv -f $i ${i%.sample}
 done
 
-%if %{with usb}
-mv -f $RPM_BUILD_ROOT%{_udevrulesdir}/52{_,-}nut-usbups.rules
-%else
-rm -f $RPM_BUILD_ROOT%{_udevrulesdir}/52_nut-usbups.rules
-%endif
+%{!?with_usb:rm -f $RPM_BUILD_ROOT%{_udevrulesdir}/62-nut-usbups.rules}
 
 cat > $RPM_BUILD_ROOT/sbin/poweroff-ups << EOF
 #!/bin/sh
-/etc/rc.d/init.d/ups powerdown
+echo "Switching the power off"
+/usr/sbin/upsdrvctl shutdown
+sleep 60
 EOF
 
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %post
+/sbin/ldconfig
 /sbin/chkconfig --add ups
 %service ups restart "NUT ups daemon"
+%systemd_post nut-driver.service nut-server.service
 
 %preun
 if [ "$1" = "0" ]; then
        %service ups stop
        /sbin/chkconfig --del ups
 fi
+%systemd_preun nut-driver.service nut-server.service
+
+%postun
+/sbin/ldconfig
+%systemd_reload
+
+%triggerpostun -- nut < 2.6.4-2
+[ -f /etc/sysconfig/rpm ] && . /etc/sysconfig/rpm
+[ ${RPM_ENABLE_SYSTEMD_SERVICE:-yes} = no ] && exit 0
+[ "$(echo /etc/rc.d/rc[0-6].d/S[0-9][0-9]ups)" != "/etc/rc.d/rc[0-6].d/S[0-9][0-9]ups" ] || exit 0
+%systemd_service_enable nut-driver.service nut-server.service
 
 %pre common
 # move to trigger?
-if [ -n "`/usr/bin/getgid ups`" ] && [ "`/usr/bin/getgid ups`" = 121 ]; then
+if [ -n "`/usr/bin/getgid ups 2> /dev/null`" ] && [ "`/usr/bin/getgid ups 2> /dev/null`" = 121 ]; then
        /usr/sbin/groupmod -g 76 ups
        chgrp ups %{_sysconfdir}/{upsd.conf,ups.conf,upsd.users}
        /usr/sbin/usermod -g 76 ups
@@ -270,37 +282,62 @@ fi
 %groupadd -g 76 ups
 %useradd -u 70 -d /usr/share/empty -s /bin/false -c "UPS Manager User" -g ups ups
 
+%post common -p /sbin/ldconfig
+
+%postun common
+/sbin/ldconfig
+if [ "$1" = "0" ]; then
+       %userremove ups
+       %groupremove ups
+fi
+
 %post client
 /sbin/chkconfig --add upsmon
 %service upsmon restart "NUT upsmon daemon"
+%systemd_post nut-monitor.service
 
 %preun client
 if [ "$1" = "0" ]; then
        %service upsmon stop
        /sbin/chkconfig --del upsmon
 fi
+%systemd_preun nut-monitor.service
 
-%postun common
-if [ "$1" = "0" ]; then
-       %userremove ups
-       %groupremove ups
-fi
+%postun client
+%systemd_reload
+
+%triggerpostun client -- nut-client < 2.6.4-2
+[ -f /etc/sysconfig/rpm ] && . /etc/sysconfig/rpm
+[ ${RPM_ENABLE_SYSTEMD_SERVICE:-yes} = no ] && exit 0
+/sbin/chkconfig --list upsmon 2>/dev/null | grep -qsv "[0-6]:on" && exit 0
+[ "$(echo /etc/rc.d/rc[0-6].d/S[0-9][0-9]upsmon)" != "/etc/rc.d/rc[0-6].d/S[0-9][0-9]upsmon" ] || exit 0
+%systemd_service_enable nut-monitor.service
 
 %files
 %defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/nut-scanner
 %attr(755,root,root) %{_bindir}/upscmd
 %attr(755,root,root) %{_bindir}/upslog
 %attr(755,root,root) %{_bindir}/upsrw
 %attr(755,root,root) %{_sbindir}/upsd
+%attr(755,root,root) %{_sbindir}/upsdrvctl
 %attr(755,root,root) /sbin/poweroff-ups
+%attr(755,root,root) %ghost %{_libdir}/libnutscan.so.1
+%attr(755,root,root) %{_libdir}/libnutscan.so.*.*.*
 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/ups
 %attr(754,root,root) /etc/rc.d/init.d/ups
+%attr(640,root,ups) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/nut.conf
 %attr(640,root,ups) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/upsd.conf
 %attr(640,root,ups) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ups.conf
 %attr(640,root,ups) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/upsd.users
+%{systemdunitdir}/nut-driver.service
+%{systemdunitdir}/nut-server.service
+%{systemdunitdir}/ups.service
 %{_mandir}/man5/ups.conf.5*
 %{_mandir}/man5/upsd.conf.5*
 %{_mandir}/man5/upsd.users.5*
+%{_mandir}/man8/nut-recorder.8*
+%{_mandir}/man8/nut-scanner.8*
 %{_mandir}/man8/upscmd.8*
 %{_mandir}/man8/upscode2.8*
 %{_mandir}/man8/upsd.8*
@@ -311,36 +348,47 @@ fi
 %dir /lib/nut
 %attr(755,root,root) /lib/nut/al175
 %attr(755,root,root) /lib/nut/apcsmart
+%attr(755,root,root) /lib/nut/apcsmart-old
+%attr(755,root,root) /lib/nut/apcupsd-ups
 %attr(755,root,root) /lib/nut/bcmxcp
 %{?with_usb:%attr(755,root,root) /lib/nut/bcmxcp_usb}
 %attr(755,root,root) /lib/nut/belkin
 %attr(755,root,root) /lib/nut/belkinunv
 %attr(755,root,root) /lib/nut/bestfcom
+%attr(755,root,root) /lib/nut/bestfortress
 %attr(755,root,root) /lib/nut/bestuferrups
 %attr(755,root,root) /lib/nut/bestups
-%attr(755,root,root) /lib/nut/cpsups
-%attr(755,root,root) /lib/nut/cyberpower
+%attr(755,root,root) /lib/nut/blazer_ser
+%{?with_usb:%attr(755,root,root) /lib/nut/blazer_usb}
+%attr(755,root,root) /lib/nut/clone
+%attr(755,root,root) /lib/nut/clone-outlet
 %attr(755,root,root) /lib/nut/dummy-ups
-%{?with_usb:%attr(755,root,root) /lib/nut/energizerups}
 %attr(755,root,root) /lib/nut/etapro
 %attr(755,root,root) /lib/nut/everups
 %attr(755,root,root) /lib/nut/gamatronic
 %attr(755,root,root) /lib/nut/genericups
 %attr(755,root,root) /lib/nut/isbmex
+%attr(755,root,root) /lib/nut/ivtscd
 %attr(755,root,root) /lib/nut/liebert
+%attr(755,root,root) /lib/nut/liebert-esp2
 %attr(755,root,root) /lib/nut/masterguard
-%attr(755,root,root) /lib/nut/megatec
-%{?with_usb:%attr(755,root,root) /lib/nut/megatec_usb}
 %attr(755,root,root) /lib/nut/metasys
 %attr(755,root,root) /lib/nut/mge-shut
 %attr(755,root,root) /lib/nut/mge-utalk
-%attr(755,root,root) /lib/nut/newmge-shut
-%attr(755,root,root) /lib/nut/nitram
+%attr(755,root,root) /lib/nut/microdowell
+%{?with_neon:%attr(755,root,root) /lib/nut/netxml-ups}
+%{?with_usb:%attr(755,root,root) /lib/nut/nutdrv_atcl_usb}
+%attr(755,root,root) /lib/nut/nutdrv_qx
+%attr(755,root,root) /lib/nut/nut-ipmipsu
+%attr(755,root,root) /lib/nut/oldmge-shut
 %attr(755,root,root) /lib/nut/oneac
 %attr(755,root,root) /lib/nut/optiups
 %attr(755,root,root) /lib/nut/powercom
 %attr(755,root,root) /lib/nut/powerpanel
 %attr(755,root,root) /lib/nut/rhino
+%{?with_usb:%attr(755,root,root) /lib/nut/richcomm_usb}
+%attr(755,root,root) /lib/nut/riello_ser
+%{?with_usb:%attr(755,root,root) /lib/nut/riello_usb}
 %attr(755,root,root) /lib/nut/safenet
 %attr(755,root,root) /lib/nut/skel
 %{?with_snmp:%attr(755,root,root) /lib/nut/snmp-ups}
@@ -349,42 +397,54 @@ fi
 %attr(755,root,root) /lib/nut/tripplitesu
 %{?with_usb:%attr(755,root,root) /lib/nut/tripplite_usb}
 %attr(755,root,root) /lib/nut/upscode2
-%attr(755,root,root) /lib/nut/upsdrvctl
 %{?with_usb:%attr(755,root,root) /lib/nut/usbhid-ups}
 %attr(755,root,root) /lib/nut/victronups
-%{_datadir}/nut
+%dir %{_datadir}/nut
+%{_datadir}/nut/cmdvartab
+%{_datadir}/nut/driver.list
+%{_mandir}/man5/nut.conf.5*
 %{_mandir}/man8/al175.8*
 %{_mandir}/man8/apcsmart.8*
+%{_mandir}/man8/apcsmart-old.8*
+%{_mandir}/man8/apcupsd-ups.8*
 %{_mandir}/man8/bcmxcp.8*
 %{?with_usb:%{_mandir}/man8/bcmxcp_usb.8*}
 %{_mandir}/man8/belkin.8*
 %{_mandir}/man8/belkinunv.8*
 %{_mandir}/man8/bestfcom.8*
+%{_mandir}/man8/bestfortress.8*
 %{_mandir}/man8/bestuferrups.8*
 %{_mandir}/man8/bestups.8*
-%{_mandir}/man8/cpsups.8*
-%{_mandir}/man8/cyberpower.8*
+%{_mandir}/man8/blazer_ser.8*
+%{?with_usb:%{_mandir}/man8/blazer_usb.8*}
+%{_mandir}/man8/clone.8*
 %{_mandir}/man8/dummy-ups.8*
-%{?with_usb:%{_mandir}/man8/energizerups.8*}
 %{_mandir}/man8/etapro.8*
 %{_mandir}/man8/everups.8*
 %{_mandir}/man8/gamatronic.8*
 %{_mandir}/man8/genericups.8*
 %{_mandir}/man8/isbmex.8*
+%{_mandir}/man8/ivtscd.8*
 %{_mandir}/man8/liebert.8*
+%{_mandir}/man8/liebert-esp2.8*
 %{_mandir}/man8/masterguard.8*
-%{_mandir}/man8/megatec.8*
-%{?with_usb:%{_mandir}/man8/megatec_usb.8*}
 %{_mandir}/man8/metasys.8*
 %{_mandir}/man8/mge-shut.8*
 %{_mandir}/man8/mge-utalk.8*
-%{_mandir}/man8/nitram.8*
+%{_mandir}/man8/microdowell.8*
+%{?with_neon:%{_mandir}/man8/netxml-ups.8*}
+%{?with_usb:%{_mandir}/man8/nutdrv_atcl_usb.8*}
+%{_mandir}/man8/nutdrv_qx.8*
+%{_mandir}/man8/nut-ipmipsu.8*
 %{_mandir}/man8/nutupsdrv.8*
 %{_mandir}/man8/oneac.8*
 %{_mandir}/man8/optiups.8*
 %{_mandir}/man8/powercom.8*
 %{_mandir}/man8/powerpanel.8*
 %{_mandir}/man8/rhino.8*
+%{?with_usb:%{_mandir}/man8/richcomm_usb.8*}
+%{_mandir}/man8/riello_ser.8*
+%{?with_usb:%{_mandir}/man8/riello_usb.8*}
 %{_mandir}/man8/safenet.8*
 %{?with_snmp:%{_mandir}/man8/snmp-ups.8*}
 %{_mandir}/man8/solis.8*
@@ -393,13 +453,16 @@ fi
 %{?with_usb:%{_mandir}/man8/tripplite_usb.8*}
 %{?with_usb:%{_mandir}/man8/usbhid-ups.8*}
 %{_mandir}/man8/victronups.8*
-%{?with_usb:%config(noreplace) %verify(not md5 mtime size) %{_udevrulesdir}/52-nut-usbups.rules}
+%{?with_usb:%config(noreplace) %verify(not md5 mtime size) %{_udevrulesdir}/62-nut-usbups.rules}
+%config(noreplace) %verify(not md5 mtime size) %{_udevrulesdir}/52-nut-ipmipsu.rules
 
 %files common
 %defattr(644,root,root,755)
 %doc AUTHORS MAINTAINERS NEWS README UPGRADING ChangeLog docs
 %dir %{_sysconfdir}
-%ghost %{_libdir}/libupsclient.so.1
+%attr(755,root,root) %ghost %{_libdir}/libnutclient.so.0
+%attr(755,root,root) %{_libdir}/libnutclient.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libupsclient.so.4
 %attr(755,root,root) %{_libdir}/libupsclient.so.*.*.*
 
 %files client
@@ -412,6 +475,9 @@ fi
 %attr(640,root,ups) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/upssched.conf
 %attr(750,root,ups) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/upssched-cmd
 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/upsmon
+/lib/systemd/system-shutdown/nutshutdown
+%{systemdunitdir}/nut-monitor.service
+%{systemdunitdir}/upsmon.service
 %{_mandir}/man5/upsmon.conf.5*
 %{_mandir}/man5/upssched.conf.5*
 %{_mandir}/man8/upsc.8*
@@ -434,20 +500,13 @@ fi
 %{_mandir}/man8/upsstats.cgi.8*
 %endif
 
-%if %{with hal}
-%files hal
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/hal/hald-addon-bcmxcp_usb
-%attr(755,root,root) %{_libdir}/hal/hald-addon-megatec_usb
-%attr(755,root,root) %{_libdir}/hal/hald-addon-tripplite_usb
-%attr(755,root,root) %{_libdir}/hal/hald-addon-usbhid-ups
-%{_datadir}/hal/fdi/information/20thirdparty/20-ups-nut-device.fdi
-%endif
-
 %files devel
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libupsclient.la
+%attr(755,root,root) %{_libdir}/libnutclient.so
 %attr(755,root,root) %{_libdir}/libupsclient.so
-%{_pkgconfigdir}/*
+%attr(755,root,root) %{_libdir}/libnutscan.so
+%{_pkgconfigdir}/libnutclient.pc
+%{_pkgconfigdir}/libnutscan.pc
+%{_pkgconfigdir}/libupsclient.pc
 %{_includedir}/*.h
 %{_mandir}/man3/*.3*
This page took 0.130898 seconds and 4 git commands to generate.