From 833c9d2bebd8cee334b9665349418d96db166a40 Mon Sep 17 00:00:00 2001 From: Norikatsu Shigemura Date: Thu, 16 May 2002 10:26:39 +0000 Subject: Add new ports. PR: ports/37661 Submitted by: Alex Dupre Approved by: knu (mentor) --- net/Makefile | 1 + net/lmd/distinfo | 1 + net/lmd/files/lmd.sh | 35 ++++++++++++++++++++++++ net/lmd/files/patch-Makefile | 29 ++++++++++++++++++++ net/lmd/files/patch-main.c | 11 ++++++++ net/lmd/files/patch-modules_check::Makefile | 22 +++++++++++++++ net/lmd/pkg-comment | 1 + net/lmd/pkg-descr | 12 +++++++++ net/lmd/pkg-message.in | 8 ++++++ net/lmd/pkg-plist | 7 +++++ net/loadd/Makefile | 42 +++++++++++++++++++++++++++++ net/loadd/distinfo | 1 + net/loadd/files/010.loadd.sh | 35 ++++++++++++++++++++++++ net/loadd/files/patch-Makefile | 29 ++++++++++++++++++++ net/loadd/files/patch-define.h | 11 ++++++++ net/loadd/files/patch-main.c | 11 ++++++++ net/loadd/pkg-comment | 1 + net/loadd/pkg-descr | 23 ++++++++++++++++ net/loadd/pkg-message.in | 14 ++++++++++ net/loadd/pkg-plist | 8 ++++++ 20 files changed, 302 insertions(+) create mode 100644 net/lmd/distinfo create mode 100644 net/lmd/files/lmd.sh create mode 100644 net/lmd/files/patch-Makefile create mode 100644 net/lmd/files/patch-main.c create mode 100644 net/lmd/files/patch-modules_check::Makefile create mode 100644 net/lmd/pkg-comment create mode 100644 net/lmd/pkg-descr create mode 100644 net/lmd/pkg-message.in create mode 100644 net/lmd/pkg-plist create mode 100644 net/loadd/Makefile create mode 100644 net/loadd/distinfo create mode 100644 net/loadd/files/010.loadd.sh create mode 100644 net/loadd/files/patch-Makefile create mode 100644 net/loadd/files/patch-define.h create mode 100644 net/loadd/files/patch-main.c create mode 100644 net/loadd/pkg-comment create mode 100644 net/loadd/pkg-descr create mode 100644 net/loadd/pkg-message.in create mode 100644 net/loadd/pkg-plist (limited to 'net') diff --git a/net/Makefile b/net/Makefile index 0e8f3262f417..dad8eaa18879 100644 --- a/net/Makefile +++ b/net/Makefile @@ -232,6 +232,7 @@ SUBDIR += linux-edonkey-server SUBDIR += lla SUBDIR += lmd + SUBDIR += loadd SUBDIR += macipgw SUBDIR += maradns SUBDIR += mars_nwe diff --git a/net/lmd/distinfo b/net/lmd/distinfo new file mode 100644 index 000000000000..dd6dd16a668f --- /dev/null +++ b/net/lmd/distinfo @@ -0,0 +1 @@ +MD5 (lmd-0.8.tar.gz) = 909e335b4a406d2b14c0db21e4840ab6 diff --git a/net/lmd/files/lmd.sh b/net/lmd/files/lmd.sh new file mode 100644 index 000000000000..e9d93c2833e7 --- /dev/null +++ b/net/lmd/files/lmd.sh @@ -0,0 +1,35 @@ +#!/bin/sh + +if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/${0##*/}\$"); then + echo "$0: Cannot determine the PREFIX" >&2 + exit 64 +fi + +if [ -r /etc/defaults/rc.conf ]; then + . /etc/defaults/rc.conf + source_rc_confs +elif [ -r /etc/rc.conf ]; then + . /etc/rc.conf +fi + +case "$1" in +start) + case ${lmd_enable:-NO} in + [Yy][Ee][Ss]) + [ -f ${PREFIX}/etc/lmd.conf ] && ${lmd_program:-${PREFIX}/sbin/lmd} ${lmd_flags} && echo -n ' lmd' + ;; + esac + ;; +stop) + case ${lmd_enable:-NO} in + [Yy][Ee][Ss]) + [ -f ${PREFIX}/etc/lmd.conf ] && /usr/bin/killall lmd && echo -n ' lmd' + ;; + esac + ;; +*) + echo "Usage: `basename $0` {start|stop}" >&2 + ;; +esac + +exit 0 diff --git a/net/lmd/files/patch-Makefile b/net/lmd/files/patch-Makefile new file mode 100644 index 000000000000..211e76b7a333 --- /dev/null +++ b/net/lmd/files/patch-Makefile @@ -0,0 +1,29 @@ +--- Makefile.orig Mon Nov 26 07:30:14 2001 ++++ Makefile Tue May 14 14:18:21 2002 +@@ -1,18 +1,21 @@ + SRCS=main.c socket.c chkmodules.c conf.c + OBJS=${SRCS:.c=.o} + DYNLIB=modules_check/ldd_http_module.so +-OPTS=-O3 -fomit-frame-pointer -pipe -Wall -ansi ++OPTS=${CFLAGS} ${CPPFLAGS} -Wall -ansi + #DEBUG=-DDEBUG -g +-LIBS=-L/usr/local/lib -lm ++LIBS=-L${PREFIX}/lib -lm ++CC?=cc ++ ++all: lmd modules_check/ldd_http_module.so + + lmd: ${OBJS} ${DYNLIB} +- gcc ${DEBUG} ${OPTS} ${OBJS} -o lmd ${LIBS} ++ ${CC} ${DEBUG} ${OPTS} ${OBJS} -o lmd ${LIBS} + + .c.o: ${SRCS} +- gcc ${DEBUG} ${OPTS} -c $< ++ ${CC} ${DEBUG} ${OPTS} -c $< + + modules_check/ldd_http_module.so: +- cd ./modules_check && make && cd .. ++ cd ./modules_check && make 'CC=${CC}' 'CFLAGS=${CFLAGS}' 'CPPFLAGS=${CPPFLAGS}' && cd .. + + clean: + rm -rf ${OBJS} lmd *.core *~ modules_check/*.so diff --git a/net/lmd/files/patch-main.c b/net/lmd/files/patch-main.c new file mode 100644 index 000000000000..6da527ce86b4 --- /dev/null +++ b/net/lmd/files/patch-main.c @@ -0,0 +1,11 @@ +--- main.c.orig Mon Nov 26 06:45:34 2001 ++++ main.c Tue May 14 14:09:46 2002 +@@ -1,7 +1,7 @@ + #include "main.h" + #include + #define TIMETOSLEEP 60 +-#define CONFIGFILE "/usr/local/etc/lmd.conf" ++#define CONFIGFILE PREFIX "/etc/lmd.conf" + + char bufferout[2][1024]; + char **loaddservers; diff --git a/net/lmd/files/patch-modules_check::Makefile b/net/lmd/files/patch-modules_check::Makefile new file mode 100644 index 000000000000..7ef750a84888 --- /dev/null +++ b/net/lmd/files/patch-modules_check::Makefile @@ -0,0 +1,22 @@ +--- modules_check/Makefile.orig Mon Nov 26 07:31:09 2001 ++++ modules_check/Makefile Tue May 14 14:16:16 2002 +@@ -1,14 +1,15 @@ + # If you want to debug lmd comment out this line and recompile it + # Launch lmd with -v option to see debug messages + #DEBUG=-DDEBUG +-OPTS=-Wall -fomit-frame-pointer -O2 -pipe -ansi ++OPTS=${CFLAGS} ${CPPFLAGS} -ansi ++CC?=cc + + all: socket.o +- gcc ${DEBUG} ${OPTS} -c ldd_http_module.c +- gcc ${DEBUG} -shared ldd_http_module.o socket.o -o ldd_http_module.so ++ ${CC} ${DEBUG} ${OPTS} -c ldd_http_module.c ++ ${CC} ${DEBUG} -shared ldd_http_module.o socket.o -o ldd_http_module.so + + socket.o: +- gcc -c ../socket.c -o socket.o ++ ${CC} -c ../socket.c -o socket.o + + clean: + rm *.so *.o diff --git a/net/lmd/pkg-comment b/net/lmd/pkg-comment new file mode 100644 index 000000000000..f56cca92ac18 --- /dev/null +++ b/net/lmd/pkg-comment @@ -0,0 +1 @@ +A Load Monitor Daemon diff --git a/net/lmd/pkg-descr b/net/lmd/pkg-descr new file mode 100644 index 000000000000..cae9eef79721 --- /dev/null +++ b/net/lmd/pkg-descr @@ -0,0 +1,12 @@ +lmd is a daemon that monitors the server load and communicates +with loadd for Intellingence Load Sharing (Balancing with +realtime load). + +Supported modules: + +* http + +WWW: http://www.bsdshell.net/hut_loadd.html + +- Alex Dupre +sysadmin@alexdupre.com diff --git a/net/lmd/pkg-message.in b/net/lmd/pkg-message.in new file mode 100644 index 000000000000..5a1875a0a1fb --- /dev/null +++ b/net/lmd/pkg-message.in @@ -0,0 +1,8 @@ +################################################## + !! IMPORTANT !! CONFIGURE YOUR LMD CLIENT WITH + THE %PREFIX%/etc/lmd.conf CONFIGURATION FILE + Just set loaddservers to the IP of your loadd + server. You can specify multiple loadd servers + with the ',' separator + Example: loaddservers = 63.2.1.3, 62.3.5.6 +################################################## diff --git a/net/lmd/pkg-plist b/net/lmd/pkg-plist new file mode 100644 index 000000000000..82458824c348 --- /dev/null +++ b/net/lmd/pkg-plist @@ -0,0 +1,7 @@ +sbin/lmd +etc/lmd.conf.sample +lib/ldd_http_module.so +%%PORTDOCS%%share/doc/lmd/README +%%PORTDOCS%%share/doc/lmd/INSTALL +%%PORTDOCS%%share/doc/lmd/LICENSE +%%PORTDOCS%%@dirrm share/doc/lmd diff --git a/net/loadd/Makefile b/net/loadd/Makefile new file mode 100644 index 000000000000..8b1ad2dff701 --- /dev/null +++ b/net/loadd/Makefile @@ -0,0 +1,42 @@ +# New ports collection makefile for: loadd +# Date created: Thu May 2 11:20:06 CET 2002 +# Whom: Alex Dupre +# +# $FreeBSD$ +# + +PORTNAME= loadd +PORTVERSION= 0.8 +CATEGORIES= net sysutils +MASTER_SITES= http://www.bsdshell.net/download/ + +MAINTAINER= sysadmin@alexdupre.com + +LIB_DEPENDS= glib12.3:${PORTSDIR}/devel/glib12 + +DOCS= INSTALL LICENSE README TODO +PKGMESSAGE= ${WRKDIR}/pkg-message + +MAKE_ENV+= CPPFLAGS="-DPREFIX=\\\"${PREFIX}\\\"" +MAKE_ENV+= PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" PTHREAD_LIBS="${PTHREAD_LIBS}" + +post-build: + @${SED} 's,%%PREFIX%%,${PREFIX},g' ${.CURDIR}/pkg-message.in \ + > ${WRKDIR}/pkg-message + +do-install: + @${ECHO_CMD} "Installing files..." + @${INSTALL_PROGRAM} ${WRKSRC}/loadd ${PREFIX}/libexec/ + @${INSTALL_SCRIPT} ${FILESDIR}/010.loadd.sh ${PREFIX}/etc/rc.d/ + @${INSTALL_DATA} ${WRKSRC}/loadd.conf ${PREFIX}/etc/loadd.conf.sample + @${CAT} ${PKGMESSAGE} + +.if !defined(NOPORTDOCS) +post-install: + @${MKDIR} ${DOCSDIR} +.for f in ${DOCS} + @${INSTALL_DATA} ${WRKSRC}/${f} ${DOCSDIR} +.endfor +.endif + +.include diff --git a/net/loadd/distinfo b/net/loadd/distinfo new file mode 100644 index 000000000000..6d3a6b79d283 --- /dev/null +++ b/net/loadd/distinfo @@ -0,0 +1 @@ +MD5 (loadd-0.8.tar.gz) = c6cca2534bd987c4ef408033ebf1a0bd diff --git a/net/loadd/files/010.loadd.sh b/net/loadd/files/010.loadd.sh new file mode 100644 index 000000000000..a20c4440d37b --- /dev/null +++ b/net/loadd/files/010.loadd.sh @@ -0,0 +1,35 @@ +#!/bin/sh + +if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/${0##*/}\$"); then + echo "$0: Cannot determine the PREFIX" >&2 + exit 64 +fi + +if [ -r /etc/defaults/rc.conf ]; then + . /etc/defaults/rc.conf + source_rc_confs +elif [ -r /etc/rc.conf ]; then + . /etc/rc.conf +fi + +case "$1" in +start) + case ${loadd_enable:-NO} in + [Yy][Ee][Ss]) + [ -f ${PREFIX}/etc/loadd.conf && ${loadd_program:-${PREFIX}/libexec/loadd} ${loadd_flags:--d} && echo -n ' loadd' + ;; + esac + ;; +stop) + case ${loadd_enable:-NO} in + [Yy][Ee][Ss]) + [ -f ${PREFIX}/etc/loadd.conf ] && /usr/bin/killall loadd && echo -n ' loadd' + ;; + esac + ;; +*) + echo "Usage: `basename $0` {start|stop}" >&2 + ;; +esac + +exit 0 diff --git a/net/loadd/files/patch-Makefile b/net/loadd/files/patch-Makefile new file mode 100644 index 000000000000..4e80c30e23ec --- /dev/null +++ b/net/loadd/files/patch-Makefile @@ -0,0 +1,29 @@ +--- Makefile.orig Mon Nov 26 07:44:48 2001 ++++ Makefile Tue May 14 14:55:55 2002 +@@ -3,18 +3,21 @@ + + SRCS=main.c socket.c icmp.c conf.c threads.c network.c aliasing.c tri.c + OBJS=${SRCS:.c=.o} +-OPTS=-pthread -pipe -Wall -ansi -O2 -march=pentiumpro -fomit-frame-pointer -ffast-math ++OPTS=${CFLAGS} ${CPPFLAGS} -Wall -ansi + #DEBUG=-DDEBUG -DDEBUGALIAS #-DDEBUGHASHTABLE + #DEBUG=-DDEBUGMONITOR +-DEFINE=-D_THREAD_SAFE -D_REENTRANT +-LIBS=-L/usr/local/lib `glib12-config --libs` ++DEFINE=${PTHREAD_CFLAGS} ++LIBS=-L${PREFIX}/lib `glib12-config --libs` ${PTHREAD_LIBS} + INCLUDE=`glib12-config --cflags` ++CC?=cc ++ ++all: loadd + + loadd: ${OBJS} +- gcc ${INCLUDE} ${DEFINE} ${DEBUG} ${OPTS} ${OBJS} -o loadd ${LIBS} ++ ${CC} ${INCLUDE} ${DEFINE} ${DEBUG} ${OPTS} ${OBJS} -o loadd ${LIBS} + + .c.o: ${SRCS} +- gcc ${INCLUDE} ${DEFINE} ${DEBUG} ${OPTS} -c $< ++ ${CC} ${INCLUDE} ${DEFINE} ${DEBUG} ${OPTS} -c $< + + clean: + rm -rf ${OBJS} loadd *.core *~ diff --git a/net/loadd/files/patch-define.h b/net/loadd/files/patch-define.h new file mode 100644 index 000000000000..8e8351247e59 --- /dev/null +++ b/net/loadd/files/patch-define.h @@ -0,0 +1,11 @@ +--- define.h.orig Tue Oct 2 22:43:20 2001 ++++ define.h Tue May 14 14:45:36 2002 +@@ -5,7 +5,7 @@ + #define MONITORINGPORT 8670 /* En UDP */ + #define PINGINTERVAL 60000000 + #define REFRESHTIMEOUT 1 +-#define CONFFILE "/usr/local/etc/loadd2.conf" ++#define CONFFILE PREFIX "/etc/loadd.conf" + #define CALC_CHECKSUM(acc, cksum) { \ + acc += cksum; \ + if (acc < 0) \ diff --git a/net/loadd/files/patch-main.c b/net/loadd/files/patch-main.c new file mode 100644 index 000000000000..8a5be982437d --- /dev/null +++ b/net/loadd/files/patch-main.c @@ -0,0 +1,11 @@ +--- main.c.orig Mon Nov 26 05:59:19 2001 ++++ main.c Tue May 14 14:46:25 2002 +@@ -270,7 +270,7 @@ + break; + } + if (! *conffile) +- strncpy(conffile, "/usr/local/etc/loadd.conf", sizeof(conffile) - 1); ++ strncpy(conffile, PREFIX "/etc/loadd.conf", sizeof(conffile) - 1); + argc -= optind; + argv += optind; + ht = loadd_main_init(conffile); diff --git a/net/loadd/pkg-comment b/net/loadd/pkg-comment new file mode 100644 index 000000000000..660ee4493631 --- /dev/null +++ b/net/loadd/pkg-comment @@ -0,0 +1 @@ +A Load Balancing Daemon diff --git a/net/loadd/pkg-descr b/net/loadd/pkg-descr new file mode 100644 index 000000000000..6ee2b4888599 --- /dev/null +++ b/net/loadd/pkg-descr @@ -0,0 +1,23 @@ +loadd is a daemon that communicate with ipfw Firewall via the DIVERT +sockets. You can easily configure a divert rule on your firewall and +redirect packets you want into the loadd system. Loadd check the +destination service and do a NAT on packets if the service must be +load balance. For choosing a host, loadd apply an algorithm that you +can configure. + +For this first release, two algorithms are available +and you can found this features: + +* Round-Robbin Algorithm (Very simple) +* Intelligence Load Sharing (Balancing with realtime load, work with + lmd client on real servers) +* TCP supported (not UDP yet) +* Support multiples IP services (except SSL for the moment) +* Choose of IP aliasing +* Choose of port number to Load Balance +* Multiple daemons support on the same host without conflict + +WWW: http://www.bsdshell.net/hut_loadd.html + +- Alex Dupre +sysadmin@alexdupre.com diff --git a/net/loadd/pkg-message.in b/net/loadd/pkg-message.in new file mode 100644 index 000000000000..33b24963f4f4 --- /dev/null +++ b/net/loadd/pkg-message.in @@ -0,0 +1,14 @@ +####################################################################### + Please modify the configuration file %%PREFIX%%/etc/loadd.conf + before launching %%PREFIX%%/libexec/loadd + don't forget to recompile your kernel with DIVERT and + IPFIREWALL options. Don't forget to specify a rule in the ipfw + firewall like natd: ipfw add divert 8670 tcp from any to any + 8670 is the default port, you can choose a different port by + running loadd with -p option like + %%PREFIX%%/libexec/loadd -p 8671 + ipfw add divert 8671 tcp from any to any + !! IMPORTANT !! There is no support for UDP at this time. + You cannot use loadsharing method (broken) use intlloadsharing + insteed and don't forget to launch lmd on server(s) to load balance +####################################################################### diff --git a/net/loadd/pkg-plist b/net/loadd/pkg-plist new file mode 100644 index 000000000000..87b92dc89b22 --- /dev/null +++ b/net/loadd/pkg-plist @@ -0,0 +1,8 @@ +libexec/loadd +etc/loadd.conf.sample +etc/rc.d/010.loadd.sh +%%PORTDOCS%%share/doc/loadd/TODO +%%PORTDOCS%%share/doc/loadd/README +%%PORTDOCS%%share/doc/loadd/INSTALL +%%PORTDOCS%%share/doc/loadd/LICENSE +%%PORTDOCS%%@dirrm share/doc/loadd -- cgit v1.2.3