]> git.proxmox.com Git - mirror_frr.git/blob - redhat/frr.spec.in
redhat: Update changelog for new release (8.4)
[mirror_frr.git] / redhat / frr.spec.in
1 # configure options
2 #
3 # Some can be overridden on rpmbuild commandline with:
4 # rpmbuild --define 'variable value'
5 # (use any value, ie 1 for flag "with_XXXX" definitions)
6 #
7 # E.g. rpmbuild --define 'release_rev 02' may be useful if building
8 # rpms again and again on the same day, so the newer rpms can be installed.
9 # bumping the number each time.
10
11 #################### FRRouting (FRR) configure options #####################
12 # with-feature options
13 %{!?with_babeld: %global with_babeld 1 }
14 %{!?with_bfdd: %global with_bfdd 1 }
15 %{!?with_bgp_vnc: %global with_bgp_vnc 0 }
16 %{!?with_cumulus: %global with_cumulus 0 }
17 %{!?with_eigrpd: %global with_eigrpd 1 }
18 %{!?with_fpm: %global with_fpm 1 }
19 %{!?with_ldpd: %global with_ldpd 1 }
20 %{!?with_multipath: %global with_multipath 256 }
21 %{!?with_nhrpd: %global with_nhrpd 1 }
22 %{!?with_ospfapi: %global with_ospfapi 1 }
23 %{!?with_ospfclient: %global with_ospfclient 1 }
24 %{!?with_pam: %global with_pam 0 }
25 %{!?with_pbrd: %global with_pbrd 1 }
26 %{!?with_pimd: %global with_pimd 1 }
27 %{!?with_vrrpd: %global with_vrrpd 1 }
28 %{!?with_rtadv: %global with_rtadv 1 }
29 %{!?with_watchfrr: %global with_watchfrr 1 }
30 %{!?with_pathd: %global with_pathd 1 }
31
32 # user and group
33 %{!?frr_user: %global frr_user frr }
34 %{!?vty_group: %global vty_group frrvty }
35
36 # path defines
37 %define configdir %{_sysconfdir}/%{name}
38 %define _sbindir /usr/lib/frr
39 %define zeb_src %{_builddir}/%{name}-%{frrversion}
40 %define zeb_rh_src %{zeb_src}/redhat
41 %define zeb_docs %{zeb_src}/doc
42 %define frr_tools %{zeb_src}/tools
43
44 # defines for configure
45 %define rundir %{_localstatedir}/run/%{name}
46
47 ############################################################################
48
49 #### Version String tweak
50 # Remove invalid characters form version string and replace with _
51 %{expand: %%global rpmversion %(echo '@VERSION@' | tr [:blank:]- _ )}
52 %define frrversion @VERSION@
53
54 #### Check for systemd or init.d (upstart)
55 # Check for init.d (upstart) as used in CentOS 6 or systemd (ie CentOS 7)
56 %if 0%{?fedora} || 0%{?rhel} >= 7 || 0%{?suse_version} >= 1210
57 %global initsystem systemd
58 %else
59 %if 0%{?rhel} && 0%{?rhel} < 7
60 %global initsystem upstart
61 %else
62 %{expand: %%global initsystem %(if [[ `/sbin/init --version 2> /dev/null` =~ upstart ]]; then echo upstart; elif [[ `readlink -f /sbin/init` = /usr/lib/systemd/systemd ]]; then echo systemd; elif [[ `systemctl` =~ -\.mount ]]; then echo systemd; fi)}
63 %endif
64 %endif
65
66 # Check for python version - use python2.7 on CentOS 6, otherwise python3
67 %if 0%{?rhel} && 0%{?rhel} < 7
68 %global use_python2 1
69 %else
70 %global use_python2 0
71 %endif
72
73 # If init system is systemd, then always enable watchfrr
74 %if "%{initsystem}" == "systemd"
75 %global with_watchfrr 1
76 %endif
77
78 #### Check for RedHat 6.x or CentOS 6.x - they are too old to support PIM.
79 #### Always disable it on these old systems unconditionally
80 #
81 # if CentOS / RedHat and version < 7, then disable PIMd (too old, won't work)
82 %if 0%{?rhel} && 0%{?rhel} < 7
83 %global with_pimd 0
84 %endif
85
86 # misc internal defines
87 %{!?frr_uid: %global frr_uid 92 }
88 %{!?frr_gid: %global frr_gid 92 }
89 %{!?vty_gid: %global vty_gid 85 }
90
91 %define daemon_list zebra ripd ospfd bgpd isisd ripngd ospf6d pbrd staticd bfdd fabricd pathd
92
93 %if %{with_ldpd}
94 %define daemon_ldpd ldpd
95 %else
96 %define daemon_ldpd ""
97 %endif
98
99 %if %{with_pimd}
100 %define daemon_pimd pimd
101 %else
102 %define daemon_pimd ""
103 %endif
104
105 %if %{with_pbrd}
106 %define daemon_pbrd pbrd
107 %else
108 %define daemon_pbrd ""
109 %endif
110
111 %if %{with_nhrpd}
112 %define daemon_nhrpd nhrpd
113 %else
114 %define daemon_nhrpd ""
115 %endif
116
117 %if %{with_eigrpd}
118 %define daemon_eigrpd eigrpd
119 %else
120 %define daemon_eigrpd ""
121 %endif
122
123 %if %{with_babeld}
124 %define daemon_babeld babeld
125 %else
126 %define daemon_babeld ""
127 %endif
128
129 %if %{with_vrrpd}
130 %define daemon_vrrpd vrrpd
131 %else
132 %define daemon_vrrpd ""
133 %endif
134
135 %if %{with_watchfrr}
136 %define daemon_watchfrr watchfrr
137 %else
138 %define daemon_watchfrr ""
139 %endif
140
141 %if %{with_bfdd}
142 %define daemon_bfdd bfdd
143 %else
144 %define daemon_bfdd ""
145 %endif
146
147 %if %{with_pathd}
148 %define daemon_pathd pathd
149 %else
150 %define daemon_pathd ""
151 %endif
152
153 %define all_daemons %{daemon_list} %{daemon_ldpd} %{daemon_pimd} %{daemon_nhrpd} %{daemon_eigrpd} %{daemon_babeld} %{daemon_watchfrr} %{daemon_pbrd} %{daemon_bfdd} %{daemon_vrrpd} %{daemon_pathd}
154
155 #release sub-revision (the two digits after the CONFDATE)
156 %{!?release_rev: %global release_rev 01 }
157
158 Summary: Routing daemon
159 Name: frr
160 Version: %{rpmversion}
161 Release: %{release_rev}%{?dist}
162 License: GPLv2+
163 Group: System Environment/Daemons
164 Source0: https://github.com/FRRouting/frr/archive/%{name}-%{frrversion}.tar.gz
165 URL: https://www.frrouting.org
166 Requires(pre): shadow-utils
167 Requires(preun): info
168 Requires(post): info
169 BuildRequires: bison >= 2.7
170 BuildRequires: c-ares-devel
171 BuildRequires: flex
172 BuildRequires: gcc
173 BuildRequires: json-c-devel
174 BuildRequires: libcap-devel
175 BuildRequires: make
176 BuildRequires: ncurses-devel
177 BuildRequires: readline-devel
178 BuildRequires: texinfo
179 BuildRequires: libyang2-devel
180 %if 0%{?rhel} && 0%{?rhel} < 7
181 #python27-devel is available from ius community repo for RedHat/CentOS 6
182 BuildRequires: python27-devel
183 BuildRequires: python27-sphinx
184 %else
185 %if %{use_python2}
186 BuildRequires: python-devel >= 2.7
187 BuildRequires: python-sphinx
188 %else
189 BuildRequires: python3-devel
190 BuildRequires: python3-sphinx
191 %endif
192 %endif
193 %if 0%{?rhel} > 7
194 #platform-python-devel is needed for /usr/bin/pathfix.py
195 BuildRequires: platform-python-devel
196 %endif
197 Requires: initscripts
198 %if %{with_pam}
199 BuildRequires: pam-devel
200 %endif
201 %if "%{initsystem}" == "systemd"
202 BuildRequires: systemd
203 BuildRequires: systemd-devel
204 Requires(post): systemd
205 Requires(preun): systemd
206 Requires(postun): systemd
207 %else
208 Requires(post): chkconfig
209 Requires(preun): chkconfig
210 # Initscripts > 5.60 is required for IPv6 support
211 Requires(pre): initscripts >= 5.60
212 %endif
213 Provides: routingdaemon = %{version}-%{release}
214 Obsoletes: gated mrt zebra frr-sysvinit
215 Conflicts: bird
216
217
218 %description
219 FRRouting is a free software that manages TCP/IP based routing
220 protocol. It takes multi-server and multi-thread approach to resolve
221 the current complexity of the Internet.
222
223 FRRouting supports BGP4, OSPFv2, OSPFv3, ISIS, RIP, RIPng, PIM, LDP
224 NHRP, Babel, PBR, EIGRP and BFD.
225
226 FRRouting is a fork of Quagga.
227
228
229 %package contrib
230 Summary: contrib tools for frr
231 Group: System Environment/Daemons
232
233 %description contrib
234 Contributed/3rd party tools which may be of use with frr.
235
236
237 %package pythontools
238 Summary: python tools for frr
239 %if 0%{?rhel} && 0%{?rhel} < 7
240 #python27 is available from ius community repo for RedHat/CentOS 6
241 BuildRequires: python27
242 Requires: python27-ipaddress
243 %else
244 %if %{use_python2}
245 BuildRequires: python2
246 Requires: python2-ipaddress
247 %else
248 BuildRequires: python3
249 %endif
250 %endif
251 Group: System Environment/Daemons
252
253 %description pythontools
254 Contributed python 2.7 tools which may be of use with frr.
255
256
257 %package devel
258 Summary: Header and object files for frr development
259 Group: System Environment/Daemons
260 Requires: %{name} = %{version}-%{release}
261
262 %description devel
263 The frr-devel package contains the header and object files necessary for
264 developing OSPF-API and frr applications.
265
266
267 %package rpki-rtrlib
268 Summary: BGP RPKI support (rtrlib)
269 Group: System Environment/Daemons
270 BuildRequires: librtr-devel >= 0.8
271 Requires: %{name} = %{version}-%{release}
272
273 %description rpki-rtrlib
274 Adds RPKI support to FRR's bgpd, allowing validation of BGP routes
275 against cryptographic information stored in WHOIS databases. This is
276 used to prevent hijacking of networks on the wider internet. It is only
277 relevant to internet service providers using their own autonomous system
278 number.
279
280
281 %package snmp
282 Summary: SNMP support
283 Group: System Environment/Daemons
284 BuildRequires: net-snmp-devel
285 Requires: %{name} = %{version}-%{release}
286
287 %description snmp
288 Adds SNMP support to FRR's daemons by attaching to net-snmp's snmpd
289 through the AgentX protocol. Provides read-only access to current
290 routing state through standard SNMP MIBs.
291
292
293 %prep
294 %setup -q -n frr-%{frrversion}
295
296
297 %build
298
299 # For standard gcc verbosity, uncomment these lines:
300 #CFLAGS="%{optflags} -Wall -Wsign-compare -Wpointer-arith"
301 #CFLAGS="${CFLAGS} -Wbad-function-cast -Wwrite-strings"
302
303 # For ultra gcc verbosity, uncomment these lines also:
304 #CFLAGS="${CFLAGS} -W -Wcast-qual -Wstrict-prototypes"
305 #CFLAGS="${CFLAGS} -Wmissing-declarations -Wmissing-noreturn"
306 #CFLAGS="${CFLAGS} -Wmissing-format-attribute -Wunreachable-code"
307 #CFLAGS="${CFLAGS} -Wpacked -Wpadded"
308
309 %configure \
310 --sbindir=%{_sbindir} \
311 --sysconfdir=%{configdir} \
312 --localstatedir=%{rundir} \
313 --disable-static \
314 --disable-werror \
315 --enable-irdp \
316 %if %{with_multipath}
317 --enable-multipath=%{with_multipath} \
318 %endif
319 --enable-vtysh \
320 %if %{with_ospfclient}
321 --enable-ospfclient \
322 %else
323 --disable-ospfclient\
324 %endif
325 %if %{with_ospfapi}
326 --enable-ospfapi \
327 %else
328 --disable-ospfapi \
329 %endif
330 %if %{with_rtadv}
331 --enable-rtadv \
332 %else
333 --disable-rtadv \
334 %endif
335 %if %{with_ldpd}
336 --enable-ldpd \
337 %else
338 --disable-ldpd \
339 %endif
340 %if %{with_pimd}
341 --enable-pimd \
342 %else
343 --disable-pimd \
344 %endif
345 %if %{with_pbrd}
346 --enable-pbrd \
347 %else
348 --disable-pbrd \
349 %endif
350 %if %{with_nhrpd}
351 --enable-nhrpd \
352 %else
353 --disable-nhrpd \
354 %endif
355 %if %{with_eigrpd}
356 --enable-eigrpd \
357 %else
358 --disable-eigrpd \
359 %endif
360 %if %{with_babeld}
361 --enable-babeld \
362 %else
363 --disable-babeld \
364 %endif
365 %if %{with_vrrpd}
366 --enable-vrrpd \
367 %else
368 --disable-vrrpd \
369 %endif
370 %if %{with_pam}
371 --with-libpam \
372 %endif
373 %if 0%{?frr_user:1}
374 --enable-user=%{frr_user} \
375 --enable-group=%{frr_user} \
376 %endif
377 %if 0%{?vty_group:1}
378 --enable-vty-group=%{vty_group} \
379 %endif
380 %if %{with_fpm}
381 --enable-fpm \
382 %else
383 --disable-fpm \
384 %endif
385 %if %{with_watchfrr}
386 --enable-watchfrr \
387 %else
388 --disable-watchfrr \
389 %endif
390 %if %{with_cumulus}
391 --enable-cumulus \
392 %endif
393 %if %{with_bgp_vnc}
394 --enable-bgp-vnc \
395 %else
396 --disable-bgp-vnc \
397 %endif
398 --enable-isisd \
399 %if "%{initsystem}" == "systemd"
400 --enable-systemd \
401 %endif
402 --enable-rpki \
403 %if %{with_bfdd}
404 --enable-bfdd \
405 %else
406 --disable-bfdd \
407 %endif
408 %if %{with_pathd}
409 --enable-pathd \
410 %else
411 --disable-pathd \
412 %endif
413 --enable-snmp
414 # end
415
416 make %{?_smp_mflags} MAKEINFO="makeinfo --no-split"
417
418 %if %{use_python2}
419 # Change frr-reload.py to use python2.7
420 sed -e '1c #!/usr/bin/python2.7' -i %{zeb_src}/tools/frr-reload.py
421 sed -e '1c #!/usr/bin/python2.7' -i %{zeb_src}/tools/generate_support_bundle.py
422 %else
423 # Change frr-reload.py to use python3
424 sed -e '1c #!/usr/bin/python3' -i %{zeb_src}/tools/frr-reload.py
425 sed -e '1c #!/usr/bin/python3' -i %{zeb_src}/tools/generate_support_bundle.py
426 %endif
427
428 pushd doc
429 make info
430 popd
431
432
433 %install
434 mkdir -p %{buildroot}%{_sysconfdir}/{frr,sysconfig,logrotate.d,pam.d,default} \
435 %{buildroot}%{_infodir}
436 mkdir -m 0755 -p %{buildroot}%{_localstatedir}/log/frr
437 make DESTDIR=%{buildroot} INSTALL="install -p" CP="cp -p" install
438
439 # Remove this file, as it is uninstalled and causes errors when building on RH9
440 rm -rf %{buildroot}/usr/share/info/dir
441
442 # Remove debian init script if it was installed
443 rm -f %{buildroot}%{_sbindir}/frr
444
445 # kill bogus libtool files
446 rm -vf %{buildroot}%{_libdir}/frr/modules/*.la
447 rm -vf %{buildroot}%{_libdir}/*.la
448 rm -vf %{buildroot}%{_libdir}/frr/libyang_plugins/*.la
449
450 # install /etc sources
451 %if "%{initsystem}" == "systemd"
452 mkdir -p %{buildroot}%{_unitdir}
453 install -m644 %{zeb_src}/tools/frr.service %{buildroot}%{_unitdir}/frr.service
454 %else
455 mkdir -p %{buildroot}%{_initddir}
456 ln -s %{_sbindir}/frrinit.sh %{buildroot}%{_initddir}/frr
457 %endif
458
459 install %{zeb_src}/tools/etc/frr/daemons %{buildroot}%{_sysconfdir}/frr
460 install %{zeb_src}/tools/etc/frr/frr.conf %{buildroot}%{_sysconfdir}/frr/frr.conf.template
461 install -m644 %{zeb_rh_src}/frr.pam %{buildroot}%{_sysconfdir}/pam.d/frr
462 install -m644 %{zeb_rh_src}/frr.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/frr
463 install -d -m750 %{buildroot}%{rundir}
464
465 %if 0%{?rhel} > 7 || 0%{?fedora} > 29
466 # avoid `ERROR: ambiguous python shebang in` errors
467 pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}/usr/lib/frr/*.py
468 %py_byte_compile %{__python3} %{buildroot}/usr/lib/frr/*.py
469 %else
470 # remove ospfclient.py (if present) as it requires > python36
471 rm -f %{buildroot}%{_sbindir}/ospfclient.py
472 %endif
473
474 %pre
475 # add vty_group
476 %if 0%{?vty_group:1}
477 getent group %{vty_group} >/dev/null || groupadd -r -g %{vty_gid} %{vty_group}
478 %endif
479
480 # add frr user and group
481 %if 0%{?frr_user:1}
482 # Ensure that frr_gid gets correctly allocated
483 getent group %{frr_user} >/dev/null || groupadd -g %{frr_gid} %{frr_user}
484 getent passwd %{frr_user} >/dev/null || \
485 useradd -r -u %{frr_uid} -g %{frr_user} \
486 -s /sbin/nologin -c "FRRouting suite" \
487 -d %{rundir} %{frr_user}
488
489 %if 0%{?vty_group:1}
490 usermod -a -G %{vty_group} %{frr_user}
491 %endif
492 %endif
493 exit 0
494
495
496 %post
497 # zebra_spec_add_service <service name> <port/proto> <comment>
498 # e.g. zebra_spec_add_service zebrasrv 2600/tcp "zebra service"
499
500 zebra_spec_add_service ()
501 {
502 # Add port /etc/services entry if it isn't already there
503 if [ -f %{_sysconfdir}/services ] && \
504 ! %__sed -e 's/#.*$//' %{_sysconfdir}/services 2>/dev/null | %__grep -wq $1 ; then
505 echo "$1 $2 # $3" >> %{_sysconfdir}/services
506 fi
507 }
508
509 zebra_spec_add_service zebrasrv 2600/tcp "zebra service"
510 zebra_spec_add_service zebra 2601/tcp "zebra vty"
511 zebra_spec_add_service staticd 2616/tcp "staticd vty"
512 zebra_spec_add_service ripd 2602/tcp "RIPd vty"
513 zebra_spec_add_service ripngd 2603/tcp "RIPngd vty"
514 zebra_spec_add_service ospfd 2604/tcp "OSPFd vty"
515 zebra_spec_add_service bgpd 2605/tcp "BGPd vty"
516 zebra_spec_add_service ospf6d 2606/tcp "OSPF6d vty"
517 zebra_spec_add_service isisd 2608/tcp "ISISd vty"
518 %if %{with_ospfapi}
519 zebra_spec_add_service ospfapi 2607/tcp "OSPF-API"
520 %endif
521 %if %{with_babeld}
522 zebra_spec_add_service babeld 2609/tcp "BABELd vty"
523 %endif
524 %if %{with_nhrpd}
525 zebra_spec_add_service nhrpd 2610/tcp "NHRPd vty"
526 %endif
527 %if %{with_pimd}
528 zebra_spec_add_service pimd 2611/tcp "PIMd vty"
529 %endif
530 %if %{with_pbrd}
531 zebra_spec_add_service pbrd 2615/tcp "PBRd vty"
532 %endif
533 %if %{with_ldpd}
534 zebra_spec_add_service ldpd 2612/tcp "LDPd vty"
535 %endif
536 %if %{with_eigrpd}
537 zebra_spec_add_service eigrpd 2613/tcp "EIGRPd vty"
538 %endif
539 %if %{with_bfdd}
540 zebra_spec_add_service bfdd 2617/tcp "BFDd vty"
541 %endif
542 zebra_spec_add_service fabricd 2618/tcp "Fabricd vty"
543 %if %{with_vrrpd}
544 zebra_spec_add_service vrrpd 2619/tcp "VRRPd vty"
545 %endif
546 %if %{with_pathd}
547 zebra_spec_add_service pathd 2620/tcp "Pathd vty"
548 %endif
549
550 %if "%{initsystem}" == "systemd"
551 for daemon in %all_daemons ; do
552 %systemd_post frr.service
553 done
554 %else
555 /sbin/chkconfig --add frr
556 %endif
557
558 # Fix bad path in previous config files
559 # Config files won't get replaced by default, so we do this ugly hack to fix it
560 %__sed -i 's|watchfrr_options=|#watchfrr_options=|g' %{configdir}/daemons 2> /dev/null || true
561
562 # With systemd, watchfrr is mandatory. Fix config to make sure it's enabled if
563 # we install or upgrade to a frr built with systemd
564 %if "%{initsystem}" == "systemd"
565 %__sed -i 's|watchfrr_enable=no|watchfrr_enable=yes|g' %{configdir}/daemons 2> /dev/null || true
566 %endif
567
568 /sbin/install-info %{_infodir}/frr.info.gz %{_infodir}/dir
569
570 # Create dummy config file if they don't exist so basic functions can be used.
571 if [ ! -e %{configdir}/frr.conf ] && [ ! -e %{configdir}/zebra.conf ]; then
572 # No frr.conf and per daemon configs exist
573 mv %{configdir}/frr.conf.template %{configdir}/frr.conf
574 %if 0%{?frr_user:1}
575 chown %{frr_user}:%{frr_user} %{configdir}/frr.conf
576 %endif
577 chmod 640 %{configdir}/frr.conf
578 fi
579 %if 0%{?frr_user:1}
580 chown %{frr_user}:%{frr_user} %{configdir}/daemons
581 %endif
582
583 %if %{with_watchfrr}
584 # No config for watchfrr - this is part of /etc/sysconfig/frr
585 rm -f %{configdir}/watchfrr.*
586 %endif
587
588 if [ ! -e %{configdir}/vtysh.conf ]; then
589 touch %{configdir}/vtysh.conf
590 chmod 640 %{configdir}/vtysh.conf
591 %if 0%{?frr_user:1}
592 %if 0%{?vty_group:1}
593 chown %{frr_user}:%{vty_group} %{configdir}/vtysh.conf*
594 %endif
595 %endif
596 fi
597
598
599 %postun
600 if [ "$1" -ge 1 ]; then
601 #
602 # Upgrade from older version
603 #
604 %if "%{initsystem}" == "systemd"
605 ##
606 ## Systemd Version
607 ##
608 %systemd_postun_with_restart frr.service
609 %else
610 ##
611 ## init.d Version
612 ##
613 service frr restart >/dev/null 2>&1
614 %endif
615 :
616 fi
617
618
619 %preun
620 %if "%{initsystem}" == "systemd"
621 ##
622 ## Systemd Version
623 ##
624 if [ $1 -eq 0 ] ; then
625 %systemd_preun frr.service
626 fi
627 %else
628 ##
629 ## init.d Version
630 ##
631 if [ $1 -eq 0 ] ; then
632 service frr stop >/dev/null 2>&1
633 /sbin/chkconfig --del frr
634 fi
635 %endif
636 /sbin/install-info --delete %{_infodir}/frr.info.gz %{_infodir}/dir
637
638
639 %files
640 %doc COPYING
641 %doc doc/mpls
642 %doc README.md
643 /usr/share/yang/*.yang
644 %if 0%{?frr_user:1}
645 %dir %attr(751,%{frr_user},%{frr_user}) %{configdir}
646 %dir %attr(755,%{frr_user},%{frr_user}) %{_localstatedir}/log/frr
647 %dir %attr(751,%{frr_user},%{frr_user}) %{rundir}
648 %else
649 %dir %attr(750,root,root) %{configdir}
650 %dir %attr(755,root,root) %{_localstatedir}/log/frr
651 %dir %attr(750,root,root) %{rundir}
652 %endif
653 %{_infodir}/frr.info.gz
654 %{_mandir}/man*/*
655 %{_sbindir}/zebra
656 %{_sbindir}/staticd
657 %{_sbindir}/ospfd
658 %{_sbindir}/ripd
659 %{_sbindir}/bgpd
660 %exclude %{_sbindir}/ssd
661 %if %{with_watchfrr}
662 %{_sbindir}/watchfrr
663 %endif
664 %{_sbindir}/ripngd
665 %{_sbindir}/ospf6d
666 %if %{with_pimd}
667 %{_sbindir}/pimd
668 %endif
669 %if %{with_pbrd}
670 %{_sbindir}/pbrd
671 %endif
672 %if %{with_vrrpd}
673 %{_sbindir}/vrrpd
674 %endif
675 %{_sbindir}/isisd
676 %{_sbindir}/fabricd
677 %if %{with_ldpd}
678 %{_sbindir}/ldpd
679 %endif
680 %if %{with_eigrpd}
681 %{_sbindir}/eigrpd
682 %endif
683 %if %{with_nhrpd}
684 %{_sbindir}/nhrpd
685 %endif
686 %if %{with_babeld}
687 %{_sbindir}/babeld
688 %endif
689 %if %{with_bfdd}
690 %{_sbindir}/bfdd
691 %endif
692 %if %{with_pathd}
693 %{_sbindir}/pathd
694 %{_libdir}/frr/modules/pathd_pcep.so
695 %endif
696 %{_libdir}/libfrr.so*
697 %{_libdir}/libfrrcares*
698 %{_libdir}/libfrrospf*
699 %if %{with_fpm}
700 %{_libdir}/frr/modules/zebra_fpm.so
701 %endif
702 %{_libdir}/frr/modules/zebra_cumulus_mlag.so
703 %{_libdir}/frr/modules/dplane_fpm_nl.so
704 %{_libdir}/frr/modules/zebra_irdp.so
705 %{_libdir}/frr/modules/bgpd_bmp.so
706 %{_bindir}/*
707 %config(noreplace) %{configdir}/[!v]*.conf*
708 %config(noreplace) %attr(750,%{frr_user},%{frr_user}) %{configdir}/daemons
709 %if "%{initsystem}" == "systemd"
710 %{_unitdir}/frr.service
711 %else
712 %{_initddir}/frr
713 %endif
714 %config(noreplace) %{_sysconfdir}/pam.d/frr
715 %config(noreplace) %{_sysconfdir}/logrotate.d/frr
716 %{_sbindir}/frr-reload
717 %{_sbindir}/frrcommon.sh
718 %{_sbindir}/frrinit.sh
719 %{_sbindir}/watchfrr.sh
720
721
722 %files contrib
723 %doc tools
724
725 %files pythontools
726 %{_sbindir}/generate_support_bundle.py
727 %{_sbindir}/frr-reload.py
728 %{_sbindir}/frr_babeltrace.py
729 %if %{with_ospfclient} && (0%{?rhel} > 7 || 0%{?fedora} > 29)
730 %{_sbindir}/ospfclient.py
731 %endif
732 %if 0%{?rhel} > 7 || 0%{?fedora} > 29
733 %{_sbindir}/__pycache__/*
734 %else
735 %{_sbindir}/generate_support_bundle.pyc
736 %{_sbindir}/generate_support_bundle.pyo
737 %{_sbindir}/frr-reload.pyc
738 %{_sbindir}/frr-reload.pyo
739 %{_sbindir}/frr_babeltrace.pyc
740 %{_sbindir}/frr_babeltrace.pyo
741 %endif
742
743
744 %post rpki-rtrlib
745 # add rpki module to daemons
746 sed -i -e 's/^\(bgpd_options=\)\(.*\)\(".*\)/\1\2 -M rpki\3/' %{_sysconfdir}/frr/daemons
747
748 %postun rpki-rtrlib
749 # remove rpki module from daemons
750 sed -i 's/ -M rpki//' %{_sysconfdir}/frr/daemons
751
752 %files rpki-rtrlib
753 %{_libdir}/frr/modules/bgpd_rpki.so
754
755
756 %files snmp
757 %{_libdir}/libfrrsnmp.so*
758 %{_libdir}/frr/modules/*snmp.so
759
760
761 %files devel
762 %{_libdir}/lib*.so
763 %dir %{_includedir}/%{name}
764 %{_includedir}/%{name}/*.h
765 %dir %{_includedir}/%{name}/ospfd
766 %{_includedir}/%{name}/ospfd/*.h
767 %if %{with_bfdd}
768 %dir %{_includedir}/%{name}/bfdd
769 %{_includedir}/%{name}/bfdd/bfddp_packet.h
770 %endif
771 %if %{with_ospfapi}
772 %dir %{_includedir}/%{name}/ospfapi
773 %{_includedir}/%{name}/ospfapi/*.h
774 %endif
775 %if %{with_eigrpd}
776 %dir %{_includedir}/%{name}/eigrpd
777 %{_includedir}/%{name}/eigrpd/*.h
778 %endif
779
780
781 %changelog
782 * Tue Jun 7 2022 Donatas Abraitis <donatas@opensourcerouting.org> - %{version}
783
784 * Tue Mar 1 2022 Jafar Al-Gharaibeh <jafar@atcorp.com> - 8.2
785 - The FRRouting community would like to announce FRR Release 8.2.
786 - This release consists of just over 800 commits from 62 authors.
787 - Selected features and bug fixes are listed below.
788 - babeld:
789 - Fix the checks for truncated packets
790 - bfdd:
791 - Correct one spelling error of comment
792 - Fix detection timeout update
793 - Fix possibly wrong counter of control packets
794 - bgpd:
795 - Add "json" option to a few more show commands
796 - Add 'show bgp <afi> <safi> json detail' header data
797 - Add a 6 hour warning to missing policy
798 - Add an ability to match ipv6 next-hop by prefix-list
799 - Add autocomplete for access-list under bmp node
800 - Add autocomplete for as-path filters
801 - Add autocomplete for set/match community/large/ext lists
802 - Add long-lived graceful restart capability
803 - Add peer-groups to neighbor autocomplete
804 - Adjust symbolic names for cease notifications according to rfc4486
805 - Deprecate dpa, advertiser and rcid_path path attributes
806 - Extended bgp administrative shutdown communication
807 - Fix crash when using "show bgp vrf all"
808 - Fix inconsistency of match ip/ipv6 next-hop commands
809 - Fix missing name of default vrf
810 - Handle TCP connection errors with connection callbacks for RPKI
811 - Implement llgr helper mode
812 - Implement rfc9072
813 - Support redirect import more than one route-target ipv6
814 - docker:
815 - Update alpine build enable set own version
816 - isisd:
817 - Add link state traffic engineering support
818 - Fix router capability tlv parsing issues
819 - Fix running-config for fast-reroute
820 - Make isis work with default vrf name different than 'default'
821 - ospf6d
822 - Add missing vrf parameter to "clear ipv6 ospf6 interface"
823 - Add prompt for commands with non-exist vrf
824 - Add support for nssa type-7 address ranges
825 - Add the ability of specifying router-id/area-id in no debug ospf6
826 - Do not originate type-4 lsa when nssa
827 - Do not send type-5 into stub area
828 - Fix ecmp inter-area route nexthop update
829 - Fix memory leak for `show ipv6 ospf6 zebra json`
830 - ospfd
831 - Fix wrong comparison of routemap name
832 - Fix crash on "ospf send-extra-data zebra"
833 - Fix incorrect detection of topology changes in helper mode
834 - Fix loss of mixed form in "range" command
835 - Fix no-form of "graceful-restart" command
836 - Fix summary-address deletion
837 - Fix wrong parsing of te subtlv
838 - pbrd
839 - Add vlan actions to vty
840 - Pbr route maps get addr family of nhgs
841 - Protect from a possible null dereference
842 - pimd
843 - Do not allow 224.0.0.0/24 range in igmp join
844 - Fix igmp user config
845 - Fix msdp mesh grp with wildcard member addr
846 - Fix stale forwarding entries left around after join goes away
847 - Fix FRR drops IGMP packets for TOS value other than 0XC0
848 - redhat
849 - Check if frr.conf already exists
850 - Logrotate file has typo for staticd
851 - ripd
852 - Fix packet send for non primary addresses
853 - vtysh
854 - Add missing rpki node when showing config
855 - Improve startup time by ca. Ă—6
856 - remove `address-family evpn`
857 - watchfrr
858 - Allow an integrated config to work within a namespace
859 - zebra
860 - Add optional nhg id output to `show ip ro`
861 - Add resolver flag for nexthop in json
862 - Add support for json output in srv6 locator detail command
863 - Don't lose next hop weights while exporting via fpm
864 - Fix buffer overflow
865 - Fix netns deletion
866 - Fix route-map application when when using vrfs
867
868 * Tue Nov 2 2021 Jafar Al-Gharaibeh <jafar@atcorp.com> - 8.1
869 - FRR 8.1 brings a long list of enhancements and fixes with 1200 commits from
870 - 75 developers. Thanks to all contributers.
871 - New Features:
872 - Lua hooks are now feature complete, with one hook available for use (http://docs.frrouting.org/en/latest/scripting.html)
873 - Improvements to SRv6 (Segment Routing over IPv6) (http://docs.frrouting.org/en/latest/zebra.html#segment-routing-ipv6)
874 - Improvements to Prefix-SID (Type 5)
875 - EVPN route type-5 gateway IP overlay Index (http://docs.frrouting.org/en/latest/bgp.html#evpn-overlay-index-gateway-ip)
876 - OSPFv3 NSSA and NSSA totally stub areas (http://docs.frrouting.org/en/latest/ospf6d.html#ospf6-area)
877 - OSPFv3 ASBR summarization (http://docs.frrouting.org/en/latest/ospf6d.html#asbr-summarisation-support-in-ospfv3)
878 - OSPFv3 Graceful Restart (http://docs.frrouting.org/en/latest/ospf6d.html#graceful-restart)
879 - OSPFv2 Graceful Restart (restarting mode added, helper was already implemented) (http://docs.frrouting.org/en/latest/ospfd.html#graceful-restart)
880 - Behavior Changes
881 - Every node in running config now has an explicit "exit" tag
882 - Link bandwidth in BGP is now correctly encoded according to IEEE 754. To stay with old incorrect encoding use:
883 - `neighbor PEER disable-link-bw-encoding-ieee`
884 - Changelog
885 - alpine:
886 Fix path for daemons file install
887 - BGP:
888 - Add "json" option to "show bgp as-path-access-list"
889 - Add `disable-addpath-rx` knob
890 - Add an ability to set extcommunity to none in route-maps
891 - Add counter of displayed show bgp summary when filtering
892 - Add knob to config cond-adv scanner period
893 - Add route-map `match alias` command
894 - Add rpki source address configuration
895 - Add show bgp summary filter by neighbor or as
896 - Add terse display option on show bgp summary
897 - Allow for auto-completion of community alias's created
898 - Bgp knob to teardown session immediately when peer is unreachable
899 - Expand 'bgp default <afi>-<safi>' cmds
900 - Extend evpn next hop tracking to type-1 and type-4 routes
901 - Fix "no router bgp x vrf default"
902 - Flowspec redirect vrf uses vrf table instead of allocated table id
903 - Handle quick flaps of an evpn prefix properly
904 - Initial batch of evpn lttng tracepoints
905 - Limit processing to what is needed in rpki validation
906 - Modify vrf/view display in show bgp summary
907 - Set 4096 instead of 65535 as new max packet size for a new peer
908 - Set extended msg size only if we advertised and received capability
909 - Show bgp community alias in json community list output
910 - Show bgp prefixes by community alias
911 - Show max packet size per update-group
912 - Split soft reconfigure table task into several jobs to not block vtysh
913 - Store distance received from a redistribute statement
914 - Update route-type-1 legend to match output
915 - ISIS:
916 - Fix sending of lsp with null seqno
917 - lib:
918 - Add "json" option to "show ip[v6] access-list"
919 - Add "json" option to "show ip[v6] prefix-list"
920 - Add "json" option to "show route-map"
921 - Prevent grpc assert on missing yang node
922 - NHRP:
923 - Clear cache when shortcuts are cleared
924 - Fix corrupt address being shown for shortcuts with no cache entry
925 - Set prefix correctly in resolution request
926 - OSPF6:
927 - Add debug commands for lsa all and route all
928 - Add warning log for late hello packets
929 - Add write-multiplier configuration
930 - Don't update router-id if at least one adjacency is full
931 - Extend the "redistribute" command with more options
932 - Fix issue when displaying the redistribute command
933 - Fix logging of border router routes
934 - Json output for database dump show command
935 - Link state id in lsa database json output
936 - Send lsa update immediately when ospf instance is deleted
937 - OSPF:
938 - Fix crash when creating vlink in unknown vrf
939 - Gr conformance fix for hello packet dr election
940 - Print extra lsa information in some log messages
941 - Rfc conformance test case 25.23 issue fix
942 - Show ip ospf route json does not shown metric and tag
943 - Summary lsa is not originated when process is reset
944 - pathd:
945 - Handle pcinitiated configuration, main thread
946 - Handle pcinitiated messages, thread controller
947 - Handle srp_id correctly
948 - If pce ret no-path to pcreq don't retry pcreq nor delegate
949 - PBR:
950 - Add `match ip-protocol [tcp|udp]`
951 - Add ability to set/unset src and dest ports
952 - Nhg "add" edge case for last in table range
953 - Start inclusion of src and dst ports for pbrd
954 - PIM:
955 - Add tos/ttl check for igmp conformance
956 - Allow join prune intervals to be as small as 5 seconds
957 - Allow msdp group name 'default'
958 - Fix register suppress timer code
959 - Fix uaf/heap corruption in bsm code
960 - Fix command "no ip msdp mesh-group member"
961 - Igmp groups are not getting timeout
962 - Igmp memberships are not querier specific
963 - Igmp sockets need to be iface-bound too
964 - Prevent uninited usage of nexthop
965 - Support msdp global timers configuration
966 - vtysh
967 - Add cli timestamp '-t' flag
968 - Add error code if daemon is not running
969 - Fix searching commands in parent nodes
970 - yang:
971 - Add msdp timer configuration
972 - Fix bgp multicast prefix type
973 - Mark a couple of prefix-list/access-list leafs as mandatory
974 - Move multicast prefix type definition
975 - Replace an empty pattern with a zero-length restriction
976 - Rework pim msdp mesh group
977 - Simplify msdp peer handling
978 - zebra :
979 - Add "json" option to "show interface"
980 - Various improvment to dataplane interface
981 - Add message counts for `show zebra client`
982 - Add nhg id to show ip route json
983 - Add show command for ra interface lists
984 - Fix ipv4 routes with ipv6 link local next hops install in fpm
985 - Handle bridge mac address update in evpn contexts
986 - Move individual lines to table in `show zebra client` command
987 - Refresh vxlan evpn contexts, when bridge interface goes up
988 - Update zl3vni when bridge link refreshed in other namespaces
989
990 * Wed Jul 21 2021 Martin Winter <mwinter@opensourcerouting.org> - 8.0
991 - Major changes
992 - New daemon pathd for segment routing
993 - EVPN Multihoming is now fully supported
994 - OSPFv3 now supports VRFs
995 - TI-LFA has been implemented in IS-IS and OSPF
996 - Ability for Zebra to dump netlink messages in a human-friendly format
997 - LDP gained SNMP support
998 - libyang minimun version is now 2.0
999 - BABEL:
1000 - Add `distribute-list` commands
1001 - Fix memory leak in connected route handling
1002 - BGP:
1003 - Add support for use of aliases with communities
1004 - Add support of tcp-mss for neighbors
1005 - Add support for EVPN Multihoming
1006 - Add ability to show BGP routes from a particular table version
1007 - Add support for for RFC 8050 (MRT add-path)
1008 - Add SNMP support for MPLS VPN
1009 - Add `show bgp summary wide` command to show more detailed output
1010 on wide terminals
1011 - Add ability for peer-groups to have `ttl-security hops` configured
1012 - Add support for conditional Advertisement
1013 - Add support for RFC 4271 Delay Open Timer
1014 - Add a knob to not advertise until route is installed in fib
1015 - Add BGP-wide configuration for graceful shutdown
1016 - Add support for RFC 8654 extended messages
1017 - Improve RPKI reporting as well as new show commands
1018 - Improve handling of VRF route leaking
1019 - Improve scaling behavior for dynamic neighbors
1020 - Improve LL nexthop tracking to be interface based
1021 - Improve route reachability handling with respect to blackhole routes
1022 - Improve SNMP traps to RFC 4273 notifications
1023 - Improve EVPN routes to use L3 NHG's where applicable
1024 - Improvements to EVPN
1025 - Improvements to update behavior
1026 - Fix various issues with connection resolution
1027 - Fix statistics commands in some situations
1028 - Fix non-determistic locally-originated paths in bestpath selection
1029 - Continue working on transitioning to YANG/Northbound configuration
1030 - Various bug fixes and performance improvements
1031 - EIGRP:
1032 - Add `distribute-list` commands
1033 - Ensure received AS number is the same as ours in all situations
1034 - Properly validate TLV lengths in some situations
1035 - IS-IS:
1036 - Add ldb-sync functionality
1037 - Add TI-LFA functionality
1038 - Add support for Anycast-SID's
1039 - Add support for classic LFA RFC 5286
1040 - Add `show isis fast-reroute summary` command
1041 - Add support for Remote LFA RFC 7490
1042 - Fix Attach-bit processing in some scenarios
1043 - Cleanup BFD integration
1044 - Various bug fixes and performance improvements
1045 - LDP:
1046 - Add SNMP support
1047 - Support for LDP IGP Synchronization
1048 - Support for RLFA clients
1049 - Various bug fixes and performance improvements
1050 - LIBFRR:
1051 - Various bugfixes and performance improvements
1052 - NHRP:
1053 - Add `nhrp multicast-nflog-group (1-65535)` command
1054 - Add configuration options for vici socket path
1055 - Add support for forwarding multicast packets
1056 - Fix handling of MTU
1057 - Fix handling of NAT extension
1058 - Retry IPsec under some conditions
1059 - OSPFv2:
1060 - Add OSPF GR helper support
1061 - Add JSON support for various commands
1062 - Add `summary-address A.B.C.D/M ...` commands
1063 - Add `area X nssa suppress-fa` command
1064 - Add support for TI-LFA
1065 - Add support for BFD profiles
1066 - Add support for Traffic Engineering database
1067 - Add support for usage of DMPVPN with OSPF
1068 - Add `clear ip ospf neighbor` commands
1069 - Add YANG support for route-maps
1070 - Improvements to SNMP
1071 - Fixes for type 5 and type 7 LSA handling
1072 - Various bug fixes and performance improvements
1073 - OSPFv3:
1074 - Add support for VRFs
1075 - Add JSON support to a bunch of commands
1076 - Add ability to control maximum paths for routes
1077 - Add `show ipv6 ospf6 vrfs` command
1078 - Add support for BFD profiles
1079 - Fix to not send hellos on loopbacks
1080 - Cleanup area handling around interfaces
1081 - YANG support for route-maps
1082 - Various bug fixes and performance improvements
1083 - OSPFCLIENT:
1084 - Cleanup trust of user input
1085 - PATHd:
1086 - Add support of SR-TE policy management daemon
1087 - Add optional support for PCEP to pathd
1088 - Integrate PCEP-LIB into FRR
1089 - PBR:
1090 - Add `set installable` nhg command
1091 - Improve interface up/down event handling
1092 - PIM:
1093 - Add YANG integration
1094 - Add JSON support to various commands
1095 - Add BFD profile support
1096 - Fixes to IGMP conformance
1097 - Fixes to behavior surrounding Prune and Prune-pending
1098 - Various bug fixes and performance improvements
1099 - RIPNG:
1100 - Fix interface wakeup after shutdown
1101 - SHARP:
1102 - Add ability to use Nexthop Groups
1103 - Add v4 redistribute watching
1104 - Add TED support
1105 - Various bug fixes
1106 - STATIC:
1107 - Fix nexthop handling in some situations
1108 - Forbid blackhole and non-blackhole nexthops in a single route
1109 - VRRP:
1110 - printf formatting cleanups
1111 - VTYSH:
1112 - Add a `show history` command
1113 - Add `show memory <daemon>` support
1114 - Start deprecation cycle for `address-family evpn`
1115 - Display version with --help
1116 - Various bug fixes
1117 - WATCHFRR:
1118 - Fix some crashes
1119 - ZEBRA:
1120 - Add JSON support to various commands
1121 - Add Human readable netlink dumps
1122 - Add L2 NHG support
1123 - Add support for LSPs to FPM dataplane
1124 - Add ability for other protocol daemons to install nexthop groups into the kernel
1125 - Add YANG support for route-maps
1126 - Improve scale performance when handling a large number of VRF's
1127 - Improve network namespace handling
1128 - Improve asic-offload handling
1129 - Improve FreeBSD interface and route handling
1130 - Improve handling of neighbors in kernel dataplane plugin
1131 - Improve label manager
1132 - Improve route-map processing
1133 - Improve debug-ability of routes and VRFs
1134 - Improve FPM dataplane plugin
1135 - Improve handling of reachability / nexthop tracking on shutdown interfaces
1136 - Improve EVPN support
1137 - Fix startup handling of `set src X`
1138 - Various bug fixes and performance improvements
1139
1140 * Wed Mar 3 2021 Martin Winter <mwinter@opensourcerouting.org> - 7.5.1
1141 - BABEL:
1142 - Fix connected route leak on change
1143 - BFD:
1144 - Session lookup was sometimes wrong
1145 - Memory leak and handling cleanups
1146 - In some situations handle vrf appropriately when receiving packets
1147 - BGP:
1148 - Peer Group Inheritance Fixes
1149 - Dissallow attempt to peer peers reachable via blackholes
1150 - Send BMP down message when reachability fails
1151 - Cleanup handling of aggregator data when the AGG AS is 0
1152 - Handle `neighbor <peer-group allowas-in` config changes properly
1153 - Properly parse community and lcommunity values in some circumstances
1154 - Allow peer-groups to configure `ttl-security hops`
1155 - Prevent v6 routes with v4 nexthops from being installed
1156 - Allow `default-originate` to be cleared from a peer group
1157 - Fix evpn route-map vni filter at origin
1158 - local routes were using non-default distance
1159 - Properly track if the nexthop was updated in some circumstances
1160 - Cleanup `show running` when running bgp with `-e X` values
1161 - Various Memory leaks in show commands
1162 - Properly withdraw exported routes when deleting a VRF
1163 - Avoid resetting ebgp-multihop if peer setting is the same as peer-group
1164 - Properly encode flowspec rules to zebra in some rare circumstances
1165 - Generate statistics for routes in bgp when we have exactly 1 route
1166 - Properly apply route-map for the default-originate command
1167 - EIGRP:
1168 - Properly set MTU for eigrp packets sent
1169 - Various memory leaks and using uninited data fixes
1170 - ISIS:
1171 - When last area address is removed, resign if we were the DR
1172 - Various memory leaks and using uninited data fixes
1173 - LDP:
1174 - Various memory leaks and using uninited data fixes
1175 - NHRP:
1176 - Use onlink routes when prefix == nh
1177 - Shortcut routes are installed with proper nexthop
1178 - OSPF:
1179 - Prevent duplicate packet read in multiple vrf situation
1180 - Fix area removal at interface level
1181 - Restore Point to MultiPoint interface types
1182 - Correctly handle MTU change on startup
1183 - Multi Instance initialization sometimes was not successful
1184 - NSSA translate-always was not working properly
1185 - OSPFv3:
1186 - Don't send hellos on loopback interfaces
1187 - Handle ECMP better when a sub-path is removed
1188 - Memory leak and handling fixes
1189 - Fix Link LSA not updating when router priority is modified
1190 - Some output from show commands was wrong
1191 - Intra area remote connected prefixes sometimes not installed
1192 - PBR:
1193 - Various memory leaks and using uninited data fixes
1194 - PIM:
1195 - SGRpt prune received during prune didn't override holdtime
1196 - Various memory leaks and using uninited data fixes
1197 - STATIC:
1198 - Fix VRF and usage on startup in some instances
1199 - Tableid was being mishandled in some cases
1200 - VTYSH:
1201 - Disable bracketed paste in readline.
1202 - WATCHFRR:
1203 - Various memory leaks and using uninited data fixes
1204 - ZEBRA:
1205 - Always install blackhole routes using kernel routes instead of nexthops
1206 - Various memory leaks and using uninited data fixes
1207 - Dissallow resolution to duplicate nexthops that created infinite nexthops
1208 - Apply the route-map delay-timer globally
1209 - Some routes were stuck in Queued state when using the FPM
1210 - Better handle vrf creation when using namespaces
1211 - Set NUD_NOARP on sticky mac entries in addtion to NTF_STICKY
1212 - Allow `set src X` to work on startup
1213 - FRR Library:
1214 - Fix a variety of memory leaks
1215 - Fix VRF Creation in some instances
1216 - RPKI context editing was not properly handled in reload situations
1217 - routemap code was not properly handling modification of CLI in some instances
1218 - SNAPCRAFT:
1219 - Update to using rtrlib 0.7.0
1220 - Fix passthrough path for Libyang 1.x
1221 - ALPINE:
1222 - Remove old docker deps
1223
1224 * Mon Nov 2 2020 Donald Sharp <sharpd@nvidia.com> - 7.5
1225 - BFD
1226 - Profile support
1227 - Minimum ttl support
1228 - BGP
1229 - rpki VRF support
1230 - GR fixes
1231 - Add wide option to display of routes
1232 - Add `maximum-prefix <num> force`
1233 - Add `bestpath-routes` to neighbor command
1234 - Add `bgp shutdown message MSG...` command
1235 - Add v6 Flowspec support
1236 - Add `neighbor <neigh> shutdown rtt` command
1237 - Allow update-delay to be applied globaly
1238 - EVPN
1239 - Beginning of MultiHoming Support
1240 - ISIS
1241 - Segment Routing Support
1242 - VRF Support
1243 - Guard against adj timer display overflow
1244 - Add support for Anycast-SIDs
1245 - Add support for Topology Independent LFA (TI-LFA)
1246 - Add `lsp-gen-interval 2` to isis configuration
1247 - OSPF
1248 - Segment Routing support for ECMP
1249 - Various LSA fixes
1250 - Prevent crash if transferring config amongst instances
1251 - PBR
1252 - Adding json support to commands
1253 - DSCP/ECN based PBR Matching
1254 - PIM
1255 - Add more json support to commands
1256 - Fix missing mesh-group commands
1257 - MSDP SA forwarding
1258 - Clear (s,g,rpt) ifchannel on (*, G) prune received
1259 - Fix igmp querier election and IP address mapping
1260 - Crash fix when RP is removed
1261 - STATIC
1262 - Northbound Support
1263 - YANG
1264 - Filter and route-map Support
1265 - OSPF model definition
1266 - BGP model definition
1267 - VTYSH
1268 - Speed up output across daemons
1269 - Fix build-time errors for some --enable flags
1270 - Speed up output of configuration across daemons
1271 - ZEBRA
1272 - nexthop group support for FPM
1273 - northbound support for rib model
1274 - Backup nexthop support
1275 - netlink batching support
1276 - Allow upper level protocols to request ARP
1277 - Add json output for zebra ES, ES-EVI and access vlan dumps
1278 -
1279 - Upgrade to using libyang1.0.184
1280 -
1281 - RPM
1282 - Moved RPKI to subpackage
1283 - Added SNMP subpackage
1284 -
1285 - As always there are too many bugfixes to list individually. This release
1286 - compromises just over 1k of commits by the community, with contributors from
1287 - 70 people.
1288
1289 * Tue Jun 30 2020 Martin Winter <mwinter@opensourcerouting.org> - 7.4
1290 - BGPd
1291 - Use sequence numbers for community lists
1292 - Fixes to nexthop groups
1293 - Add feature to limit outgoing number of routes
1294 - Per Neighbor Graceful Restart
1295 - Multiple Graceful Restart fixes
1296 - Support sub-Type-4 and sub-Type-5 for the VPNv4 SRv6 backend
1297 - rfc7606 support: treat certain malformed routes as withdraw
1298 - allow origin override for route aggregates
1299 - rfc6608 support: Subcodes for BGP Finite State Machine Error
1300 - rfc7607 support: Codification of AS 0 Processing
1301 - rfc6286 support: Autonomous-System-Wide Unique BGP Identifier for BGP-4
1302 - Unequal cost multipath (a.ka. weighted ECMP) with BGP link-bandwidth
1303 - Enable rfc8212 by default except datacenter profile
1304 - staticd
1305 - Add debug support
1306 - vtysh
1307 - Add copy command to copy config from file into running config
1308 - LDPd
1309 - adding support for LDP ordered label distribution control
1310 - ISISd
1311 - IS-IS Segment Routing support
1312 - SHARPd
1313 - add initial support to add/remove lsps
1314 - Zebra
1315 - fix broadcast address in IPv4 networks with /31 mask
1316 - Add Graceful Restart support for Protocol Daemon restarts
1317 - lib
1318 - migrate route-maps to use northbound interface
1319 - plus countless bug fixes and other improvements
1320
1321 * Mon Jun 15 2020 Sascha Kattelmann <sascha@netdef.org>
1322 - Add Pathd support
1323
1324 * Wed May 06 2020 David Lamparter <equinox@opensourcerouting.org> - 7.3.1
1325 - upstream 7.3.1
1326
1327 * Fri Feb 14 2020 Martin Winter <mwinter@opensourcerouting.org> - 7.3
1328 - BGPd
1329 - EVPN PIP Support
1330 - Route Aggregation code speed ups
1331 - BGP Vector I/O speed ups
1332 - New CLI: `set distance XXX`
1333 - New CLI: `aggregate-address A.B.C.D/M route-map WORD`
1334 - New CLI: `bgp reject-as-sets`
1335 - New CLI: `advertise pip ...`
1336 - New CLI: `match evpn rd ASN:NN_OR_IP-ADDRESS:NN`
1337 - New CLI: `show bgp l2vpn evpn community|large-community X`
1338 - New CLI: `show bgp l2vpn evpn A.B.C.D`
1339 - Auto-completion for clear bgp command
1340 - Add ability to set tcp socket buffer size
1341 - OSPFd
1342 - Partial MPLS TE support
1343 - PBRd
1344 - New CLI: `set vrf unchanged|NAME`
1345 - BFDd
1346 - VRF Support
1347 - New CLI: 'show bfd peers brief'
1348 - New CLI: 'clear bfd peer ...'
1349 - PIMd
1350 - Significant Speedups in accessing Internal Data for higher scale
1351 - Support for joining any-source Multicast
1352 - Updated CLI: 'show ip pim upstream-join-desired'
1353 - New CLI: 'show ip pim channel'
1354 - Debug Cleanup
1355 - MLAG experimental support
1356 - VRRPd
1357 - VRF Support
1358 - Northbound Conversion- NHRPd
1359 - LDPd
1360 - vtysh
1361 - New CLI: `banner motd line LINE...`
1362 - yang
1363 - New CLI: `show yang operational-data XPATH`
1364 - New CLI: `debug northbound`
1365 - Zebra
1366 - Nexthop Group support
1367 - New CLI: 'debug zebra nexthop [detail]'
1368 - New CLI: 'show router-id'
1369 - MLAG experimental support
1370 - watchfrr
1371 - Additional status messages of system state to systemd
1372 - New CLI: `watchfrr ignore DAEMON`
1373 - Others
1374 - As always all daemons have received too many bug fixes to fully list
1375 - There has been a significant focus on increasing test coverage
1376 - Change in Behavior:
1377 - ISISd
1378 - All areas created default automatically to level-1-2
1379 - Zebra
1380 - Nexthop Group Installation in Kernel is turned on by default
1381 if the kernel supports- New CLI: 'show nexthop-group rib [singleton]'
1382 - Man Pages
1383 - Renamed to frr-* to remove collision with other packages
1384
1385 * Fri Jan 17 2020 Martin Winter <mwinter@opensourcerouting.org> - 7.2.1
1386 - BGPd
1387 - Fix Addpath issue
1388 - Do not apply eBGP policy for iBGP peers
1389 - Show `ip` and `fqdn` in json output for `show [ip] bgp <route> json`
1390 - Fix large route-distinguisher's format
1391 - Fix `no bgp listen range ...` configuration command
1392 - Autocomplete neighbor for clear bgp
1393 - Reflect the distance in RIB when it is changed for an arbitrary afi/safi
1394 - Notify "Peer De-configured" after entering 'no neighbor <neighbor> cmd
1395 - Fix per afi/safi addpath peer counting
1396 - Rework BGP dampening to be per AFI/SAFI
1397 - Do not send next-hop as :: in MP_REACH_NLRI if no link-local exists
1398 - Override peer's TTL only if peer-group is configured with TTL
1399 - Remove error message for unkown afi/safi combination
1400 - Keep the session down if maximum-prefix is reached
1401 - OSPFd
1402 - Fix BFD down not tearing down OSPF adjacency for point-to-point net
1403 - BFDd
1404 - Fix multiple VRF handling
1405 - VRF security improvement
1406 - PIMd
1407 - Fix rp crash
1408 - NHRPd
1409 - Make sure `no ip nhrp map <something>` works as expected
1410 - LDPd
1411 - Add missing sanity check in the parsing of label messages
1412 - Zebra
1413 - Use correct state when installing evpn macs
1414 - Capture dplane plugin flags
1415 - lib
1416 - Fix interface config when vrf changes
1417 - Fix Interface Infinite Loop Walk (for special interfaces such as bond)
1418 - snapcraft
1419 - fix missing vrrpd daemon
1420 - Others
1421 - Rename man pages (to avoid conflicts with other packages)
1422 - Various other fixes for code cleanup and memory leaks
1423
1424 * Fri Dec 27 2019 Donatas Abraitis <donatas.abraitis@gmail.com>
1425 - Add CentOS 8 support
1426
1427 * Tue Oct 15 2019 Martin Winter <mwinter@opensourcerouting.org> - 7.2
1428 - ALL Daemons
1429 - -N <namespace> to allow for config file locating when running FRR inside
1430 of a namespace
1431 - Impoved Testing across all daemons
1432 - BFD
1433 - VRF Support
1434 - Conversion to Northbound interface
1435 - BGP
1436 - Aggregate-address add route-map support
1437 - BMP Support
1438 - Improved JSON output for many commands
1439 - `show bgp afi safi summary failed` command
1440 - `clear bop *` clears all peers
1441 - Show FQDN for `show bgp ipv4 uni` commands
1442 - Display BestPath selection reason as part of show commands
1443 - EIGRP
1444 - Infrastructure changes to allow VRF's
1445 - SIGHUP signals the config reload
1446 - Conversion to Northbound interface
1447 - ISIS
1448 - BFD Support
1449 - Support for circuits with MTU > 8192
1450 - PBRD
1451 - fwmark support as part of match criteria
1452 - autocompletion of PBRMAPS
1453 - Improved Nexthop Support
1454 - PIMD
1455 - PIM-BSM receive support
1456 - Improved debugging support
1457 - Store ECMP paths that are not currently legal for use
1458 - Disallow igmp query from a non-connected source
1459 - Many new cli improvements and changes
1460 - VRRPD
1461 - Add Support for RFC 3768 and RFC 5798
1462 - Route-Maps
1463 - Add sequence numbers to access-lists
1464 - Add `match ip next-hop type blackhole`
1465 - Improved ability to notice dependency changes
1466 - SHARPD
1467 - `sharp watch [import|nexthop]` you can now specify a prefix instead
1468 of assuming a /32
1469 - STATICD
1470 - Significantly Improved NHT
1471 - ZEBRA
1472 - Many dataplane improvements for routes, neighbor table and EVPN
1473 - NHT cli can now be specified per VRF and improved ability to control
1474 NHT data being shown
1475 - Removed duplicate processing of routes
1476 - Improved debugablility
1477 - RMAC and VxLan support for the FPM
1478 - LIB
1479 - RCU support
1480 - Nexthop Group Improvements
1481 - `log-filter WORD` added
1482 - Building
1483 - openssl support
1484 - libcap should be used as part of build or significant slowdowns
1485 will be experienced
1486 - Lua builds have been fixed
1487 - Improved Cross building
1488
1489 * Mon Jun 17 2019 David Lamparter <equinox@opensourcerouting.org> - 7.1
1490 - gRPC northbound plugin
1491 - "table NNN" removed from zebra
1492 - more dataplane MT work
1493 - EVPN in non-default VRFs
1494 - RFC 8212 (default deny policy for eBGP)
1495 - RFC 8106 (IPv6 RA DNS options)
1496
1497 * Wed May 8 2019 Martin Winter <mwinter@opensourcerouting.org> - 7.0.1
1498 - bgp:
1499 - Don't send Updates with BGP Max-Prefix Overflow
1500 - Make sure `next-hop-self all` backward compatible with force
1501 - Fix as-path validation in "show bgp regexp"
1502 - Fix interface-based peers to override peergroups
1503 - Fix removing private AS numbers if local-as is used
1504 - Fix show bgp labeled_unicast
1505 - Add command to lookup prefixes in rpki table
1506 - Fix peer count in "show bgp ipv6 summary"
1507 - Add missing ipv6 only peer flag action
1508 - Fix address family output in "show bgp [ipv4|ipv6] neighbors"
1509 - Add missing checks for vpnv6 nexthops
1510 - Fix nexthop for ipv6 vpn case
1511 - rip: Fix removal of passive interfaces
1512 - ospf:
1513 - Fix json timer output
1514 - Fix milliseconds in json output
1515 - bfd:
1516 - Fix source port according RFC 5881, Sec 4
1517 - Fix IPv6 link-local peer removal
1518 - Fix interface clean up when deleting interface
1519 - pim: Fix interface clean up when deleting interface
1520 - nhrp: Fix interface clean up when deleting interface
1521 - lib:
1522 - Workaround to get FRR building with libyang 0.x and 1.x
1523 - Fix in priv handling
1524 - Make priv elevation thread-safe
1525 - zebra:
1526 - Pseudowire event recovery
1527 - Fix race condition in label manager
1528 - Fix system routes selection and next-hop tracking
1529 - Set connected route metric based on devaddr metric
1530 - Display metric for connected routes
1531 - Add selected fib details to json output
1532 - Always use replace if installing new route
1533 - watchfrr: Silently ignore declare failures (for backward compatibility)
1534 - RPM packages: Switch to new init script
1535
1536 * Thu Feb 28 2019 Martin Winter <mwinter@opensourcerouting.org> - 7.0
1537 - Added libyang dependency: New work for northbound interface based on libyang
1538 - Fabricd: New Daemon based on https://datatracker.ietf.org/doc/draft-white-openfabric/
1539 - various bug fixes and other enhancements
1540
1541 * Sun Oct 7 2018 Martin Winter <mwinter@opensourcerouting.org> - 6.0
1542 - Staticd: New daemon responsible for management of static routes
1543 - ISISd: Implement dst-src routing as per draft-ietf-isis-ipv6-dst-src-routing
1544 - BFDd: new daemon for BFD (Bidrectional Forwarding Detection). Responsible
1545 for notifying link changes to make routing protocols converge faster.
1546 - various bug fixes
1547
1548 * Thu Jul 5 2018 Martin Winter <mwinter@opensourcerouting.org> - 5.0.1
1549 - Support Automake 1.16.1
1550 - BGPd: Support for flowspec ICMP, DSCP, packet length, fragment and tcp flags
1551 - BGPd: fix rpki validation for ipv6
1552 - VRF: Workaround for kernel bug on Linux 4.14 and newer
1553 - Zebra: Fix interface based routes from zebra not marked up
1554 - Zebra: Fix large zebra memory usage when redistribute between protocols
1555 - Zebra: Allow route-maps to match on source instance
1556 - BGPd: Backport peer-attr overrides, peer-level enforce-first-as and filtered-routes fix
1557 - BGPd: fix for crash during display of filtered-routes
1558 - BGPd: Actually display labeled unicast routes received
1559 - Label Manager: Fix to work correctly behind a label manager proxy
1560
1561 * Thu Jun 7 2018 Martin Winter <mwinter@opensourcerouting.org> - 5.0
1562 - PIM: Add a Multicast Trace Command draft-ietf-idmr-traceroute-ipm-05
1563 - IS-IS: Implement Three-Way Handshake as per RFC5303
1564 - BGPD: Implement VPN-VRF route leaking per RFC4364.
1565 - BGPD: Implement VRF with NETNS backend
1566 - BGPD: Flowspec
1567 - PBRD: Add a new Policy Based Routing Daemon
1568
1569 * Mon May 28 2018 Rafael Zalamena <rzalamena@opensourcerouting.org>
1570 - Add BFDd support
1571
1572 * Sun May 20 2018 Martin Winter <mwinter@opensourcerouting.org>
1573 - Fixed RPKI RPM build
1574
1575 * Sun Mar 4 2018 Martin Winter <mwinter@opensourcerouting.org>
1576 - Add option to build with RPKI (default: disabled)
1577
1578 * Tue Feb 20 2018 Martin Winter <mwinter@opensourcerouting.org>
1579 - Adapt to new documentation structure based on Sphinx
1580
1581 * Fri Oct 20 2017 Martin Winter <mwinter@opensourcerouting.org>
1582 - Fix script location for watchfrr restart functions in daemon config
1583 - Fix postun script to restart frr during upgrade
1584
1585 * Mon Jun 5 2017 Martin Winter <mwinter@opensourcerouting.org>
1586 - added NHRP and EIGRP daemon
1587
1588 * Mon Apr 17 2017 Martin Winter <mwinter@opensourcerouting.org>
1589 - new subpackage frr-pythontools with python 2.7 restart script
1590 - remove PIMd from CentOS/RedHat 6 RPM packages (won't work - too old)
1591 - converted to single frr init script (not per daemon) based on debian init script
1592 - created systemd service file for systemd based systems (which uses init script)
1593 - Various other RPM package fixes for FRR 2.0
1594
1595 * Fri Jan 6 2017 Martin Winter <mwinter@opensourcerouting.org>
1596 - Renamed to frr for FRRouting fork of Quagga
1597
1598 * Thu Feb 11 2016 Paul Jakma <paul@jakma.org>
1599 - remove with_ipv6 conditionals, always build v6
1600 - Fix UTF-8 char in spec changelog
1601 - remove quagga.pam.stack, long deprecated.
1602
1603 * Thu Oct 22 2015 Martin Winter <mwinter@opensourcerouting.org>
1604 - Cleanup configure: remove --enable-ipv6 (default now), --enable-nssa,
1605 --enable-netlink
1606 - Remove support for old fedora 4/5
1607 - Fix for package nameing
1608 - Fix Weekdays of previous changelogs (bogus dates)
1609 - Add conditional logic to only build tex footnotes with supported texi2html
1610 - Added pimd to files section and fix double listing of /var/lib*/quagga
1611 - Numerous fixes to unify upstart/systemd startup into same spec file
1612 - Only allow use of watchfrr for non-systemd systems. no need with systemd
1613
1614 * Fri Sep 4 2015 Paul Jakma <paul@jakma.org>
1615 - buildreq updates
1616 - add a default define for with_pimd
1617
1618 * Mon Sep 12 2005 Paul Jakma <paul@dishone.st>
1619 - Steal some changes from Fedora spec file:
1620 - Add with_rtadv variable
1621 - Test for groups/users with getent before group/user adding
1622 - Readline need not be an explicit prerequisite
1623 - install-info delete should be postun, not preun
1624
1625 * Wed Jan 12 2005 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1626 - on package upgrade, implement careful, phased restart logic
1627 - use gcc -rdynamic flag when linking for better backtraces
1628
1629 * Wed Dec 22 2004 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1630 - daemonv6_list should contain only IPv6 daemons
1631
1632 * Wed Dec 22 2004 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1633 - watchfrr added
1634 - on upgrade, all daemons should be condrestart'ed
1635 - on removal, all daemons should be stopped
1636
1637 * Mon Nov 08 2004 Paul Jakma <paul@dishone.st>
1638 - Use makeinfo --html to generate quagga.html
1639
1640 * Sun Nov 07 2004 Paul Jakma <paul@dishone.st>
1641 - Fix with_ipv6 set to 0 build
1642
1643 * Sat Oct 23 2004 Paul Jakma <paul@dishone.st>
1644 - Update to 0.97.2
1645
1646 * Sat Oct 23 2004 Andrew J. Schorr <aschorr@telemetry-investments.com>
1647 - Make directories be owned by the packages concerned
1648 - Update logrotate scripts to use correct path to killall and use pid files
1649
1650 * Fri Oct 08 2004 Paul Jakma <paul@dishone.st>
1651 - Update to 0.97.0
1652
1653 * Wed Sep 15 2004 Paul Jakma <paul@dishone.st>
1654 - build snmp support by default
1655 - build irdp support
1656 - build with shared libs
1657 - devel subpackage for archives and headers
1658
1659 * Thu Jan 08 2004 Paul Jakma <paul@dishone.st>
1660 - updated sysconfig files to specify local dir
1661 - added ospf_dump.c crash quick fix patch
1662 - added ospfd persistent interface configuration patch
1663
1664 * Tue Dec 30 2003 Paul Jakma <paul@dishone.st>
1665 - sync to CVS
1666 - integrate RH sysconfig patch to specify daemon options (RH)
1667 - default to have vty listen only to 127.1 (RH)
1668 - add user with fixed UID/GID (RH)
1669 - create user with shell /sbin/nologin rather than /bin/false (RH)
1670 - stop daemons on uninstall (RH)
1671 - delete info file on preun, not postun to avoid deletion on upgrade. (RH)
1672 - isisd added
1673 - cleanup tasks carried out for every daemon
1674
1675 * Sun Nov 2 2003 Paul Jakma <paul@dishone.st>
1676 - Fix -devel package to include all files
1677 - Sync to 0.96.4
1678
1679 * Tue Aug 12 2003 Paul Jakma <paul@dishone.st>
1680 - Renamed to Quagga
1681 - Sync to Quagga release 0.96
1682
1683 * Thu Mar 20 2003 Paul Jakma <paul@dishone.st>
1684 - zebra privileges support
1685
1686 * Tue Mar 18 2003 Paul Jakma <paul@dishone.st>
1687 - Fix mem leak in 'show thread cpu'
1688 - Ralph Keller's OSPF-API
1689 - Amir: Fix configure.ac for net-snmp
1690
1691 * Sat Mar 1 2003 Paul Jakma <paul@dishone.st>
1692 - ospfd IOS prefix to interface matching for 'network' statement
1693 - temporary fix for PtP and IPv6
1694 - sync to zebra.org CVS
1695
1696 * Mon Jan 20 2003 Paul Jakma <paul@dishone.st>
1697 - update to latest cvs
1698 - Yon's "show thread cpu" patch - 17217
1699 - walk up tree - 17218
1700 - ospfd NSSA fixes - 16681
1701 - ospfd nsm fixes - 16824
1702 - ospfd OLSA fixes and new feature - 16823
1703 - KAME and ifindex fixes - 16525
1704 - spec file changes to allow redhat files to be in tree
1705
1706 * Sat Dec 28 2002 Alexander Hoogerhuis <alexh@ihatent.com>
1707 - Added conditionals for building with(out) IPv6, vtysh, RIP, BGP
1708 - Fixed up some build requirements (patch)
1709 - Added conditional build requirements for vtysh / snmp
1710 - Added conditional to files for _bindir depending on vtysh
1711
1712 * Mon Nov 11 2002 Paul Jakma <paulj@alphyra.ie>
1713 - update to latest CVS
1714 - add Greg Troxel's md5 buffer copy/dup fix
1715 - add RIPv1 fix
1716 - add Frank's multicast flag fix
1717
1718 * Wed Oct 09 2002 Paul Jakma <paulj@alphyra.ie>
1719 - update to latest CVS
1720 - timestamped crypt_seqnum patch
1721 - oi->on_write_q fix
1722
1723 * Mon Sep 30 2002 Paul Jakma <paulj@alphyra.ie>
1724 - update to latest CVS
1725 - add vtysh 'write-config (integrated|daemon)' patch
1726 - always 'make rebuild' in vtysh/ to catch new commands
1727
1728 * Fri Sep 13 2002 Paul Jakma <paulj@alphyra.ie>
1729 - update to 0.93b
1730
1731 * Wed Sep 11 2002 Paul Jakma <paulj@alphyra.ie>
1732 - update to latest CVS
1733 - add "/sbin/ip route flush proto zebra" to zebra RH init on startup
1734
1735 * Sat Aug 24 2002 Paul Jakma <paulj@alphyra.ie>
1736 - update to current CVS
1737 - add OSPF point to multipoint patch
1738 - add OSPF bugfixes
1739 - add BGP hash optimisation patch
1740
1741 * Fri Jun 14 2002 Paul Jakma <paulj@alphyra.ie>
1742 - update to 0.93-pre1 / CVS
1743 - add link state detection support
1744 - add generic PtP and RFC3021 support
1745 - various bug fixes
1746
1747 * Thu Aug 09 2001 Elliot Lee <sopwith@redhat.com> 0.91a-6
1748 - Fix bug #51336
1749
1750 * Wed Aug 1 2001 Trond Eivind Glomsrød <teg@redhat.com> 0.91a-5
1751 - Use generic initscript strings instead of initscript specific
1752 ( "Starting foo: " -> "Starting $prog:" )
1753
1754 * Fri Jul 27 2001 Elliot Lee <sopwith@redhat.com> 0.91a-4
1755 - Bump the release when rebuilding into the dist.
1756
1757 * Tue Feb 6 2001 Tim Powers <timp@redhat.com>
1758 - built for Powertools
1759
1760 * Sun Feb 4 2001 Pekka Savola <pekkas@netcore.fi>
1761 - Hacked up from PLD Linux 0.90-1, Mandrake 0.90-1mdk and one from zebra.org.
1762 - Update to 0.91a
1763 - Very heavy modifications to init.d/*, .spec, pam, i18n, logrotate, etc.
1764 - Should be quite Red Hat'isque now.