]> git.puffer.fish Git - mirror/frr.git/commitdiff
2005-01-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
authorajs <ajs>
Wed, 12 Jan 2005 16:41:33 +0000 (16:41 +0000)
committerajs <ajs>
Wed, 12 Jan 2005 16:41:33 +0000 (16:41 +0000)
* 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.

ChangeLog
redhat/quagga.spec.in

index 2337d3e1acb6b0266211a87d983f1bd2f3809b72..9d592c12e488ba3be71963ec7ecd5e867a1daee9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
index a2a3ad163176c6bae08afb688c503c5bb51ef7a1..b22ebc57aa644822f954e580ab19cd5b231bff2e 100644 (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