aboutsummaryrefslogtreecommitdiffstats
path: root/www/spreadlogd
diff options
context:
space:
mode:
authorjylefort <jylefort@FreeBSD.org>2005-05-14 19:12:15 +0800
committerjylefort <jylefort@FreeBSD.org>2005-05-14 19:12:15 +0800
commitd3be373ab1d2fb3720e41ef9faf4fb85de7d90f0 (patch)
tree840febecbe209a2bdc4b1d7d00c63afa4518ebec /www/spreadlogd
parentd3acd9a55ec12c95811b9325dff0e097bff3864f (diff)
downloadfreebsd-ports-gnome-d3be373ab1d2fb3720e41ef9faf4fb85de7d90f0.tar.gz
freebsd-ports-gnome-d3be373ab1d2fb3720e41ef9faf4fb85de7d90f0.tar.zst
freebsd-ports-gnome-d3be373ab1d2fb3720e41ef9faf4fb85de7d90f0.zip
Add spreadlogd.
If you kill -HUP or kill the spreadlogd process, it will not actually process the signal until after it has received its next message from Spread. You can move you log files to new names and then kill -HUP and it will reopen the log files. This is useful for seamless log rotation without losing any messages. Spread is really cool. It is a poweful group communication toolkit developed at the Center for Networking and Distributed Systems at the Johns Hopkins University (http://www.spread.org/ and http://www.cnds.jhu.edu/, respectively). WWW: http://www.lethargy.org/mod_log_spread/ PR: ports/80877 Submitted by: Meno Abels <meno.abels@adviser.com>
Diffstat (limited to 'www/spreadlogd')
-rw-r--r--www/spreadlogd/Makefile43
-rw-r--r--www/spreadlogd/distinfo2
-rw-r--r--www/spreadlogd/files/patch-config.h14
-rw-r--r--www/spreadlogd/files/patch-makefile36
-rw-r--r--www/spreadlogd/files/patch-spreadlogd.c47
-rw-r--r--www/spreadlogd/files/spreadlogd.sh.in33
-rw-r--r--www/spreadlogd/pkg-descr10
7 files changed, 185 insertions, 0 deletions
diff --git a/www/spreadlogd/Makefile b/www/spreadlogd/Makefile
new file mode 100644
index 000000000000..40a73f833e62
--- /dev/null
+++ b/www/spreadlogd/Makefile
@@ -0,0 +1,43 @@
+# New ports collection makefile for: spreadlogd
+# Date created: 08 May 2005
+# Whom: Meno Abels <meno.abels@adviser.com>
+#
+# $FreeBSD$
+#
+
+PORTNAME= spreadlogd
+PORTVERSION= 1.4.2
+CATEGORIES= www net
+MASTER_SITES= http://www.lethargy.org/mod_log_spread/
+
+MAINTAINER= meno.abels@adviser.com
+COMMENT= The backend of mod_log_spread
+
+LIB_DEPENDS= spread.1:${PORTSDIR}/net/spread
+
+MAKEFILE= makefile
+USE_REINPLACE= yes
+
+USE_RC_SUBR= spreadlogd.sh
+SUB_FILES= spreadlogd.sh
+
+PLIST_FILES= sbin/spreadlogd etc/spreadlogd.conf.sample
+
+.if !defined(NOPORTDOCS)
+PORTDOCS= README Artistic.txt
+.endif
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|/etc|${PREFIX}/etc|' ${WRKSRC}/spreadlogd.c
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/spreadlogd ${PREFIX}/sbin
+ ${INSTALL} ${WRKSRC}/spreadlogd.conf ${PREFIX}/etc/spreadlogd.conf.sample
+.if !defined(NOPORTDOCS)
+ ${MKDIR} ${DOCSDIR}
+.for f in ${PORTDOCS}
+ ${INSTALL_DATA} ${WRKSRC}/${f} ${DOCSDIR}
+.endfor
+.endif
+
+.include <bsd.port.mk>
diff --git a/www/spreadlogd/distinfo b/www/spreadlogd/distinfo
new file mode 100644
index 000000000000..8df0ef9539aa
--- /dev/null
+++ b/www/spreadlogd/distinfo
@@ -0,0 +1,2 @@
+MD5 (spreadlogd-1.4.2.tar.gz) = 220651bcc124b1be2786401d0eab45ab
+SIZE (spreadlogd-1.4.2.tar.gz) = 17072
diff --git a/www/spreadlogd/files/patch-config.h b/www/spreadlogd/files/patch-config.h
new file mode 100644
index 000000000000..182e3a9e9cca
--- /dev/null
+++ b/www/spreadlogd/files/patch-config.h
@@ -0,0 +1,14 @@
+--- config.h.orig Mon Jan 1 19:08:46 2001
++++ config.h Sat May 14 13:00:50 2005
+@@ -11,9 +11,10 @@
+ #ifndef _CONFIG_H_
+ #define _CONFIG_H_
+
++#include <stdio.h>
+ #include <stdlib.h>
+ #include <sys/file.h>
+-#include <regex.h>
++#include <gnuregex.h>
+ #include <sp.h>
+
+ #include "hash.h"
diff --git a/www/spreadlogd/files/patch-makefile b/www/spreadlogd/files/patch-makefile
new file mode 100644
index 000000000000..b1f2cae47c07
--- /dev/null
+++ b/www/spreadlogd/files/patch-makefile
@@ -0,0 +1,36 @@
+--- makefile.orig Mon Nov 13 02:43:19 2000
++++ makefile Sat May 14 12:50:07 2005
+@@ -1,11 +1,9 @@
+-CC=gcc
+-CFLAGS=-g -D__USE_LARGEFILE64 -Wall
+-INCLUDES=-I/usr/local/include
++INCLUDES=-I${LOCALBASE}/include
+
+ #### BEGIN ARCH DEPENDANT SECTION ####
+-# For Linux
+-LDFLAGS=-L/usr/local/lib -L.
+-LIBS=-lsp -lskiplist
++# For FreeBSD
++LDFLAGS=-L${LOCALBASE}/lib -L.
++LIBS=-lskiplist -lgnuregex -lspread
+
+ # For Solaris
+ #LIBS=-lsp -lskiplist -lnsl -lsocket -lucb
+@@ -13,7 +11,7 @@
+ #BSDINCLUDES=-I/usr/ucbinclude
+ #### END ARCH DEPENDANT SECTION ####
+
+-YACC=bison -y
++YACC=yacc
+ LEX=flex
+
+ OBJS=spreadlogd.o lex.yy.o y.tab.o config.o hash.o timefuncs.o
+@@ -46,7 +44,7 @@
+ $(AR) cq libskiplist.a $(LSLOBJS)
+
+ spreadlogd: libskiplist.a $(OBJS)
+- $(CC) -g -o $@ $(OBJS) $(LDFLAGS) $(LIBS)
++ $(CC) $(CFLAGS) -o $@ $(OBJS) $(LDFLAGS) $(LIBS)
+
+ clean:
+ rm -f *~ *.o spreadlogd libskiplist.a y.tab.h y.tab.c lex.yy.c
diff --git a/www/spreadlogd/files/patch-spreadlogd.c b/www/spreadlogd/files/patch-spreadlogd.c
new file mode 100644
index 000000000000..79bc81469d34
--- /dev/null
+++ b/www/spreadlogd/files/patch-spreadlogd.c
@@ -0,0 +1,47 @@
+--- spreadlogd.c.orig Tue Jul 3 22:09:48 2001
++++ spreadlogd.c Sat May 14 12:47:05 2005
+@@ -114,9 +114,15 @@
+ }
+ }
+ void daemonize(void) {
++ FILE *fd;
++ char buf[16];
+ if(fork()!=0) exit(0);
+ setsid();
+ if(fork()!=0) exit(0);
++ fd = fopen("/var/run/spreadlogd.pid", "w");
++ sprintf(buf, "%d", getpid());
++ fputs(buf, fd);
++ fclose(fd);
+ }
+ int getnropen(void) {
+ struct rlimit rlim;
+@@ -127,9 +133,6 @@
+ }
+
+ int main(int argc, char **argv) {
+-#ifdef SPREAD_VERSION
+- int mver, miver, pver;
+-#endif
+ char *configfile = default_configfile;
+ char *message;
+ int getoption, debug = 0;
+@@ -137,7 +140,8 @@
+ sigset_t ourmask;
+ nr_open = getnropen();
+
+- fdsetsize = getdtablesize();
++ fdsetsize = 512; /* getdtablesize(); ugly fix for freebsd but the select fdset
++ is not as big as dtablesize returns so we receive some cores MENO */
+ fds = (SpreadConfiguration **)malloc(sizeof(SpreadConfiguration *)*
+ fdsetsize);
+ memset(fds, 0, sizeof(SpreadConfiguration *)*fdsetsize);
+@@ -182,7 +186,7 @@
+ buffsize);
+ }
+
+- if(!debug) daemonize();
++ if(!debug) { daemonize(); }
+
+ /* Set up HUP signal */
+ signalaction.sa_handler = sig_handler;
diff --git a/www/spreadlogd/files/spreadlogd.sh.in b/www/spreadlogd/files/spreadlogd.sh.in
new file mode 100644
index 000000000000..5f00ca1a1539
--- /dev/null
+++ b/www/spreadlogd/files/spreadlogd.sh.in
@@ -0,0 +1,33 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: spreadlogd
+# REQUIRE: spread
+# KEYWORD: FreeBSD shutdown
+
+#
+# Add the following lines to /etc/rc.conf to enable spread:
+#
+#spreadlogd_enable="YES"
+#
+#
+
+. %%RC_SUBR%%
+
+name=spreadlogd
+rcvar=`set_rcvar`
+
+command="%%PREFIX%%/sbin/spreadlogd"
+command_args=""
+pidfile=/var/run/${name}.pid
+required_files=%%PREFIX%%/etc/${name}.conf
+
+# set defaults
+
+spreadlogd_enable=${spreadlogd_enable:-"NO"}
+spreadlogd_flags=${spreadlogd_flags:-""}
+
+load_rc_config ${name}
+run_rc_command "$1"
diff --git a/www/spreadlogd/pkg-descr b/www/spreadlogd/pkg-descr
new file mode 100644
index 000000000000..4949f01b6d23
--- /dev/null
+++ b/www/spreadlogd/pkg-descr
@@ -0,0 +1,10 @@
+If you kill -HUP or kill the spreadlogd process, it will not actually process
+the signal until after it has received its next message from Spread. You can
+move you log files to new names and then kill -HUP and it will reopen the log
+files. This is useful for seamless log rotation without losing any messages.
+
+Spread is really cool. It is a poweful group communication toolkit developed
+at the Center for Networking and Distributed Systems at the Johns Hopkins
+University (http://www.spread.org/ and http://www.cnds.jhu.edu/, respectively).
+
+WWW: http://www.lethargy.org/mod_log_spread/