]> git.pld-linux.org Git - packages/nut.git/blobdiff - nut.spec
- up to 2.4.3
[packages/nut.git] / nut.spec
index 38f102e6482eced377e454500ee5fa739a1d624c..31e516d88b0647d34ebb8690c3bc0e9eab3a50d4 100644 (file)
--- a/nut.spec
+++ b/nut.spec
@@ -1,33 +1,47 @@
+# TODO:
+#      - upsdrvctl (used by ups.init) doesn't recognize status and reload commands
+#      - test that hal-stuff
 #
 # Conditional build:
-%bcond_without hidups                  # experimental hidups driver
+%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_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.0.5
-Release:       2
+Version:       2.4.3
+Release:       1
 License:       GPL
 Group:         Applications/System
-Source0:       http://eu1.networkupstools.org/source/2.0/%{name}-%{version}.tar.gz
-# Source0-md5: b08fde86191154bbcfda860f95a5dca2
+Source0:       http://www.networkupstools.org/source/2.4/%{name}-%{version}.tar.gz
+# Source0-md5: 6f893b61b07915e7a139324fa3f79121
 Source1:       %{name}.init
 Source2:       %{name}.sysconfig
 Source3:       %{name}-upsmon.init
 Source4:       %{name}.sysconfig.upsmon
 Patch0:                %{name}-client.patch
-Patch1:                %{name}-datadir.patch
-Patch2:                %{name}-config.patch
-Patch3:                %{name}-smartdp-load.patch
+Patch1:                %{name}-config.patch
+Patch2:                %{name}-smartdp-load.patch
+Patch3:                %{name}-upssched-cmd-sysconf.patch
+Patch4:                %{name}-hal-paths.patch
+Patch5:                %{name}-matrix.patch
 URL:           http://www.networkupstools.org/
 BuildRequires: autoconf
 BuildRequires: automake
