Debian init script.
authorAdam Dickmeiss <adam@indexdata.dk>
Mon, 25 Feb 2008 21:01:43 +0000 (21:01 +0000)
committerAdam Dickmeiss <adam@indexdata.dk>
Mon, 25 Feb 2008 21:01:43 +0000 (21:01 +0000)
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
NEWS
debian/metaproxy.default [new file with mode: 0644]
debian/metaproxy.init [new file with mode: 0644]
debian/metaproxy.install
debian/metaproxy.logrotate [new file with mode: 0644]
debian/rules

index 9f9c0d5..fbc3672 100644 (file)
@@ -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 (file)
--- 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 (file)
index 0000000..08ef829
--- /dev/null
@@ -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 (file)
index 0000000..b3672e3
--- /dev/null
@@ -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
index e5bcc40..6c7ccb0 100644 (file)
@@ -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 (file)
index 0000000..ae516f2
--- /dev/null
@@ -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
+}
index 827039e..1ac3f57 100755 (executable)
@@ -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