Patchwork [meta-oe] rsyslog: add status command and minor fixes for initscript

login
register
mail settings
Submitter jackie huang
Date April 16, 2014, 9:31 a.m.
Message ID <1397640676-27955-1-git-send-email-jackie.huang@windriver.com>
Download mbox | patch
Permalink /patch/70617/
State Superseded
Headers show

Comments

jackie huang - April 16, 2014, 9:31 a.m.
From: Jackie Huang <jackie.huang@windriver.com>

- add status command
- remove the unsupported option:
  rsyslogd: error: option -c is no longer supported - ignored
- add --oknodo for do_start

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
---
 .../recipes-extended/rsyslog/rsyslog/initscript    |   35 ++++++++++++++++++--
 1 file changed, 32 insertions(+), 3 deletions(-)
ml@communistcode.co.uk - April 16, 2014, 9:46 a.m.
On 16/04/14 10:31, jackie.huang@windriver.com wrote:
> From: Jackie Huang <jackie.huang@windriver.com>
> 
> - add status command
> - remove the unsupported option:
>   rsyslogd: error: option -c is no longer supported - ignored
> - add --oknodo for do_start
> 
> Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
> ---
>  .../recipes-extended/rsyslog/rsyslog/initscript    |   35 ++++++++++++++++++--
>  1 file changed, 32 insertions(+), 3 deletions(-)
> 
> diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/initscript b/meta-oe/recipes-extended/rsyslog/rsyslog/initscript
> index 8dee684..4121434 100644
> --- a/meta-oe/recipes-extended/rsyslog/rsyslog/initscript
> +++ b/meta-oe/recipes-extended/rsyslog/rsyslog/initscript
> @@ -9,7 +9,8 @@ PATH=/sbin:/usr/sbin:/bin:/usr/bin
>  NAME=rsyslog
>  RSYSLOGD=rsyslogd
>  RSYSLOGD_BIN=/usr/sbin/rsyslogd
> -RSYSLOGD_OPTIONS="-c5"
> +# with rsyslog 7, -c is no longer supported
> +RSYSLOGD_OPTIONS=""
>  RSYSLOGD_PIDFILE=/var/run/rsyslogd.pid
>  SCRIPTNAME=/etc/init.d/$NAME
>  # Exit if the package is not installed
> @@ -27,7 +28,10 @@ do_start()
>          # Return
>          #   0 if daemon has been started
>          #   1 if daemon could not be started
> -        start-stop-daemon -S --quiet --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_ARGS || return 1
> +        #   if daemon had already been started, start-stop-daemon will return 1
> +        #   so add -o/--oknodo(if nothing is done, exit 0)
> +        start-stop-daemon -S --quiet --pidfile $PIDFILE --exec $DAEMON \
> +                             --oknodo -- $DAEMON_ARGS || return 1
>  }
>  #
>  # Function that stops the daemon/service
> @@ -56,6 +60,20 @@ do_reload() {
>          start-stop-daemon -K --signal HUP --quiet --pidfile $PIDFILE --name $NAME
>          return 0
>  }
> +
> +do_status() {
> +        NAME=$1
> +        PIDFILE=$2
> +        # -t: test only but not stop
> +        start-stop-daemon -K -t --quiet --pidfile $PIDFILE --name $NAME
> +        # exit with status 0 if process is found
> +        if [ "$?" = "0" ]; then
> +                return 0
> +        else
> +                return 1
> +        fi
> +}
> +
>  case "$1" in
>    start)
>          echo -n "starting $RSYSLOGD ... "
> @@ -82,8 +100,19 @@ case "$1" in
>          $0 stop
>          $0 start
>          ;;
> +  status)
> +        echo -n "status $RSYSLOGD ... "
> +        do_status "$RSYSLOGD" "$RSYSLOGD_PIDFILE"
> +        if [ "$?" = "0" ]; then
> +                echo "running"
> +                exit 0        
> +        else
> +                echo "stopped"
> +                exit 1        
> +        fi
> +        ;;
>    *)
> -        echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
> +        echo "Usage: $SCRIPTNAME {start|stop|status|restart|reload|force-reload}" >&2
>          exit 3
>          ;;
>  esac
> 


Hi Jackie,

I have a patch pending that fixes the rsyslog unsupported option. I
don't know if you want to take that and re-spin a v2 otherwise the patch
will probably fail to apply.

