]> git.proxmox.com Git - mirror_frr.git/blob - redhat/zebra.spec
Add new zebra-devel package
[mirror_frr.git] / redhat / zebra.spec
1 # conditionals
2 %define with_snmp 1
3 %define with_vtysh 1
4 %define with_ospf_te 1
5 %define with_nssa 1
6 %define with_opaque_lsa 1
7 %define with_tcp_zebra 0
8 %define with_vtysh 1
9 %define with_pam 1
10 %define with_ipv6 1
11 %define with_multipath 64
12
13 # path defines
14 %define _sysconfdir /etc/zebra
15 %define zeb_src %{_builddir}/%{name}-%{version}
16 %define zeb_rh_src %{zeb_src}/redhat
17 %define zeb_docs %{zeb_src}/doc
18
19 # defines for configure
20 %define _libexecdir %{_exec_prefix}/libexec/zebra
21 %define _includedir %{_prefix}/include/zebra
22 %define _libdir %{_exec_prefix}/%{_lib}/zebra
23
24 Summary: Routing daemon
25 Name: zebra
26 Version: 0.94
27 Release: 2003031801
28 License: GPL
29 Group: System Environment/Daemons
30 Source0: ftp://ftp.zebra.org/pub/zebra/%{name}-%{version}.tar.gz
31 URL: http://www.zebra.org/
32 %if %with_snmp
33 #BuildRequires: ucd-snmp-devel
34 Prereq: ucd-snmp
35 %endif
36 %if %with_vtysh
37 BuildRequires: readline readline-devel ncurses ncurses-devel
38 Prereq: readline ncurses
39 %endif
40 BuildRequires: texinfo tetex autoconf openssl-devel pam-devel patch
41 # Initscripts > 5.60 is required for IPv6 support
42 Prereq: initscripts >= 5.60
43 Prereq: openssl ncurses readline pam
44 Prereq: /sbin/install-info
45 Provides: routingdaemon
46 BuildRoot: %{_tmppath}/%{name}-%{version}-root
47 Obsoletes: bird gated mrt
48
49 %description
50 GNU Zebra is a free software that manages TCP/IP based routing
51 protocol. It takes multi-server and multi-thread approach to resolve
52 the current complexity of the Internet.
53
54 GNU Zebra supports BGP4, BGP4+, OSPFv2, OSPFv3, RIPv1, RIPv2, and RIPng.
55
56 GNU Zebra is intended to be used as a Route Server and a Route
57 Reflector. It is not a toolkit, it provides full routing power under
58 a new architecture. GNU Zebra is unique in design in that it has a
59 process for each protocol.
60
61 %package contrib
62 Summary: contrib tools for zebra
63 Group: System Environment/Daemons
64
65 %description contrib
66 Contributed/3rd party tools which may be of use with zebra.
67
68 %package devel
69 Summary: Header and object files for zebra development
70 Group: System Environment/Daemons
71
72 %description devel
73 The zebra-devel package contains the header and object files neccessary for
74 developing OSPF-API and zebra applications.
75
76 %prep
77 %setup -q
78
79 %build
80 ./update-autotools
81 %configure \
82 --with-cflags="-O2" \
83 --enable-netlink \
84 %if %with_ipv6
85 --enable-ipv6 \
86 %endif
87 %if %with_snmp
88 --enable-snmp \
89 %endif
90 %if %with_multipath
91 --enable-multipath=%with_multipath \
92 %endif
93 %if %with_tcp_zebra
94 --enable-tcp-zebra \
95 %endif
96 %if %with_nssa
97 --enable-nssa \
98 %endif
99 %if %with_opaque_lsa
100 --enable-opaque-lsa \
101 %endif
102 %if %with_ospf_te
103 --enable-ospf-te \
104 %endif
105 %if %with_vtysh
106 --enable-vtysh \
107 %endif
108 %if %with_pam
109 --with-libpam
110 %endif
111
112 pushd vtysh
113 make %{?_smp_mflags} rebuild
114 popd
115
116 make %{?_smp_mflags} MAKEINFO="makeinfo --no-split"
117
118 pushd doc
119 texi2html zebra.texi
120 popd
121
122 %install
123 rm -rf $RPM_BUILD_ROOT
124
125 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig,logrotate.d,pam.d} \
126 $RPM_BUILD_ROOT/var/log/zebra $RPM_BUILD_ROOT%{_infodir}
127
128 make install \
129 DESTDIR=$RPM_BUILD_ROOT
130
131 install %{zeb_rh_src}/zebra.init $RPM_BUILD_ROOT/etc/rc.d/init.d/zebra
132 install %{zeb_rh_src}/bgpd.init $RPM_BUILD_ROOT/etc/rc.d/init.d/bgpd
133 %if %with_ipv6
134 install %{zeb_rh_src}/ospf6d.init $RPM_BUILD_ROOT/etc/rc.d/init.d/ospf6d
135 install %{zeb_rh_src}/ripngd.init $RPM_BUILD_ROOT/etc/rc.d/init.d/ripngd
136 %endif
137 install %{zeb_rh_src}/ospfd.init $RPM_BUILD_ROOT/etc/rc.d/init.d/ospfd
138 install %{zeb_rh_src}/ripd.init $RPM_BUILD_ROOT/etc/rc.d/init.d/ripd
139 install -m644 %{zeb_rh_src}/zebra.pam $RPM_BUILD_ROOT/etc/pam.d/zebra
140 install -m644 %{zeb_rh_src}/zebra.logrotate $RPM_BUILD_ROOT/etc/logrotate.d/zebra
141
142 %post
143 # zebra_spec_add_service <service name> <port/proto> <comment>
144 # e.g. zebra_spec_add_service zebrasrv 2600/tcp "zebra service"
145
146 zebra_spec_add_service ()
147 {
148 # Add port /etc/services entry if it isn't already there
149 if [ -f /etc/services ] && ! grep -q "^$1[^a-zA-Z0-9]" /etc/services ; then
150 echo "$1 $2 # $3" >> /etc/services
151 fi
152 }
153
154 zebra_spec_add_service zebrasrv 2600/tcp "zebra service"
155 zebra_spec_add_service zebra 2601/tcp "zebra vty"
156 zebra_spec_add_service ripd 2602/tcp "RIPd vty"
157 %if %with_ipv6
158 zebra_spec_add_service ripngd 2603/tcp "RIPngd vty"
159 %endif
160 zebra_spec_add_service ospfd 2604/tcp "OSPFd vty"
161 zebra_spec_add_service bgpd 2605/tcp "BGPd vty"
162 %if %with_ipv6
163 zebra_spec_add_service ospf6d 2606/tcp "OSPF6d vty"
164 %endif
165
166 /sbin/chkconfig --add zebra
167 /sbin/chkconfig --add ripd
168 %if %with_ipv6
169 /sbin/chkconfig --add ripngd
170 /sbin/chkconfig --add ospf6d
171 %endif
172 /sbin/chkconfig --add ospfd
173 /sbin/chkconfig --add bgpd
174
175 /sbin/install-info %{_infodir}/zebra.info.gz %{_infodir}/dir
176
177 # Create dummy files if they don't exist so basic functions can be used.
178 if [ ! -e %{_sysconfdir}/zebra.conf ]; then
179 echo "hostname `hostname`" > %{_sysconfdir}/zebra.conf
180 chmod 640 %{_sysconfdir}/zebra.conf
181 fi
182 if [ ! -e %{_sysconfdir}/vtysh.conf ]; then
183 touch %{_sysconfdir}/vtysh.conf
184 chmod 640 %{_sysconfdir}/vtysh.conf
185 fi
186
187 %postun
188 if [ "$1" -ge "1" ]; then
189 /etc/rc.d/init.d/zebra condrestart >/dev/null 2>&1
190 /etc/rc.d/init.d/ripd condrestart >/dev/null 2>&1
191 %if %with_ipv6
192 /etc/rc.d/init.d/ripngd condrestart >/dev/null 2>&1
193 %endif
194 /etc/rc.d/init.d/ospfd condrestart >/dev/null 2>&1
195 %if %with_ipv6
196 /etc/rc.d/init.d/ospf6d condrestart >/dev/null 2>&1
197 %endif
198 /etc/rc.d/init.d/bgpd condrestart >/dev/null 2>&1
199 fi
200 /sbin/install-info --delete %{_infodir}/zebra.info.gz %{_infodir}/dir
201
202 %preun
203 if [ "$1" = "0" ]; then
204 /sbin/chkconfig --del zebra
205 /sbin/chkconfig --del ripd
206 %if %with_ipv6
207 /sbin/chkconfig --del ripngd
208 %endif
209 /sbin/chkconfig --del ospfd
210 %if %with_ipv6
211 /sbin/chkconfig --del ospf6d
212 %endif
213 /sbin/chkconfig --del bgpd
214 fi
215
216 %clean
217 #rm -rf $RPM_BUILD_ROOT
218
219 %files
220 %defattr(-,root,root)
221 %doc */*.sample* AUTHORS COPYING
222 %doc doc/zebra.html
223 %doc doc/mpls
224 %doc ChangeLog INSTALL NEWS README REPORTING-BUGS SERVICES TODO
225 %dir %attr(750,root,root) %{_sysconfdir}
226 %dir %attr(750,root,root) /var/log/zebra
227 %dir %attr(755,root,root) /usr/share/info
228 %{_infodir}/*info*
229 %{_mandir}/man*/*
230 %{_sbindir}/*
231 %if %with_vtysh
232 %{_bindir}/*
233 %endif
234 %config /etc/zebra/*
235 %config /etc/rc.d/init.d/*
236 %config(noreplace) /etc/pam.d/zebra
237 %config(noreplace) %attr(640,root,root) /etc/logrotate.d/*
238
239 %files contrib
240 %defattr(-,root,root)
241 %doc tools
242
243 %files devel
244 %defattr(-,root,root)
245 %dir %{_libdir}/*
246 %dir %{_includedir}/ospfd/*
247 %dir %{_includedir}/ospfapi/*
248
249 %changelog
250 * Mon Mar 18 2003 Paul Jakma <paul@dishone.st>
251 - Fix mem leak in 'show thread cpu'
252 - Ralph Keller's OSPF-API
253 - Amir: Fix configure.ac for net-snmp
254
255 * Sat Mar 1 2003 Paul Jakma <paul@dishone.st>
256 - ospfd IOS prefix to interface matching for 'network' statement
257 - temporary fix for PtP and IPv6
258 - sync to zebra.org CVS
259
260 * Mon Jan 20 2003 Paul Jakma <paul@dishone.st>
261 - update to latest cvs
262 - Yon's "show thread cpu" patch - 17217
263 - walk up tree - 17218
264 - ospfd NSSA fixes - 16681
265 - ospfd nsm fixes - 16824
266 - ospfd OLSA fixes and new feature - 16823
267 - KAME and ifindex fixes - 16525
268 - spec file changes to allow redhat files to be in tree
269
270 * Sat Dec 28 2002 Alexander Hoogerhuis <alexh@ihatent.com>
271 - Added conditionals for building with(out) IPv6, vtysh, RIP, BGP
272 - Fixed up some build requirements (patch)
273 - Added conditional build requirements for vtysh / snmp
274 - Added conditional to %files for %_bindir depending on vtysh
275
276 * Mon Nov 11 2002 Paul Jakma <paulj@alphyra.ie>
277 - update to latest CVS
278 - add Greg Troxel's md5 buffer copy/dup fix
279 - add RIPv1 fix
280 - add Frank's multicast flag fix
281
282 * Wed Oct 09 2002 Paul Jakma <paulj@alphyra.ie>
283 - update to latest CVS
284 - timestamped crypt_seqnum patch
285 - oi->on_write_q fix
286
287 * Mon Sep 30 2002 Paul Jakma <paulj@alphyra.ie>
288 - update to latest CVS
289 - add vtysh 'write-config (integrated|daemon)' patch
290 - always 'make rebuild' in vtysh/ to catch new commands
291
292 * Fri Sep 13 2002 Paul Jakma <paulj@alphyra.ie>
293 - update to 0.93b
294
295 * Wed Sep 11 2002 Paul Jakma <paulj@alphyra.ie>
296 - update to latest CVS
297 - add "/sbin/ip route flush proto zebra" to zebra RH init on startup
298
299 * Sat Aug 24 2002 Paul Jakma <paulj@alphyra.ie>
300 - update to current CVS
301 - add OSPF point to multipoint patch
302 - add OSPF bugfixes
303 - add BGP hash optimisation patch
304
305 * Fri Jun 14 2002 Paul Jakma <paulj@alphyra.ie>
306 - update to 0.93-pre1 / CVS
307 - add link state detection support
308 - add generic PtP and RFC3021 support
309 - various bug fixes
310
311 * Thu Aug 09 2001 Elliot Lee <sopwith@redhat.com> 0.91a-6
312 - Fix bug #51336
313
314 * Wed Aug 1 2001 Trond Eivind Glomsrød <teg@redhat.com> 0.91a-5
315 - Use generic initscript strings instead of initscript specific
316 ( "Starting foo: " -> "Starting $prog:" )
317
318 * Fri Jul 27 2001 Elliot Lee <sopwith@redhat.com> 0.91a-4
319 - Bump the release when rebuilding into the dist.
320
321 * Tue Feb 6 2001 Tim Powers <timp@redhat.com>
322 - built for Powertools
323
324 * Sun Feb 4 2001 Pekka Savola <pekkas@netcore.fi>
325 - Hacked up from PLD Linux 0.90-1, Mandrake 0.90-1mdk and one from zebra.org.
326 - Update to 0.91a
327 - Very heavy modifications to init.d/*, .spec, pam, i18n, logrotate, etc.
328 - Should be quite Red Hat'isque now.