-BuildRequires: gd-devel >= 2.0.15
-BuildRequires: libpng-devel
-BuildRequires: net-snmp-devel
+%{?with_hal:BuildRequires:     dbus-glib-devel}
+%{?with_cgi:BuildRequires:     gd-devel >= 2.0.15}
+%{?with_hal:BuildRequires:     hal-devel >= 0.5.8}
+BuildRequires: libtool
+%{?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: pkgconfig
 BuildRequires: rpmbuild(macros) >= 1.268
-BuildRequires: xorg-lib-libXpm-devel
 Requires(post,preun):  /sbin/chkconfig
 Requires:      %{name}-common = %{version}-%{release}
 Requires:      rc-scripts
@@ -35,6 +49,7 @@ Obsoletes:    smartupstools
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                _sysconfdir     /etc/ups
+%define                _udevrulesdir   /etc/udev/rules.d
 
 %description
 These programs are part of a developing project to monitor the
@@ -148,8 +163,8 @@ UPS через веб-інтерфейс.
 Summary:       Files for NUT clients development
 Summary(pl.UTF-8):     Pliki do tworzenia klientów NUT-a
 Group:         Development/Libraries
+Requires:      %{name}-common = %{version}-%{release}
 Requires:      openssl-devel >= 0.9.7c
-# it does NOT require nut
 
 %description devel
 Object file and header for developing NUT clients.
@@ -157,37 +172,61 @@ 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
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
+%patch4 -p1
+%patch5 -p1
 
 %build
 cp -f /usr/share/automake/config.sub .
-%{__aclocal}
+%{__libtoolize}
+%{__aclocal} -I m4
+%{__automake}
 %{__autoconf}
-LDFLAGS="-L%{_prefix}/X11R6/%{_lib}"; export LDFLAGS
 %configure \
-       %{?with_hidups:--with-linux-hiddev} \
+       --datadir=%{_datadir}/%{name} \
+       --with-htmlpath=%{_datadir}/%{name}/html \
+       --with-serial \
+       --with%{!?with_usb:out}-usb \
+       --with%{!?with_snmp:out}-snmp \
+       --with%{!?with_hal:out}-hal \
+       --with%{!?with_cgi:out}-cgi \
+       --with-dev \
+       --with%{!?with_neon:out}-neon \
        --with-ssl \
-       --with-cgi \
-       --with-linux-hiddev=%{_includedir}/linux/hiddev.h \
+       --with-ipv6 \
+       %{?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-user=ups \
        --with-group=ups
-%{__make} all snmp cgi
-%{?with_hidups:%{__make} build-usb}
+
+%{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/sbin,/etc/{sysconfig,rc.d/init.d},/var/lib/ups} \
-       $RPM_BUILD_ROOT{/lib/nut,%{_libdir},%{_includedir}/nut}
+install -d $RPM_BUILD_ROOT{/etc/{sysconfig,rc.d/init.d},/var/lib/ups,/lib/nut,/sbin}
 
-%{__make} install install-snmp install-cgi \
+%{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/ups
@@ -195,14 +234,11 @@ 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
 
-rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/*
-install conf/*.users conf/*.conf conf/*.html $RPM_BUILD_ROOT%{_sysconfdir}
+for i in $RPM_BUILD_ROOT%{_sysconfdir}/*.sample; do
+       mv -f $i ${i%.sample}
+done
 
-install clients/upsclient.o common/parseconf.o $RPM_BUILD_ROOT%{_libdir}
-install clients/upsclient.h include/parseconf.h $RPM_BUILD_ROOT%{_includedir}/nut
-
-%{?with_hidups:install drivers/hidups $RPM_BUILD_ROOT/lib/nut}
-%{?with_hidups:install drivers/newhidups $RPM_BUILD_ROOT/lib/nut}
+%{!?with_usb:rm -f $RPM_BUILD_ROOT%{_udevrulesdir}/52-nut-usbups.rules}
 
 cat > $RPM_BUILD_ROOT/sbin/poweroff-ups << EOF
 #!/bin/sh
@@ -232,6 +268,15 @@ 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"
@@ -242,12 +287,6 @@ if [ "$1" = "0" ]; then
        /sbin/chkconfig --del upsmon
 fi
 
-%postun common
-if [ "$1" = "0" ]; then
-       %userremove ups
-       %groupremove ups
-fi
-
 %files
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/upscmd
@@ -257,13 +296,13 @@ fi
 %attr(755,root,root) /sbin/poweroff-ups
 %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
 %{_mandir}/man5/ups.conf.5*
 %{_mandir}/man5/upsd.conf.5*
 %{_mandir}/man5/upsd.users.5*
-%{_mandir}/man8/[!u]*.8*
 %{_mandir}/man8/upscmd.8*
 %{_mandir}/man8/upscode2.8*
 %{_mandir}/man8/upsd.8*
@@ -272,23 +311,117 @@ fi
 %{_mandir}/man8/upsrw.8*
 %dir %attr(770,root,ups) /var/lib/ups
 %dir /lib/nut
-%attr(755,root,root) /lib/nut/*
+%attr(755,root,root) /lib/nut/apcsmart
+%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/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
+%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/liebertgxt2
+%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/microdowell
+%{?with_neon:%attr(755,root,root) /lib/nut/netxml-ups}
+%attr(755,root,root) /lib/nut/newmge-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/safenet
+%attr(755,root,root) /lib/nut/skel
+%{?with_snmp:%attr(755,root,root) /lib/nut/snmp-ups}
+%attr(755,root,root) /lib/nut/solis
+%attr(755,root,root) /lib/nut/tripplite
+%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
+%{_mandir}/man5/nut.conf.5*
+%{_mandir}/man8/apcsmart.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/blazer.8*
+%{_mandir}/man8/clone.8*
+%{_mandir}/man8/dummy-ups.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/liebertgxt2.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/microdowell.8*
+%{?with_neon:%{_mandir}/man8/netxml-ups.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/safenet.8*
+%{?with_snmp:%{_mandir}/man8/snmp-ups.8*}
+%{_mandir}/man8/solis.8*
+%{_mandir}/man8/tripplite.8*
+%{_mandir}/man8/tripplitesu.8*
+%{?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}
 
 %files common
 %defattr(644,root,root,755)
-%doc NEWS README ChangeLog CREDITS docs
+%doc AUTHORS MAINTAINERS NEWS README UPGRADING ChangeLog docs
 %dir %{_sysconfdir}
+%attr(755,root,root) %ghost %{_libdir}/libupsclient.so.1
+%attr(755,root,root) %{_libdir}/libupsclient.so.*.*.*
 
 %files client
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/upsc
 %attr(755,root,root) %{_sbindir}/upsmon
 %attr(755,root,root) %{_sbindir}/upssched
-%attr(755,root,root) %{_sbindir}/upssched-cmd
 %attr(754,root,root) /etc/rc.d/init.d/upsmon
 %attr(640,root,ups) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/upsmon.conf
 %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
 %{_mandir}/man5/upsmon.conf.5*
 %{_mandir}/man5/upssched.conf.5*
@@ -296,8 +429,10 @@ fi
 %{_mandir}/man8/upsmon.8*
 %{_mandir}/man8/upssched.8*
 
+%if %{with cgi}
 %files cgi
 %defattr(644,root,root,755)
+%{_datadir}/%{name}/html
 %attr(755,root,root) /home/services/httpd/cgi-bin/*.cgi
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/hosts.conf
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/upsset.conf
@@ -308,9 +443,22 @@ fi
 %{_mandir}/man8/upsimage.cgi.8*
 %{_mandir}/man8/upsset.cgi.8*
 %{_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)
-%{_libdir}/upsclient.o
-%{_libdir}/parseconf.o
-%{_includedir}/nut
+%attr(755,root,root) %{_libdir}/libupsclient.la
+%attr(755,root,root) %{_libdir}/libupsclient.so
+%{_pkgconfigdir}/*
+%{_includedir}/*.h
+%{_mandir}/man3/*.3*
This page took 0.05916 seconds and 4 git commands to generate.