Cheers,
jackie huang - April 17, 2014, 1:51 a.m.
> -----Original Message-----
> From: openembedded-devel-bounces@lists.openembedded.org [mailto:openembedded-devel-
> bounces@lists.openembedded.org] On Behalf Of Jack Mitchell
> Sent: Wednesday, April 16, 2014 5:46 PM
> To: openembedded-devel@lists.openembedded.org
> Subject: Re: [oe] [meta-oe][PATCH] rsyslog: add status command and minor fixes for initscript
> 
> On 16/04/14 10:31, jackie.huang@windriver.com wrote:
> > From: Jackie Huang <jackie.huang@windriver.com>
> >
> > - add status command
> > - remove the unsupported option:
> >   rsyslogd: error: option -c is no longer supported - ignored
> > - add --oknodo for do_start
> >
> > Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
> > ---
> >  .../recipes-extended/rsyslog/rsyslog/initscript    |   35 ++++++++++++++++++--
> >  1 file changed, 32 insertions(+), 3 deletions(-)
> >
> > diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/initscript
> > b/meta-oe/recipes-extended/rsyslog/rsyslog/initscript
> > index 8dee684..4121434 100644
> > --- a/meta-oe/recipes-extended/rsyslog/rsyslog/initscript
> > +++ b/meta-oe/recipes-extended/rsyslog/rsyslog/initscript
> > @@ -9,7 +9,8 @@ PATH=/sbin:/usr/sbin:/bin:/usr/bin
> >  NAME=rsyslog
> >  RSYSLOGD=rsyslogd
> >  RSYSLOGD_BIN=/usr/sbin/rsyslogd
> > -RSYSLOGD_OPTIONS="-c5"
> > +# with rsyslog 7, -c is no longer supported RSYSLOGD_OPTIONS=""
> >  RSYSLOGD_PIDFILE=/var/run/rsyslogd.pid
> >  SCRIPTNAME=/etc/init.d/$NAME
> >  # Exit if the package is not installed @@ -27,7 +28,10 @@ do_start()
> >          # Return
> >          #   0 if daemon has been started
> >          #   1 if daemon could not be started
> > -        start-stop-daemon -S --quiet --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_ARGS || return
> 1
> > +        #   if daemon had already been started, start-stop-daemon will return 1
> > +        #   so add -o/--oknodo(if nothing is done, exit 0)
> > +        start-stop-daemon -S --quiet --pidfile $PIDFILE --exec $DAEMON \
> > +                             --oknodo -- $DAEMON_ARGS || return 1
> >  }
> >  #
> >  # Function that stops the daemon/service @@ -56,6 +60,20 @@
> > do_reload() {
> >          start-stop-daemon -K --signal HUP --quiet --pidfile $PIDFILE --name $NAME
> >          return 0
> >  }
> > +
> > +do_status() {
> > +        NAME=$1
> > +        PIDFILE=$2
> > +        # -t: test only but not stop
> > +        start-stop-daemon -K -t --quiet --pidfile $PIDFILE --name $NAME
> > +        # exit with status 0 if process is found
> > +        if [ "$?" = "0" ]; then
> > +                return 0
> > +        else
> > +                return 1
> > +        fi
> > +}
> > +
> >  case "$1" in
> >    start)
> >          echo -n "starting $RSYSLOGD ... "
> > @@ -82,8 +100,19 @@ case "$1" in
> >          $0 stop
> >          $0 start
> >          ;;
> > +  status)
> > +        echo -n "status $RSYSLOGD ... "
> > +        do_status "$RSYSLOGD" "$RSYSLOGD_PIDFILE"
> > +        if [ "$?" = "0" ]; then
> > +                echo "running"
> > +                exit 0
> > +        else
> > +                echo "stopped"
> > +                exit 1
> > +        fi
> > +        ;;
> >    *)
> > -        echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
> > +        echo "Usage: $SCRIPTNAME
> > + {start|stop|status|restart|reload|force-reload}" >&2
> >          exit 3
> >          ;;
> >  esac
> >
> 
> 
> Hi Jackie,
> 
> I have a patch pending that fixes the rsyslog unsupported option. I don't know if you want to take that
> and re-spin a v2 otherwise the patch will probably fail to apply.

Sorry I didn't notice that, I will take that and re-spin a v2.

Thanks,
Jackie

> 
> Cheers,
> 
> --
>   Jack Mitchell (jack@embed.me.uk)
>   Embedded Systems Engineer
>   Cambridgeshire, UK
>   http://www.embed.me.uk
> --
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
Martin Jansa - April 20, 2014, 2:14 p.m.
On Wed, Apr 16, 2014 at 05:31:16PM +0800, jackie.huang@windriver.com wrote:
> From: Jackie Huang <jackie.huang@windriver.com>
> 
> - add status command
> - remove the unsupported option:
>   rsyslogd: error: option -c is no longer supported - ignored
> - add --oknodo for do_start

Merged, thanks!

