* [ptxdist] [PATCH] monit: add new package @ 2014-01-27 10:27 Alexander Dahl 2014-01-27 12:55 ` Alexander Dahl 0 siblings, 1 reply; 4+ messages in thread From: Alexander Dahl @ 2014-01-27 10:27 UTC (permalink / raw) To: ptxdist This adds the system monitoring daemon 'monit'. An init script for busybox init method is included and a generic config file to start with. Signed-off-by: Alexander Dahl <post@lespocky.de> --- generic/etc/init.d/monit | 167 ++++++++++++++++++++++++++++++++++++++++++++++ generic/etc/monitrc | 8 +++ rules/monit-bbinit.in | 9 +++ rules/monit.in | 26 ++++++++ rules/monit.make | 74 ++++++++++++++++++++ 5 files changed, 284 insertions(+) create mode 100644 generic/etc/init.d/monit create mode 100644 generic/etc/monitrc create mode 100644 rules/monit-bbinit.in create mode 100644 rules/monit.in create mode 100644 rules/monit.make diff --git a/generic/etc/init.d/monit b/generic/etc/init.d/monit new file mode 100644 index 0000000..96ec86a --- /dev/null +++ b/generic/etc/init.d/monit @@ -0,0 +1,167 @@ +#!/bin/sh + +PATH=/sbin:/usr/sbin:/bin:/usr/bin +DESC="daemon monitor" +NAME=monit +DAEMON=/usr/bin/$NAME +CONFIG="/etc/monitrc" +PIDFILE=/var/run/$NAME.pid +SCRIPTNAME=/etc/init.d/$NAME +MONIT_OPTS= + +# exit if binary is missing +[ -x "$DAEMON" ] || exit 0 + +monit_check_config() { + # Check for existing config file + if [ ! -f "$CONFIG" ] + then + echo " missing config, please edit $CONFIG." + exit 1 + fi + + # Check for emtpy config + if [ $(grep -cv '^\s*$\|^\s*#' $CONFIG) -eq 0 ] + then + echo " empty config, please edit $CONFIG." + exit 2 + fi + + # Let monit check syntax + if ! $DAEMON -c $CONFIG -t >/dev/null 2>&1 + then + echo " syntax error in $CONFIG" + exit 3 + fi +} + +is_running() { + start-stop-daemon -K --quiet --test --exec $DAEMON \ + --pidfile $PIDFILE +} + +do_start() { + is_running && return 1 + start-stop-daemon -S --quiet --pidfile $PIDFILE --exec $DAEMON -- \ + $MONIT_OPTS || return 2 +} + +do_stop() { + is_running || return 0 + start-stop-daemon -K --quiet --pidfile $PIDFILE --exec $DAEMON + RETVAL="$?" + + # wait up to 30 seconds until daemon stopped + for i in $(seq 30) + do + sleep 1 + echo -n '.' + if ! is_running + then + break + fi + done + + # see if it's still running + if is_running + then + start-stop-daemon -K --quiet --signal KILL --pidfile $PIDFILE \ + --exec $DAEMON + + for i in $(seq 5) + do + sleep 1 + echo -n '.' + if ! is_running + then + break + fi + done + + if is_running + then + return 2 + fi + fi + + rm -f $PIDFILE + return "$RETVAL" +} + +do_reload() { + # monit has an own call for this, no need to send SIGHUP + $DAEMON reload +} + +monit_check_perms() { + # Check the permission on configfile. + # The permission must not have more than -rwx------ (0700) permissions. + + # Skip checking, fix perms instead. + /bin/chmod go-rwx $CONFIG +} + +monit_checks() { + # Check for emtpy configfile + monit_check_config + # Check permissions of configfile + monit_check_perms +} + +case "$1" in + start) + monit_checks + do_start + case "$?" in + 0) ;; + 1) echo "$DESC already running." ;; + *) echo "Starting $DESC failed." ;; + esac + ;; + stop) + echo -n "Stopping $DESC ." + do_stop + case "$?" in + 0|1) echo " Done." ;; + *) echo " Failed." ;; + esac + ;; + reload) + do_reload + ;; + restart|force-reload) + echo -n "Restarting $DESC .." + do_stop + case "$?" in + 0|1) + echo "" + do_start + case "$?" in + 0) ;; + 1) echo " Failed." ;; # Old process still running + *) echo " Failed." ;; # Failed to start + esac + ;; + *) + echo " Failed." # Failed to stop + ;; + esac + ;; + status) + if is_running + then + echo "$NAME is running with PID $(cat $PIDFILE) ..." + else + echo "$NAME is not running" + fi + ;; + syntax) + $DAEMON -c $CONFIG -t + ;; + *) + echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload|status}" >&2 + exit 3 + ;; +esac + +: diff --git a/generic/etc/monitrc b/generic/etc/monitrc new file mode 100644 index 0000000..810b9b4 --- /dev/null +++ b/generic/etc/monitrc @@ -0,0 +1,8 @@ +set daemon 120 +set logfile /var/log/monit.log +set idfile /var/lib/monit/id +set pidfile /var/run/monit.pid +set statefile /var/lib/monit/state +set eventqueue + basedir /var/monit/events + slots 100 diff --git a/rules/monit-bbinit.in b/rules/monit-bbinit.in new file mode 100644 index 0000000..94bf2e9 --- /dev/null +++ b/rules/monit-bbinit.in @@ -0,0 +1,9 @@ +## SECTION=initmethod_bbinit + +config MONIT_BBINIT_LINK + string + depends on MONIT_STARTSCRIPT + prompt "monit" + default "S98monit" + +# vim: ft=kconfig noet tw=72 diff --git a/rules/monit.in b/rules/monit.in new file mode 100644 index 0000000..8d20d22 --- /dev/null +++ b/rules/monit.in @@ -0,0 +1,26 @@ +## SECTION=shell_and_console + +menuconfig MONIT + tristate + prompt "monit " + select OPENSSL if MONIT_SSL + select BUSYBOX_START_STOP_DAEMON if MONIT_STARTSCRIPT + select BUSYBOX_FEATURE_START_STOP_DAEMON_LONG_OPTIONS if MONIT_STARTSCRIPT + help + Utility for managing and monitoring of processes, programs, files, + directories, and filesystems. + +if MONIT + +config MONIT_SSL + bool + prompt "SSL support" + +config MONIT_STARTSCRIPT + bool + prompt "install /etc/init.d/monit" + default y + +endif + +# vim: ft=kconfig noet tw=72 diff --git a/rules/monit.make b/rules/monit.make new file mode 100644 index 0000000..7dbe4f0 --- /dev/null +++ b/rules/monit.make @@ -0,0 +1,74 @@ +# -*-makefile-*- +# +# Copyright (C) 2014 by Alexander Dahl <post@lespocky.de> +# +# See CREDITS for details about who has contributed to this project. +# +# For further information about the PTXdist project and license conditions +# see the README file. +# + +# +# We provide this package +# +PACKAGES-$(PTXCONF_MONIT) += monit + +# +# Paths and names +# +MONIT_VERSION := 5.6 +MONIT_MD5 := 19dfc1ce8512e832134d06eedd96ba50 +MONIT := monit-$(MONIT_VERSION) +MONIT_SUFFIX := tar.gz +MONIT_URL := http://mmonit.com/monit/dist/$(MONIT).$(MONIT_SUFFIX) +MONIT_SOURCE := $(SRCDIR)/$(MONIT).$(MONIT_SUFFIX) +MONIT_DIR := $(BUILDDIR)/$(MONIT) +MONIT_LICENSE := AGPLv3 + +# ---------------------------------------------------------------------------- +# Prepare +# ---------------------------------------------------------------------------- + +MONIT_CONF_ENV := $(CROSS_ENV) \ + libmonit_cv_setjmp_available=yes \ + libmonit_cv_vsnprintf_c99_conformant=yes + +MONIT_CONF_TOOL := autoconf +MONIT_CONF_OPT := $(CROSS_AUTOCONF_USR) \ + --without-pam \ + --enable-optimized \ + --enable-largefile \ + --$(call ptx/wwo, PTXCONF_MONIT_SSL)-ssl \ + --with-ssl-dir=$(SYSROOT)/usr + +# ---------------------------------------------------------------------------- +# Target-Install +# ---------------------------------------------------------------------------- + +$(STATEDIR)/monit.targetinstall: + @$(call targetinfo) + + @$(call install_init, monit) + @$(call install_fixup, monit,PRIORITY,optional) + @$(call install_fixup, monit,SECTION,base) + @$(call install_fixup, monit,AUTHOR,"Alexander Dahl <post@lespocky.de>") + @$(call install_fixup, monit,DESCRIPTION,missing) + + @$(call install_copy, monit, 0, 0, 0755, -, /usr/bin/monit) + @$(call install_copy, monit, 0, 0, 0755, /var/lib/monit) + +ifdef PTXCONF_INITMETHOD_BBINIT +ifdef PTXCONF_MONIT_STARTSCRIPT + @$(call install_alternative, monit, 0, 0, 0755, /etc/init.d/monit) +ifneq ($(call remove_quotes,$(PTXCONF_MONIT_BBINIT_LINK)),) + @$(call install_link, monit, ../init.d/monit, \ + /etc/rc.d/$(PTXCONF_MONIT_BBINIT_LINK)) +endif +endif +endif + + @$(call install_finish, monit) + + @$(call touch) + +# vim: ft=make noet -- 1.7.10.4 -- ptxdist mailing list ptxdist@pengutronix.de ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [ptxdist] [PATCH] monit: add new package 2014-01-27 10:27 [ptxdist] [PATCH] monit: add new package Alexander Dahl @ 2014-01-27 12:55 ` Alexander Dahl 2014-01-27 13:44 ` [ptxdist] [PATCHv2] " Alexander Dahl 0 siblings, 1 reply; 4+ messages in thread From: Alexander Dahl @ 2014-01-27 12:55 UTC (permalink / raw) To: ptxdist Hei hei, I forgot to include the target install rule for the config file. I'll fix this and resubmit the patch. Greets Alex Am 2014-01-27 11:27, schrieb Alexander Dahl: > +# ---------------------------------------------------------------------------- > +# Target-Install > +# ---------------------------------------------------------------------------- > + > +$(STATEDIR)/monit.targetinstall: > + @$(call targetinfo) > + > + @$(call install_init, monit) > + @$(call install_fixup, monit,PRIORITY,optional) > + @$(call install_fixup, monit,SECTION,base) > + @$(call install_fixup, monit,AUTHOR,"Alexander Dahl <post@lespocky.de>") > + @$(call install_fixup, monit,DESCRIPTION,missing) > + > + @$(call install_copy, monit, 0, 0, 0755, -, /usr/bin/monit) > + @$(call install_copy, monit, 0, 0, 0755, /var/lib/monit) > + > +ifdef PTXCONF_INITMETHOD_BBINIT > +ifdef PTXCONF_MONIT_STARTSCRIPT > + @$(call install_alternative, monit, 0, 0, 0755, /etc/init.d/monit) > +ifneq ($(call remove_quotes,$(PTXCONF_MONIT_BBINIT_LINK)),) > + @$(call install_link, monit, ../init.d/monit, \ > + /etc/rc.d/$(PTXCONF_MONIT_BBINIT_LINK)) > +endif > +endif > +endif > + > + @$(call install_finish, monit) > + > + @$(call touch) > + > +# vim: ft=make noet -- »With the first link, the chain is forged. The first speech censured, the first thought forbidden, the first freedom denied, chains us all irrevocably.« (Jean-Luc Picard, quoting Judge Aaron Satie) *** GnuPG-FP: 02C8 A590 7FE5 CA5F 3601 D1D5 8FBA 7744 CC87 10D0 *** -- ptxdist mailing list ptxdist@pengutronix.de ^ permalink raw reply [flat|nested] 4+ messages in thread
* [ptxdist] [PATCHv2] monit: add new package 2014-01-27 12:55 ` Alexander Dahl @ 2014-01-27 13:44 ` Alexander Dahl 2014-01-30 9:02 ` Michael Olbrich 0 siblings, 1 reply; 4+ messages in thread From: Alexander Dahl @ 2014-01-27 13:44 UTC (permalink / raw) To: ptxdist This adds the system monitoring daemon 'monit'. An init script for busybox init method is included and a generic config file to start with. Signed-off-by: Alexander Dahl <post@lespocky.de> --- generic/etc/init.d/monit | 167 ++++++++++++++++++++++++++++++++++++++++++++++ generic/etc/monitrc | 8 +++ rules/monit-bbinit.in | 9 +++ rules/monit.in | 26 ++++++++ rules/monit.make | 76 +++++++++++++++++++++ 5 files changed, 286 insertions(+) create mode 100644 generic/etc/init.d/monit create mode 100644 generic/etc/monitrc create mode 100644 rules/monit-bbinit.in create mode 100644 rules/monit.in create mode 100644 rules/monit.make diff --git a/generic/etc/init.d/monit b/generic/etc/init.d/monit new file mode 100644 index 0000000..96ec86a --- /dev/null +++ b/generic/etc/init.d/monit @@ -0,0 +1,167 @@ +#!/bin/sh + +PATH=/sbin:/usr/sbin:/bin:/usr/bin +DESC="daemon monitor" +NAME=monit +DAEMON=/usr/bin/$NAME +CONFIG="/etc/monitrc" +PIDFILE=/var/run/$NAME.pid +SCRIPTNAME=/etc/init.d/$NAME +MONIT_OPTS= + +# exit if binary is missing +[ -x "$DAEMON" ] || exit 0 + +monit_check_config() { + # Check for existing config file + if [ ! -f "$CONFIG" ] + then + echo " missing config, please edit $CONFIG." + exit 1 + fi + + # Check for emtpy config + if [ $(grep -cv '^\s*$\|^\s*#' $CONFIG) -eq 0 ] + then + echo " empty config, please edit $CONFIG." + exit 2 + fi + + # Let monit check syntax + if ! $DAEMON -c $CONFIG -t >/dev/null 2>&1 + then + echo " syntax error in $CONFIG" + exit 3 + fi +} + +is_running() { + start-stop-daemon -K --quiet --test --exec $DAEMON \ + --pidfile $PIDFILE +} + +do_start() { + is_running && return 1 + start-stop-daemon -S --quiet --pidfile $PIDFILE --exec $DAEMON -- \ + $MONIT_OPTS || return 2 +} + +do_stop() { + is_running || return 0 + start-stop-daemon -K --quiet --pidfile $PIDFILE --exec $DAEMON + RETVAL="$?" + + # wait up to 30 seconds until daemon stopped + for i in $(seq 30) + do + sleep 1 + echo -n '.' + if ! is_running + then + break + fi + done + + # see if it's still running + if is_running + then + start-stop-daemon -K --quiet --signal KILL --pidfile $PIDFILE \ + --exec $DAEMON + + for i in $(seq 5) + do + sleep 1 + echo -n '.' + if ! is_running + then + break + fi + done + + if is_running + then + return 2 + fi + fi + + rm -f $PIDFILE + return "$RETVAL" +} + +do_reload() { + # monit has an own call for this, no need to send SIGHUP + $DAEMON reload +} + +monit_check_perms() { + # Check the permission on configfile. + # The permission must not have more than -rwx------ (0700) permissions. + + # Skip checking, fix perms instead. + /bin/chmod go-rwx $CONFIG +} + +monit_checks() { + # Check for emtpy configfile + monit_check_config + # Check permissions of configfile + monit_check_perms +} + +case "$1" in + start) + monit_checks + do_start + case "$?" in + 0) ;; + 1) echo "$DESC already running." ;; + *) echo "Starting $DESC failed." ;; + esac + ;; + stop) + echo -n "Stopping $DESC ." + do_stop + case "$?" in + 0|1) echo " Done." ;; + *) echo " Failed." ;; + esac + ;; + reload) + do_reload + ;; + restart|force-reload) + echo -n "Restarting $DESC .." + do_stop + case "$?" in + 0|1) + echo "" + do_start + case "$?" in + 0) ;; + 1) echo " Failed." ;; # Old process still running + *) echo " Failed." ;; # Failed to start + esac + ;; + *) + echo " Failed." # Failed to stop + ;; + esac + ;; + status) + if is_running + then + echo "$NAME is running with PID $(cat $PIDFILE) ..." + else + echo "$NAME is not running" + fi + ;; + syntax) + $DAEMON -c $CONFIG -t + ;; + *) + echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload|status}" >&2 + exit 3 + ;; +esac + +: diff --git a/generic/etc/monitrc b/generic/etc/monitrc new file mode 100644 index 0000000..b182058 --- /dev/null +++ b/generic/etc/monitrc @@ -0,0 +1,8 @@ +set daemon 120 +set logfile /var/log/monit.log +set idfile /var/lib/monit/id +set pidfile /var/run/monit.pid +set statefile /var/lib/monit/state +set eventqueue + basedir /var/lib/monit/events + slots 100 diff --git a/rules/monit-bbinit.in b/rules/monit-bbinit.in new file mode 100644 index 0000000..94bf2e9 --- /dev/null +++ b/rules/monit-bbinit.in @@ -0,0 +1,9 @@ +## SECTION=initmethod_bbinit + +config MONIT_BBINIT_LINK + string + depends on MONIT_STARTSCRIPT + prompt "monit" + default "S98monit" + +# vim: ft=kconfig noet tw=72 diff --git a/rules/monit.in b/rules/monit.in new file mode 100644 index 0000000..8d20d22 --- /dev/null +++ b/rules/monit.in @@ -0,0 +1,26 @@ +## SECTION=shell_and_console + +menuconfig MONIT + tristate + prompt "monit " + select OPENSSL if MONIT_SSL + select BUSYBOX_START_STOP_DAEMON if MONIT_STARTSCRIPT + select BUSYBOX_FEATURE_START_STOP_DAEMON_LONG_OPTIONS if MONIT_STARTSCRIPT + help + Utility for managing and monitoring of processes, programs, files, + directories, and filesystems. + +if MONIT + +config MONIT_SSL + bool + prompt "SSL support" + +config MONIT_STARTSCRIPT + bool + prompt "install /etc/init.d/monit" + default y + +endif + +# vim: ft=kconfig noet tw=72 diff --git a/rules/monit.make b/rules/monit.make new file mode 100644 index 0000000..860d115 --- /dev/null +++ b/rules/monit.make @@ -0,0 +1,76 @@ +# -*-makefile-*- +# +# Copyright (C) 2014 by Alexander Dahl <post@lespocky.de> +# +# See CREDITS for details about who has contributed to this project. +# +# For further information about the PTXdist project and license conditions +# see the README file. +# + +# +# We provide this package +# +PACKAGES-$(PTXCONF_MONIT) += monit + +# +# Paths and names +# +MONIT_VERSION := 5.6 +MONIT_MD5 := 19dfc1ce8512e832134d06eedd96ba50 +MONIT := monit-$(MONIT_VERSION) +MONIT_SUFFIX := tar.gz +MONIT_URL := http://mmonit.com/monit/dist/$(MONIT).$(MONIT_SUFFIX) +MONIT_SOURCE := $(SRCDIR)/$(MONIT).$(MONIT_SUFFIX) +MONIT_DIR := $(BUILDDIR)/$(MONIT) +MONIT_LICENSE := AGPLv3 + +# ---------------------------------------------------------------------------- +# Prepare +# ---------------------------------------------------------------------------- + +MONIT_CONF_ENV := $(CROSS_ENV) \ + libmonit_cv_setjmp_available=yes \ + libmonit_cv_vsnprintf_c99_conformant=yes + +MONIT_CONF_TOOL := autoconf +MONIT_CONF_OPT := $(CROSS_AUTOCONF_USR) \ + --without-pam \ + --enable-optimized \ + --enable-largefile \ + --$(call ptx/wwo, PTXCONF_MONIT_SSL)-ssl \ + --with-ssl-dir=$(SYSROOT)/usr + +# ---------------------------------------------------------------------------- +# Target-Install +# ---------------------------------------------------------------------------- + +$(STATEDIR)/monit.targetinstall: + @$(call targetinfo) + + @$(call install_init, monit) + @$(call install_fixup, monit,PRIORITY,optional) + @$(call install_fixup, monit,SECTION,base) + @$(call install_fixup, monit,AUTHOR,"Alexander Dahl <post@lespocky.de>") + @$(call install_fixup, monit,DESCRIPTION,missing) + + @$(call install_copy, monit, 0, 0, 0755, -, /usr/bin/monit) + @$(call install_copy, monit, 0, 0, 0755, /var/lib/monit) + @$(call install_copy, monit, 0, 0, 0755, /var/lib/monit/events) + @$(call install_alternative, monit, 0, 0, 0600, /etc/monitrc) + +ifdef PTXCONF_INITMETHOD_BBINIT +ifdef PTXCONF_MONIT_STARTSCRIPT + @$(call install_alternative, monit, 0, 0, 0755, /etc/init.d/monit) +ifneq ($(call remove_quotes,$(PTXCONF_MONIT_BBINIT_LINK)),) + @$(call install_link, monit, ../init.d/monit, \ + /etc/rc.d/$(PTXCONF_MONIT_BBINIT_LINK)) +endif +endif +endif + + @$(call install_finish, monit) + + @$(call touch) + +# vim: ft=make noet -- 1.7.10.4 -- ptxdist mailing list ptxdist@pengutronix.de ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [ptxdist] [PATCHv2] monit: add new package 2014-01-27 13:44 ` [ptxdist] [PATCHv2] " Alexander Dahl @ 2014-01-30 9:02 ` Michael Olbrich 0 siblings, 0 replies; 4+ messages in thread From: Michael Olbrich @ 2014-01-30 9:02 UTC (permalink / raw) To: ptxdist On Mon, Jan 27, 2014 at 02:44:05PM +0100, Alexander Dahl wrote: > This adds the system monitoring daemon 'monit'. An init script for > busybox init method is included and a generic config file to start with. > > Signed-off-by: Alexander Dahl <post@lespocky.de> Thanks, applied. Michael > --- > generic/etc/init.d/monit | 167 ++++++++++++++++++++++++++++++++++++++++++++++ > generic/etc/monitrc | 8 +++ > rules/monit-bbinit.in | 9 +++ > rules/monit.in | 26 ++++++++ > rules/monit.make | 76 +++++++++++++++++++++ > 5 files changed, 286 insertions(+) > create mode 100644 generic/etc/init.d/monit > create mode 100644 generic/etc/monitrc > create mode 100644 rules/monit-bbinit.in > create mode 100644 rules/monit.in > create mode 100644 rules/monit.make > > diff --git a/generic/etc/init.d/monit b/generic/etc/init.d/monit > new file mode 100644 > index 0000000..96ec86a > --- /dev/null > +++ b/generic/etc/init.d/monit > @@ -0,0 +1,167 @@ > +#!/bin/sh > + > +PATH=/sbin:/usr/sbin:/bin:/usr/bin > +DESC="daemon monitor" > +NAME=monit > +DAEMON=/usr/bin/$NAME > +CONFIG="/etc/monitrc" > +PIDFILE=/var/run/$NAME.pid > +SCRIPTNAME=/etc/init.d/$NAME > +MONIT_OPTS= > + > +# exit if binary is missing > +[ -x "$DAEMON" ] || exit 0 > + > +monit_check_config() { > + # Check for existing config file > + if [ ! -f "$CONFIG" ] > + then > + echo " missing config, please edit $CONFIG." > + exit 1 > + fi > + > + # Check for emtpy config > + if [ $(grep -cv '^\s*$\|^\s*#' $CONFIG) -eq 0 ] > + then > + echo " empty config, please edit $CONFIG." > + exit 2 > + fi > + > + # Let monit check syntax > + if ! $DAEMON -c $CONFIG -t >/dev/null 2>&1 > + then > + echo " syntax error in $CONFIG" > + exit 3 > + fi > +} > + > +is_running() { > + start-stop-daemon -K --quiet --test --exec $DAEMON \ > + --pidfile $PIDFILE > +} > + > +do_start() { > + is_running && return 1 > + start-stop-daemon -S --quiet --pidfile $PIDFILE --exec $DAEMON -- \ > + $MONIT_OPTS || return 2 > +} > + > +do_stop() { > + is_running || return 0 > + start-stop-daemon -K --quiet --pidfile $PIDFILE --exec $DAEMON > + RETVAL="$?" > + > + # wait up to 30 seconds until daemon stopped > + for i in $(seq 30) > + do > + sleep 1 > + echo -n '.' > + if ! is_running > + then > + break > + fi > + done > + > + # see if it's still running > + if is_running > + then > + start-stop-daemon -K --quiet --signal KILL --pidfile $PIDFILE \ > + --exec $DAEMON > + > + for i in $(seq 5) > + do > + sleep 1 > + echo -n '.' > + if ! is_running > + then > + break > + fi > + done > + > + if is_running > + then > + return 2 > + fi > + fi > + > + rm -f $PIDFILE > + return "$RETVAL" > +} > + > +do_reload() { > + # monit has an own call for this, no need to send SIGHUP > + $DAEMON reload > +} > + > +monit_check_perms() { > + # Check the permission on configfile. > + # The permission must not have more than -rwx------ (0700) permissions. > + > + # Skip checking, fix perms instead. > + /bin/chmod go-rwx $CONFIG > +} > + > +monit_checks() { > + # Check for emtpy configfile > + monit_check_config > + # Check permissions of configfile > + monit_check_perms > +} > + > +case "$1" in > + start) > + monit_checks > + do_start > + case "$?" in > + 0) ;; > + 1) echo "$DESC already running." ;; > + *) echo "Starting $DESC failed." ;; > + esac > + ;; > + stop) > + echo -n "Stopping $DESC ." > + do_stop > + case "$?" in > + 0|1) echo " Done." ;; > + *) echo " Failed." ;; > + esac > + ;; > + reload) > + do_reload > + ;; > + restart|force-reload) > + echo -n "Restarting $DESC .." > + do_stop > + case "$?" in > + 0|1) > + echo "" > + do_start > + case "$?" in > + 0) ;; > + 1) echo " Failed." ;; # Old process still running > + *) echo " Failed." ;; # Failed to start > + esac > + ;; > + *) > + echo " Failed." # Failed to stop > + ;; > + esac > + ;; > + status) > + if is_running > + then > + echo "$NAME is running with PID $(cat $PIDFILE) ..." > + else > + echo "$NAME is not running" > + fi > + ;; > + syntax) > + $DAEMON -c $CONFIG -t > + ;; > + *) > + echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload|status}" >&2 > + exit 3 > + ;; > +esac > + > +: > diff --git a/generic/etc/monitrc b/generic/etc/monitrc > new file mode 100644 > index 0000000..b182058 > --- /dev/null > +++ b/generic/etc/monitrc > @@ -0,0 +1,8 @@ > +set daemon 120 > +set logfile /var/log/monit.log > +set idfile /var/lib/monit/id > +set pidfile /var/run/monit.pid > +set statefile /var/lib/monit/state > +set eventqueue > + basedir /var/lib/monit/events > + slots 100 > diff --git a/rules/monit-bbinit.in b/rules/monit-bbinit.in > new file mode 100644 > index 0000000..94bf2e9 > --- /dev/null > +++ b/rules/monit-bbinit.in > @@ -0,0 +1,9 @@ > +## SECTION=initmethod_bbinit > + > +config MONIT_BBINIT_LINK > + string > + depends on MONIT_STARTSCRIPT > + prompt "monit" > + default "S98monit" > + > +# vim: ft=kconfig noet tw=72 > diff --git a/rules/monit.in b/rules/monit.in > new file mode 100644 > index 0000000..8d20d22 > --- /dev/null > +++ b/rules/monit.in > @@ -0,0 +1,26 @@ > +## SECTION=shell_and_console > + > +menuconfig MONIT > + tristate > + prompt "monit " > + select OPENSSL if MONIT_SSL > + select BUSYBOX_START_STOP_DAEMON if MONIT_STARTSCRIPT > + select BUSYBOX_FEATURE_START_STOP_DAEMON_LONG_OPTIONS if MONIT_STARTSCRIPT > + help > + Utility for managing and monitoring of processes, programs, files, > + directories, and filesystems. > + > +if MONIT > + > +config MONIT_SSL > + bool > + prompt "SSL support" > + > +config MONIT_STARTSCRIPT > + bool > + prompt "install /etc/init.d/monit" > + default y > + > +endif > + > +# vim: ft=kconfig noet tw=72 > diff --git a/rules/monit.make b/rules/monit.make > new file mode 100644 > index 0000000..860d115 > --- /dev/null > +++ b/rules/monit.make > @@ -0,0 +1,76 @@ > +# -*-makefile-*- > +# > +# Copyright (C) 2014 by Alexander Dahl <post@lespocky.de> > +# > +# See CREDITS for details about who has contributed to this project. > +# > +# For further information about the PTXdist project and license conditions > +# see the README file. > +# > + > +# > +# We provide this package > +# > +PACKAGES-$(PTXCONF_MONIT) += monit > + > +# > +# Paths and names > +# > +MONIT_VERSION := 5.6 > +MONIT_MD5 := 19dfc1ce8512e832134d06eedd96ba50 > +MONIT := monit-$(MONIT_VERSION) > +MONIT_SUFFIX := tar.gz > +MONIT_URL := http://mmonit.com/monit/dist/$(MONIT).$(MONIT_SUFFIX) > +MONIT_SOURCE := $(SRCDIR)/$(MONIT).$(MONIT_SUFFIX) > +MONIT_DIR := $(BUILDDIR)/$(MONIT) > +MONIT_LICENSE := AGPLv3 > + > +# ---------------------------------------------------------------------------- > +# Prepare > +# ---------------------------------------------------------------------------- > + > +MONIT_CONF_ENV := $(CROSS_ENV) \ > + libmonit_cv_setjmp_available=yes \ > + libmonit_cv_vsnprintf_c99_conformant=yes > + > +MONIT_CONF_TOOL := autoconf > +MONIT_CONF_OPT := $(CROSS_AUTOCONF_USR) \ > + --without-pam \ > + --enable-optimized \ > + --enable-largefile \ > + --$(call ptx/wwo, PTXCONF_MONIT_SSL)-ssl \ > + --with-ssl-dir=$(SYSROOT)/usr > + > +# ---------------------------------------------------------------------------- > +# Target-Install > +# ---------------------------------------------------------------------------- > + > +$(STATEDIR)/monit.targetinstall: > + @$(call targetinfo) > + > + @$(call install_init, monit) > + @$(call install_fixup, monit,PRIORITY,optional) > + @$(call install_fixup, monit,SECTION,base) > + @$(call install_fixup, monit,AUTHOR,"Alexander Dahl <post@lespocky.de>") > + @$(call install_fixup, monit,DESCRIPTION,missing) > + > + @$(call install_copy, monit, 0, 0, 0755, -, /usr/bin/monit) > + @$(call install_copy, monit, 0, 0, 0755, /var/lib/monit) > + @$(call install_copy, monit, 0, 0, 0755, /var/lib/monit/events) > + @$(call install_alternative, monit, 0, 0, 0600, /etc/monitrc) > + > +ifdef PTXCONF_INITMETHOD_BBINIT > +ifdef PTXCONF_MONIT_STARTSCRIPT > + @$(call install_alternative, monit, 0, 0, 0755, /etc/init.d/monit) > +ifneq ($(call remove_quotes,$(PTXCONF_MONIT_BBINIT_LINK)),) > + @$(call install_link, monit, ../init.d/monit, \ > + /etc/rc.d/$(PTXCONF_MONIT_BBINIT_LINK)) > +endif > +endif > +endif > + > + @$(call install_finish, monit) > + > + @$(call touch) > + > +# vim: ft=make noet > -- > 1.7.10.4 > > > -- > ptxdist mailing list > ptxdist@pengutronix.de > -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | -- ptxdist mailing list ptxdist@pengutronix.de ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-01-30 9:02 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2014-01-27 10:27 [ptxdist] [PATCH] monit: add new package Alexander Dahl 2014-01-27 12:55 ` Alexander Dahl 2014-01-27 13:44 ` [ptxdist] [PATCHv2] " Alexander Dahl 2014-01-30 9:02 ` Michael Olbrich
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox