[Groonga-commit] groonga/groonga [master] split munin package.

Zurück zum Archiv-Index

null+****@clear***** null+****@clear*****
2010年 8月 25日 (水) 12:14:40 JST


Kouhei Sutou	2010-08-25 03:14:40 +0000 (Wed, 25 Aug 2010)

  New Revision: 3b95a79cd49580fa4aa24b023596880ceb896415

  Log:
    split munin package.

  Added files:
    debian/groonga-munin-plugin.conf
    debian/groonga-munin-plugins.postinst
    debian/groonga-munin-plugins.postrm
    debian/groonga.default
    debian/groonga.init
    debian/groonga.logrotate
    debian/groonga.postinst
    debian/groonga.postrm
  Modified files:
    debian/changelog
    debian/control
    debian/rules

  Modified: debian/changelog (+6 -0)
===================================================================
--- debian/changelog    2010-08-25 02:43:24 +0000 (b554716)
+++ debian/changelog    2010-08-25 03:14:40 +0000 (3e4107c)
@@ -1,3 +1,9 @@
+groonga (0.7.6-2) unstable; urgency=low
+
+  * Split packages.
+
+ -- Kouhei Sutou <kou****@clear*****>  Thu, 25 Aug 2010 22:11:14 +0900
+
 groonga (0.7.6) unstable; urgency=low
 
   * New upstream release.

  Modified: debian/control (+10 -0)
===================================================================
--- debian/control    2010-08-25 02:43:24 +0000 (74a3b65)
+++ debian/control    2010-08-25 03:14:40 +0000 (8a5a8a5)
@@ -43,3 +43,13 @@ Description: Documentation of groonga.
  It lets you write high-performance applications that requires fulltext search.
  .
  This package provides documentation of groonga.
+
+Package: groonga-munin-plugins
+Section: net
+Architecture: any
+Depends: ${misc:Depends}, groonga (= ${binary:Version}), munin-node, ruby
+Description: munin-node plugins for groonga.
+ Groonga is an open-source fulltext search engine and column store.
+ It lets you write high-performance applications that requires fulltext search.
+ .
+ This package provides munin-node plugins to monitor groonga.

  Added: debian/groonga-munin-plugin.conf (+9 -0) 100644
===================================================================
--- /dev/null
+++ debian/groonga-munin-plugin.conf    2010-08-25 03:14:40 +0000 (6e06336)
@@ -0,0 +1,9 @@
+[groonga_*]
+  user groonga
+  group groonga
+  env.PATH /usr/bin:/bin:/usr/local/bin
+  env.pid_file /var/run/groonga/groonga.pid
+  env.path /var/lib/groonga/db/db
+  env.host 127.0.0.1
+  env.port 10041
+  env.log_path /var/log/groonga/query.log

  Added: debian/groonga-munin-plugins.postinst (+27 -0) 100755
===================================================================
--- /dev/null
+++ debian/groonga-munin-plugins.postinst    2010-08-25 03:14:40 +0000 (67ccb90)
@@ -0,0 +1,27 @@
+#! /bin/sh
+
+set -e
+
+prevver="$2"
+
+init_plugins() {
+	munin-node-configure --shell --remove-also | \
+		grep -e 'groonga_' | \
+		sh
+	invoke-rc.d munin-node restart
+}
+
+case "$1" in
+        configure)
+		init_plugins
+                ;;
+        abort-upgrade|abort-deconfigure|abort-remove)
+                :
+                ;;
+        *)
+                echo "Called with unknown argument $1, bailing out."
+                exit 1
+                ;;
+esac
+
+#DEBHELPER#

  Added: debian/groonga-munin-plugins.postrm (+10 -0) 100755
===================================================================
--- /dev/null
+++ debian/groonga-munin-plugins.postrm    2010-08-25 03:14:40 +0000 (a63cf42)
@@ -0,0 +1,10 @@
+#! /bin/sh
+
+set -e
+
+if [ "$1" = "purge" ]; then
+	rm /etc/munin/plugins/groonga_* > /dev/null 2>&1
+	invoke-rc.d munin-node restart
+fi
+
+#DEBHELPER#

  Added: debian/groonga.default (+11 -0) 100644
===================================================================
--- /dev/null
+++ debian/groonga.default    2010-08-25 03:14:40 +0000 (c5c13de)
@@ -0,0 +1,11 @@
+# Default
+#USER=groonga
+#GROUP=groonga
+#ADDRESS=127.0.0.1
+#DATABASE=/var/lib/groonga/db/db
+#LOG_PATH=/var/log/groonga/groonga.log
+#QUERY_LOG_PATH=/var/log/groonga/query.log
+#PROTOCOL=gqtp
+
+# Comment out this to disable groonga daemon.
+ENABLE=yes

  Added: debian/groonga.init (+202 -0) 100755
===================================================================
--- /dev/null
+++ debian/groonga.init    2010-08-25 03:14:40 +0000 (0e8ad50)
@@ -0,0 +1,202 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides:          groonga
+# Required-Start:    $local_fs $remote_fs $network $syslog
+# Required-Stop:     $local_fs $remote_fs $network $syslog
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: groonga's init script
+# Description:       groonga is a full-text search engine and column store.
+### END INIT INFO
+
+# Author: Kouhei Sutou <kou****@clear*****>
+
+# Do NOT "set -e"
+
+# PATH should only include /usr/* if it runs after the mountnfs.sh script
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="a full-text search engine and column store"
+NAME=groonga
+DAEMON=/usr/bin/$NAME
+USER=groonga
+GROUP=groonga
+DATABASE=/var/lib/groonga/db/db
+ADDRESS=127.0.0.1
+PROTOCOL=
+LOG_PATH=
+QUERY_LOG_PATH=
+PIDFILE=/var/run/groonga/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+OPTION_ARGS=""
+START_STOP_DAEMON_ARGS=""
+ENABLE="no"
+
+# Exit if the package is not installed
+[ -x "$DAEMON" ] || exit 0
+
+# Read configuration variable file if it is present
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+[ "$ENABLE" = "yes" ] || exit 0
+
+DAEMON_ARGS="-d --pid-path ${PIDFILE}"
+if [ -n "${ADDRESS}" ]; then
+    DAEMON_ARGS="${DAEMON_ARGS} -a ${ADDRESS}"
+fi
+if [ -n "${LOG_PATH}" ]; then
+    DAEMON_ARGS="${DAEMON_ARGS} --log-path ${LOG_PATH}"
+fi
+if [ -n "${QUERY_LOG_PATH}" ]; then
+    DAEMON_ARGS="${DAEMON_ARGS} --query-log-path ${QUERY_LOG_PATH}"
+fi
+if [ -n "${PROTOCOL}" ]; then
+    DAEMON_ARGS="${DAEMON_ARGS} --protocol ${PROTOCOL}"
+fi
+if [ -n "${USER}" ]; then
+    if ! getent passwd | grep -q "^${USER}:"; then
+	echo "$0: user for running groonga doesn't exist: ${USER}" >&2
+	exit 1
+    fi
+    mkdir -p $(dirname ${PIDFILE})
+    chown -R ${USER} $(dirname ${PIDFILE})
+    START_STOP_DAEMON_ARGS="${START_STOP_DAEMON_ARGS} --user ${USER}"
+fi
+if [ -n "${GROUP}" ]; then
+    if ! getent group | grep -q "^${GROUP}:"; then
+	echo "$0: group for running groonga doesn't exist: ${GROUP}" >&2
+	exit 1
+    fi
+    START_STOP_DAEMON_ARGS="${START_STOP_DAEMON_ARGS} --group ${GROUP}"
+fi
+DAEMON_ARGS="${DAEMON_ARGS} ${OPTION_ARGS}"
+
+if [ -z "${DATABASE}" ]; then
+    echo "$0: DATABASE should not be empty" >&2
+    exit 1
+fi
+
+if [ -f "${DATABASE}" ]; then
+    DAEMON_ARGS="${DAEMON_ARGS} ${DATABASE}"
+else
+    mkdir -p $(dirname ${DATABASE})
+    if [ -n "${USER}" ]; then
+	chown -R ${USER} $(dirname ${DATABASE})
+    fi
+    if [ -n "${GROUP}" ]; then
+	chgrp -R ${GROUP} $(dirname ${DATABASE})
+    fi
+    DAEMON_ARGS="${DAEMON_ARGS} -n ${DATABASE}"
+fi
+
+# Load the VERBOSE setting and other rcS variables
+. /lib/init/vars.sh
+
+# Define LSB log_* functions.
+# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
+. /lib/lsb/init-functions
+
+#
+# Function that starts the daemon/service
+#
+do_start()
+{
+    # Return
+    #   0 if daemon has been started
+    #   1 if daemon was already running
+    #   2 if daemon could not be started
+    start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON \
+	${START_STOP_DAEMON_ARGS} --test > /dev/null || return 1
+    start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON \
+	${START_STOP_DAEMON_ARGS} -- $DAEMON_ARGS || return 2
+    # Add code here, if necessary, that waits for the process to be ready
+    # to handle requests from services started subsequently which depend
+    # on this one.  As a last resort, sleep for some time.
+}
+
+#
+# Function that stops the daemon/service
+#
+do_stop()
+{
+    # Return
+    #   0 if daemon has been stopped
+    #   1 if daemon was already stopped
+    #   2 if daemon could not be stopped
+    #   other if a failure occurred
+    start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 \
+	--pidfile $PIDFILE --name $NAME
+    RETVAL="$?"
+    [ "$RETVAL" = 2 ] && return 2
+    # Wait for children to finish too if this is a daemon that forks
+    # and if the daemon is only ever run from this initscript.
+    # If the above conditions are not satisfied then add some other code
+    # that waits for the process to drop all resources that could be
+    # needed by services started subsequently.  A last resort is to
+    # sleep for some time.
+    start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
+    [ "$?" = 2 ] && return 2
+    # Many daemons don't delete their pidfiles when they exit.
+    rm -f $PIDFILE
+    return "$RETVAL"
+}
+
+#
+# Function that sends a SIGHUP to the daemon/service
+#
+do_reload() {
+    #
+    # If the daemon can reload its configuration without
+    # restarting (for example, when it is sent a SIGHUP),
+    # then implement that here.
+    #
+    start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
+    return 0
+}
+
+case "$1" in
+    start)
+	[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
+	do_start
+	case "$?" in
+	    0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+	    2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+	esac
+	;;
+    stop)
+	[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
+	do_stop
+	case "$?" in
+	    0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+	    2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+	esac
+	;;
+    reload|force-reload)
+	log_daemon_msg "Reloading $DESC" "$NAME"
+	do_reload
+	log_end_msg $?
+	;;
+    restart)
+	log_daemon_msg "Restarting $DESC" "$NAME"
+	do_stop
+	case "$?" in
+	    0|1)
+		do_start
+		case "$?" in
+		    0) log_end_msg 0 ;;
+		    1) log_end_msg 1 ;; # Old process is still running
+		    *) log_end_msg 1 ;; # Failed to start
+		esac
+		;;
+	    *)
+	  	# Failed to stop
+		log_end_msg 1
+		;;
+	esac
+	;;
+    *)
+	echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
+	exit 3
+	;;
+esac
+
+:

  Added: debian/groonga.logrotate (+13 -0) 100644
