diff options
Diffstat (limited to 'encap/tools/daemontools')
-rw-r--r-- | encap/tools/daemontools/Makefile | 67 | ||||
-rw-r--r-- | encap/tools/daemontools/daemontools-0.76.ep | 444 | ||||
-rw-r--r-- | encap/tools/daemontools/daemontools-doc-20060731.ep | 58 | ||||
-rw-r--r-- | encap/tools/daemontools/patch-2.5.9.ep | 54 |
4 files changed, 0 insertions, 623 deletions
diff --git a/encap/tools/daemontools/Makefile b/encap/tools/daemontools/Makefile deleted file mode 100644 index b477f2ba6..000000000 --- a/encap/tools/daemontools/Makefile +++ /dev/null @@ -1,67 +0,0 @@ -# $Id:$ - -.PHONY : all install clean uninstall encaps rename -.SUFFIXES : -.SUFFIXES : .ep .installed .packaged - -BASEDIR = /usr/local -ENCAPDIR = ${BASEDIR}/encap -export ENCAPDIR -EPKG = ${BASEDIR}/bin/epkg -export EPKG -MKENCAP = ${BASEDIR}/bin/mkencap -export MKENCAP - -PATCH = patch-2.5.9 -DAEMONTOOLS = daemontools-0.76 -DAEMONTOOLS-DOC = daemontools-doc-20060731 - -.ep.installed : # Clean, compile and install an encap package - @printf "***** START .ep.installed for |$*| ***** \n" - ( ${EPKG} -q -r ${ENCAPDIR}/$* || true ) - ( rm -rf ${ENCAPDIR}/$* || true ) - ( ${MKENCAP} -m /usr/local/bin/m4 -b -DUP $*.ep || true ) > $*.log 2>&1 - ( ${MKENCAP} -m /usr/local/bin/m4 -b -T $*.ep || true ) >> $*.log 2>&1 - ( ${MKENCAP} -m /usr/local/bin/m4 -b -CBI $*.ep ) >> $*.log 2>&1 - ${EPKG} -q -i ${ENCAPDIR}/$* - test -h ${BASEDIR}/var/encap/$* - touch $*.installed - @printf "***** STOP .ep.installed for |$*| ***** \n" - -.installed.packaged : # Create .tar.gz encap packages for distribution - @printf "***** START .installed.packaged for |$*| ***** \n" - ( rm ${ENCAPDIR}/$*-*.tar.gz || true ) - ( cd ${ENCAPDIR} && ${MKENCAP} -e $* || true ) - cd ${ENCAPDIR} && ${MKENCAP} -c $* - mv ${ENCAPDIR}/$*-encap-*.tar.gz . - touch $*.packaged - @printf "***** STOP .installed.packaged for |$*| ***** \n" - -all : - ( $(MAKE) install > make.log 2>&1 && $(MAKE) encaps >> make.log 2>&1 ) & - -install : ${EPKG} ${MKENCAP} ${DAEMONTOOLS-DOC}.installed - -encaps : ${EPKG} ${MKENCAP} ${DAEMONTOOLS-DOC}.packaged - -rename : encaps - test "$${OS}x" != "x" - for EARCHIVE in `ls *-encap-*.tar.gz`; do \ - mv $${EARCHIVE} `printf $${EARCHIVE} | awk -F- '{$$NF = "OSDIST.tar.gz" ; print}' | sed s:\ :-:g | sed s:OSDIST:\$${OS}:g` ; \ - done - -clean : - ( rm *.log || true ) - ( rm *.packaged || true ) - ( rm *.gz || true ) - ( rm *~ || true ) - -uninstall : clean - ( rm *.installed || true ) - ( ${EPKG} -q -r ${ENCAPDIR}/daemontools* || true ) - ( rm -rf ${ENCAPDIR}/daemontools* || true ) - -${DAEMONTOOLS}.installed : ${PATCH}.installed -${DAEMONTOOLS-DOC}.installed : ${DAEMONTOOLS}.installed - -${DAEMONTOOLS-DOC}.packaged : ${DAEMONTOOLS}.packaged diff --git a/encap/tools/daemontools/daemontools-0.76.ep b/encap/tools/daemontools/daemontools-0.76.ep deleted file mode 100644 index c09b67a72..000000000 --- a/encap/tools/daemontools/daemontools-0.76.ep +++ /dev/null @@ -1,444 +0,0 @@ -<?xml version="1.0"?> - -<!-- $Id$ --> - -<encap_profile - profile_ver="1.0" - pkgspec="daemontools-0.76" -> - -<prereq package="patch-2.5.9" /> -<prereq package="m4-1.4.4" /> - -<environment - variable="CC" - value="gcc" - 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://www.pobox.com/users/dclark/mirror/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> -: -</configure> - -<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> -: -</clean> - -</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.inittab.orig -mv package/boot.rclocal package/boot.inittab.orig -mkdir var 2>/dev/null || exit 1 -mkdir var/svc.d 2>/dev/null || exit 1 -mkdir var/svc.d/svscan 2>/dev/null || exit 1 -mkdir var/svc.d/svscan/log 2>/dev/null || exit 1 -mkdir var/encap 2>/dev/null || exit 1 -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 [ ! -e "/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 - rm -rf ${REALDIR}/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/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/boot.inittab" mode="0644"><![CDATA[ - -SV:2345:respawn:/command/svscan.rc start -SZ:S016:once:/command/svscan.rc stop -]]></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/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> - -<encapinfo> -description daemontools - a collection of tools for managing UNIX services -exclude src -exclude package -</encapinfo> - -</encap_profile> diff --git a/encap/tools/daemontools/daemontools-doc-20060731.ep b/encap/tools/daemontools/daemontools-doc-20060731.ep deleted file mode 100644 index dee918647..000000000 --- a/encap/tools/daemontools/daemontools-doc-20060731.ep +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> - -<!-- $Id$ --> - -<encap_profile - profile_ver="1.0" - pkgspec="daemontools-doc-20060731" -> - -<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" -/> - -<source -url="http://www.pobox.com/users/dclark/mirror/daemontools/daemontools-doc-20060731.tar.gz" - use_objdir="no" -> - -<configure> -: -</configure> - -<build> -: -</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}/share || mkdir ${ENCAP_SOURCE}/${ENCAP_PKGNAME}/share -test -d ${ENCAP_SOURCE}/${ENCAP_PKGNAME}/share/doc || mkdir ${ENCAP_SOURCE}/${ENCAP_PKGNAME}/share/doc -test -d ${ENCAP_SOURCE}/${ENCAP_PKGNAME}/share/doc/daemontools || mkdir ${ENCAP_SOURCE}/${ENCAP_PKGNAME}/share/doc/daemontools -cp -R * ${ENCAP_SOURCE}/${ENCAP_PKGNAME}/share/doc/daemontools -</install> - -<clean> -: -</clean> - -</source> - -<prepackage> -mkdir var 2>/dev/null || exit 0 -mkdir var/encap 2>/dev/null || exit 0 -touch var/encap/${ENCAP_PKGNAME} -</prepackage> - -<encapinfo> -description daemontools-doc - documentation from daemontools websites -</encapinfo> - -</encap_profile> diff --git a/encap/tools/daemontools/patch-2.5.9.ep b/encap/tools/daemontools/patch-2.5.9.ep deleted file mode 100644 index c6e2f6b69..000000000 --- a/encap/tools/daemontools/patch-2.5.9.ep +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0"?> - -<!-- $Id$ --> - -<encap_profile - profile_ver="1.0" - pkgspec="patch-2.5.9" -> - -<prereq package="m4-1.4.4" /> - -<environment - variable="CC" - value="gcc" - 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://www.pobox.com/users/dclark/mirror/patch/patch-2.5.9.tar.gz - ftp://alpha.gnu.org/gnu/diffutils/patch-2.5.9.tar.gz" -> - -</source> - -<prepackage type="set"> -mkdir var 2>/dev/null || exit 0 -mkdir var/encap 2>/dev/null || exit 0 -touch var/encap/${ENCAP_PKGNAME} -</prepackage> - -<encapinfo> -description patch - Apply a diff file to an original -</encapinfo> - -</encap_profile> |