From 26a92c11cc3269498611e778b1849b6aa61b63c2 Mon Sep 17 00:00:00 2001 From: Daniel Joseph Barnhart Clark Date: Wed, 2 Aug 2006 03:35:56 +0000 Subject: * reorged tangential tools into tools directory * added ostiary encap git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@2024 ce84e21b-d406-0410-9b95-82705330c041 --- encap/tools/README | 17 ++ encap/tools/daemontools/daemontools-0.76.ep | 292 +++++++++++++++++++++ .../tools/daemontools/daemontools-doc-20060731.ep | 58 ++++ encap/tools/epkg/Makefile | 43 +++ encap/tools/epkg/README | 23 ++ encap/tools/ostiary/ostiary-3.4.ep | 53 ++++ encap/tools/ostiary/ostiary-doc-20060801.ep | 58 ++++ 7 files changed, 544 insertions(+) create mode 100644 encap/tools/README create mode 100644 encap/tools/daemontools/daemontools-0.76.ep create mode 100644 encap/tools/daemontools/daemontools-doc-20060731.ep create mode 100644 encap/tools/epkg/Makefile create mode 100644 encap/tools/epkg/README create mode 100644 encap/tools/ostiary/ostiary-3.4.ep create mode 100644 encap/tools/ostiary/ostiary-doc-20060801.ep (limited to 'encap/tools') diff --git a/encap/tools/README b/encap/tools/README new file mode 100644 index 000000000..3a7ae54a3 --- /dev/null +++ b/encap/tools/README @@ -0,0 +1,17 @@ +daemontools - http://cr.yp.to/daemontools.html +---------------------------------------------- +D. J. Bernstein's daemontools - a collection of tools for managing +UNIX services the same way across all UNIX platforms. May be useful to +set up one-time run of bcfg2 client at startup, or to run ostiary. + +epkg - http://www.encap.org/epkg +-------------------------------- +Mark D. Roth's epkg - an encap pacakage manager. Needed to build the +*.ep and *.sh files, although in most cases epkg binaries for your +platform will already exist. + +ostiary - http://ingles.homeunix.org/software/ost +------------------------------------------------- +Ray Ingles' ostiary - simple, secure remote script execution. May be +useful if you like/are used to being able to kick off a config update +on a config client from a config server, like with cfengine. \ No newline at end of file diff --git a/encap/tools/daemontools/daemontools-0.76.ep b/encap/tools/daemontools/daemontools-0.76.ep new file mode 100644 index 000000000..58ec6988f --- /dev/null +++ b/encap/tools/daemontools/daemontools-0.76.ep @@ -0,0 +1,292 @@ + + + + + + + + + + +PLATFORM_IF_MATCH(linux) +PLATFORM_ELSE + +PLATFORM_ENDIF + + + + + + 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 + #include + #include ++#include + #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); + +]]> + + + + + + +: + + + +./package/compile + + + +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 + + + +: + + + + + +mkdir /usr/local/var 2>/dev/null || exit 0 +mkdir /usr/local/var/svc.d 2>/dev/null || exit 0 +mkdir /usr/local/var/multilog 2>/dev/null || exit 0 +mkdir var 2>/dev/null || exit 0 +mkdir var/encap 2>/dev/null || exit 0 +touch var/encap/${ENCAP_PKGNAME} + + + + + +description daemontools - a collection of tools for managing UNIX services +exclude src +exclude package + + + diff --git a/encap/tools/daemontools/daemontools-doc-20060731.ep b/encap/tools/daemontools/daemontools-doc-20060731.ep new file mode 100644 index 000000000..dee918647 --- /dev/null +++ b/encap/tools/daemontools/daemontools-doc-20060731.ep @@ -0,0 +1,58 @@ + + + + + + + + + + + +: + + + +: + + + +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 + + + +: + + + + + +mkdir var 2>/dev/null || exit 0 +mkdir var/encap 2>/dev/null || exit 0 +touch var/encap/${ENCAP_PKGNAME} + + + +description daemontools-doc - documentation from daemontools websites + + + diff --git a/encap/tools/epkg/Makefile b/encap/tools/epkg/Makefile new file mode 100644 index 000000000..6f4cf7277 --- /dev/null +++ b/encap/tools/epkg/Makefile @@ -0,0 +1,43 @@ +# $Id$ + +.PHONY : all clean distclean install zlib libtar openssl curl fget expat epkg +.SUFFIXES : + +BASEDIR = /usr/local +ENCAPDIR = ${BASEDIR}/encap +PREFIX = /tmp/epkg-static-libs +PATH = ${PREFIX}/bin:/usr/sfw/bin:/usr/ccs/bin:/usr/local/bin:/opt/csw/bin:/usr/sbin:/usr/bin +LDFLAGS = -L${PREFIX}/lib +CPPFLAGS = -I${PREFIX}/include +export PATH LDFLAGS CPPFLAGS + +ZLIB = zlib-1.2.3 +LIBTAR = libtar-1.2.11 +OPENSSL = openssl-0.9.8b +CURL = curl-7.15.4 +FGET = fget-1.3.3 +EXPAT = expat-2.0.0 +EPKG = epkg-2.3.9 + +all: zlib libtar openssl curl fget expat epkg + +zlib: + cd ${ZLIB} && prefix=${PREFIX} CC=gcc ./configure && $(MAKE) && $(MAKE) install + +libtar: + cd ${LIBTAR} && ./configure --disable-encap --disable-epkg-install --prefix=${PREFIX} && $(MAKE) && $(MAKE) install + +openssl: + cd ${OPENSSL} && ./config --prefix=${PREFIX} zlib no-shared && $(MAKE) && $(MAKE) install + +curl: + cd ${CURL} && ./configure --disable-ipv6 --disable-shared --prefix=${PREFIX} && $(MAKE) && $(MAKE) install + +fget: + cd ${FGET} && ./configure --disable-encap --disable-epkg-install --prefix=${PREFIX} && $(MAKE) && $(MAKE) install + +expat: + cd ${EXPAT} && ./configure --disable-shared --prefix=${PREFIX} && $(MAKE) && $(MAKE) install + +epkg: + cd ${EPKG} && ./configure && $(MAKE) && $(MAKE) install \ No newline at end of file diff --git a/encap/tools/epkg/README b/encap/tools/epkg/README new file mode 100644 index 000000000..99355280b --- /dev/null +++ b/encap/tools/epkg/README @@ -0,0 +1,23 @@ +If you can't find an epkg binary compiled with all of the extra +libraries for your platform, you can use this Makefile (which will +probably require a little bit of editing for platforms other than +Solaris/x86 10) to compile it. + +You'll need to manually download the versions of packages you want to +this directory, edit the Makefile to refer to those versions, +decompress/untar the distributions, and then run make (or gmake on +non-GNU platforms) + +All of the software is available from http://www.dclark.us/mirror (or +Google for it). + +Once you have a working epkg distribution, you should: + * cd /usr/local/encap + * mkencap -c epkg-x.y.z + * Rename the tar.gz file with the appropriate encap string + (i.e. mv epkg-x.y.z.tar.gz epkg-x.y.z-encap-i386-solaris10.tar.gz) + * Upload that file to the encap repository at: + http://www.encap.org/search/upload.fcgi + * Update the ticket at http://trac.mcs.anl.gov/projects/bcfg2/ticket/74 + with a quick note stating you've done the encap upload so it can be + mirrored at http://www.dclark.us/mirror/epkg-contrib diff --git a/encap/tools/ostiary/ostiary-3.4.ep b/encap/tools/ostiary/ostiary-3.4.ep new file mode 100644 index 000000000..7630f95fb --- /dev/null +++ b/encap/tools/ostiary/ostiary-3.4.ep @@ -0,0 +1,53 @@ + + + + + + + + + + +PLATFORM_IF_MATCH(linux) +PLATFORM_ELSE + +PLATFORM_ENDIF + + + + + + +mkdir var 2>/dev/null || exit 0 +mkdir var/encap 2>/dev/null || exit 0 +touch var/encap/${ENCAP_PKGNAME} + + + +description Ostiary - Simple, Secure Remote Script Execution + + + diff --git a/encap/tools/ostiary/ostiary-doc-20060801.ep b/encap/tools/ostiary/ostiary-doc-20060801.ep new file mode 100644 index 000000000..3b0251f2e --- /dev/null +++ b/encap/tools/ostiary/ostiary-doc-20060801.ep @@ -0,0 +1,58 @@ + + + + + + + + + + + +: + + + +: + + + +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/ostiary || mkdir ${ENCAP_SOURCE}/${ENCAP_PKGNAME}/share/doc/ostiary +cp * ${ENCAP_SOURCE}/${ENCAP_PKGNAME}/share/doc/ostiary + + + +: + + + + + +mkdir var 2>/dev/null || exit 0 +mkdir var/encap 2>/dev/null || exit 0 +touch var/encap/${ENCAP_PKGNAME} + + + +description ostiary-doc - documentation from ostiary website + + + -- cgit v1.2.3-1-g7c22