-Summary: Smokeping - a traffic grapher that uses rrdtool
-Summary(pl): Smokeping - narzêdzie do tworzenia wykresów aktywno¶ci sieci
+Summary: Smokeping - a latency grapher that uses rrdtool
+Summary(pl): Smokeping - narzêdzie do tworzenia wykresów opó¼nieñ sieci
Name: smokeping
Version: 1.31
-Release: 0.1
+Release: 1
Vendor: Tobias Oetiker
License: GPL
Group: Networking/Utilities
# Source0-md5: 1d175cdc39cdacaa7d81059501bdd725
Source1: %{name}.init
Source2: %{name}.conf
+Source3: %{name}-config
URL: http://people.ee.ethz.ch/~oetiker/webtools/smokeping/
-BuildRequires: perl-base
+BuildRequires: perl-tools-pod
Requires: fping
Requires: perl-base
Requires: rrdtool
BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define _wwwrootdir /home/services/httpd
-%define _wwwconfig /etc/httpd/conf/httpd.conf
-%define _wwwconfdir /etc/httpd/conf
+%define _wwwconfdir /etc/httpd/httpd.conf
+%define _cgi_bindir /home/services/httpd/cgi-bin
%description
SmokePing is a ICMP latency logging and graphing system. It consists
%build
%{__make}
+decruft() { %{__perl} -pi -e "s|$1|$2|g" `grep -lr "$1" *` ;}
+
+# eliminate Tobi's quirks
+decruft /usr/sepp/bin %{_bindir}
+
+decruft /home/oetiker/data/projects/AADJ-smokeping/dist/etc %{_sysconfdir}/%{name}
+decruft /home/oetiker/data/projects/AADJ-smokeping/dist/lib %{_datadir}/%{name}
+
+# rrdtool package goes into standard perl tree
+decruft '^use lib .*rrdtool.*;' ''
+
+# there's no SpeedyCGI for apache2? use regular perl...
+decruft %{_bindir}/speedy %{_bindir}/perl
+
+# working config in wrong location
+decruft "etc/config.dist" "%{_sysconfdir}/%{name}/config"
+
%install
rm -rf $RPM_BUILD_ROOT
-install -D etc/basepage.html.dist $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/basepage.html
-install -D etc/config.dist $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/config
-install -D etc/config-echoping.dist $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/config-echoping
-install -D etc/smokemail.dist $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/smokemail
-install -D -m 755 bin/smokeping.dist $RPM_BUILD_ROOT%{_bindir}/smokeping
-install -d $RPM_BUILD_ROOT%{_libdir}/smokeping
-cp -r lib/* $RPM_BUILD_ROOT%{_libdir}/smokeping
-install -d $RPM_BUILD_ROOT%{_wwwrootdir}/%{name}/{rrd,img}
-install -D -m755 htdocs/%{name}.cgi.dist $RPM_BUILD_ROOT%{_wwwrootdir}/cgi-bin/%{name}
-install -D -m 755 %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
-install -D %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/%{name}.conf
-install -d $RPM_BUILD_ROOT%{_mandir}/man1
+install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{_sysconfdir}/%{name},%{_wwwconfdir},%{_bindir}} \
+ $RPM_BUILD_ROOT{%{_datadir}/%{name},%{_sharedstatedir}/%{name}/{img,rrd},%{_cgi_bindir}} \
+ $RPM_BUILD_ROOT%{_mandir}/man1
+
+install etc/basepage.html.dist $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/basepage.html
+install etc/config.dist $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
+install etc/config-echoping.dist $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/config-echoping
+install etc/smokemail.dist $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/smokemail
+install bin/smokeping.dist $RPM_BUILD_ROOT%{_bindir}/smokeping
+install htdocs/smokeping.cgi.dist $RPM_BUILD_ROOT%{_cgi_bindir}/smokeping.cgi
+cp -r lib/* $RPM_BUILD_ROOT%{_datadir}/%{name}
+install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
+install %{SOURCE2} $RPM_BUILD_ROOT%{_wwwconfdir}/99_%{name}.conf
+install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/config
install doc/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
%clean
rm -rf $RPM_BUILD_ROOT
%post
+if [ "$1" = "1" ]; then
+
firstgate=`route -n |awk '$1=="0.0.0.0" && $4 ~ /G/ {print $2}' |head -1`
echo "
+ gateway
[ "$HOSTNAME" ] && %{__perl} -pi -e "s|localhost|$HOSTNAME|g" %{_sysconfdir}/%{name}/config
+fi
/sbin/chkconfig --add %{name}
echo "Run \"/etc/rc.d/init.d/%{name} start\" to start smokeping."
fi
-if ! grep -q "^Include.*/%{name}.conf" %{_wwwconfig}; then
- echo >> %{_wwwconfig}
- echo "#added by SmokePing instalator" >> %{_wwwconfig}
- echo "Include %{_wwwconfdir}/%{name}.conf" >> %{_wwwconfig}
- echo >> %{_wwwconfig}
-fi
-
if [ -f /var/lock/subsys/httpd ]; then
/etc/rc.d/init.d/httpd restart 1>&2
fi
/etc/rc.d/init.d/%{name} stop 1>&2
fi
- %{__perl} -pi -e 's/Include %{_wwwconfdir}/%{name}.conf\n//mg' %{_wwwconfig}
-
/sbin/chkconfig --del %{name}
if [ -f /var/lock/subsys/httpd ]; then
%defattr(644,root,root,755)
%doc CHANGES CONTRIBUTORS COPYRIGHT TODO README doc/*.txt doc/*.html
%attr(755,root,root) %{_bindir}/*
-%{_libdir}/smokeping
+%{_datadir}/smokeping
%{_mandir}/man1/*.1*
%dir %{_sysconfdir}/%{name}
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/config
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/config-echoping
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/smokemail
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/basepage.html
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/httpd/conf.d/%{name}.conf
-%attr(755,root,root) /etc/rc.d/init.d/%{name}
-%dir %{_wwwrootdir}/%{name}
-%dir %{_wwwrootdir}/%{name}/rrd
-%dir %{_wwwrootdir}/%{name}/img
-%{_wwwrootdir}/cgi-bin/%{name}
+%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/*
+%config(noreplace) %verify(not size mtime md5) %{_wwwconfdir}/*
+%attr(754,root,root) /etc/rc.d/init.d/*
+%attr(755,root,root) %{_cgi_bindir}/*
+%dir %{_sharedstatedir}/%{name}
+%{_sharedstatedir}/%{name}/rrd
+%attr(775,root,http) %{_sharedstatedir}/%{name}/img