summaryrefslogtreecommitdiffstats
path: root/encap/src/encap-profiles/daemontools-0.76.ep
diff options
context:
space:
mode:
Diffstat (limited to 'encap/src/encap-profiles/daemontools-0.76.ep')
-rw-r--r--encap/src/encap-profiles/daemontools-0.76.ep533
1 files changed, 0 insertions, 533 deletions
diff --git a/encap/src/encap-profiles/daemontools-0.76.ep b/encap/src/encap-profiles/daemontools-0.76.ep
deleted file mode 100644
index 02cc29eda..000000000
--- a/encap/src/encap-profiles/daemontools-0.76.ep
+++ /dev/null
@@ -1,533 +0,0 @@
-<?xml version="1.0"?>
-
-<!-- $Id$ -->
-
-<encap_profile
- profile_ver="1.0"
- pkgspec="daemontools-0.76"
->
-
-<prereq package="m4-1.4.4" />
-<prereq package="patch-2.5.9" />
-
-<environment
- variable="CC"
- value="gcc -static-libgcc"
- type="set"
-/>
-
-<environment
- variable="PATH"
-PLATFORM_IF_MATCH(solaris)
- value="/usr/local/lib/bcfg2/bin:/usr/local/bin:/usr/sfw/bin:/usr/ccs/bin:"
-PLATFORM_ELSE
- value="/usr/local/lib/bcfg2/bin:/usr/local/bin:"
-PLATFORM_ENDIF
- type="prepend"
-/>
-
-PLATFORM_IF_MATCH(linux)
-PLATFORM_ELSE
-<environment
- variable="MAKE"
- value="gmake"
- type="set"
-/>
-PLATFORM_ENDIF
-
-<source
-url="http://encapsrcdist/mirror/daemontools/daemontools-0.76.tar.gz
- http://mirror.opensysadmin.com/daemontools/daemontools-0.76.tar.gz
- http://cr.yp.to/daemontools/daemontools-0.76.tar.gz"
-use_objdir="no"
-subdir="admin/daemontools-0.76"
->
-
-<patch options="-p1"><![CDATA[
-#
-# http://www.gluelogic.com/code/
-#
-diff -ru daemontools-0.76/src/error.h daemontools-0.76.new/src/error.h
---- daemontools-0.76/src/error.h 2001-07-12 12:49:49.000000000 -0400
-+++ daemontools-0.76.new/src/error.h 2004-01-10 06:50:37.000000000 -0500
-@@ -3,7 +3,7 @@
- #ifndef ERROR_H
- #define ERROR_H
-
--extern int errno;
-+#include <errno.h>
-
- extern int error_intr;
- extern int error_nomem;
-diff -ru daemontools-0.76/src/svscan.c daemontools-0.76.new/src/svscan.c
---- daemontools-0.76/src/svscan.c 2001-07-12 12:49:49.000000000 -0400
-+++ daemontools-0.76.new/src/svscan.c 2004-02-08 01:50:27.000000000 -0500
-@@ -1,6 +1,7 @@
- #include <unistd.h>
- #include <sys/types.h>
- #include <sys/stat.h>
-+#include <fcntl.h>
- #include "direntry.h"
- #include "strerr.h"
- #include "error.h"
-@@ -14,6 +15,11 @@
-
- #define SERVICES 1000
-
-+#ifndef SVSCANINFO
-+#define SVSCANINFO ".svscan" /* must begin with dot ('.') */
-+#endif
-+
-+#define INFO "svscan: info: "
- #define WARNING "svscan: warning: "
- #define FATAL "svscan: fatal: "
-
-@@ -38,7 +44,7 @@
- int i;
- const char *args[3];
-
-- if (fn[0] == '.') return;
-+ if (fn[0] == '.' && str_diff(fn,SVSCANINFO)) return;
-
- if (stat(fn,&st) == -1) {
- strerr_warn4(WARNING,"unable to stat ",fn,": ",&strerr_sys);
-@@ -59,7 +65,8 @@
- }
- x[i].ino = st.st_ino;
- x[i].dev = st.st_dev;
-- x[i].pid = 0;
-+ /*(fn[0]=='.' here only if SVSCANINFO; if so only supervise log/ subdir)*/
-+ x[i].pid = (fn[0] != '.') ? 0 : -1;
- x[i].pidlog = 0;
- x[i].flaglog = 0;
-
-@@ -190,12 +197,39 @@
- }
- }
-
-+static void open_svscan_log(void)
-+{
-+ const int i = numx;
-+ struct stat st;
-+ static char fn[] = SVSCANINFO; /* avoid compiler warning on const string */
-+
-+ /* (semi-paranoid; could be moreso) */
-+ if (fstat(STDIN_FILENO,&st) != 0 && errno == EBADF)
-+ (void) open("/dev/null", O_RDONLY);
-+ if (fstat(STDOUT_FILENO,&st) != 0 && errno == EBADF)
-+ (void) open("/dev/null", O_WRONLY);
-+ if (fstat(STDERR_FILENO,&st) != 0 && errno == EBADF)
-+ (void) open("/dev/null", O_WRONLY);
-+
-+ if (stat(fn,&st) == 0) {
-+ start(fn);
-+ if (i+1 == numx && x[i].pidlog != 0) {
-+ (void) dup2(x[i].pi[1], STDOUT_FILENO);
-+ (void) dup2(x[i].pi[1], STDERR_FILENO);
-+ strerr_warn1("",0);
-+ strerr_warn2(INFO,"*** Starting svscan",0);
-+ }
-+ }
-+}
-+
- int main(int argc,char **argv)
- {
- if (argv[0] && argv[1])
- if (chdir(argv[1]) == -1)
- strerr_die4sys(111,FATAL,"unable to chdir to ",argv[1],": ");
-
-+ open_svscan_log();
-+
- for (;;) {
- doit();
- sleep(5);
-
-]]></patch>
-
-<patch options="-p1"><![CDATA[
-# daemontools-0.76.sigq12.patch
-#
-# This patch adds the following signal capabilities to the
-# daemontools-0.76 "svc"/"supervise" utilities:
-#
-# option signal
-# ------ -------
-# svc -q SIGQUIT
-# svc -1 SIGUSR1
-# svc -2 SIGUSR2
-#
-# Apply the patch:
-#
-# # cd /package/admin/daemontools-0.76
-# # patch -p1 < /path/to/this/patch
-#
-# Then (re)compile/(re)install daemontools:
-#
-# # package/install
-#
-# Notes:
-#
-# The SIGUSR1/SIGUSR2 patch originally by Scott Gifford:
-# http://www.suspectclass.com/~sgifford/daemontools/daemontools-0.76-usr12.README
-#
-# We added SIGQUIT for the mathopd web server:
-# http://thedjbway.org/services/mathopd.html
-#
-# wcm, 2004.03.17 - 2004.03.17
-# ===
-diff -ru daemontools-0.76/src/supervise.c daemontools-0.76.sigq12/src/supervise.c
---- daemontools-0.76/src/supervise.c Thu Jul 12 19:49:49 2001
-+++ daemontools-0.76.sigq12/src/supervise.c Wed Mar 17 10:30:25 2004
-@@ -187,6 +187,15 @@
- case 'i':
- if (pid) kill(pid,SIGINT);
- break;
-+ case 'q':
-+ if (pid) kill(pid,SIGQUIT);
-+ break;
-+ case '1':
-+ if (pid) kill(pid,SIGUSR1);
-+ break;
-+ case '2':
-+ if (pid) kill(pid,SIGUSR2);
-+ break;
- case 'p':
- flagpaused = 1;
- announce();
-diff -ru daemontools-0.76/src/svc.c daemontools-0.76.sigq12/src/svc.c
---- daemontools-0.76/src/svc.c Thu Jul 12 19:49:49 2001
-+++ daemontools-0.76.sigq12/src/svc.c Wed Mar 17 10:31:47 2004
-@@ -27,9 +27,9 @@
-
- sig_ignore(sig_pipe);
-
-- while ((opt = getopt(argc,argv,"udopchaitkx")) != opteof)
-+ while ((opt = getopt(argc,argv,"udopchaitkxq12")) != opteof)
- if (opt == '?')
-- strerr_die1x(100,"svc options: u up, d down, o once, x exit, p pause, c continue, h hup, a alarm, i interrupt, t term, k kill");
-+ strerr_die1x(100,"svc options: u up, d down, o once, x exit, p pause, c continue, h hup, a alarm, i interrupt, t term, k kill, q quit, 1 SIGUSR1, 2 SIGUSR2");
- else
- if (datalen < sizeof data)
- if (byte_chr(data,datalen,opt) == datalen)
-
-]]></patch>
-
-<patch options="-p2"><![CDATA[
-diff -ur admin/daemontools-0.76-orig/src/supervise.c admin/daemontools-0.76/src/supervise.c
---- admin/daemontools-0.76-orig/src/supervise.c 2001-07-12 12:49:27.000000000 -0400
-+++ admin/daemontools-0.76/src/supervise.c 2005-12-27 16:15:41.000000000 -0500
-@@ -148,7 +148,6 @@
- pidchange();
- announce();
- if (flagexit) return;
-- if (flagwant && flagwantup) trystart();
- break;
- }
- }
-@@ -165,7 +164,6 @@
- flagwant = 1;
- flagwantup = 1;
- announce();
-- if (!pid) trystart();
- break;
- case 'o':
- flagwant = 0;
-@@ -202,6 +200,8 @@
- announce();
- break;
- }
-+
-+ if (!pid && flagwant && flagwantup) trystart();
- }
- }
-
-]]></patch>
-
-<configure type="unset" />
-
-<build>
-./package/compile
-</build>
-
-<install>
-test -d ${ENCAP_SOURCE} || mkdir ${ENCAP_SOURCE}
-test -d ${ENCAP_SOURCE}/${ENCAP_PKGNAME} || mkdir ${ENCAP_SOURCE}/${ENCAP_PKGNAME}
-test -d ${ENCAP_SOURCE}/${ENCAP_PKGNAME}/bin || mkdir ${ENCAP_SOURCE}/${ENCAP_PKGNAME}/bin
-test -d ${ENCAP_SOURCE}/${ENCAP_PKGNAME}/src || mkdir ${ENCAP_SOURCE}/${ENCAP_PKGNAME}/src
-test -d ${ENCAP_SOURCE}/${ENCAP_PKGNAME}/package || mkdir ${ENCAP_SOURCE}/${ENCAP_PKGNAME}/package
-cp command/* ${ENCAP_SOURCE}/${ENCAP_PKGNAME}/bin
-cp package/run ${ENCAP_SOURCE}/${ENCAP_PKGNAME}/package
-cp package/commands ${ENCAP_SOURCE}/${ENCAP_PKGNAME}/package
-cp package/boot.inittab ${ENCAP_SOURCE}/${ENCAP_PKGNAME}/package
-cp package/boot.rclocal ${ENCAP_SOURCE}/${ENCAP_PKGNAME}/package
-cp package/run.inittab ${ENCAP_SOURCE}/${ENCAP_PKGNAME}/package
-cp package/run.rclocal ${ENCAP_SOURCE}/${ENCAP_PKGNAME}/package
-</install>
-
-<clean type="unset" />
-
-</source>
-
-<prepackage>
-mv package/run package/run.orig
-mv package/run.inittab package/run.inittab.orig
-mv package/boot.inittab package/boot.inittab.orig
-mv package/run.rclocal package/run.rclocal.orig
-mv package/boot.rclocal package/boot.rclocal.orig
-test -d var || mkdir var
-test -d var/svc.d || mkdir var/svc.d
-test -d var/svc.d/svscan || mkdir var/svc.d/svscan
-test -d var/svc.d/svscan/log || mkdir var/svc.d/svscan/log
-# Make "this encap is installed" sentinal file available in /usr/local/var/encap
-test -d var/encap || mkdir var/encap
-touch var/encap/${ENCAP_PKGNAME}
-</prepackage>
-
-<include_file name="var/svc.d/svscan/log/run" mode="0755"><![CDATA[
-#!/bin/sh
-exec 2>&1
-exec /command/multilog t /usr/local/var/multilog/svscan
-]]></include_file>
-
-<include_file name="bin/svrm" mode="0755"><![CDATA[
-#!/bin/sh
-# Remove a daemontools service
-PATH=/command:$PATH
-export PATH
-if [ "${1}x" = "x" -o "${2}x" != "x" ]; then
- printf "Usage: svrm [SERVICE]\n"
- exit 1
-fi
-SERVICE="`basename ${1}`"
-if [ ! -h "/service/$SERVICE" -a ! -f "/service/$SERVICE" ]; then
- printf "Service \"${SERVICE}\" not installed. Installed services:\n"
- svstat /service/*
- exit 1
-else
- cd /service/$SERVICE
- REALDIR=`pwd -P`
- rm /service/$SERVICE
- svc -dx . log
- sleep 1
- test -f ${REALDIR}/supervise/status && rm ${REALDIR}/supervise/status
- test -d ${REALDIR}/supervise && rm -rf ${REALDIR}/supervise
- test -f ${REALDIR}/log/supervise/status && rm ${REALDIR}/log/supervise/status
- test -d ${REALDIR}/log/supervise && rm -rf ${REALDIR}/log/supervise
-fi
-exit 0
-]]></include_file>
-
-<include_file name="bin/svscan.rc" mode="0755"><![CDATA[
-#!/bin/sh
-# svscan.rc - replacement for /command/svscanboot
-# * Combined with .svscan patch, logs svscan to a file
-# * If /service/*/shutdown exists, run it before killing service
-
-PATH=/command:/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
-SERVICES=${2:-"/service"}
-
-exec </dev/null >/dev/null 2>&1
-
-for log_dir in "$SERVICES"/*/log "$SERVICES"/.svscan/log; do
- if [ -d "$log_dir" ] \
- && svok "$log_dir" \
- && svstat "$log_dir" | grep -q ": up"
- then
- svc -ox "$log_dir"
- fi
-done
-
-for service_dir in "$SERVICES"/*; do
- if [ -d "$service_dir" ] \
- && svok "$service_dir" \
- && svstat "$service_dir" | grep -q ": up"
- then
- [ -x "$service_dir"/shutdown ] && "$service_dir"/shutdown
- svc -dx "$service_dir"
- fi
-done
-
-[ "$1" = "start" ] && exec env - PATH=$PATH svscan "$SERVICES"
-]]></include_file>
-
-<include_file name="package/run" mode="0755"><![CDATA[
-#!/bin/sh -e
-
-umask 022
-test -d package || ( echo 'Wrong working directory.'; exit 1 )
-test -d src || ( echo 'Wrong working directory.'; exit 1 )
-
-if test -d /service
-then
- echo '/service exists. I assume that svscan is already running.'
- exit 0
-fi
-
-echo 'Creating /service...'
-mkdir /service
-echo 'Creating symlink /service/.svscan -> /usr/local/var/svc.d/svscan ...'
-ln -s /usr/local/var/svc.d/svscan /service/.svscan
-
-if test -r /etc/inittab
-then
- /command/setlock /etc/inittab package/run.inittab
-else
- /command/setlock /etc/rc.local package/run.rclocal
-fi
-]]></include_file>
-
-<include_file name="package/stop" mode="0755"><![CDATA[
-#!/bin/sh -e
-
-umask 022
-test -d package || ( echo 'Wrong working directory.'; exit 1 )
-test -d src || ( echo 'Wrong working directory.'; exit 1 )
-
-if test -r /etc/inittab
-then
- /command/setlock /etc/inittab package/stop.inittab
-else
- /command/setlock /etc/rc.local package/stop.rclocal
-fi
-
-for SERVICE in `ls /service`; do
- if [ -h /service/$SERVICE ]; then
- printf "INFO: Removing /service/$SERVICE ...\n"
- /command/svrm /service/$SERVICE || true
- fi
-done
-
-if [ -h /service/.svscan ]; then
- printf "INFO: Removing /service/.svscan ...\n"
- (/command/svrm /service/.svscan) && true || true
-fi
-
-if [ -d /service ]; then
- printf "INFO: Removing /service ...\n"
- rmdir /service
-fi
-
-if [ -h /command ]; then
- printf "INFO: Removing /command ...\n"
- rm /command
-fi
-]]></include_file>
-
-<include_file name="package/run.inittab" mode="0755"><![CDATA[
-#!/bin/sh -e
-
-if grep svscan.rc /etc/inittab >/dev/null
-then
- echo 'inittab contains an svscan.rc line. I assume that svscan is already running.
-'
-else
- echo 'Adding svscan.rc to inittab...'
- rm -f /etc/inittab'{new}'
- cat /etc/inittab package/boot.inittab > /etc/inittab'{new}'
- mv -f /etc/inittab'{new}' /etc/inittab
- kill -HUP 1
- echo 'init should start svscan now.'
-fi
-]]></include_file>
-
-<include_file name="package/stop.inittab" mode="0755"><![CDATA[
-#!/bin/sh -e
-
-if grep svscan.rc /etc/inittab >/dev/null
-then
- echo 'Backing up inittab to .inittab.backup...'
- rm -f /etc/.inittab.backup
- cp -f /etc/inittab /etc/.inittab.backup
- echo 'Removing svscan lines from inittab...'
- rm -f /etc/inittab'{new}'
- grep -v svscan /etc/inittab > /etc/inittab'{new}'
- mv -f /etc/inittab'{new}' /etc/inittab
- kill -HUP 1
- echo 'init should stop svscan now.'
-else
- echo 'inittab does not contain an svscan.rc line.
-'
-fi
-]]></include_file>
-
-
-<include_file name="package/boot.inittab" mode="0644"><![CDATA[
-
-SV:2345:respawn:/command/svscan.rc start </dev/null >/tmp/svscan-start.log 2>&1
-SZ:S016:once:/command/svscan.rc stop </dev/null >/tmp/svscan-stop.log 2>&1
-]]></include_file>
-
-<include_file name="package/run.rclocal" mode="0755"><![CDATA[
-#!/bin/sh -e
-
-if grep svscan.rc /etc/rc.local >/dev/null
-then
- echo 'rc.local contains an svscan.rc line. I assume that svscan is already running
-.'
-else
- echo 'Adding svscan.rc to /etc/rc.local...'
- rm -f /etc/rc.local'{new}'
- cat /etc/rc.local package/boot.rclocal > /etc/rc.local'{new}'
- mv -f /etc/rc.local'{new}' /etc/rc.local
- echo 'Reboot now to start svscan.'
-fi
-]]></include_file>
-
-<include_file name="package/stop.rclocal" mode="0755"><![CDATA[
-#!/bin/sh -e
-
-if grep svscan.rc /etc/rc.local >/dev/null
-then
- echo 'Backing up rc.local to .rc.local.backup...'
- rm -f /etc/.rc.local.backup
- cp -f /etc/rc.local /etc/.rc.local.backup
- echo 'Removing svscan lines from /etc/rc.local...'
- rm -f /etc/rc.local'{new}'
- grep -v svscan /etc/rc.local > /etc/rc.local'{new}'
- mv -f /etc/rc.local'{new}' /etc/rc.local
- echo 'Reboot now to stop svscan.'
-else
- echo 'rc.local does not contain an svscan.rc line.
-.'
-fi
-]]></include_file>
-
-<include_file name="package/boot.rclocal" mode="0644"><![CDATA[
-
-csh -cf '/command/svscan.rc start &'
-]]></include_file>
-
-<include_file name="postinstall" mode="0755"><![CDATA[
-#!/bin/sh -e
-umask 002
-BASEDIR="`echo ${0} | xargs -n1 dirname`"
-LOG=${BASEDIR}/postinstall.log
-exec > $LOG 2>&1
-printf "Running daemontools postinstall script...\n"
-date
-test -d /usr/local/var || mkdir /usr/local/var
-test -d /usr/local/var/multilog || mkdir /usr/local/var/multilog
-test -d /usr/local/var/multilog/svscan || mkdir /usr/local/var/multilog/svscan
-test -h /command || ln -s /usr/local/encap/daemontools-0.76/bin /command
-cd /usr/local/encap/daemontools-0.76 && ./package/run
-printf "Finished daemontools postinstall script.\n"
-]]></include_file>
-
-<include_file name="preremove" mode="0755"><![CDATA[
-#!/bin/sh
-
-printf "Running daemontools preremove script...\n"
-date
-
-cd /usr/local/encap/daemontools-0.76 && ./package/stop
-
-printf "Finished daemontools preremove script.\n"
-]]></include_file>
-
-<encapinfo>
-description daemontools - a collection of tools for managing UNIX services
-exclude src
-exclude package
-</encapinfo>
-
-</encap_profile>