===================================================================
--- /dev/null
+++ debian/groonga.logrotate    2010-08-25 03:14:40 +0000 (2e23756)
@@ -0,0 +1,13 @@
+/var/log/groonga/*.log {
+    daily
+    missingok
+    rotate 30
+    compress
+    delaycompress
+    notifempty
+    create 640 groonga groonga
+    sharedscripts
+    postrotate
+        /usr/bin/groonga -c 127.0.0.1 log_reopen > /dev/null
+    endscript
+}

  Added: debian/groonga.postinst (+38 -0) 100755
===================================================================
--- /dev/null
+++ debian/groonga.postinst    2010-08-25 03:14:40 +0000 (cad2d57)
@@ -0,0 +1,38 @@
+#! /bin/sh
+
+set -e
+
+prevver="$2"
+
+add_system_user() {
+    if ! getent passwd groonga >/dev/null; then
+        adduser --group --system --home /var/lib/groonga groonga
+    fi
+}
+
+fixperms() {
+    dpkg-statoverride --list /var/run/groonga >/dev/null || \
+        dpkg-statoverride --update --add groonga groonga 0755 /var/run/groonga
+    dpkg-statoverride --list /var/lib/groonga >/dev/null || \
+        dpkg-statoverride --update --add groonga groonga 0755 /var/lib/groonga
+    dpkg-statoverride --list /etc/groonga >/dev/null || \
+        dpkg-statoverride --update --add groonga groonga 0755 /etc/groonga
+    dpkg-statoverride --list /var/log/groonga >/dev/null || \
+        dpkg-statoverride --update --add groonga groonga 0755 /var/log/groonga
+}
+
+case "$1" in
+    configure)
+        add_system_user
+        fixperms
+        ;;
+    abort-upgrade|abort-deconfigure|abort-remove)
+        :
+        ;;
+    *)
+        echo "Called with unknown argument $1, bailing out."
+        exit 1
+        ;;
+esac
+
+#DEBHELPER#

  Added: debian/groonga.postrm (+12 -0) 100644
===================================================================
--- /dev/null
+++ debian/groonga.postrm    2010-08-25 03:14:40 +0000 (52db59a)
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+set -e
+
+if [ "$1" = "purge" ]; then
+        rm -f /var/run/milter-manager/*
+        dpkg-statoverride --remove /var/run/milter-manager
+        rm -f /var/spool/postfix/milter-manager/*
+        dpkg-statoverride --remove /var/spool/postfix/milter-manager
+fi
+
+#DEBHELPER#

  Modified: debian/rules (+20 -4)
===================================================================
--- debian/rules    2010-08-25 02:43:24 +0000 (c7a0127)
+++ debian/rules    2010-08-25 03:14:40 +0000 (a27efb2)
@@ -6,8 +6,12 @@ include /usr/share/cdbs/1/class/autotools.mk
 
 DEB_INSTALL_DIRS_groonga =			\
 	/usr/bin				\
-	/usr/share/groonga			\
-	/usr/share/man/man1
+	/usr/share/groonga/admin_html		\
+	/usr/share/man/man1			\
+	/etc/groonga				\
+	/var/run/groonga			\
+	/var/log/groonga			\
+	/var/lib/groonga
 
 DEB_INSTALL_DOCS_groonga-doc =			\
 	doc/ja/html				\
@@ -20,12 +24,18 @@ DEB_INSTALL_DIRS_libgroonga-dev =		\
 	/usr/include/groonga			\
 	/usr/lib/pkgconfig
 
+DEB_INSTALL_DIRS_groonga-munin-plugins =		\
+	/usr/share/munin/plugins			\
+	/etc/munin/plugin-conf.d
+
 install/groonga::
 	cp -ar debian/tmp/usr/bin/* debian/groonga/usr/bin/
-	cp -ar debian/tmp/usr/share/groonga/* \
-	  debian/groonga/usr/share/groonga/
+	cp -ar debian/tmp/usr/share/groonga/admin_html/* \
+	  debian/groonga/usr/share/groonga/admin_html/
 	cp -ar debian/tmp/usr/share/man/man1/* \
 	  debian/groonga/usr/share/man/man1/
+	cp -ar debian/tmp/etc/groonga/* \
+	  debian/groonga/etc/groonga/
 
 install/libgroonga::
 	cp -ar debian/tmp/usr/lib/*groonga* debian/libgroonga/usr/lib/
@@ -35,3 +45,9 @@ install/libgroonga-dev::
 	  debian/libgroonga-dev/usr/include/groonga/
 	cp -ar debian/tmp/usr/lib/pkgconfig/* \
 	  debian/libgroonga-dev/usr/lib/pkgconfig/
+
+install/groonga-munin-plugins::
+	cp -ar debian/groonga-munin-plugin.conf \
+	  debian/groonga-munin-plugins/etc/munin/plugin-conf.d/groonga
+	cp -ar debian/tmp/usr/share/groonga/munin/plugins/* \
+	  debian/groonga-munin-plugins/usr/share/munin/plugins/




Groonga-commit メーリングリストの案内
Zurück zum Archiv-Index