2005-01-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* redhat/quagga.spec.in: Pass --enable-gcc-rdynamic to configure
	  to get gcc to link with -rdynamic for better backtraces.
	  When the rpm is upgraded, the restart logic now works as follows:
	  1. stop watchquagga; 2. stop all routing daemons; 3. restart zebra
	  if it was running; 4. start all routing daemons that were running;
	  and 5. start watchquagga if it was running.
This commit is contained in:
ajs 2005-01-12 16:41:33 +00:00
parent a8a8ddcdd6
commit fc43ecc7ba
2 changed files with 47 additions and 3 deletions

View File

@ -1,3 +1,12 @@
2005-01-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
* redhat/quagga.spec.in: Pass --enable-gcc-rdynamic to configure
to get gcc to link with -rdynamic for better backtraces.
When the rpm is upgraded, the restart logic now works as follows:
1. stop watchquagga; 2. stop all routing daemons; 3. restart zebra
if it was running; 4. start all routing daemons that were running;
and 5. start watchquagga if it was running.
2005-01-07 Paul Jakma <paul@dishone.st>
* configure.ac: Bump version to 0.98.0

View File

@ -177,7 +177,7 @@ developing OSPF-API and quagga applications.
%if %vty_group
--enable-vty-group=%vty_group \
%endif
--enable-netlink
--enable-netlink --enable-gcc-rdynamic
make %{?_smp_mflags} MAKEINFO="makeinfo --no-split"
@ -273,10 +273,41 @@ if [ ! -e %{_sysconfdir}/vtysh.conf ]; then
fi
%postun
if [ "$1" -ge "1" ]; then
if [ "$1" -ge 1 ]; then
# Find out which daemons need to be restarted.
for daemon in %all_daemons ; do
/etc/rc.d/init.d/${daemon} condrestart >/dev/null 2>&1
if [ -f /var/lock/subsys/$daemon ]; then
eval restart_$daemon=yes
else
eval restart_$daemon=no
fi
done
# Rename restart flags for daemons handled specially.
running_zebra="$restart_zebra"
restart_zebra=no
running_watchquagga="$restart_watchquagga"
restart_watchquagga=no
# Stop watchquagga first.
[ "$running_watchquagga" = yes ] && \
/etc/rc.d/init.d/watchquagga stop >/dev/null 2>&1
# Stop all daemons other than zebra and watchquagga.
for daemon in %all_daemons ; do
eval restart=\$restart_${daemon}
[ "$restart" = yes ] && \
/etc/rc.d/init.d/$daemon stop >/dev/null 2>&1
done
# Restart zebra.
[ "$running_zebra" = yes ] && \
/etc/rc.d/init.d/zebra restart >/dev/null 2>&1
# Start all daemons other than zebra and watchquagga.
for daemon in %all_daemons ; do
eval restart=\$restart_${daemon}
[ "$restart" = yes ] && \
/etc/rc.d/init.d/$daemon start >/dev/null 2>&1
done
# Start watchquagga last.
[ "$running_watchquagga" = yes ] && \
/etc/rc.d/init.d/watchquagga start >/dev/null 2>&1
fi
%preun
@ -362,6 +393,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
%changelog
* Wed Jan 12 2005 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
- on package upgrade, implement careful, phased restart logic
- use gcc -rdynamic flag when linking for better backtraces
* Wed Dec 22 2004 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
- daemonv6_list should contain only IPv6 daemons