Your message dated Sat, 27 Jul 2013 17:18:29 +0000
with message-id <[email protected]>
and subject line Bug#690013: fixed in quagga 0.99.22.1-2
has caused the Debian Bug report #690013,
regarding Add status support to quagga init script
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
690013: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=690013
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: quagga
Version: 0.99.21-3~bpo60+1
Severity: wishlist
Tags: patch


Thanks to /lib/lsb/init-functions it's very easy to add support for status
to /etc/init.d/quagga. This allows using the init script with HA resource
managers like pacemaker. See the very simple attached patch.

-- System Information:
Debian Release: 6.0.5
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable'), (99, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages quagga depends on:
ii  adduser               3.112+nmu2         add and remove users and groups
ii  debconf [debconf-2.0] 1.5.36.1           Debian configuration management sy
ii  iproute               20100519-3         networking and traffic control too
ii  libc6                 2.11.3-3           Embedded GNU C Library: Shared lib
ii  libcap2               1:2.19-3           support for getting/setting POSIX.
ii  libpam0g              1.1.1-6.1+squeeze1 Pluggable Authentication Modules l
ii  libreadline6          6.1-3              GNU readline and history libraries
ii  logrotate             3.7.8-6            Log rotation utility

quagga recommends no packages.

Versions of packages quagga suggests:
ii  snmpd                       5.4.3~dfsg-2 SNMP (Simple Network Management Pr

-- Configuration Files:
/etc/init.d/quagga changed:
. /lib/lsb/init-functions
PATH=/bin:/usr/bin:/sbin:/usr/sbin
D_PATH=/usr/lib/quagga
C_PATH=/etc/quagga
DAEMONS="zebra bgpd ripd ripngd ospfd ospf6d isisd babeld"
pidfile()
{
        echo "/var/run/quagga/$1.pid"
}
started()
{
        [ -e `pidfile $1` ] && kill -0 `cat \`pidfile $1\`` 2> /dev/null && 
return 0
        return 1
}
vtysh_b ()
{
        # Rember, that all variables have been incremented by 1 in 
convert_daemon_prios()
        if [ "$vtysh_enable" = 2 -a -f $C_PATH/Quagga.conf ]; then
                /usr/bin/vtysh -b
        fi
}
check_daemon()
{
        # If the integrated config file is used the others are not checked.
        if [ -r "$C_PATH/Quagga.conf" ]; then
          return 0
        fi 
        # vtysh_enable has no config file nor binary so skip check.
        # (Not sure why vtysh_enable is in this list but does not hurt)
        if [ $1 != "watchquagga" -a $1 != "vtysh_enable" ]; then
          # check for daemon binary
          if [ ! -x "$D_PATH/$1" ]; then return 1; fi
                
          # check for config file                 
          if [ ! -r "$C_PATH/$1.conf" ]; then
            echo -n " (not started without config file)"
            return 1
          fi
        fi
        return 0
}
start()
{
        echo -n " $1"
        if ! check_daemon $1; then return; fi
        start-stop-daemon \
                --start \
                --pidfile=`pidfile $1` \
                --exec "$D_PATH/$1" \
                -- \
                `eval echo "$""$1""_options"`
                
}
stop()
{
    if ! started "$1" ; then
        echo -n " ($1)"
        return 0
    else
        PIDFILE=`pidfile $1`
        PID=`cat $PIDFILE 2>/dev/null`
        start-stop-daemon --stop --quiet --oknodo --exec "$D_PATH/$1"
        #
        #       Now we have to wait until $DAEMON has _really_ stopped.
        #
        if test -n "$PID" && kill -0 $PID 2>/dev/null; then
            echo -n " (waiting) ."
            cnt=0
            while kill -0 $PID 2>/dev/null; do
                cnt=`expr $cnt + 1`
                if [ $cnt -gt 60 ]; then
                    # Waited 120 secs now, fail.
                    echo -n "Failed.. "
                    break
                fi
                sleep 2
                echo -n "."
                done
            fi
        echo -n " $1"
        rm -f `pidfile $1`
    fi
}
convert_daemon_prios()
{
        for name in $DAEMONS zebra vtysh_enable watchquagga_enable; do
          # First, assign the value set by the user to $value 
          eval value=\$$name
          # Daemon not activated or entry missing?
          if [ "$value" = "no" -o "$value" = "" ]; then value=0; fi
          # These strings parsed for backwards compatibility.
          if [ "$value" = "yes"  -o  "$value" = "true" ]; then value=1; fi
          # Zebra is threatened special. It must be between 0=off and the first
      # user assigned value "1" so we increase all other enabled daemons' 
values.
          if [ "$name" != "zebra" -a "$value" -gt 0 ]; then value=`expr 
"$value" + 1`; fi
          # If e.g. name is zebra then we set "zebra=yes".
          eval $name=$value
        done
}
start_watchquagga()
{
    local daemon_name
    local daemon_prio
    local watchlist
    # Start the monitor daemon only if desired.
    if [ 0 -eq "$watchquagga_enable" ]; then
        return
    fi
    # Which daemons have been started?
    for daemon_name in $DAEMONS; do
        eval daemon_prio=\$$daemon_name
        if [ "$daemon_prio" -gt 0 ]; then
            watchlist="$watchlist $daemon_name"
        fi
    done
    # Check if at least one daemon is activated.
    if [ -n "$watchlist" ]; then
      watchquagga_options="$watchquagga_options $watchlist"
      echo -n "Starting Quagga monitor daemon:"
      start watchquagga
      echo "."
    fi
}
stop_watchquagga()
{
    echo -n "Stopping Quagga monitor daemon:"
    stop watchquagga
    echo "."
}
stop_prio() 
{
        local wanted_prio
        local daemon_prio
        local daemon_list
        wanted_prio=$1
        daemon_list=${2:-$DAEMONS}
        echo -n "Stopping Quagga daemons (prio:$wanted_prio):"
        for prio_i in `seq 10 -1 $wanted_prio`; do
            for daemon_name in $daemon_list; do
                eval daemon_prio=\$$daemon_name
                if [ $daemon_prio -eq $prio_i ]; then
                    stop "$daemon_name"
                fi
            done
        done
        echo "."
}
start_prio()
{
        local wanted_prio
        local daemon_prio
        local daemon_list
        
        wanted_prio=$1
        daemon_list=${2:-$DAEMONS}
        echo -n "Starting Quagga daemons (prio:$wanted_prio):"
        for prio_i in `seq 1 $wanted_prio`; do
            for daemon_name in $daemon_list; do
                eval daemon_prio=\$$daemon_name
                if [ $daemon_prio -eq $prio_i ]; then
                    start "$daemon_name"
                fi
            done
        done
        echo "."
}
[ ! -r "$C_PATH/daemons" ] && exit 0
. "$C_PATH/daemons"
. "$C_PATH/debian.conf"
convert_daemon_prios
if [ ! -d /var/run/quagga ]; then
    mkdir -p /var/run/quagga
    chown quagga:quagga /var/run/quagga
    chmod 755 /var/run/quagga
fi
case "$1" in
    start)
        # Try to load this necessary (at least for 2.6) module.
        if [ -d /lib/modules/`uname -r` ] ; then
          echo "Loading capability module if not yet done."
          set +e; LC_ALL=C modprobe -a capability 2>&1 | egrep -v "(not 
