Skip to Content.
Sympa Menu

sm-commit - [SM-Commit] GIT changes to master grimoire by Elisamuel Resto (796210c0ae38300404c9ac74b2e3e1f1bd34157f)

sm-commit AT lists.ibiblio.org

Subject: Source Mage code commit list

List archive

Chronological Thread  
  • From: Elisamuel Resto <scm AT sourcemage.org>
  • To: sm-commit AT lists.ibiblio.org
  • Subject: [SM-Commit] GIT changes to master grimoire by Elisamuel Resto (796210c0ae38300404c9ac74b2e3e1f1bd34157f)
  • Date: Sat, 26 Jul 2008 12:19:45 -0500

GIT changes to master grimoire by Elisamuel Resto <ryuji AT sourcemage.org>:

ChangeLog | 6 +
doc/gnochm/DEPENDS | 5
doc/gnochm/DETAILS | 5
doc/gnochm/HISTORY | 4
mail/qmail/BUILD | 8 +
mail/qmail/CONFIGURE | 3
mail/qmail/CONFLICTS | 4
mail/qmail/DEPENDS | 1
mail/qmail/DETAILS | 51 ++++++++
mail/qmail/HISTORY | 14 ++
mail/qmail/INSTALL | 16 ++
mail/qmail/PRE_BUILD | 33 +++++
mail/qmail/PROVIDES | 2
mail/qmail/init.d/qmail | 32 +++++
mail/qmail/patches/local-bind | 170
+++++++++++++++++++++++++++++
mail/qmail/patches/qmail-dns-patch | 63 ++++++++++
mail/qmail/patches/qmailqueue-patch | 72 ++++++++++++
mail/qmail/xinetd.d/qmail-smtpd | 11 +
net/dhcp/DETAILS | 2
net/dhcp/HISTORY | 3
net/djbdns/BUILD | 3
net/djbdns/DEPENDS | 2
net/djbdns/DETAILS | 35 +++++
net/djbdns/FINAL | 4
net/djbdns/HISTORY | 25 ++++
net/djbdns/INSTALL | 1
net/ucspi-tcp/BUILD | 4
net/ucspi-tcp/DETAILS | 32 +++++
net/ucspi-tcp/HISTORY | 30 +++++
net/ucspi-tcp/INSTALL | 5
net/ucspi-tcp/PRE_BUILD | 5
net/ucspi-tcp/maketcprules | 13 ++
net/ucspi-tcp/ucspi-tcp-docs.tar.gz |binary
utils/daemontools/BUILD | 6 +
utils/daemontools/CONFIGURE | 16 ++
utils/daemontools/DETAILS | 28 ++++
utils/daemontools/FINAL | 19 +++
utils/daemontools/HISTORY | 68 +++++++++++
utils/daemontools/INSTALL | 18 +++
utils/daemontools/POST_REMOVE | 4
utils/daemontools/POST_RESURRECT | 1
utils/daemontools/PRE_BUILD | 9 +
utils/daemontools/daemontools-docs.tar.bz2 |binary
utils/daemontools/init.d/svscan | 88 +++++++++++++++
44 files changed, 915 insertions(+), 6 deletions(-)

New commits:
commit 796210c0ae38300404c9ac74b2e3e1f1bd34157f
Author: Elisamuel Resto <ryuji AT sourcemage.org>
Commit: Elisamuel Resto <ryuji AT sourcemage.org>

mail/qmail: moved from z-rejected, LICENSE is now PublicDomain

commit f186def94e615b2db9291a7027b35daf94e80709
Author: Elisamuel Resto <ryuji AT sourcemage.org>
Commit: Elisamuel Resto <ryuji AT sourcemage.org>

utils/daemontools: moved from z-rejected, LICENSE is now PublicDomain

commit 9c8c8a131a24851c7b196346ed8ea739912d8d82
Author: Elisamuel Resto <ryuji AT sourcemage.org>
Commit: Elisamuel Resto <ryuji AT sourcemage.org>

net/ucspi-tcp: moved from z-rejected, LICENSE is now PublicDomain;
WEB_SITE updated

commit 395c86a46bc4122f009e8c7be9f586edc283d732
Author: Elisamuel Resto <ryuji AT sourcemage.org>
Commit: Elisamuel Resto <ryuji AT sourcemage.org>

net/djbdns: moved from z-rejected, LICENSE is now PublicDomain
REJECT removed, LICENSE[0]=PublicDomain, WEB_SITE changed
SHORT and LONG descriptions updated in DETAILS

commit bb3e2c0de2e6f7912eb62a1cc8d01ad031bb6487
Author: Elisamuel Resto <ryuji AT sourcemage.org>
Commit: Elisamuel Resto <ryuji AT sourcemage.org>

net/dhcp: updated version to 3.1.1

commit 7034ccfc1284e4292f3ee41f18d521784126f2e2
Author: Elisamuel Resto <ryuji AT sourcemage.org>
Commit: Elisamuel Resto <ryuji AT sourcemage.org>

doc/gnochm: updated version to 0.9.11

diff --git a/ChangeLog b/ChangeLog
index 4c256d9..1354c21 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+2008-07-26 Elisamuel Resto <ryuji AT sourcemage.org>
+ * mail/qmail: moved from z-rejected, LICENSE is now PublicDomain
+
2008-07-26 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
* graphics/geeqie: new spell, an image viewer forked from gqview

@@ -35,6 +38,9 @@
for Xapian.
* utils/xapian-omega: new spell, an application built on Xapian,
consisting
of indexers and a CGI search frontend.
+ * net/djbdns: moved from z-rejected, LICENSE is now PublicDomain
+ * net/ucspi-tcp: moved from z-rejected, LICENSE is now PublicDomain
+ * utils/daemontools: moved from z-rejected, LICENSE is now
PublicDomain

2008-07-18 Alexander Tsamutali <astsmtl AT gmail.com>
* http/conkeror: new spell, highly-programmable web browser based on
diff --git a/doc/gnochm/DEPENDS b/doc/gnochm/DEPENDS
index 4863232..33dc64d 100755
--- a/doc/gnochm/DEPENDS
+++ b/doc/gnochm/DEPENDS
@@ -1,2 +1,3 @@
-depends pychm &&
-depends gnome-python2
+depends pychm &&
+depends gnome-python2 &&
+depends gnome-python-extras
diff --git a/doc/gnochm/DETAILS b/doc/gnochm/DETAILS
index 31bcfeb..55e8072 100755
--- a/doc/gnochm/DETAILS
+++ b/doc/gnochm/DETAILS
@@ -1,10 +1,9 @@
SPELL=gnochm
- VERSION=0.9.9
-
SOURCE_HASH=sha512:bb281c2f54106a150fe95b597b4e2ee799fcc02dd5e35f1c162b7eb8f1dd2d8cf558c86bc625286c86e77354432faf1307428bc136ea93e52f453285573f0b35
+ VERSION=0.9.11
+
SOURCE_HASH=sha512:1ecd412baa40181415b268b67ff94fd0a9551a3219f60c13d5e48bf5b4aa9112e9bed4f9aa4acfc962d4a44bbac70d5048f42e5926208d553bc8dc355d6fa323
SOURCE=$SPELL-$VERSION.tar.gz
SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
SOURCE_URL[0]=${SOURCEFORGE_URL}/$SPELL/$SOURCE
- SOURCE_URL[1]=http://unl.dl.sourceforge.net/sourceforge/$SPELL/$SOURCE
WEB_SITE=http://gnochm.sourceforge.net/
LICENSE[0]=GPL
ENTERED=20040122
diff --git a/doc/gnochm/HISTORY b/doc/gnochm/HISTORY
index f0bc1f2..e6c64cd 100644
--- a/doc/gnochm/HISTORY
+++ b/doc/gnochm/HISTORY
@@ -1,3 +1,7 @@
+2008-07-26 Elisamuel Resto <ryuji AT sourcemage.org>
+ * DETAILS: updated to version 0.9.11
+ * DEPENDS: depend on gnome-python-extras (gtkhtml2)
+
2006-11-11 Treeve Jelbert <treeve AT sourcemage.org>
* DETAILS: version 0.9.9

diff --git a/mail/qmail/BUILD b/mail/qmail/BUILD
new file mode 100755
index 0000000..31a255c
--- /dev/null
+++ b/mail/qmail/BUILD
@@ -0,0 +1,8 @@
+echo "gcc ${CFLAGS} -include /usr/include/errno.h" >conf-cc &&
+echo "gcc ${LDFLAGS}" >conf-ld &&
+
+make &&
+
+if is_depends_enabled $SPELL groff; then
+ make man
+fi
diff --git a/mail/qmail/CONFIGURE b/mail/qmail/CONFIGURE
new file mode 100755
index 0000000..4aad3da
--- /dev/null
+++ b/mail/qmail/CONFIGURE
@@ -0,0 +1,3 @@
+config_query QMAIL_PATCH_QMAILQUEUE "Apply the qmailqueue patch?" n &&
+config_query QMAIL_PATCH_LOCALBIND "Apply the local-bind patch?" n &&
+config_query QMAIL_PATCH_OVERSIZEDNS "Apply the oversize DNS patch?" n
diff --git a/mail/qmail/CONFLICTS b/mail/qmail/CONFLICTS
new file mode 100755
index 0000000..6496d05
--- /dev/null
+++ b/mail/qmail/CONFLICTS
@@ -0,0 +1,4 @@
+conflicts exim &&
+conflicts netqmail &&
+conflicts sendmail &&
+conflicts postfix
diff --git a/mail/qmail/DEPENDS b/mail/qmail/DEPENDS
new file mode 100755
index 0000000..04a8b8a
--- /dev/null
+++ b/mail/qmail/DEPENDS
@@ -0,0 +1 @@
+optional_depends groff "" "" "to build man pages"
diff --git a/mail/qmail/DETAILS b/mail/qmail/DETAILS
new file mode 100755
index 0000000..db025f0
--- /dev/null
+++ b/mail/qmail/DETAILS
@@ -0,0 +1,51 @@
+ SPELL=qmail
+ VERSION=1.03
+ SOURCE=$SPELL-$VERSION.tar.gz
+SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
+ SOURCE_URL[0]=http://cr.yp.to/software/$SOURCE
+
SOURCE_URL[1]=ftp://ftp.net.ohio-state.edu/pub/networking/mail/qmail/$SOURCE
+ SOURCE_URL[2]=ftp://ftp.ntnu.no/pub/unix/mail/qmail/$SOURCE
+ SOURCE_URL[3]=ftp://ftp.eu.uu.net/pub/unix/mail/qmail/$SOURCE
+ SOURCE_URL[4]=ftp://ftp.jp.qmail.org/qmail/$SOURCE
+ WEB_SITE=http://cr.yp.to/qmail.html
+ ENTERED=20051013
+
SOURCE_HASH=sha512:f2cc47c3ef4a3595d5953f216811a9b60f505cf8cbfd31ae31a888ee04916936210ef1c23d59e8d280a5f0e1c3794b90ee212b2b0f36361c5eff842598c8aee2
+ LICENSE[0]=PublicDomain
+ SHORT="Qmail Mail Transfer Agent"
+ DOCS="$DOCS BLURB* INSTALL* INTERNALS PIC.* REMOVE.* SECURITY
SENDMAIL TEST.* THANKS THOUGHTS"
+cat << EOF
+qmail is a secure, reliable, efficient, simple message transfer agent. It is
+designed for typical Internet-connected UNIX hosts.
+
+Secure: Security isn't just a goal, but an absolute requirement. Mail
delivery
+is critical for users; it cannot be turned off, so it must be completely
+secure.
+
+Reliable: qmail's straight-paper-path philosophy guarantees that a message,
+once accepted into the system, will never be lost. qmail also optionally
+supports maildir.
+
+Efficient: On a Pentium under BSD/OS, qmail can easily sustain 200000 local
+messages per day.
+
+Simple: qmail is vastly smaller than any other Internet MTA. Some reasons
why:
+(1) Other MTAs have separate forwarding, aliasing, and mailing list
mechanisms.
+qmail has one simple forwarding mechanism that lets users handle their own
+mailing lists. (2) Other MTAs offer a spectrum of delivery modes, from
+fast+unsafe to slow+queued. qmail-send is instantly triggered by new items in
+the queue, so the qmail system has just one delivery mode: fast+queued. (3)
+Other MTAs include, in effect, a specialized version of inetd that watches
the
+load average. qmail's design inherently limits the machine load, so
qmail-smtpd
+can safely run from your system's inetd.
+
+Replacement for sendmail: qmail supports host and user masquerading, full
host
+hiding, virtual domains, null clients, list-owner rewriting, relay control,
+double-bounce recording, arbitrary RFC 822 address lists, cross-host mailing
+list loop detection, per-recipient checkpointing, downed host backoffs,
+independent message retry schedules, etc. qmail also includes a drop-in
+"sendmail" wrapper so that it will be used transparently by your current UAs.
+
+NOTE: This spell installs according to DJB's required default paths. Also,
it
+runs via regular init.d, with smtp provided by xinetd. It does not yet
+automatically configure itself for daemontools or ucspi-tcp.
+EOF
diff --git a/mail/qmail/HISTORY b/mail/qmail/HISTORY
new file mode 100644
index 0000000..a4242a3
--- /dev/null
+++ b/mail/qmail/HISTORY
@@ -0,0 +1,14 @@
+2008-07-26 Elisamuel Resto <ryuji AT sourcemage.org>
+ * DETAILS: removed REJECT; LICENSE is now PublicDomain
+
+2007-04-07 Jeremy Blosser <jblosser-smgl AT firinn.org>
+ * CONFIGURE, PRE_BUILD, patches/qmail-dns-patch: Add oversized DNS
+ response patch.
+
+2007-04-01 Jeremy Blosser <jblosser-smgl AT firinn.org>
+ * CONFLICTS: Add.
+ * DEPENDS, PRE_BUILD, BUILD: Make groff dependency / man pages
+ optional.
+
+2007-04-01 Jeremy Blosser <jblosser-smgl AT firinn.org>
+ * ALL: Initial spell commit.
diff --git a/mail/qmail/INSTALL b/mail/qmail/INSTALL
new file mode 100755
index 0000000..b01b9da
--- /dev/null
+++ b/mail/qmail/INSTALL
@@ -0,0 +1,16 @@
+./install &&
+./instcheck &&
+
+# TODO: Update CONFIGURE to prompt for host names and use install_config_file
+# here
+if [ ! -s $INSTALL_ROOT/var/qmail/control/me ]; then
+ ./config-fast `hostname --fqdn`
+fi &&
+
+(cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root) &&
+chmod 644 ~alias/.qmail* &&
+
+ln -sf /var/qmail/bin/sendmail /usr/lib/sendmail &&
+ln -sf /var/qmail/bin/sendmail /usr/sbin/sendmail &&
+
+cp /var/qmail/boot/home /var/qmail/rc
diff --git a/mail/qmail/PRE_BUILD b/mail/qmail/PRE_BUILD
new file mode 100755
index 0000000..bac5961
--- /dev/null
+++ b/mail/qmail/PRE_BUILD
@@ -0,0 +1,33 @@
+default_pre_build &&
+cd $SOURCE_DIRECTORY &&
+
+if [ "$QMAIL_PATCH_QMAILQUEUE" == "y" ]; then
+ patch -p1 <$SCRIPT_DIRECTORY/patches/qmailqueue-patch
+fi &&
+if [ "$QMAIL_PATCH_LOCALBIND" == "y" ]; then
+ patch -p0 <$SCRIPT_DIRECTORY/patches/local-bind
+fi &&
+if [ "$QMAIL_PATCH_OVERSIZEDNS" == "y" ]; then
+ patch -p1 <$SCRIPT_DIRECTORY/patches/qmail-dns-patch
+fi &&
+
+if ! is_depends_enabled $SPELL groff; then
+ sed -i -e '/auto_qmail,"man\//d' hier.c &&
+ sed -i -e '/auto_qmail,"man\//d' install-big.c
+fi &&
+
+mkdir -p /var/qmail &&
+
+create_account alias /var/qmail/alias /bin/false &&
+create_account qmaild /var/qmail /bin/false &&
+create_account qmaill /var/qmail /bin/false &&
+create_account qmailp /var/qmail /bin/false &&
+create_account qmailq /var/qmail /bin/false &&
+create_account qmailr /var/qmail /bin/false &&
+create_account qmails /var/qmail /bin/false &&
+
+sedit '/echo Putting "$fqdn" into control\/locals.../i \
+echo Putting `hostname --short` into control/defaulthost... \
+hostname --short > /var/qmail/control/defaulthost \
+chmod 644 QMAIL/control/defaulthost
+' config-fast.sh
diff --git a/mail/qmail/PROVIDES b/mail/qmail/PROVIDES
new file mode 100755
index 0000000..bebbaa4
--- /dev/null
+++ b/mail/qmail/PROVIDES
@@ -0,0 +1,2 @@
+MAIL-TRANSPORT-AGENT
+SENDMAIL
diff --git a/mail/qmail/init.d/qmail b/mail/qmail/init.d/qmail
new file mode 100644
index 0000000..4820461
--- /dev/null
+++ b/mail/qmail/init.d/qmail
@@ -0,0 +1,32 @@
+#!/bin/bash
+
+NAME=qmail-send
+PROGRAM=/var/qmail/bin/qmail-send
+RUNLEVEL=3
+NEEDS="+network +remote_fs"
+
+. /etc/init.d/smgl_init
+
+loadproc()
+{
+ if [ $# = 0 ] ; then
+ echo "Usage: loadproc {program}"
+ exit 1
+ fi
+
+ getpids $1
+
+ if [ -z "$pidlist" ] ; then
+ ( unset -f echo ; exec "$@" & )
+ evaluate_retval
+ else
+ $SET_WCOL
+ print_status warning running
+ fi
+}
+
+start()
+{
+ echo "Starting $NAME..."
+ loadproc /var/qmail/rc
+}
diff --git a/mail/qmail/patches/local-bind b/mail/qmail/patches/local-bind
new file mode 100644
index 0000000..9a9b84b
--- /dev/null
+++ b/mail/qmail/patches/local-bind
@@ -0,0 +1,170 @@
+From: Chuck Foster <Chuck.Foster AT uk.uu.net>
+To: djb-qmail AT koobera.math.uic.edu
+Subject: binding to local interfaces
+Date: Mon, 19 Jan 1998 09:40:42 +0000 (GMT)
+
+Hi,
+
+Well it finally reached the stage where I needed to do this on one of our
+hosts, as I wanted mail to go out using the virtual interface ip address
+and not the default one. (sigh).
+
+Anyways, if anyone thinks they'll have a use for it, I've included the
+patch to timeoutconn.c to bind to the interface, and an optional
+qmail-remote.c patch to print errors returned from it (if you don't use
+that then the 'standard' SMTP connection failed message gets used).
+
+I used a file called /var/qmail/control/bindroutes, using the same
+ip-address matching as tcpcontrol, ie. 1.2.3.4, 1.2.3., 1.2., 1., none.
+The LHS is the outbound IP (ie. the host you're going to), and the RHS
+is the interface on the local machine to bind to (ie. needs to be
+valid on the host).
+
+Eg.
+
+# Send this on the internal net
+10.:10.0.0.1
+# Rest goes on external "mail" address (yes, its bogus!)
+:301.32.1.1
+# Hey, we could 'cheat' on stopping qmail-remote sending to this host
+555.123.123.123:this-isnt-an-ip-address
+
+The define should be either 0 or 1; 0 means if the bind() fails then go
+ahead and connect() with the os bind; 1 means that a temp error is
+generated and the mail requeued.
+
+
+As usual, if you use these patches yourself it's at your own risk; all
+seems to work fine on my (Solaris 2.5.1) boxes, but if something busts cos
+you've used them then you're on your own (but feel free to tell me!).
+
+C.
+
+From: Bill Nugent <whn AT topelo.lopi.com>
+To: Chuck.Fostera AT auk.uu.net
+cc: nelson AT qmail.org
+Subject: Updated your local bind patch for qmail 1.03
+Date: Tue, 08 Sep 1998 10:10:15 -0400
+
+Howdy Chuck,
+
+I had some minor trouble compiling your local bind patch for qmail 1.03 -
+I had to make a change to the Makefile in addition to applying your patch
+to timeoutconn.c. I've enclosed the diff of the Makefile. It will be a
+few days before I have a chance to test the change.
+
+ Thanks for the patch!
+ Bill
+
+
+*** timeoutconn.c 1998/01/18 12:52:28 1.1
+--- timeoutconn.c 1998/01/19 09:29:57
+***************
+*** 10,15 ****
+--- 10,63 ----
+ #include "byte.h"
+ #include "timeoutconn.h"
+
++ #define BIND_SOCKET 1 /* 0 to ignore bind fail, 1 to tempfail and requeue
*/
++ #ifdef BIND_SOCKET
++ #include "control.h"
++ #include "constmap.h"
++ #include "stralloc.h"
++
++ int bind_socket(s,ip)
++ int s;
++ struct ip_address *ip;
++ {
++ struct sockaddr_in salocal;
++ struct ip_address iplocal;
++ char *ipstr, ipstring[IPFMT+1];
++ int iplen;
++ stralloc routes = {0};
++ struct constmap bindroutes;
++ char *bindroute = (char *)0;
++
++ /* Right, do we actually have any bind routes? */
++ switch(control_readfile(&routes,"control/bindroutes",0))
++ {
++ case 0: return 0; /* no file, no bind to worry about */
++ case -1: return -2; /* buggered up somewhere, urgh! */
++ case 1: if (!constmap_init(&bindroutes,routes.s,routes.len,1)) return
-3;
++ }
++
++ ipstring[0] = '.'; /* "cheating", but makes the loop check easier below!
*/
++ ipstr = ipstring+1;
++ iplen = ip_fmt(ipstr,ip); /* Well, Dan seems to trust its output! */
++
++ /* check d.d.d.d, d.d.d., d.d., d., none */
++ bindroute = constmap(&bindroutes,ipstr,iplen);
++ if (!bindroute) while (iplen--) /* no worries - the lost char must be
0-9 */
++ if (ipstring[iplen] == '.')
++ if (bindroute = constmap(&bindroutes,ipstr,iplen)) break;
++ if (!bindroute || !*bindroute) return 0; /* no bind required */
++ if (!ip_scan(bindroute,&iplocal)) return -4; /* wasn't an ip returned */
++
++ byte_zero(&salocal,sizeof(salocal));
++ salocal.sin_family = AF_INET;
++ byte_copy(&salocal.sin_addr,4,&iplocal);
++
++ if (bind(s, (struct sockaddr *)&salocal,sizeof(salocal))) return
BIND_SOCKET;
++ return 0;
++ }
++
++ #endif
++
+ int timeoutconn(s,ip,port,timeout)
+ int s;
+ struct ip_address *ip;
+***************
+*** 31,36 ****
+--- 79,87 ----
+ if (ndelay_on(s) == -1) return -1;
+
+ /* XXX: could bind s */
++ #ifdef BIND_SOCKET
++ if (ch = bind_socket(s,ip)) return ch;
++ #endif
+
+ if (connect(s,(struct sockaddr *) &sin,sizeof(sin)) == 0) {
+ ndelay_off(s);
+--- Makefile.orig Mon Sep 7 20:44:52 1998
++++ Makefile Mon Sep 7 21:04:33 1998
+@@ -1333,10 +1333,12 @@
+
+ qmail-qmqpc: \
+ load qmail-qmqpc.o slurpclose.o timeoutread.o timeoutwrite.o \
+-timeoutconn.o ip.o control.o auto_qmail.o sig.a ndelay.a open.a \
+-getln.a substdio.a stralloc.a alloc.a error.a str.a fs.a socket.lib
++timeoutconn.o constmap.o case_diffb.o ip.o control.o auto_qmail.o \
++sig.a ndelay.a open.a getln.a substdio.a stralloc.a alloc.a error.a \
++str.a fs.a socket.lib
+ ./load qmail-qmqpc slurpclose.o timeoutread.o \
+- timeoutwrite.o timeoutconn.o ip.o control.o auto_qmail.o \
++ timeoutwrite.o timeoutconn.o constmap.o case_diffb.o \
++ ip.o control.o auto_qmail.o \
+ sig.a ndelay.a open.a getln.a substdio.a stralloc.a alloc.a \
+ error.a str.a fs.a `cat socket.lib`
+
+@@ -2066,12 +2068,14 @@
+
+ tcp-env: \
+ load tcp-env.o dns.o remoteinfo.o timeoutread.o timeoutwrite.o \
+-timeoutconn.o ip.o ipalloc.o case.a ndelay.a sig.a env.a getopt.a \
+-stralloc.a alloc.a substdio.a error.a str.a fs.a dns.lib socket.lib
++timeoutconn.o constmap.o control.o ip.o ipalloc.o case.a open.a \
++getln.a ndelay.a sig.a env.a getopt.a stralloc.a alloc.a \
++substdio.a error.a str.a fs.a dns.lib socket.lib
+ ./load tcp-env dns.o remoteinfo.o timeoutread.o \
+- timeoutwrite.o timeoutconn.o ip.o ipalloc.o case.a ndelay.a \
+- sig.a env.a getopt.a stralloc.a alloc.a substdio.a error.a \
+- str.a fs.a `cat dns.lib` `cat socket.lib`
++ timeoutwrite.o timeoutconn.o constmap.o control.o ip.o ipalloc.o \
++ case.a open.a getln.a ndelay.a sig.a env.a getopt.a stralloc.a \
++ alloc.a substdio.a error.a str.a fs.a \
++ `cat dns.lib` `cat socket.lib`
+
+ tcp-env.0: \
+ tcp-env.1
+
+
diff --git a/mail/qmail/patches/qmail-dns-patch
b/mail/qmail/patches/qmail-dns-patch
new file mode 100644
index 0000000..60f7641
--- /dev/null
+++ b/mail/qmail/patches/qmail-dns-patch
@@ -0,0 +1,63 @@
+--- qmail-1.03/dns.c.103 Mon Aug 17 16:06:58 1998
++++ qmail-1.03/dns.c Wed Aug 26 16:28:56 1998
+@@ -21,10 +21,12 @@
+ static unsigned short getshort(c) unsigned char *c;
+ { unsigned short u; u = c[0]; return (u << 8) + c[1]; }
+
+-static union { HEADER hdr; unsigned char buf[PACKETSZ]; } response;
++static struct { unsigned char *buf; } response;
++static int responsebuflen = 0;
+ static int responselen;
+ static unsigned char *responseend;
+ static unsigned char *responsepos;
++static u_long saveresoptions;
+
+ static int numanswers;
+ static char name[MAXDNAME];
+@@ -45,18 +47,33 @@
+ errno = 0;
+ if (!stralloc_copy(&glue,domain)) return DNS_MEM;
+ if (!stralloc_0(&glue)) return DNS_MEM;
+- responselen = lookup(glue.s,C_IN,type,response.buf,sizeof(response));
++ if (!responsebuflen)
++ if (response.buf = (unsigned char *)alloc(PACKETSZ+1))
++ responsebuflen = PACKETSZ+1;
++ else return DNS_MEM;
++
++ responselen = lookup(glue.s,C_IN,type,response.buf,responsebuflen);
++ if ((responselen >= responsebuflen) ||
++ (responselen > 0 && (((HEADER *)response.buf)->tc)))
++ {
++ if (responsebuflen < 65536)
++ if (alloc_re(&response.buf, responsebuflen, 65536))
++ responsebuflen = 65536;
++ else return DNS_MEM;
++ saveresoptions = _res.options;
++ _res.options |= RES_USEVC;
++ responselen = lookup(glue.s,C_IN,type,response.buf,responsebuflen);
++ _res.options = saveresoptions;
++ }
+ if (responselen <= 0)
+ {
+ if (errno == ECONNREFUSED) return DNS_SOFT;
+ if (h_errno == TRY_AGAIN) return DNS_SOFT;
+ return DNS_HARD;
+ }
+- if (responselen >= sizeof(response))
+- responselen = sizeof(response);
+ responseend = response.buf + responselen;
+ responsepos = response.buf + sizeof(HEADER);
+- n = ntohs(response.hdr.qdcount);
++ n = ntohs(((HEADER *)response.buf)->qdcount);
+ while (n-- > 0)
+ {
+ i = dn_expand(response.buf,responseend,responsepos,name,MAXDNAME);
+@@ -66,7 +83,7 @@
+ if (i < QFIXEDSZ) return DNS_SOFT;
+ responsepos += QFIXEDSZ;
+ }
+- numanswers = ntohs(response.hdr.ancount);
++ numanswers = ntohs(((HEADER *)response.buf)->ancount);
+ return 0;
+ }
+
diff --git a/mail/qmail/patches/qmailqueue-patch
b/mail/qmail/patches/qmailqueue-patch
new file mode 100644
index 0000000..ec304b6
--- /dev/null
+++ b/mail/qmail/patches/qmailqueue-patch
@@ -0,0 +1,72 @@
+From: Bruce Guenter <bguenter-djb-qmail AT qcc.sk.ca>
+To: qmail AT list.cr.yp.to
+Subject: QMAILQUEUE patch for qmail-1.03
+Date: Mon, 25 Jan 1999 15:37:21 -0600
+
+Greetings.
+
+Appended is a patch to qmail-1.03 that causes any program that would run
+qmail-queue to look for an environment variable QMAILQUEUE. If it is
+present, it is used in place of the string "bin/qmail-queue" when
+running qmail-queue. This could be used, for example, to add a program
+into the qmail-smtpd->qmail-queue pipeline that could do filtering,
+rewrite broken headers, etc. (this is my planned usage for it).
+
+This has undergone virtually no testing, but it looks so simple that it
+almost has to be correct. No warranties, etc. Note that the chdir to
+/var/qmail is always done before exec'ing the program.
+
+Does this look like a reasonable thing to do?
+--
+Bruce Guenter, QCC Communications Corp. EMail: bruce.guenter AT qcc.sk.ca
+Phone: (306)249-0220 WWW: http://www.qcc.sk.ca/~bguenter/
+
+diff -u qmail-1.03-orig/Makefile qmail-1.03/Makefile
+--- qmail-1.03-orig/Makefile Mon Jun 15 04:53:16 1998
++++ qmail-1.03/Makefile Tue Jan 19 10:52:24 1999
+@@ -1483,12 +1483,12 @@
+ trigger.o fmtqfn.o quote.o now.o readsubdir.o qmail.o date822fmt.o \
+ datetime.a case.a ndelay.a getln.a wait.a seek.a fd.a sig.a open.a \
+ lock.a stralloc.a alloc.a substdio.a error.a str.a fs.a auto_qmail.o \
+-auto_split.o
++auto_split.o env.a
+ ./load qmail-send qsutil.o control.o constmap.o newfield.o \
+ prioq.o trigger.o fmtqfn.o quote.o now.o readsubdir.o \
+ qmail.o date822fmt.o datetime.a case.a ndelay.a getln.a \
+ wait.a seek.a fd.a sig.a open.a lock.a stralloc.a alloc.a \
+- substdio.a error.a str.a fs.a auto_qmail.o auto_split.o
++ substdio.a error.a str.a fs.a auto_qmail.o auto_split.o env.a
+
+ qmail-send.0: \
+ qmail-send.8
+diff -u qmail-1.03-orig/qmail.c qmail-1.03/qmail.c
+--- qmail-1.03-orig/qmail.c Mon Jun 15 04:53:16 1998
++++ qmail-1.03/qmail.c Tue Jan 19 09:57:36 1999
+@@ -6,14 +6,25 @@
+ #include "fd.h"
+ #include "qmail.h"
+ #include "auto_qmail.h"
++#include "env.h"
+
+-static char *binqqargs[2] = { "bin/qmail-queue", 0 } ;
++static char *binqqargs[2] = { 0, 0 } ;
++
++static void setup_qqargs()
++{
++ if(!binqqargs[0])
++ binqqargs[0] = env_get("QMAILQUEUE");
++ if(!binqqargs[0])
++ binqqargs[0] = "bin/qmail-queue";
++}
+
+ int qmail_open(qq)
+ struct qmail *qq;
+ {
+ int pim[2];
+ int pie[2];
++
++ setup_qqargs();
+
+ if (pipe(pim) == -1) return -1;
+ if (pipe(pie) == -1) { close(pim[0]); close(pim[1]); return -1; }
+
diff --git a/mail/qmail/xinetd.d/qmail-smtpd b/mail/qmail/xinetd.d/qmail-smtpd
new file mode 100644
index 0000000..6a983ef
--- /dev/null
+++ b/mail/qmail/xinetd.d/qmail-smtpd
@@ -0,0 +1,11 @@
+service smtp
+{
+ socket_type = stream
+ protocol = tcp
+ wait = no
+ user = qmaild
+ server = /var/qmail/bin/tcp-env
+ server_args = /var/qmail/bin/qmail-smtpd
+ log_on_success = PID HOST USERID EXIT DURATION
+ log_on_failure = HOST USERID ATTEMPT
+}
diff --git a/net/dhcp/DETAILS b/net/dhcp/DETAILS
index 75a367a..b3e56da 100755
--- a/net/dhcp/DETAILS
+++ b/net/dhcp/DETAILS
@@ -1,5 +1,5 @@
SPELL=dhcp
- VERSION=3.0.6
+ VERSION=3.1.1
SOURCE=$SPELL-$VERSION.tar.gz
SOURCE2=$SPELL-$VERSION.tar.gz.asc
SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
diff --git a/net/dhcp/HISTORY b/net/dhcp/HISTORY
index a1b3123..7eb5323 100644
--- a/net/dhcp/HISTORY
+++ b/net/dhcp/HISTORY
@@ -1,3 +1,6 @@
+2008-07-26 Elisamuel Resto <ryuji AT sourcemage.org>
+ * DETAILS: updated version to 3.1.1
+
2008-01-28 Jaka Kranjc <lynxlynxlynx AT sourcemage.org>
* PRE_SUB_DEPENDS: removed is_depends_enabled.function reference

diff --git a/net/djbdns/BUILD b/net/djbdns/BUILD
new file mode 100755
index 0000000..56a7419
--- /dev/null
+++ b/net/djbdns/BUILD
@@ -0,0 +1,3 @@
+ echo gcc -O2 -include /usr/include/errno.h > conf-cc &&
+ sedit "s/\/usr\/local/\/usr/" conf-home &&
+ make
diff --git a/net/djbdns/DEPENDS b/net/djbdns/DEPENDS
new file mode 100755
index 0000000..9b75f7d
--- /dev/null
+++ b/net/djbdns/DEPENDS
@@ -0,0 +1,2 @@
+depends daemontools &&
+depends ucspi-tcp
diff --git a/net/djbdns/DETAILS b/net/djbdns/DETAILS
new file mode 100755
index 0000000..3ab5dfa
--- /dev/null
+++ b/net/djbdns/DETAILS
@@ -0,0 +1,35 @@
+ SPELL=djbdns
+ VERSION=1.05
+ SOURCE=$SPELL-$VERSION.tar.gz
+SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
+ SOURCE_URL[0]=http://cr.yp.to/djbdns/$SOURCE
+
SOURCE_HASH=sha512:20f066402801d7bec183cb710a5bc51e41f1410024741e5803e26f68f2c13567e48eba793f233dfab903459c3335bc169e24b99d66a4c64e617e1f0779732fa9
+ WEB_SITE="http://cr.yp.to/djbdns.html";
+ ENTERED=20041109
+ LICENSE[0]=PublicDomain
+ SHORT="Excellent high-performance DNS services"
+
+cat << EOF
+djbdns is a collection of Domain Name System tools. It includes
+software for all the fundamental DNS operations:
+
+ * DNS cache: finding addresses of Internet hosts. When a browser wants
+ to contact www.hotwired.com, it first asks a DNS cache, such as
+ djbdns's dnscache, to find the IP address of www.hotwired.com.
+ Internet service providers run dnscache to find IP addresses
+ requested by their customers. If you're running a home computer or a
+ workstation, you can run your own dnscache to speed up your web
+ browsing.
+ * DNS server: publishing addresses of Internet hosts. The IP address
+ of www.hotwired.com is published by HotWired's DNS servers. djbdns
+ includes a general-purpose DNS server, tinydns; network
+ administrators run tinydns to publish the IP addresses of their
+ computers. djbdns also includes special-purpose servers for
+ publishing DNS walls and RBLs.
+ * DNS client: talking to a DNS cache. djbdns includes a DNS client C
+ library and several command-line DNS client utilities. Programmers
+ use these tools to send requests to DNS caches.
+
+djbdns also includes several DNS debugging tools, notably dnstrace,
+which administrators use to diagnose misconfigured remote servers.
+EOF
diff --git a/net/djbdns/FINAL b/net/djbdns/FINAL
new file mode 100755
index 0000000..8bd5abf
--- /dev/null
+++ b/net/djbdns/FINAL
@@ -0,0 +1,4 @@
+create_account tinydns /var/run/tinydns /bin/false &&
+create_account dnslog /var/run/tinydns /bin/false &&
+create_account dnscache /var/run/dnscache /bin/false &&
+create_account axfrdns /var/run/axfrdns /bin/false
diff --git a/net/djbdns/HISTORY b/net/djbdns/HISTORY
new file mode 100644
index 0000000..049ebcf
--- /dev/null
+++ b/net/djbdns/HISTORY
@@ -0,0 +1,25 @@
+2008-07-19 Elisamuel Resto <ryuji AT sourcemage.org>
+ * DETAILS, DEPENDS, FINAL, BUILD, INSTALL: moved from z-rejected
+ LICENSE is now PublicDomain
+ * DETAILS: REJECT removed, LICENSE=PublicDomain, WEB_SITE changed
+ SHORT and LONG descriptions updated
+
+2007-04-01 Jeremy Blosser <jblosser-smgl AT firinn.org>
+ * FINAL: Added to add accounts/group.
+
+2006-09-21 Juuso Alasuutari <iuso AT sourcemage.org>
+ * DETAILS: [automated] Removed BUILD_API=2.
+
+2005-12-01 Seth Woolley <seth AT tautology.org>
+ * DETAILS: MD5 -> SHA512
+
+2005-09-09 Jason Flatt <jflatt AT sourcemage.org>
+ * DETAILS: Added REJECT field.
+
+2004-12-03 Robert Helgesson <net AT sourcemage.org>
+ * DETAILS: Changed license field, this package is _NOT_ under GPL
+ (bug #7723).
+
+2004-11-09 Arjan Bouter <abouter AT sourcemage.org>
+ * 1st version of this spell
+
diff --git a/net/djbdns/INSTALL b/net/djbdns/INSTALL
new file mode 100755
index 0000000..a9ea479
--- /dev/null
+++ b/net/djbdns/INSTALL
@@ -0,0 +1 @@
+ make setup check
diff --git a/net/ucspi-tcp/BUILD b/net/ucspi-tcp/BUILD
new file mode 100755
index 0000000..ab5621e
--- /dev/null
+++ b/net/ucspi-tcp/BUILD
@@ -0,0 +1,4 @@
+echo "gcc ${CFLAGS} -include /usr/include/errno.h" >conf-cc &&
+echo "gcc ${LDFLAGS}" >conf-ld &&
+echo "/usr" >conf-home &&
+make
diff --git a/net/ucspi-tcp/DETAILS b/net/ucspi-tcp/DETAILS
new file mode 100755
index 0000000..0402abd
--- /dev/null
+++ b/net/ucspi-tcp/DETAILS
@@ -0,0 +1,32 @@
+ SPELL=ucspi-tcp
+ VERSION=0.88
+ SOURCE=$SPELL-$VERSION.tar.gz
+SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
+ SOURCE_URL[0]=http://cr.yp.to/$SPELL/$SOURCE
+
SOURCE_HASH=sha512:44efbd477dacf31d39fc970e2d2f74526dc815b905742f6127f0d5c80928ecc7e743089eaab0492386a58d5b97905113fbe8bbc7214ae179b7be27966b7566c7
+ WEB_SITE=http://cr.yp.to/ucspi-tcp.html
+ ENTERED=20041110
+ LICENSE[0]=PublicDomain
+ SHORT="A ucspi implementation for TCP connections."
+
+cat << EOF
+tcpclient and tcpserver are easy-to-use command-line tools for building
+TCP client-server applications. tcpclient makes a TCP connection and
+runs a program of your choice. tcpserver waits for incoming connections
+and, for each connection, runs a program of your choice. Your program
+receives environment variables showing the local and remote host names,
+IP addresses, and port numbers.
+
+tcpserver offers a concurrency limit to protect you from running out of
+processes and memory. When you are handling 40 (by default) simultaneous
+connections, tcpserver smoothly defers acceptance of new connections.
+
+tcpserver also provides TCP access control features, similar to
+tcp-wrappers/tcpd's hosts.allow but much faster. Its access control
+rules are compiled into a hashed format with cdb, so it can easily deal
+with thousands of different hosts.
+
+tcpclient and tcpserver conform to UCSPI, the UNIX Client-Server Program
+Interface, using the TCP protocol. UCSPI tools are available for several
+different networks.
+EOF
diff --git a/net/ucspi-tcp/HISTORY b/net/ucspi-tcp/HISTORY
new file mode 100644
index 0000000..75174b3
--- /dev/null
+++ b/net/ucspi-tcp/HISTORY
@@ -0,0 +1,30 @@
+2008-07-19 Elisamuel Resto <ryuji AT sourcemage.org>
+ * BUILD, DETAILS, HISTORY, INSTALL, maketcprules, PRE_BUILD,
+ ucspi-tcp-docs.tar.gz: moved from z-rejected, LICENSE is now
+ PublicDomain; WEB_SITE updated
+
+2006-09-21 Juuso Alasuutari <iuso AT sourcemage.org>
+ * DETAILS: [automated] Removed BUILD_API=2.
+
+2006-08-16 Matthew Clark <matthewclark AT inlesserterms.net>
+ * DETAILS: Replaced MD5 hash with SHA512
+
+2005-10-11 Jeremy Blosser <jblosser-smgl AT firinn.org>
+ * DETAILS: Add the license URL that gives permission to patch, correct
+ short and long description.
+ * PRE_BUILD, BUILD, INSTALL: Standardize the build and install more.
+ * ucspi-tcp-docs.tar.gz: Add, extra docs.
+ * maketcprules: Add, helper script for managing tcprules.
+
+2004-12-03 Robert Helgesson <rycee AT home.se>
+ * DETAILS: Changed license field, this package is _NOT_ under GPL.
+
+2004-11-10 Arjan Bouter <abouter AT sourcemage.org>
+ * BUILD_API=2 conversion
+
+2003-10-10 Robert Helgesson <rycee AT home.se>
+ * HISTORY: Converted to new format.
+
+2003-05-25 Robert Helgesson <rycee AT home.se>
+ * added spell (bug #3435)
+
diff --git a/net/ucspi-tcp/INSTALL b/net/ucspi-tcp/INSTALL
new file mode 100755
index 0000000..0768bb5
--- /dev/null
+++ b/net/ucspi-tcp/INSTALL
@@ -0,0 +1,5 @@
+make setup check &&
+
+/usr/bin/install -d "${INSTALL_ROOT}/etc/tcpcontrol" &&
+/usr/bin/install -m 755 "${SCRIPT_DIRECTORY}/maketcprules" \
+ "${INSTALL_ROOT}/usr/bin"
diff --git a/net/ucspi-tcp/PRE_BUILD b/net/ucspi-tcp/PRE_BUILD
new file mode 100755
index 0000000..ebe1d11
--- /dev/null
+++ b/net/ucspi-tcp/PRE_BUILD
@@ -0,0 +1,5 @@
+default_pre_build &&
+
+cd "${SOURCE_DIRECTORY}" &&
+tar -xzvf "${SCRIPT_DIRECTORY}/ucspi-tcp-docs.tar.gz" &&
+mv ucspi-tcp *.html docs
diff --git a/net/ucspi-tcp/maketcprules b/net/ucspi-tcp/maketcprules
new file mode 100755
index 0000000..53a4b10
--- /dev/null
+++ b/net/ucspi-tcp/maketcprules
@@ -0,0 +1,13 @@
+#!/bin/sh
+cd /etc/tcpcontrol
+for rules in *.rules
+do
+ if [ -e "$rules" ]
+ then
+ echo "Making rules from file '$rules'"
+ base=`basename $rules .rules`
+ cdb=${base}.cdb
+ tmp=${base}.tmp
+ tcprules $cdb $tmp <$rules
+ fi
+done
diff --git a/net/ucspi-tcp/ucspi-tcp-docs.tar.gz
b/net/ucspi-tcp/ucspi-tcp-docs.tar.gz
new file mode 100644
index 0000000..8c576a8
Binary files /dev/null and b/net/ucspi-tcp/ucspi-tcp-docs.tar.gz differ
diff --git a/utils/daemontools/BUILD b/utils/daemontools/BUILD
new file mode 100755
index 0000000..5ce2285
--- /dev/null
+++ b/utils/daemontools/BUILD
@@ -0,0 +1,6 @@
+cd "${SPELL}-${VERSION}" &&
+
+echo "gcc ${CFLAGS} -include /usr/include/errno.h" >src/conf-cc &&
+echo "gcc ${LDFLAGS}" >src/conf-ld &&
+
+package/compile
diff --git a/utils/daemontools/CONFIGURE b/utils/daemontools/CONFIGURE
new file mode 100755
index 0000000..d642b3f
--- /dev/null
+++ b/utils/daemontools/CONFIGURE
@@ -0,0 +1,16 @@
+config_query DAEMONTOOLS_CHANGE_INITTAB \
+ "Start svscan from inittab?" \
+ ${CHANGE_INITTAB:-y} &&
+
+persistent_remove CHANGE_INITTAB &&
+
+config_query_list DAEMONTOOLS_INSTALL_PATHS \
+ "Use DJB (/command, /service) or FHS (/sbin,
/etc/service) install paths?"\
+ "djb" \
+ "fhs" &&
+
+if [ "${DAEMONTOOLS_INSTALL_PATHS}" == "djb" ]; then
+ config_query DAEMONTOOLS_SYMLINKS \
+ "Create /command symlinks in /usr/local/bin?" \
+ y
+fi
diff --git a/utils/daemontools/DETAILS b/utils/daemontools/DETAILS
new file mode 100755
index 0000000..f4458dc
--- /dev/null
+++ b/utils/daemontools/DETAILS
@@ -0,0 +1,28 @@
+ SPELL=daemontools
+ VERSION=0.76
+ SOURCE=${SPELL}-${VERSION}.tar.gz
+SOURCE_DIRECTORY=${BUILD_DIRECTORY}/admin
+ SOURCE_URL[0]=http://cr.yp.to/${SPELL}/${SOURCE}
+
SOURCE_HASH=sha512:e4a7938352b745a03ccc41acdddba1e6782f0ca245e5cae060de62ab6c5a23c841a994c30140298d274405a7f26d53ba7e84e5810a3d185b2c01e4c0feffe6c7
+ WEB_SITE=http://cr.yp.to/daemontools.html
+ ENTERED=20040202
+ LICENSE[0]=PublicDomain
+ DOCS="${DOCS} *.html"
+ SHORT="A collection of tools for managing UNIX services"
+cat << EOF
+daemontools is a collection of tools for managing UNIX services.
+
+supervise monitors a service. It starts the service and restarts the
+service if it dies. Setting up a new service is easy: all supervise
+needs is a directory with a run script that runs the service.
+
+multilog saves error messages to one or more logs. It optionally
+timestamps each line and, for each log, includes or excludes lines
+matching specified patterns. It automatically rotates logs to limit the
+amount of disk space used. If the disk fills up, it pauses and tries
+again, without losing any data.
+
+This spell by default builds an "official" package, using DJB's required
+installation paths and behaviors. Options are provided to install to
+FHS-compliant paths as well.
+EOF
diff --git a/utils/daemontools/FINAL b/utils/daemontools/FINAL
new file mode 100755
index 0000000..d93ae70
--- /dev/null
+++ b/utils/daemontools/FINAL
@@ -0,0 +1,19 @@
+# The inittab needs to be modified here so that it doesn't get removed on
+# dispel.
+
+if [ "${DAEMONTOOLS_CHANGE_INITTAB}" == "y" ] && \
+ ! grep -q svscanboot /etc/inittab
+then
+ if [ "${DAEMONTOOLS_INSTALL_PATHS}" == "fhs" ]; then
+ sedit '1,/^tty/{; /^tty/i \
+supervise:dumb:/sbin/svscanboot
+ }' /etc/inittab
+ else
+ sedit '1,/^tty/{; /^tty/i \
+supervise:dumb:/command/svscanboot
+ }' /etc/inittab
+ fi &&
+ message "svscanboot has been added to /etc/inittab. 'kill -1 1' to reload
init."
+else
+ message "svscanboot is already in /etc/inittab."
+fi
diff --git a/utils/daemontools/HISTORY b/utils/daemontools/HISTORY
new file mode 100644
index 0000000..c2b079c
--- /dev/null
+++ b/utils/daemontools/HISTORY
@@ -0,0 +1,68 @@
+2008-07-19 Elisamuel Resto <ryuji AT sourcemage.org>
+ * BUILD, CONFIGURE, DETAILS, FINAL, HISTORY, INSTALL, POST_REMOVE,
+ POST_RESURRECT, PRE_BUILD, daemontools-docs.tar.bz2, init.d:
+ moved from z-rejected, LICENSE is now PublicDomain
+
+2007-04-01 Jeremy Blosser <jblosser-smgl AT firinn.org>
+ * 0.76-errno.patch: Deleted in favor of -include /usr/include/errno.h
+ * BUILD: Add -include /usr/include/errno.h, remove patching, switch
+ from make to package/compile
+ * CONFIGURE: Apply spell namespace to variables, query about install
+ paths, drop supervise-scripts dependencies/queries.
+ * DEPENDS, TRIGGERS: Deleted; drop unnecessary supervise-scripts.
+ * DETAILS: Add more license info, add to DOCS.
+ * FINAL: Improve inittab handling.
+ * INSTALL: Account for different install paths.
+ * init.d/svscan: General improvements, remove supervise-scripts,
+ account for different install paths.
+ * POST_REMOVE, POST_RESURRECT: Added.
+ * PRE_BUILD, daemontools-docs.tar.bz2: Added for more docs.
+
+2006-09-21 Juuso Alasuutari <iuso AT sourcemage.org>
+ * DETAILS: [automated] Removed BUILD_API=2.
+
+2005-12-01 Seth Woolley <seth AT tautology.org>
+ * DETAILS: MD5 -> SHA512
+
+2005-07-25 Maurizio Boriani <baux AT sourcemage.org>
+ * FINAL: inittab modifyed after ask.
+ * CONFIGURE: New, ask for supervise scripts support.
+ * DEPENDS: New, supervise-scripts optional depends.
+ * init.d/svscan: Fixed.
+
+2005-07-19 Maurizio Boriani <baux AT sourcemage.org>
+ * FINAL: svscan-start does not exists. Use svscanboot.
+ * init.d/svscan: Likewise.
+
+2005-02-18 Eric Sandall <eric AT sandall.us>
+ * Applied Jeremy's patch (Bug #8027)
+ * Moved from net/daemontools to z-rejected/z-utils/daemontools (Bug
+ #8027)
+ * DEPENDS: Removed circular dependency on supervise-scripts (for now)
+ * BUILD,INSTALL: Cleaned up spacing
+ Added "&&"s
+ * FINAL: Cleaned up spacing
+ Added "&&"s
+ Use `return 1` instead of `exit 1`
+ * HISTORY: Formatted to Guru Handbook
+
+2005-01-18 Jeremy Blosser <jblosser AT firinn.org>
+ * Modified spell to be more consistant with other spells in the
+ djb/qmail suite
+ * FINAL: run svscan from /etc/inittab
+ * BUILD/INSTALL: use internal configure instead of sedit to set
install
+ locations
+ * DEPENDS: supervise-scripts
+ * daemontools-errno.patch,init.d/daemontools: Removed
+
+2004-12-03 Robert Helgesson <rycee AT home.se>
+ * DETAILS: Added LICENSE field.
+
+2004-11-09 Rafael George <rgeorge AT yatusabes.com>
+ * HISTORY: addition
+ * DETAILS: build api 2
+ * DETAILS: md5 fix
+
+2004-02-02 shivaken <shivaken AT jcom.home.ne.jp>
+ * Created spell
+
diff --git a/utils/daemontools/INSTALL b/utils/daemontools/INSTALL
new file mode 100755
index 0000000..c590ac1
--- /dev/null
+++ b/utils/daemontools/INSTALL
@@ -0,0 +1,18 @@
+cd command &&
+
+if [ "${DAEMONTOOLS_INSTALL_PATHS}" == "fhs" ]; then
+ /usr/bin/install -d "/etc/service"
&&
+ /usr/bin/install -m 755 `cat ../package/commands` "${INSTALL_ROOT}/sbin"
+else
+ /usr/bin/install -d "/service" &&
+ /usr/bin/install -d "${INSTALL_ROOT}/command" &&
+ /usr/bin/install -m 755 `cat ../package/commands` \
+ "${INSTALL_ROOT}/command" &&
+ if [ "${DAEMONTOOLS_SYMLINKS}" == "y" ]; then
+ while read i; do
+ ln -sf /command/$i /usr/local/bin/$i
+ done <../package/commands
+ fi
+fi &&
+
+cd ..
diff --git a/utils/daemontools/POST_REMOVE b/utils/daemontools/POST_REMOVE
new file mode 100755
index 0000000..a395b00
--- /dev/null
+++ b/utils/daemontools/POST_REMOVE
@@ -0,0 +1,4 @@
+if grep -q svscan /etc/inittab; then
+ sedit "/svscan/d" /etc/inittab &&
+ message "svscanboot has been removed from /etc/inittab. 'kill -1 1' to
reload init."
+fi
diff --git a/utils/daemontools/POST_RESURRECT
b/utils/daemontools/POST_RESURRECT
new file mode 100755
index 0000000..e3c42e9
--- /dev/null
+++ b/utils/daemontools/POST_RESURRECT
@@ -0,0 +1 @@
+. "${SCRIPT_DIRECTORY}/FINAL"
diff --git a/utils/daemontools/PRE_BUILD b/utils/daemontools/PRE_BUILD
new file mode 100755
index 0000000..77ab2de
--- /dev/null
+++ b/utils/daemontools/PRE_BUILD
@@ -0,0 +1,9 @@
+default_pre_build &&
+cd "${SOURCE_DIRECTORY}/${SPELL}-${VERSION}" &&
+
+if [ "${DAEMONTOOLS_INSTALL_PATHS}" == "fhs" ]; then
+ sedit 's@/service@/etc/service@; s@/command@/sbin@' src/svscanboot.sh
+fi &&
+
+tar -xjvf "${SCRIPT_DIRECTORY}/daemontools-docs.tar.bz2" &&
+mv package/README src/CHANGES daemontools/*.html "${SOURCE_DIRECTORY}"
diff --git a/utils/daemontools/daemontools-docs.tar.bz2
b/utils/daemontools/daemontools-docs.tar.bz2
new file mode 100644
index 0000000..f96ece9
Binary files /dev/null and b/utils/daemontools/daemontools-docs.tar.bz2 differ
diff --git a/utils/daemontools/init.d/svscan b/utils/daemontools/init.d/svscan
new file mode 100644
index 0000000..f01f3d0
--- /dev/null
+++ b/utils/daemontools/init.d/svscan
@@ -0,0 +1,88 @@
+#!/bin/bash
+
+# Note: svscan may be started and respawned directly from inittab.
+
+if [ -x "/command/svscan" ]; then
+ PROGRAM="/command/svscan"
+elif [ -x "/sbin/svscan" ]; then
+ PROGRAM="/sbin/svscan"
+else
+ error "svscan not found"
+fi
+
+if [ -d "/service" ]; then
+ ARGS="/service"
+elif [ -d "/etc/service" ]; then
+ ARGS="/etc/service"
+else
+ error "service directory not found"
+fi
+
+RUNLEVEL=3
+NEEDS="+network"
+
+. /etc/init.d/smgl_init
+
+SUPERVISE_IN_INITTAB="`grep '^supervise:' /etc/inittab`"
+
+start()
+{
+ if [ -n "${SUPERVISE_IN_INITTAB}" ]; then
+ echo "svscan is being run from /etc/inittab."
+ else
+ _start
+ fi
+}
+
+stop_services()
+{
+ echo -n "Stopping supervised services... "
+ if [ `/bin/ls "${ARGS}" | wc -l` -gt 0 ]; then
+ echo
+ for SVC in "${ARGS}/"*; do
+ echo "Stopping $SVC..."
+ svc -dx "$SVC"
+ evaluate_retval
+ if [ -d "$SVC/log" ]; then
+ echo "Stopping $SVC/log..."
+ svc -dx "$SVC/log"
+ evaluate_retval
+ fi
+ done
+ else
+ echo "no services found."
+ fi
+}
+
+stop()
+{
+ stop_services
+
+ if [ -n "${SUPERVISE_IN_INITTAB}" ]; then
+ echo "svscan is being run from /etc/inittab and cannot be stopped."
+ else
+ _stop
+ fi
+}
+
+restart()
+{
+ if [ -n "${SUPERVISE_IN_INITTAB}" ]; then
+ stop_services
+ _stop
+ echo "svscan will be restarted by init."
+ else
+ _restart
+ fi
+}
+
+status()
+{
+ _status
+ if [ -n "${SUPERVISE_IN_INITTAB}" ]; then
+ echo "run from /etc/inittab."
+ else
+ echo "run standalone."
+ fi
+ svstat "${ARGS}/"*
+}



  • [SM-Commit] GIT changes to master grimoire by Elisamuel Resto (796210c0ae38300404c9ac74b2e3e1f1bd34157f), Elisamuel Resto, 07/26/2008

Archive powered by MHonArc 2.6.24.

Top of Page