]> git.pld-linux.org Git - packages/smokeping.git/blob - smokeping.spec
- updated req
[packages/smokeping.git] / smokeping.spec
1 Summary:        Smokeping - a latency grapher that uses rrdtool
2 Summary(pl):    Smokeping - narzêdzie do tworzenia wykresów opó¼nieñ sieci
3 Name:           smokeping
4 Version:        1.43
5 Release:        1
6 Vendor:         Tobias Oetiker
7 License:        GPL v2
8 Group:          Networking/Utilities
9 Source0:        http://people.ee.ethz.ch/~oetiker/webtools/smokeping/pub/%{name}-%{version}.tar.gz
10 # Source0-md5:  eaa039842f5b5ced094c8c6924aa2f6e
11 Source1:        %{name}.init
12 Source2:        %{name}.conf
13 Source3:        %{name}-config
14 URL:            http://people.ee.ethz.ch/~oetiker/webtools/smokeping/
15 BuildRequires:  perl-tools-pod
16 BuildRequires:  rrdtool
17 BuildRequires:  sed >= 4.0
18 PreReq:         rc-scripts
19 Requires(post,preun):   /sbin/chkconfig
20 Requires:       fping
21 Requires:       perl-base
22 Requires:       perl-rrdtool
23 Requires:       rrdtool < 1.2
24 Requires:       webserver
25 BuildArch:      noarch
26 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
27
28 %define         _wwwconfdir     /etc/httpd/httpd.conf
29 %define         _cgi_bindir     /home/services/httpd/cgi-bin
30
31 %description
32 SmokePing is a ICMP latency logging and graphing system. It consists
33 of a daemon process which organizes the latency measurements and a CGI
34 which presents the graphs with interesting smoke-like effects.
35
36 %description -l pl
37 Smokeping jest narzêdziem do tworzenia wykresów aktywno¶ci sieci.
38 U¿ywaj±c pakietów ICMP zapisuje czas odpowiedzi poszczególnych hostów
39 i wy¶wietla je w postaci czytelnego wykresu.
40
41 %prep
42 %setup -q
43
44 %build
45 %{__make}
46
47 decruft() { %{__perl} -pi -e "s|$1|$2|g" `grep -lr "$1" *` ;}
48
49 # eliminate Tobi's quirks
50 decruft /usr/sepp/bin %{_bindir}
51
52 decruft /home/oetiker/data/projects/AADJ-smokeping/dist/etc     %{_sysconfdir}/%{name}
53 decruft /home/oetiker/data/projects/AADJ-smokeping/dist/lib     %{_datadir}/%{name}
54
55 # rrdtool package goes into standard perl tree
56 decruft '^use lib .*rrdtool.*;' ''
57
58 # there's no SpeedyCGI for apache2? use regular perl...
59 decruft %{_bindir}/speedy %{_bindir}/perl
60
61 # working config in wrong location
62 decruft "etc/config.dist" "%{_sysconfdir}/%{name}/config"
63
64 sed -i -e 's@^#!/usr/bin/perl-5.8.0@#!/usr/bin/perl@' bin/smokeping.dist
65
66 %install
67 rm -rf $RPM_BUILD_ROOT
68
69 install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{_sysconfdir}/%{name},%{_wwwconfdir},%{_bindir}} \
70         $RPM_BUILD_ROOT{%{_datadir}/%{name},%{_sharedstatedir}/%{name}/{img,rrd},%{_cgi_bindir}} \
71         $RPM_BUILD_ROOT%{_mandir}/man1
72
73 install etc/basepage.html.dist $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/basepage.html
74 install etc/config.dist $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
75 install etc/config-echoping.dist $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/config-echoping
76 install etc/smokemail.dist $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/smokemail
77 install bin/smokeping.dist $RPM_BUILD_ROOT%{_bindir}/smokeping
78 install htdocs/smokeping.cgi.dist $RPM_BUILD_ROOT%{_cgi_bindir}/smokeping.cgi
79 cp -r lib/* $RPM_BUILD_ROOT%{_datadir}/%{name}
80 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
81 install %{SOURCE2} $RPM_BUILD_ROOT%{_wwwconfdir}/99_%{name}.conf
82 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/config
83 install doc/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
84
85 %clean
86 rm -rf $RPM_BUILD_ROOT
87
88 %post
89 if [ "$1" = "1" ]; then
90
91 firstgate=`route -n |awk '$1=="0.0.0.0" && $4 ~ /G/ {print $2}' |head -1`
92 echo "
93 + gateway
94  menu   = Default Gateway
95  title  = Default Gateway Router
96  host   = $firstgate
97
98 + dns
99  menu   = DNS Servers
100  title  = Domain Name Servers
101         " >>%{_sysconfdir}/%{name}/config
102 for dns in `awk '$1 ~ /^nameserver/ {print $2}' /etc/resolv.conf |sort -u` ; do
103 ((dnscnt++))
104 echo "++ dns$dnscnt
105   menu  = DNS Server $dnscnt
106   title = Domain Name Server $dnscnt
107   host  = $dns
108         " >>%{_sysconfdir}/%{name}/config
109 done
110
111 [ "$HOSTNAME" ] && %{__perl} -pi -e "s|localhost|$HOSTNAME|g" %{_sysconfdir}/%{name}/config 
112
113 fi
114
115 /sbin/chkconfig --add %{name} 
116
117 if [ -f /var/lock/subsys/%{name} ]; then
118         /etc/rc.d/init.d/%{name} restart 1>&2
119 else
120         echo "Run \"/etc/rc.d/init.d/%{name} start\" to start smokeping."
121 fi
122
123 if [ -f /var/lock/subsys/httpd ]; then
124         /etc/rc.d/init.d/httpd restart 1>&2
125 fi
126
127 %preun
128 if [ $1 = 0 ]; then
129         if [ -f /var/lock/subsys/%{name} ]; then
130                 /etc/rc.d/init.d/%{name} stop 1>&2
131         fi
132
133         /sbin/chkconfig --del %{name} 
134
135         if [ -f /var/lock/subsys/httpd ]; then
136                 /etc/rc.d/init.d/httpd restart 1>&2
137         fi
138 fi
139
140 %files
141 %defattr(644,root,root,755)
142 %doc CHANGES CONTRIBUTORS COPYRIGHT README TODO doc/*.txt doc/*.html
143 %attr(755,root,root) %{_bindir}/*
144 %{_datadir}/smokeping
145 %{_mandir}/man1/*.1*
146 %dir %{_sysconfdir}/%{name}
147 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/*
148 %config(noreplace) %verify(not size mtime md5) %{_wwwconfdir}/*
149 %attr(754,root,root) /etc/rc.d/init.d/*
150 %attr(755,root,root) %{_cgi_bindir}/*
151 %dir %{_sharedstatedir}/%{name}
152 %{_sharedstatedir}/%{name}/rrd
153 %attr(775,root,http) %{_sharedstatedir}/%{name}/img
This page took 0.063244 seconds and 4 git commands to generate.