found|Can't locate)"; set -e
        fi
        # Start all daemons
        cd $C_PATH/
        start_prio 10 $2
        vtysh_b
        start_watchquagga
        ;;
        
    1|2|3|4|5|6|7|8|9|10)
        # Stop/start daemons for the appropriate priority level
        stop_prio $1
        start_prio $1
        vtysh_b
        ;;
    stop|0)
        # Stop all daemons at level '0' or 'stop'
        stop_watchquagga
        stop_prio 0 $2
        echo "Removing all routes made by zebra."
        ip route flush proto zebra
        ;;
    restart|force-reload)
        $0 stop $2
        sleep 1
        $0 start $2
        ;;
    status)
        status_of_proc -p `pidfile watchquagga` watchquagga Quagga && exit 0 || 
exit $?
        ;;
    *)
        echo "Usage: /etc/init.d/quagga 
{start|stop|restart|force-reload|<priority>} [daemon]"
        echo "       E.g. '/etc/init.d/quagga 5' would start all daemons with a 
prio 1-5."
        echo "       Read /usr/share/doc/quagga/README.Debian for details."
        exit 1
        ;;
esac
exit 0

/etc/quagga/daemons changed:
zebra=yes
bgpd=yes
ospfd=no
ospf6d=no
ripd=no
ripngd=no
isisd=no


-- debconf information:
* quagga/really_stop: true
--- quagga      2012-05-07 05:26:22.000000000 +0800
+++ /etc/init.d/quagga  2012-10-09 08:22:20.912252303 +0800
@@ -13,6 +13,8 @@
 ### END INIT INFO
 #
 
+. /lib/lsb/init-functions
+
 PATH=/bin:/usr/bin:/sbin:/usr/sbin
 D_PATH=/usr/lib/quagga
 C_PATH=/etc/quagga