> 
> Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
> ---
>  .../recipes-extended/rsyslog/rsyslog/initscript    |   35 ++++++++++++++++++--
>  1 file changed, 32 insertions(+), 3 deletions(-)
> 
> diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/initscript b/meta-oe/recipes-extended/rsyslog/rsyslog/initscript
> index 8dee684..4121434 100644
> --- a/meta-oe/recipes-extended/rsyslog/rsyslog/initscript
> +++ b/meta-oe/recipes-extended/rsyslog/rsyslog/initscript
> @@ -9,7 +9,8 @@ PATH=/sbin:/usr/sbin:/bin:/usr/bin
>  NAME=rsyslog
>  RSYSLOGD=rsyslogd
>  RSYSLOGD_BIN=/usr/sbin/rsyslogd
> -RSYSLOGD_OPTIONS="-c5"
> +# with rsyslog 7, -c is no longer supported
> +RSYSLOGD_OPTIONS=""
>  RSYSLOGD_PIDFILE=/var/run/rsyslogd.pid
>  SCRIPTNAME=/etc/init.d/$NAME
>  # Exit if the package is not installed
> @@ -27,7 +28,10 @@ do_start()
>          # Return
>          #   0 if daemon has been started
>          #   1 if daemon could not be started
> -        start-stop-daemon -S --quiet --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_ARGS || return 1
> +        #   if daemon had already been started, start-stop-daemon will return 1
> +        #   so add -o/--oknodo(if nothing is done, exit 0)
> +        start-stop-daemon -S --quiet --pidfile $PIDFILE --exec $DAEMON \
> +                             --oknodo -- $DAEMON_ARGS || return 1
>  }
>  #
>  # Function that stops the daemon/service
> @@ -56,6 +60,20 @@ do_reload() {
>          start-stop-daemon -K --signal HUP --quiet --pidfile $PIDFILE --name $NAME
>          return 0
>  }
> +
> +do_status() {
> +        NAME=$1
> +        PIDFILE=$2
> +        # -t: test only but not stop
> +        start-stop-daemon -K -t --quiet --pidfile $PIDFILE --name $NAME
> +        # exit with status 0 if process is found
> +        if [ "$?" = "0" ]; then
> +                return 0
> +        else
> +                return 1
> +        fi
> +}
> +
>  case "$1" in
>    start)
>          echo -n "starting $RSYSLOGD ... "
> @@ -82,8 +100,19 @@ case "$1" in
>          $0 stop
>          $0 start
>          ;;
> +  status)
> +        echo -n "status $RSYSLOGD ... "
> +        do_status "$RSYSLOGD" "$RSYSLOGD_PIDFILE"
> +        if [ "$?" = "0" ]; then
> +                echo "running"
> +                exit 0        
> +        else
> +                echo "stopped"
> +                exit 1        
> +        fi
> +        ;;
>    *)
> -        echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
> +        echo "Usage: $SCRIPTNAME {start|stop|status|restart|reload|force-reload}" >&2
>          exit 3
>          ;;
>  esac
> -- 
> 1.7.9.5
> 
> -- 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel

Patch

diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/initscript b/meta-oe/recipes-extended/rsyslog/rsyslog/initscript
index 8dee684..4121434 100644
--- a/meta-oe/recipes-extended/rsyslog/rsyslog/initscript
+++ b/meta-oe/recipes-extended/rsyslog/rsyslog/initscript
@@ -9,7 +9,8 @@  PATH=/sbin:/usr/sbin:/bin:/usr/bin
 NAME=rsyslog
 RSYSLOGD=rsyslogd
 RSYSLOGD_BIN=/usr/sbin/rsyslogd
-RSYSLOGD_OPTIONS="-c5"
+# with rsyslog 7, -c is no longer supported
+RSYSLOGD_OPTIONS=""
 RSYSLOGD_PIDFILE=/var/run/rsyslogd.pid
 SCRIPTNAME=/etc/init.d/$NAME
 # Exit if the package is not installed
@@ -27,7 +28,10 @@  do_start()
         # Return
         #   0 if daemon has been started
         #   1 if daemon could not be started
-        start-stop-daemon -S --quiet --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_ARGS || return 1
+        #   if daemon had already been started, start-stop-daemon will return 1
+        #   so add -o/--oknodo(if nothing is done, exit 0)
+        start-stop-daemon -S --quiet --pidfile $PIDFILE --exec $DAEMON \
+                             --oknodo -- $DAEMON_ARGS || return 1
 }
 #
 # Function that stops the daemon/service
@@ -56,6 +60,20 @@  do_reload() {
         start-stop-daemon -K --signal HUP --quiet --pidfile $PIDFILE --name $NAME
         return 0
 }
+
+do_status() {
+        NAME=$1
+        PIDFILE=$2
+        # -t: test only but not stop
+        start-stop-daemon -K -t --quiet --pidfile $PIDFILE --name $NAME
+        # exit with status 0 if process is found
+        if [ "$?" = "0" ]; then
+                return 0
+        else
+                return 1
+        fi
+}
+
 case "$1" in
   start)
         echo -n "starting $RSYSLOGD ... "
@@ -82,8 +100,19 @@  case "$1" in
         $0 stop
         $0 start
         ;;
+  status)
+        echo -n "status $RSYSLOGD ... "
+        do_status "$RSYSLOGD" "$RSYSLOGD_PIDFILE"
+        if [ "$?" = "0" ]; then
+                echo "running"
+                exit 0        
+        else
+                echo "stopped"
+                exit 1        
+        fi
+        ;;
   *)
-        echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
+        echo "Usage: $SCRIPTNAME {start|stop|status|restart|reload|force-reload}" >&2
         exit 3
         ;;
 esac