%{!?_logdir:%global _logdir %{_var}/log} %global beta beta1 %global _localstatedir %{_var}/lib # %global rel 3_%{beta} %global devmon_version 0.3.1 %global template_version 20080206 %global devmon_user devmon %global devmon_group devmon %global svn 20100211 %global rel 4_%{svn} Name: devmon Version: %{devmon_version} Release: %{rel}%{?dist} Summary: SNMP Device Monitoring for Hobbit/BigBrother License: GPLv2 Group: Applications/System URL: http://%{name}.sf.net #Source: http://devmon.svn.sourceforge.net/viewvc/devmon/trunk.tar.gz?view=tar Source: trunk.tar.gz #Source: http://downloads.sourceforge.net/%{name}/%{name}-%{version}%{?beta:-%beta}.tar.gz #Source1: http://prdownloads.sourceforge.net/%{name}/%{name}-templates-%{template_version}.tar.gz Source2: devmon.logrotate Source3: devmon.sysconfig Source4: devmon.cron Patch: devmon-correct-paths.patch Patch1: devmon-0.3.1-fix_transforms.patch BuildArch: noarch BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) Requires(pre): shadow-utils %description Devmon is a device monitoring script which works in tandem with the Hobbit/BigBrother monitoring suites. It queries remote hosts via SNMP, applies user-defined logic and thresholds to the acquired data, and submits status and alarms to a display server. %prep #%setup -qn %{name}-%{version}%{?beta:-%beta} #tar xzf %{SOURCE1} -C ../ #%setup -n %{name}-%{version}-%{svn} %setup -n trunk %patch -p1 %patch1 -p0 %build # Set correct lib dir in daemon sed -i -e 's|use lib "$FindBin::Bin/modules";|use lib "/usr/share/devmon/modules";|' devmon %install %{__rm} -rf %{buildroot} %{__mkdir_p} %{buildroot}%{_datadir}/%{name}/templates %{__mkdir_p} %{buildroot}%{_sysconfdir}/logrotate.d %{__mkdir_p} %{buildroot}%{_sysconfdir}/sysconfig %{__mkdir_p} %{buildroot}%{_sysconfdir}/cron.d %{__mkdir_p} %{buildroot}%{_initrddir} %{__mkdir_p} %{buildroot}%{_localstatedir}/%{name} %{__mkdir_p} %{buildroot}%{_var}/run/%{name} %{__mkdir_p} %{buildroot}%{_var}/lock/subsys %{__mkdir_p} %{buildroot}%{_logdir}/%{name} %{__mkdir_p} %{buildroot}%{_localstatedir}/%{name} %{__mkdir_p} %{buildroot}%{_bindir} # Rename incorrectly named file mv ./templates/netscreen-5gt/memory/messages ./templates/netscreen-5gt/memory/message %{__cp} -a modules %{buildroot}/%{_datadir}/%{name} %{__cp} -a templates/* %{buildroot}%{_datadir}/%{name}/templates # Silence rpmlint 'W: service-default-enabled /etc/rc.d/init.d/devmon' warning %{__sed} -ie 's/# chkconfig: 2345/# chkconfig: -/' extras/devmon.initd.redhat install -pm755 %{name} %{buildroot}/%{_bindir}/%{name} install -pm640 %{name}.cfg %{buildroot}%{_sysconfdir} install -pm755 extras/%{name}.initd.redhat %{buildroot}%{_initrddir}/%{name} install -pm644 %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/%{name} install -pm644 %{SOURCE3} %{buildroot}%{_sysconfdir}/sysconfig/%{name} install -pm644 %{SOURCE4} %{buildroot}%{_sysconfdir}/cron.d/%{name} touch %{buildroot}%{_var}/run/%{name}/%{name}.pid touch %{buildroot}%{_var}/lock/subsys/%{name} # Create missing files - empty but devmon complains if they're not there touch %{buildroot}%{_datadir}/%{name}/templates/cisco-mds9500/experimental/oids touch %{buildroot}%{_datadir}/%{name}/templates/cisco-mds9500/experimental/transforms touch %{buildroot}%{_datadir}/%{name}/templates/cisco-mds9500/experimental/thresholds touch %{buildroot}%{_datadir}/%{name}/templates/cisco-mds9500/experimental/message touch %{buildroot}%{_datadir}/%{name}/templates/cisco-mds9500/experimental/exceptions %clean %{__rm} -rf %{buildroot} %pre /usr/bin/getent group %{devmon_group} >/dev/null || groupadd -r %{devmon_group} /usr/bin/getent passwd %{devmon_user} >/dev/null || \ /usr/sbin/useradd -r -g %{devmon_group} -d %{_localstatedir}/%{name} -s /sbin/nologin -c "devmon SNMP daemon" %{devmon_user} exit 0 %post if [ $1 = 1 ] ; then /sbin/chkconfig --add %{name} fi %preun if [ $1 = 1 ] ; then /sbin/chkconfig --del %{name} fi %files %defattr(-,root,root,-) %attr(755,root,root) %{_bindir}/%{name} %{_datadir}/%{name}/modules %{_datadir}/%{name}/templates %attr(644,root,root) %config(noreplace) %{_sysconfdir}/%{name}.cfg %config(noreplace) %{_sysconfdir}/logrotate.d/%{name} %config(noreplace) %{_sysconfdir}/sysconfig/%{name} %config(noreplace) %{_sysconfdir}/cron.d/%{name} %attr(-,root,root) %{_initrddir}/%{name} %attr(-,%{devmon_user},%{devmon_group}) %dir %{_logdir}/%{name} %attr(-,%{devmon_user},%{devmon_group}) %dir %{_var}/run/%{name} %attr(-,%{devmon_user},%{devmon_group}) %dir %{_localstatedir}/%{name} %ghost %{_var}/run/%{name}/%{name}.pid %ghost %{_var}/lock/subsys/%{name} %doc docs/* README CHANGELOG extras/devmon.db extras/devmon-graph.cfg %changelog * Tue Feb 23 2010 Colin Coe - 0.3.1-4_20100211 - Supply missing files in 'cisco-mds9500/experimental' directory - Rename 'messages' file to 'message' in 'netscreen-5gt/memory' directory * Thu Feb 11 2010 Colin Coe - 0.3.1-3_20100211 - Rebase to nightly SVN (2010-02-11) * Tue Feb 9 2010 Colin Coe - 0.3.1-2_beta1 - Improve %%attr and %%defattr usage * Wed Feb 1 2010 Colin Coe - 0.3.1-1_beta1 - Merge base and template packages * Thu Jan 21 2010 Colin Coe - 0.3.1-0_beta1 - Initial release for Fedora - based on package from Mandriva