@@ -282,6 +284,10 @@
        $0 start $2
        ;;
 
+    status)
+        status_of_proc -p `pidfile watchquagga` watchquagga Quagga && exit 0 
|| exit $?
+       ;;
+
     *)
        echo "Usage: /etc/init.d/quagga 
{start|stop|restart|force-reload|<priority>} [daemon]"
        echo "       E.g. '/etc/init.d/quagga 5' would start all daemons with a 
prio 1-5."

--- End Message ---
--- Begin Message ---
Source: quagga
Source-Version: 0.99.22.1-2

We believe that the bug you reported is fixed in the latest version of
quagga, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Christian Hammers <[email protected]> (supplier of updated quagga package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Sat, 27 Jul 2013 16:06:25 +0200
Source: quagga
Binary: quagga quagga-dbg quagga-doc
Architecture: source amd64 all
Version: 0.99.22.1-2
Distribution: unstable
Urgency: low
Maintainer: Christian Hammers <[email protected]>
Changed-By: Christian Hammers <[email protected]>
Description: 
 quagga     - BGP/OSPF/RIP routing daemon
 quagga-dbg - BGP/OSPF/RIP routing daemon (debug symbols)
 quagga-doc - documentation files for quagga
Closes: 681088 687124 690013 694852 710147
Changes: 
 quagga (0.99.22.1-2) unstable; urgency=low
 .
   * Added autopkgtests (thanks to Yolanda Robla). Closes: #710147
   * Added "status" command to init script (thanks to James Andrewartha).
     Closes: #690013
   * Added "libsnmp-dev" to Build-Deps. There not needed for the official
     builds but for people who compile Quagga themselves to activate the
     SNMP feature (which for licence reasons cannot be done by Debian).
     Thanks to Ben Winslow). Closes: #694852
   * Changed watchquagga_options to an array so that quotes can finally
     be used as expected. Closes: #681088
   * Fixed bug that prevented restarting only the watchquagga daemon
     (thanks to Harald Kappe). Closes: #687124
Checksums-Sha1: 
 d65397e36c599a0d6e1ec08104a8da5bde79662c 1484 quagga_0.99.22.1-2.dsc
 c0fcad38a0cf45bfec6c2652c86bb6f3bcb6eb3a 39411 quagga_0.99.22.1-2.debian.tar.gz
 37a0dd81a5d1e72bbc763f99b7c2cedbdfcf17b1 1104560 quagga_0.99.22.1-2_amd64.deb
 149975b3e2bb4aff9dea9f2fc23737ee4365fdb6 1672772 
quagga-dbg_0.99.22.1-2_amd64.deb
 41ae3393632e28a5fd09fdccd3462642ff1d0c69 655914 quagga-doc_0.99.22.1-2_all.deb
Checksums-Sha256: 
 58fec3f21dbf86800d67d9fae83f514b64a188107c59f5c6c2d61a5f8e8c59fc 1484 
quagga_0.99.22.1-2.dsc
 011a7728819cf4e51d91b7be219dc69aafe34f43e204ba99420b4aa6866e6db5 39411 
quagga_0.99.22.1-2.debian.tar.gz
 11d6220173ae927a5b1cbfd56e28ef498f4c55aaec86763365cb82162d41f0ee 1104560 
quagga_0.99.22.1-2_amd64.deb
 79e175638c3c0c15c2e07563c9f13ea375336f9a4b9ecd8a2cb9d25410a76760 1672772 
quagga-dbg_0.99.22.1-2_amd64.deb
 4e4b406443da9661d9a97cfc8d4a2c10d2e97c5c800844e989128e06e023ea44 655914 
quagga-doc_0.99.22.1-2_all.deb
Files: 
 ee396efc5419471ddb001de3f4dda745 1484 net optional quagga_0.99.22.1-2.dsc
 1ae2bb2955fab36ea1ed75099b16a4ba 39411 net optional 
quagga_0.99.22.1-2.debian.tar.gz
 060d828d335950761e8c1a9a34ceb938 1104560 net optional 
quagga_0.99.22.1-2_amd64.deb
 3c84918180865ab8f62cf24bf984fc50 1672772 debug extra 
quagga-dbg_0.99.22.1-2_amd64.deb
 fe7a6c2f4060cf8215626a818f9aae1f 655914 net optional 
quagga-doc_0.99.22.1-2_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.14 (GNU/Linux)

iEYEARECAAYFAlHz/F8ACgkQkR9K5oahGObicgCgjmtglhPEX9fmpo7nzl8JuSSR
qfkAnjawBq+yI46bS9RF61jrK/SIRYh1
=wKCs
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to