]> git.pld-linux.org Git - packages/smokeping.git/blob - smokeping.spec
- use webapps
[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:        2.0.5
5 Release:        1
6 License:        GPL v2
7 Group:          Networking/Utilities
8 Source0:        http://people.ee.ethz.ch/~oetiker/webtools/smokeping/pub/%{name}-%{version}.tar.gz
9 # Source0-md5:  c965439c147012b91585c3e134225b4d
10 Source1:        %{name}.init
11 Source2:        %{name}.conf
12 Source3:        %{name}-config
13 URL:            http://people.ee.ethz.ch/~oetiker/webtools/smokeping/
14 BuildRequires:  perl-tools-pod
15 BuildRequires:  rpmbuild(macros) >= 1.264
16 BuildRequires:  rrdtool
17 BuildRequires:  sed >= 4.0
18 Requires(post): sed >= 4.0
19 Requires(post,preun):   /sbin/chkconfig
20 Requires:       fping
21 Requires:       perl-base
22 Requires:       perl-rrdtool
23 Requires:       rc-scripts
24 Requires:       rrdtool >= 1.2
25 BuildArch:      noarch
26 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
27
28 %define         _sysconfdir     /etc/%{name}
29 %define         _webapps        /etc/webapps
30 %define         _webapp         %{name}
31 %define         _wwwconfdir     %{_webapps}/%{_webapp}
32 %define         _cgi_bindir     %{_prefix}/share/%{name}
33
34 %description
35 SmokePing is a ICMP latency logging and graphing system. It consists
36 of a daemon process which organizes the latency measurements and a CGI
37 which presents the graphs with interesting smoke-like effects.
38
39 %description -l pl
40 Smokeping jest narzêdziem do tworzenia wykresów aktywno¶ci sieci.
41 U¿ywaj±c pakietów ICMP zapisuje czas odpowiedzi poszczególnych hostów
42 i wy¶wietla je w postaci czytelnego wykresu.
43
44 %package cgi
45 Summary:        CGI webinterface for smokeping
46 Group:          Applications/WWW
47 Requires:       %{name} = %{version}-%{release}
48 Requires:       webapps
49
50 %description cgi
51 CGI webinterface for smokeping
52
53 %prep
54 %setup -q
55
56 decruft() { %{__sed} -i -e "s|$1|$2|g" `grep -lr "$1" *` ;}
57
58 # eliminate Tobi's quirks
59 decruft /usr/sepp/bin %{_bindir}
60
61 decruft /home/oetiker/data/projects/AADJ-smokeping/dist/etc     %{_sysconfdir}
62 decruft /home/oetiker/data/projects/AADJ-smokeping/dist/lib     %{_datadir}/%{name}
63
64 # rrdtool package goes into standard perl tree
65 decruft '^use lib .*rrdtool.*;' ''
66
67 # there's no SpeedyCGI for apache2? use regular perl...
68 decruft %{_bindir}/speedy %{_bindir}/perl
69
70 # working config in wrong location
71 decruft "etc/config.dist" "%{_sysconfdir}/config"
72
73 sed -i -e 's@^#!/usr/bin/perl-5.8.4@#!/usr/bin/perl@' bin/smokeping.dist
74 sed -i -e 's#use lib qw(lib);#use lib qw(%{_datadir}/%{name});#' bin/smokeping.dist
75
76 %build
77 %{__make}
78
79 %install
80 rm -rf $RPM_BUILD_ROOT
81 install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{_sysconfdir},%{_wwwconfdir},%{_bindir}} \
82         $RPM_BUILD_ROOT{%{_datadir}/%{name},%{_sharedstatedir}/%{name}/{img,rrd},%{_cgi_bindir}} \
83         $RPM_BUILD_ROOT%{_mandir}/man1
84
85 install etc/basepage.html.dist $RPM_BUILD_ROOT%{_sysconfdir}/basepage.html
86 install etc/config.dist $RPM_BUILD_ROOT%{_sysconfdir}
87 #install etc/config-echoping.dist $RPM_BUILD_ROOT%{_sysconfdir}/config-echoping
88 install etc/smokemail.dist $RPM_BUILD_ROOT%{_sysconfdir}/smokemail
89 install bin/smokeping.dist $RPM_BUILD_ROOT%{_bindir}/smokeping
90 install bin/tSmoke.dist $RPM_BUILD_ROOT%{_bindir}/tSmoke
91 install htdocs/smokeping.cgi.dist $RPM_BUILD_ROOT%{_cgi_bindir}/smokeping.cgi
92 cp -r lib/* $RPM_BUILD_ROOT%{_datadir}/%{name}
93 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
94 install %{SOURCE2} $RPM_BUILD_ROOT%{_wwwconfdir}/httpd.conf
95 install %{SOURCE2} $RPM_BUILD_ROOT%{_wwwconfdir}/apache.conf
96 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/config
97 install doc/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
98
99 %clean
100 rm -rf $RPM_BUILD_ROOT
101
102 %post
103 if [ "$1" = "1" ]; then
104
105 firstgate=`route -n |awk '$1=="0.0.0.0" && $4 ~ /G/ {print $2}' | head -n 1`
106 echo "
107 + gateway
108  menu   = Default Gateway
109  title  = Default Gateway Router
110  host   = $firstgate
111
112 + dns
113  menu   = DNS Servers
114  title  = Domain Name Servers
115         " >> %{_sysconfdir}/config
116 for dns in `awk '$1 ~ /^nameserver/ {print $2}' /etc/resolv.conf | LC_ALL=C sort -u` ; do
117 ((dnscnt++))
118 echo "++ dns$dnscnt
119   menu  = DNS Server $dnscnt
120   title = Domain Name Server $dnscnt
121   host  = $dns
122         " >> %{_sysconfdir}/config
123 done
124
125 [ "$HOSTNAME" ] && %{__sed} -i -e "s|localhost|$HOSTNAME|g" %{_sysconfdir}/config
126
127 fi
128
129 /sbin/chkconfig --add %{name}
130
131 if [ -f /var/lock/subsys/%{name} ]; then
132         /etc/rc.d/init.d/%{name} restart 1>&2
133 else
134         echo "Run \"/etc/rc.d/init.d/%{name} start\" to start smokeping."
135 fi
136
137 %preun
138 if [ $1 = 0 ]; then
139         if [ -f /var/lock/subsys/%{name} ]; then
140                 /etc/rc.d/init.d/%{name} stop 1>&2
141         fi
142
143         /sbin/chkconfig --del %{name}
144 fi
145
146 %triggerin cgi -- apache1
147 %webapp_register apache %{_webapp}
148
149 %triggerun cgi -- apache1
150 %webapp_unregister apache %{_webapp}
151
152 %triggerin cgi -- apache >= 2.0.0
153 %webapp_register httpd %{_webapp}
154
155 %triggerun cgi -- apache >= 2.0.0
156 %webapp_unregister httpd %{_webapp}
157
158 %triggerpostun -- %{name} < 2.0.5-0.3
159 # we put trigger on main package, because we can't trigger in new package
160 # this will create .rpmnew files when one installs -cgi package. but that's more than okay
161
162 if [ -f /etc/httpd/httpd.conf/99_%{name}.conf.rpmsave ]; then
163         install -d %{_wwwconfdir}
164         mv -f /etc/httpd/httpd.conf/99_%{name}.conf.rpmsave %{_wwwconfdir}/httpd.conf
165 fi
166
167 if [ -f /var/lock/subsys/httpd ]; then
168         /etc/rc.d/init.d/httpd reload 1>&2
169 fi
170
171 %banner -e %{name} << EOF
172 The CGI program is available as %{name}-cgi package.
173 EOF
174
175 %files
176 %defattr(644,root,root,755)
177 %doc CHANGES CONTRIBUTORS COPYRIGHT README TODO doc/*.txt doc/*.html
178 %attr(755,root,root) %{_bindir}/*
179 %{_datadir}/smokeping
180 %exclude %{_datadir}/smokeping/*.cgi
181 %{_mandir}/man1/*.1*
182 %dir %{_sysconfdir}
183 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*
184 %attr(754,root,root) /etc/rc.d/init.d/*
185 %dir %{_sharedstatedir}/%{name}
186 %{_sharedstatedir}/%{name}/rrd
187 %attr(775,root,http) %{_sharedstatedir}/%{name}/img
188
189 %files cgi
190 %defattr(644,root,root,755)
191 %dir %attr(750,root,http) %{_wwwconfdir}
192 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_wwwconfdir}/apache.conf
193 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_wwwconfdir}/httpd.conf
194 %attr(755,root,root) %{_cgi_bindir}/*.cgi
This page took 0.087918 seconds and 4 git commands to generate.