[Nut-upsdev] RPM spec file

William H. Bell w.bell at physics.gla.ac.uk
Wed Jun 7 14:49:40 UTC 2006


On Wed, 7 Jun 2006, Charles Lepple wrote:

> On 6/7/06, William H. Bell <w.bell at physics.gla.ac.uk> wrote:
>> To to build an RPM from the nut 2.0.3 source I've corrected the old
>> nut.spec.in file.  Please find a copy of the slightly updated spec file
>> attached.  The changes are documented at the bottom of the spec file.
>
> Looks good. I'm copying Arnaud to see if he has any objections to this
> being included in the upcoming 2.0.4 release. (Arnaud: note that the
> tree currently has a nut.spec.in *and* nut.spec, and I suspect that
> the latter might be out-of-date. Diff between nut.spec.in and Will's
> version is attached.)

Hi,

For further reference please find spec file from the Fedora Core 5 rpm 
attached.  They've made a few more changes too.

Regards,

Will
-------------- next part --------------
%define nut_uid 57
%define nut_gid 57

%define initdir /etc/rc.d/init.d
%define cgidir  /var/www/nut-cgi-bin
%define piddir  /var/run/nut
%define modeldir /sbin

%define devel 0

Summary: Network UPS Tools
Name: nut
Version: 2.0.3
Release: 0.1.fc5
Group: Applications/System
License: GPL
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
Url: http://www.networkupstools.org/
Source: http://www.networkupstools.org/source/2.0/%{name}-%{version}.tar.gz
Source1: ups.init
Source2: ups.sysconfig

Patch0: nut-1.4.0-buildroot.patch
Patch1: nut-0.45.0-conffiles.patch
Patch2: nut-0.45.4-conf.patch
Patch3: nut-2.0.1-bad.patch
Patch5: nut-2.0.2-warning.patch

Requires: nut-client

Prereq: fileutils
Prereq: /sbin/chkconfig
Prereq: /sbin/service

BuildPrereq: gd-devel
BuildPrereq: freetype-devel
BuildPrereq: netpbm-devel
BuildPrereq: libpng-devel
BuildPrereq: net-snmp-devel
BuildPrereq: elfutils-devel
BuildPrereq: libX11-devel
BuildPrereq: libXpm-devel
BuildPrereq: libjpeg-devel

%ifnarch s390 s390x
BuildPrereq: libusb-devel
%endif

ExcludeArch: s390 s390x

%description
These programs are part of a developing project to monitor the assortment 
of UPSes that are found out there in the field. Many models have serial 
ports of some kind that allow some form of state checking. This
capability has been harnessed where possible to allow for safe shutdowns, 
live status tracking on web pages, and more.

%package client
Group: Applications/System
Summary: Network UPS Tools client monitoring utilities
Prereq: chkconfig
Prereq: /usr/sbin/useradd

%description client
This package includes the client utilities that are required to monitor a
ups that the client host has access to, but where the UPS is physically
attached to a different computer on the network.

%package cgi
Group: Applications/System
Summary: CGI utilities for the Network UPS Tools
Requires: webserver

%description cgi
This package includes CGI programs for accessing UPS status via a web
browser.

%package devel
Group: Development/Libraries
Summary: Development files for NUT Client
Requires: webserver

%description devel
This package contains the development header files and libraries
necessary to develop NUT client applications.
 
%prep
%setup -q
%patch0 -p1 -b .buildroot
%patch1 -p1 -b .conf
%patch2 -p1 -b .conf1
%patch3 -p1 -b .bad
%patch5 -p1 -b .warning

iconv -f iso-8859-1 -t utf-8 < man/newhidups.8 > man/newhidups.8_
mv man/newhidups.8_ man/newhidups.8

%build
%configure \
    --with-user=%{name} \
    --with-group=uucp \
    --with-statepath=%{piddir} \
    --with-pidpath=%{piddir} \
    --with-altpidpath=%{piddir} \
    --sysconfdir=%{_sysconfdir}/ups \
    --with-cgipath=%{cgidir} \
    --with-drvpath=%{modeldir} \
    --with-cgi \
    --with-gd-libs \
    --with-linux-hiddev=/usr/include/linux/hiddev.h

make %{?_smp_mflags}
make %{?_smp_mflags} snmp
make %{?_smp_mflags} usb

%install
rm -rf %{buildroot}

