From 469522298af22990385f58fcdb1740cf5996dc79 Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Mon, 25 Feb 2008 21:01:43 +0000 Subject: [PATCH] Debian init script. Added Debian init script which reads configuration from /etc/metaproxy and stores log file + pid file in standard locations. Log file is log rotated. --- Makefile.am | 5 ++- NEWS | 4 ++- debian/metaproxy.default | 10 ++++++ debian/metaproxy.init | 80 ++++++++++++++++++++++++++++++++++++++++++++ debian/metaproxy.install | 2 +- debian/metaproxy.logrotate | 13 +++++++ debian/rules | 10 +++--- 7 files changed, 116 insertions(+), 8 deletions(-) create mode 100644 debian/metaproxy.default create mode 100644 debian/metaproxy.init create mode 100644 debian/metaproxy.logrotate diff --git a/Makefile.am b/Makefile.am index 9f9c0d5..fbc3672 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,6 +1,6 @@ ## This file is part of Metaproxy ## Copyright (C) 2005-2007, Index Data ApS -## $Id: Makefile.am,v 1.25 2008-02-14 14:25:41 marc Exp $ +## $Id: Makefile.am,v 1.26 2008-02-25 21:01:43 adam Exp $ SUBDIRS = xml src etc doc @@ -24,6 +24,9 @@ dist-hook: cp $(srcdir)/debian/changelog $(distdir)/debian cp $(srcdir)/debian/rules $(distdir)/debian cp $(srcdir)/debian/*.install $(distdir)/debian + cp $(srcdir)/debian/metaproxy.default $(distdir)/debian + cp $(srcdir)/debian/metaproxy.init $(distdir)/debian + cp $(srcdir)/debian/metaproxy.logrotate $(distdir)/debian #cp $(srcdir)/debian/*.manpages $(distdir)/debian #cp $(srcdir)/debian/*.postinst $(distdir)/debian diff --git a/NEWS b/NEWS index fc06ee3..8a88613 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,6 @@ -First Debian package +--- 1.0.13 2008/02/DD + +First Debian package. The sru_z9350 filter now recognizes SRU parameter z-target as being a ZURL of the form host/database . diff --git a/debian/metaproxy.default b/debian/metaproxy.default new file mode 100644 index 0000000..08ef829 --- /dev/null +++ b/debian/metaproxy.default @@ -0,0 +1,10 @@ +# Defaults for metaproxy initscript +# sourced by /etc/init.d/metaproxy +# installed at /etc/default/metaproxy by the maintainer scripts + +# +# This is a POSIX shell fragment +# + +# Additional options that are passed to the Daemon. +DAEMON_OPTS="-D -u nobody -p /var/run/metaproxy.pid -l /var/log/metaproxy.log -c /etc/metaproxy/metaproxy.xml" diff --git a/debian/metaproxy.init b/debian/metaproxy.init new file mode 100644 index 0000000..b3672e3 --- /dev/null +++ b/debian/metaproxy.init @@ -0,0 +1,80 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: metaproxy +# Required-Start: $local_fs $remote_fs $network $named $time +# Required-Stop: $local_fs $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Metaproxy server +# Description: Debian init script for the Metaproxy server +### END INIT INFO + +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/usr/bin/metaproxy +NAME=metaproxy +DESC=metaproxy + +test -x $DAEMON || exit 0 + +# Include metaproxy defaults if available +if [ -f /etc/default/metaproxy ] ; then + . /etc/default/metaproxy +fi + +set -e + +case "$1" in + start) + echo -n "Starting $DESC: " + start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \ + --exec $DAEMON -- $DAEMON_OPTS + echo "$NAME." + ;; + stop) + echo -n "Stopping $DESC: " + start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/$NAME.pid \ + --exec $DAEMON + echo "$NAME." + ;; + #reload) + # + # If the daemon can reload its config files on the fly + # for example by sending it SIGHUP, do it here. + # + # If the daemon responds to changes in its config file + # directly anyway, make this a do-nothing entry. + # + # echo "Reloading $DESC configuration files." + # start-stop-daemon --stop --signal 1 --quiet --pidfile \ + # /var/run/$NAME.pid --exec $DAEMON + #;; + force-reload) + # + # If the "reload" option is implemented, move the "force-reload" + # option to the "reload" entry above. If not, "force-reload" is + # just the same as "restart" except that it does nothing if the + # daemon isn't already running. + # check wether $DAEMON is running. If so, restart + start-stop-daemon --stop --test --quiet --pidfile \ + /var/run/$NAME.pid --exec $DAEMON \ + && $0 restart \ + || exit 0 + ;; + restart) + echo -n "Restarting $DESC: " + start-stop-daemon --stop --quiet --oknodo --pidfile \ + /var/run/$NAME.pid --exec $DAEMON + sleep 1 + start-stop-daemon --start --quiet --pidfile \ + /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS + echo "$NAME." + ;; + *) + N=/etc/init.d/$NAME + # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 + echo "Usage: $N {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/debian/metaproxy.install b/debian/metaproxy.install index e5bcc40..6c7ccb0 100644 --- a/debian/metaproxy.install +++ b/debian/metaproxy.install @@ -1,4 +1,4 @@ -debian/tmp/etc/metaproxy.conf +debian/tmp/etc/metaproxy/metaproxy.xml debian/tmp/usr/bin/metaproxy debian/tmp/usr/share/man/man1/* debian/tmp/usr/share/man/man3/* diff --git a/debian/metaproxy.logrotate b/debian/metaproxy.logrotate new file mode 100644 index 0000000..ae516f2 --- /dev/null +++ b/debian/metaproxy.logrotate @@ -0,0 +1,13 @@ +/var/log/metaproxy.log { + weekly + missingok + rotate 4 + compress + delaycompress + notifempty + postrotate + if [ -f /var/run/metaproxy.pid ]; then + /etc/init.d/metaproxy force-reload > /dev/null + fi + endscript +} diff --git a/debian/rules b/debian/rules index 827039e..1ac3f57 100755 --- a/debian/rules +++ b/debian/rules @@ -30,7 +30,7 @@ endif config.status: configure dh_testdir # Add here commands to configure the package. - CFLAGS="$(CFLAGS)" ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man + CFLAGS="$(CFLAGS)" ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --with-yazpp=/usr/bin #--infodir=\$${prefix}/share/info --enable-shared --enable-static --with-xslt @@ -82,16 +82,16 @@ binary-arch: build install dh_installchangelogs dh_installexamples mv debian/tmp/usr/share/doc/metaproxy debian/tmp/usr/share/doc/metaproxy-doc - mkdir debian/tmp/etc - cp debian/tmp/usr/share/metaproxy/etc/config1.xml debian/tmp/etc/metaproxy.conf + mkdir -p debian/tmp/etc/metaproxy + cp debian/tmp/usr/share/metaproxy/etc/config1.xml debian/tmp/etc/metaproxy/metaproxy.xml dh_install # dh_installmenu # dh_installdebconf -# dh_installlogrotate + dh_installlogrotate # dh_installemacsen # dh_installpam # dh_installmime -# dh_installinit + dh_installinit # dh_installcron # dh_installinfo dh_installman -- 1.7.10.4