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