mkdir -p %{buildroot}%{modeldir} \
         %{buildroot}%{_sysconfdir}/sysconfig \
         %{buildroot}%{_sysconfdir}/udev/rules.d \
         %{buildroot}%{piddir} \
         %{buildroot}%{_localstatedir}/lib/ups \
         %{buildroot}%{initdir}

make install install-conf \
     install-cgi-conf \
     install-cgi \
     install-usb \
     install-snmp DESTDIR=%{buildroot}

install -m 755 drivers/hidups %{buildroot}%{modeldir}/
install -m 755 drivers/dummycons %{buildroot}%{modeldir}/
install -m 755 drivers/energizerups %{buildroot}%{modeldir}/

install -m 755 %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/ups
install -m 755 %{SOURCE1} %{buildroot}%{initdir}/ups

install -m 644 scripts/hotplug-ng/nut-usbups.rules %{buildroot}%{_sysconfdir}/udev/rules.d

# rename
for file in %{buildroot}%{_sysconfdir}/ups/*.sample
do
   mv $file %{buildroot}%{_sysconfdir}/ups/`basename $file .sample`
done

%if !%{devel}
rm -rf %{buildroot}%{_includedir} \
       %{buildroot}%{_mandir}/man3/upscli_* \
       %{buildroot}%{_libdir}/*upsclient*
%endif

%pre
/usr/sbin/useradd -c "Network UPS Tools" -u %{nut_uid} -G uucp \
        -s /bin/false -r -d %{_localstatedir}/lib/ups %{name} 2> /dev/null || :

%pre client
/usr/sbin/useradd -c "Network UPS Tools" -u %{nut_uid} -G uucp \
        -s /bin/false -r -d %{_localstatedir}/lib/ups %{name} 2> /dev/null || :

%pre cgi
/usr/sbin/useradd -c "Network UPS Tools" -u %{nut_uid} -G uucp \
        -s /bin/false -r -d %{_localstatedir}/lib/ups %{name} 2> /dev/null || :

%post client
/sbin/chkconfig --add ups
exit 0

%preun client
if [ "$1" = "0" ]; then
    /sbin/service ups stop > /dev/null 2>&1
    /sbin/chkconfig --del ups
fi
exit 0

%postun client
if [ "$1" -ge "1" ]; then
    /sbin/service ups condrestart > /dev/null 2>&1
fi
exit 0

%clean
rm -rf %{buildroot}

%files
%defattr(-,root,root)
%doc COPYING CREDITS CHANGES README docs UPGRADING INSTALL NEWS
%config(noreplace) %attr(640,root,nut) %{_sysconfdir}/ups/ups.conf
%config(noreplace) %attr(640,root,nut) %{_sysconfdir}/ups/upsd.conf
%config(noreplace) %attr(640,root,nut) %{_sysconfdir}/ups/upsd.users
%config(noreplace) %attr(644,root,root) %{_sysconfdir}/sysconfig/ups
%config(noreplace) %attr(644,root,root) %{_sysconfdir}/udev/rules.d/*
%{modeldir}/*
%{_sbindir}/upsd
%{_bindir}/upslog
%{_datadir}/cmdvartab
%{_datadir}/driver.list
%{_mandir}/man5/ups.conf.5.gz
%{_mandir}/man5/upsd.conf.5.gz
%{_mandir}/man5/upsd.users.5.gz
%{_mandir}/man8/apcsmart.8.gz
%{_mandir}/man8/belkin.8.gz
%{_mandir}/man8/bestups.8.gz
%{_mandir}/man8/bestuferrups.8.gz
%{_mandir}/man8/cyberpower.8.gz
%{_mandir}/man8/everups.8.gz
%{_mandir}/man8/etapro.8.gz
%{_mandir}/man8/fentonups.8.gz
%{_mandir}/man8/genericups.8.gz
%{_mandir}/man8/isbmex.8.gz
%{_mandir}/man8/liebert.8.gz
%{_mandir}/man8/masterguard.8.gz
%{_mandir}/man8/mge-utalk.8.gz
%{_mandir}/man8/nutupsdrv.8.gz
%{_mandir}/man8/oneac.8.gz
%{_mandir}/man8/powercom.8.gz
%{_mandir}/man8/sms.8.gz
%{_mandir}/man8/tripplite.8.gz
%{_mandir}/man8/tripplitesu.8.gz
%{_mandir}/man8/victronups.8.gz
%{_mandir}/man8/upsd.8.gz
%{_mandir}/man8/upsdrvctl.8.gz
%{_mandir}/man8/mge-shut.8.gz
%{_mandir}/man8/energizerups.8.gz
%{_mandir}/man8/safenet.8.gz
%{_mandir}/man8/belkinunv.8.gz
%{_mandir}/man8/hidups.8.gz
%{_mandir}/man8/ippon.8.gz
%{_mandir}/man8/newhidups.8.gz
%{_mandir}/man8/snmp-ups.8.gz
%{_mandir}/man8/bestfcom.8.gz
%{_mandir}/man8/cpsups.8.gz
%{_mandir}/man8/metasys.8.gz
%{_mandir}/man8/mustek.8.gz
%{_mandir}/man8/powermust.8.gz
%{_mandir}/man8/bcmxcp.8*
%{_mandir}/man8/solis.8*
%{_mandir}/man8/upscode2.8*
%{_mandir}/man8/bcmxcp_usb.8.gz
%{_mandir}/man8/gamatronic.8.gz
%{_mandir}/man8/tripplite_usb.8.gz
%files client
%defattr(-,root,root)
%attr(755,root,root) %{initdir}/ups
%dir %{_sysconfdir}/ups
%config(noreplace) %attr(640,root,nut) %{_sysconfdir}/ups/upsmon.conf
%config(noreplace) %attr(640,root,nut) %{_sysconfdir}/ups/upssched.conf
%dir %attr(750,nut,nut) %{_localstatedir}/lib/ups
%dir %attr(750,nut,nut) %{piddir}
%{_bindir}/upsc
%{_bindir}/upscmd
%{_bindir}/upsrw
%{_sbindir}/upsmon
%{_sbindir}/upssched
%{_sbindir}/upssched-cmd
%{_mandir}/man5/upsmon.conf.5.gz
%{_mandir}/man5/upssched.conf.5.gz
%{_mandir}/man8/upsc.8.gz
%{_mandir}/man8/upscmd.8.gz
%{_mandir}/man8/upsrw.8.gz
%{_mandir}/man8/upslog.8.gz
%{_mandir}/man8/upsmon.8.gz
%{_mandir}/man8/upssched.8.gz

%files cgi
%defattr(-,root,root)
%config(noreplace) %attr(644,root,root) %{_sysconfdir}/ups/hosts.conf
%config(noreplace) %attr(600,nut,root) %{_sysconfdir}/ups/upsset.conf
%config(noreplace) %attr(644,root,root) %{_sysconfdir}/ups/upsstats.html
%config(noreplace) %attr(644,root,root) %{_sysconfdir}/ups/upsstats-single.html
%{cgidir}/*
%{_mandir}/man5/hosts.conf.5.gz
%{_mandir}/man5/upsstats.html.5.gz
%{_mandir}/man5/upsset.conf.5.gz
%{_mandir}/man8/upsimage.cgi.8.gz
%{_mandir}/man8/upsstats.cgi.8.gz
%{_mandir}/man8/upsset.cgi.8.gz

%changelog
* Tue Apr 25 2006 Than Ngo <than at redhat.com> 2.0.3-0.1.fc5
- update to 2.0.3
- drop nut-2.0.2-buffer.patch, it's included in new upstream
- add udev rule #189674, #187105

* Fri Feb 10 2006 Jesse Keating <jkeating at redhat.com> - 2.0.2-6.2
- bump again for double-long bug on ppc(64)

* Tue Feb 07 2006 Jesse Keating <jkeating at redhat.com> - 2.0.2-6.1
- rebuilt for new gcc4.1 snapshot and glibc changes

* Tue Jan 03 2006 Radek Vokal <rvokal at redhat.com> 2.0.2-6
- rebuilt against new libnetsnmp

* Fri Dec 09 2005 Jesse Keating <jkeating at redhat.com>
- rebuilt

* Wed Nov 23 2005 Than Ngo <than at redhat.com> 2.0.2-5
- fix for modular X

* Wed Nov 09 2005 Than Ngo <than at redhat.com> 2.0.2-4
- rebuilt

* Mon Nov 07 2005 Than Ngo <than at redhat.com> 2.0.2-3 
- rebuilt

* Thu Nov 03 2005 Than Ngo <than at redhat.com> 2.0.2-2
- rebuilt against new libnetsnmp

* Wed Jul 20 2005 Than Ngo <than at redhat.com> 2.0.2-1
- fix compiler warnings #156027
- fix pid issue  #159450
- fix wrong ownership and permissions #159449, #141123
- update to 2.0.2

* Thu Mar 10 2005 Than Ngo <than at redhat.com> 2.0.1-1
- 2.0.1
- fix uninit local variable, #131773

* Wed Dec 08 2004 Than Ngo <than at redhat.com> 2.0.0-7
- don't requires libusb-devel on s390/s390x
- add %%{release} in buildroot 

* Thu Nov 25 2004 Miloslav Trmac <mitr at redhat.com> - 2.0.0-6
- Convert newhidups.8 to UTF-8

* Tue Oct 05 2004 Than Ngo <than at redhat.com> 2.0.0-5
- more buildrequires
- don't build on s390/s390x

* Thu Aug 26 2004 Nalin Dahyabhai <nalin at redhat.com> 2.0.0-4
- fix syntax error in -client postun scriptlet (#131040)

* Tue Jun 15 2004 Elliot Lee <sopwith at redhat.com>
- rebuilt

* Mon May 10 2004 Than Ngo <than at redhat.com> 2.0.0-2
- fixed permission problem, bug #122867

* Fri Apr 02 2004 Than Ngo <than at redhat.com> 2.0.0-1
- 2.0.0

* Sat Feb 14 2004 Than Ngo <than at redhat.com> 1.4.1-3 
- add some missing drivers

* Fri Feb 13 2004 Elliot Lee <sopwith at redhat.com>
- rebuilt

* Wed Feb 11 2004 Than Ngo <than at redhat.com> 1.4.1-1
- 1.4.1
- fixed permission problem (bug #115290)

* Wed Sep 24 2003 Mike McLean <mikem at redhat.com> 1.4.0-3
- fixed 'nut' user problem with nut-cgi (bug#104872)

* Mon Sep 15 2003 Than Ngo <than at redhat.com> 1.4.0-2
- added missing hidups driver (bug #104412)

* Tue Sep 09 2003 Than Ngo <than at redhat.com> 1.4.0-1
- 1.4.0
- fixed permission problem (bug #103023)
- fixed rpm file list (bug #90848)
- added support multiple drivers, thanks to Gilbert E. Detillieux (bug #79465)

* Thu Jun 26 2003 Than Ngo <than at redhat.com> 1.2.2-3
- Add variable to ups sysconfig file for upsd (bug #97900)

* Wed Jun 04 2003 Elliot Lee <sopwith at redhat.com>
- rebuilt

* Wed May  7 2003 Than Ngo <than at redhat.com> 1.2.2-1
- 1.2.2

* Tue May 06 2003 Phil Knirsch <pknirsch at redhat.com> 1.2.0-7
- Bumped release and rebuilt because of new gd version.

* Thu Feb 13 2003 Than Ngo <than at redhat.com> 1.2.0-6
- build with correct userid #84199
- fix directory permission

* Tue Feb 11 2003 Than Ngo <than at redhat.com> 1.2.0-5
- add user nut, bug #81500 
- fix permission issue, bug #81524, #83997
- own /etc/ups, bug #73959

* Wed Jan 22 2003 Tim Powers <timp at redhat.com>
- rebuilt

* Wed Jan  8 2003 Thomas Woerner <twoerner at redhat.com> 1.2.0-3
- added html templates for cgi scripts (#78532)
- added hidups driver (#80334)

* Wed Dec  18 2002 Dan Walsh <dwalsh at redhat.com> 1.2.0-2
- Fix service description

* Wed Nov  6 2002 han Ngo <than at redhat.com> 1.2.0-1
- update to 1.2.0

* Mon Nov  4 2002 Than Ngo <than at redhat.com> 1.00-1
- update to 1.00

* Wed Jul 31 2002 Than Ngo <than at redhat.com> 0.45.4-5
- Fixed wrong CMDSCRIPT (bug #69817)

* Fri Jun 21 2002 Tim Powers <timp at redhat.com>
- automated rebuild

* Sun Jun 02 2002 Than Ngo <than at redhat.com> 0.45.4-3
- fix forced shutdown (bug #65824, #60516)
- enable hidups driver
- add missing manages (bug #65188)

* Thu May 23 2002 Tim Powers <timp at redhat.com>
- automated rebuild

* Tue Feb 26 2002 Than Ngo <than at redhat.com> 0.45.4-1
- update to 0.45.4

* Wed Jan 09 2002 Tim Powers <timp at redhat.com>
- automated rebuild

* Fri Dec 14 2001 Than Ngo <than at redhat.com> 0.45.3-1
- update to 0.45.2
- fix bug #57417

* Mon Nov 27 2001 Than Ngo <than at redhat.com> 0.45.2-1
- update to 0.45.2
- clean up some patch files for 0.45.2

* Tue Jul 24 2001 Than Ngo <than at redhat.com> 0.45.0-3
- fix build dependencies (bug #49858)

* Fri Jul  6 2001 Than Ngo <than at redhat.com> 0.45.0-2
- rebuild

* Wed Jun 13 2001 Than Ngo <than at redhat.com>
- update to 0.45.0
- add some patches from alane at geeksrus.net (bug #44361, #44363)

* Sun Apr 22 2001 Than Ngo <than at redhat.com>
- add all available UPS drivers (Bug #36937)

* Fri Apr 13 2001 Than Ngo <than at redhat.com>
- update to 0.44.3 (Bug #35255)

* Fri Feb  9 2001 Than Ngo <than at redhat.com>
- fixed typo (Bug #26535)

* Tue Feb  6 2001 Trond Eivind Glomsrd <teg at redhat.com>
- Fix some of the i18n
- make it exit cleanly if not configured

* Fri Jan 26 2001 Than Ngo <than at redhat.com>
- initscript internationalisation

* Thu Jan 11 2001 Than Ngo <than at redhat.com>
- fixed init script error (bug #23525)

* Sat Oct 21 2000 Than Ngo <than at redhat.com>
- update to 0.44.1

* Tue Aug 01 2000 Than Ngo <than at redhat.de>
- rebuilt with Michael changes

* Mon Jul 31 2000 Michael Stefaniuc <mstefani at redhat.com>
- changed /etc/sysconfig/ups to adress the changes in 0.44.0
- moved /etc/sysconfig/ups to the server package
- changed the initscript
- small config file patch

* Fri Jul 28 2000 Than Ngo <than at redhat.de>
- fixed initscripts so that condrestart doesn't return 1 when the test fails

* Mon Jul 24 2000 Than Ngo <than at redhat.de>
- nut CGIs is disable as default (Bug #14282)

* Tue Jul 18 2000 Than Ngo <than at redhat.de>
- update to 0.44.0
- inits back to rc.d/init.d, using service to fire them up

* Wed Jul 12 2000 Than Ngo <than at redhat.de>
- fix initscript and specfile, it should work with 6.x and 7.x
- add --with-statepath and --sysconfdir to %configure (thanks Michael)

* Sat Jul 08 2000 Than Ngo <than at redhat.de>
- add Prereq: /etc/init.d

* Tue Jun 27 2000 Than Ngo <than at redhat.de>
- don't prereq, only require initscripts

* Mon Jun 26 2000 Than Ngo <than at redhat.de>
- /etc/rc.d/init.d -> /etc/init.d
- prereq initscripts >= 5.20

* Fri Jun 16 2000 Bill Nottingham <notting at redhat.com>
- don't run by default

* Mon Jun 12 2000 Preston Brown <pbrown at redhat.com>
- adopted for Winston.  Use our new path macros.
- change nocgi pkg to a cgi pkg (inclusive rather than exclusive).
- new init script

* Sat May 06 2000 <bo-rpm at vircio.com> (0.43.2-1)
- Updated Package to new release

* Thu Jan 20 2000 <bo-rpm at vircio.com> (0.42.2-1)
- Updated package to new release
- Dropped bestups patch since that is fixed in 0.42.2

* Sat Dec 18 1999 <bo-rpm at vircio.com> (0.42.1-4)
- Package now uses chkconfig

* Sat Dec 18 1999 <bo-rpm at vircio.com> (0.42.1-3)
- applied an improved patch to deal with the 
  bestups string length issue.

* Sat Dec 11 1999 <bo-rpm at vircio.com> (0.42.1-1)
- fixed string length in bestups.c line 279.

* Sat Dec 11 1999 <bo-rpm at vircio.com> (0.42.1-1)
- upgraded package to 0.42.1 from 0.42.0

* Mon Dec 6 1999 <bo-rpm at vircio.com> (0.42.0-8)
- added requirement of nut-client for nut.

* Mon Dec 6 1999 <bo-rpm at vircio.com> (0.42.0-7)
- removed overlapping files between the nut and nut-client rpms

* Mon Nov 23 1999 <bo-rpm at vircio.com> (0.42.0-6)
- stop ups before uninstalling

* Mon Nov 23 1999 <bo-rpm at vircio.com> (0.42.0-5)
- build against gd 1.6.3

* Thu Nov 03 1999 <bo-rpm at vircio.com> (0.42.0-4)
- Initial build of nut (well almost).
- Removed chmod from the make file so that the package
  does not have to be built as root.....


More information about the Nut-upsdev mailing list