From a2676d1f0e1915ad344fd138654a086a9070c5e8 Mon Sep 17 00:00:00 2001
From: Clive Lin <clive@FreeBSD.org>
Date: Sat, 20 Oct 2001 15:10:47 +0000
Subject: Upgrade to 6.2. Hybrid-5 is unsupported, forget it.

PR: ports/31116
Submitted by: David Taylor <davidt@yadt.co.uk>
---
 irc/ircd-hybrid/Makefile       |  54 ++++++++++----
 irc/ircd-hybrid/distinfo       |   2 +-
 irc/ircd-hybrid/files/ircd.sh  |  30 ++++----
 irc/ircd-hybrid/files/patch-aa |  81 +++++---------------
 irc/ircd-hybrid/files/patch-ab | 100 ++++++-------------------
 irc/ircd-hybrid/files/patch-ac |  34 ++++++---
 irc/ircd-hybrid/files/patch-ad | 163 +++++++++++++++++++++++++++++++++++++----
 irc/ircd-hybrid/files/patch-ae |  16 ++--
 irc/ircd-hybrid/pkg-comment    |   2 +-
 irc/ircd-hybrid/pkg-descr      |  15 ++--
 irc/ircd-hybrid/pkg-install    |  26 ++++---
 irc/ircd-hybrid/pkg-plist      |  45 +++++++++---
 12 files changed, 333 insertions(+), 235 deletions(-)

diff --git a/irc/ircd-hybrid/Makefile b/irc/ircd-hybrid/Makefile
index 7d5650d035d7..b0fa9a4bbf14 100644
--- a/irc/ircd-hybrid/Makefile
+++ b/irc/ircd-hybrid/Makefile
@@ -1,32 +1,60 @@
 # New ports collection makefile for:	ircd-hybrid
-# Date created:		9 January 1998
-# Whom:			desmo@bandwidth.org
+# Date Created:				2001-10-07
+# Whom:					David Taylor <davidt@yadt.co.uk>
 #
 # $FreeBSD$
 #
 
 PORTNAME=	ircd-hybrid
-PORTVERSION=	5.3p8
+PORTVERSION=	6.2
 CATEGORIES=	irc
-MASTER_SITES=	ftp://ftp.blackened.com/pub/irc/hybrid/ ftp://ftp.blackened.com/pub/irc/hybrid/old/
+MASTER_SITES=	${MASTER_SITE_SOURCEFORGE}
+MASTER_SITE_SUBDIR=	ircd-hybrid
+EXTRACT_SUFX=	.tgz
 
-MAINTAINER=	desmo@bandwidth.org
+MAINTAINER=	davidt@yadt.co.uk
 
+MAN8=		ircd.8
+
+PATCH_STRIP=	-p1
+USE_GMAKE=	yes
 GNU_CONFIGURE=	yes
+PLIST_SUB=	PORTNAME=${PORTNAME}
+
+.if !defined(PACKAGE_BUILDING) && !defined(BATCH)
 IS_INTERACTIVE=	yes
+.endif
 
-MAN8=		ircd.8
+post-extract:
+	@${MV} ${WRKSRC}/include/config.h ${WRKSRC}/include/config.h.in
+	@${MV} ${WRKSRC}/tools/install_ircd ${WRKSRC}/tools/install_ircd.in
+
+post-configure:
+	${CHMOD} +x ${WRKSRC}/tools/install_ircd
 
 pre-install:
+.if !defined(PACKAGE_BUILDING) && !defined(BATCH)
 	@${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
+.endif
 
 post-install:
-	${INSTALL_SCRIPT} ${WRKSRC}/tools/buildm4 ${PREFIX}/bin
-	${INSTALL_PROGRAM} ${WRKSRC}/tools/fixklines ${PREFIX}/bin
-	${INSTALL_PROGRAM} ${WRKSRC}/tools/ircd-mkpasswd ${PREFIX}/bin
-	${INSTALL_PROGRAM} ${WRKSRC}/tools/viconf ${PREFIX}/bin
-	${INSTALL_MAN} ${WRKSRC}/doc/ircd.8 ${MANPREFIX}/man/man8
-	${INSTALL_SCRIPT} ${FILESDIR}/ircd.sh ${PREFIX}/etc/rc.d
-	${INSTALL_DATA} ${WRKSRC}/doc/example.conf.trillian ${PREFIX}/etc/ircd
+.if !defined(NOPORTDOCS)
+	@${MKDIR} ${PREFIX}/share/doc/${PORTNAME}
+	@${MKDIR} ${PREFIX}/share/doc/${PORTNAME}/old
+	@${MKDIR} ${PREFIX}/share/doc/${PORTNAME}/old/US-Admin
+	for i in old/US-Admin/Networking old/US-Admin/Operators \
+		old/US-Admin/README old/Authors old/Etiquette old/README \
+		CIDR.txt INDEX Makefile README.TSora Tao-of-IRC.940110 \
+		blalloc.txt example.conf example.conf.trillian ircd.8 \
+		mtrie.txt operguide.txt opermyth.txt rfc1459.txt \
+		server-version-info simple.conf ts5.txt yline.txt; do \
+	  ${INSTALL_MAN} ${WRKSRC}/doc/$$i \
+	  	${PREFIX}/share/doc/${PORTNAME}/$$i; \
+	done
+.endif
+	@${SED} -e "s#%PREFIX%#${PREFIX}#" ${FILESDIR}/ircd.sh \
+		> ${WRKDIR}/ircd.sh
+	@${INSTALL_SCRIPT} ${WRKDIR}/ircd.sh ${PREFIX}/etc/rc.d
+	@${CAT} ${PKGMESSAGE}
 
 .include <bsd.port.mk>
diff --git a/irc/ircd-hybrid/distinfo b/irc/ircd-hybrid/distinfo
index 64fe5b806ee2..af338da224f9 100644
--- a/irc/ircd-hybrid/distinfo
+++ b/irc/ircd-hybrid/distinfo
@@ -1 +1 @@
-MD5 (ircd-hybrid-5.3p8.tar.gz) = 99dabbed9686cffd9fc5bfbadaa2c48e
+MD5 (ircd-hybrid-6.2.tgz) = 0c4f90b9d23674cb8ea809dde4d3b03a
diff --git a/irc/ircd-hybrid/files/ircd.sh b/irc/ircd-hybrid/files/ircd.sh
index 0eb649081033..4e2918d5b67d 100644
--- a/irc/ircd-hybrid/files/ircd.sh
+++ b/irc/ircd-hybrid/files/ircd.sh
@@ -1,18 +1,14 @@
 #!/bin/sh
-
-case "$1" in
-start)
-	[ -x /usr/local/sbin/ircd ] \
-	&& /usr/local/sbin/ircd >/dev/null 2>&1 \
-	&& echo -n " ircd"
-	;;
-stop)
-	killall ircd && echo -n ' ircd'
-	;;
-*)
-	echo "Usage: `basename $0` {start|stop}" >&2
-	exit 64
-	;;
-esac
-
-exit 0
+if [ $# -eq 0 -o x$1 = xstart ]; then
+  if [ -x %PREFIX%/bin/ircd ]; then
+    su -fm ircd -c %PREFIX%/bin/ircd && echo ' ircd'
+  fi
+fi
+if [ x$1 = xstop ]; then
+  if [ -f %PREFIX%/etc/ircd.pid ]; then
+    kill `cat %PREFIX%/etc/ircd.pid`
+  else
+    # oh well
+    killall ircd
+  fi
+fi
diff --git a/irc/ircd-hybrid/files/patch-aa b/irc/ircd-hybrid/files/patch-aa
index 339acf65f604..c1857e5ccc17 100644
--- a/irc/ircd-hybrid/files/patch-aa
+++ b/irc/ircd-hybrid/files/patch-aa
@@ -1,62 +1,19 @@
---- include/s_err.h.old	Sun Jun  7 07:01:12 1998
-+++ include/s_err.h	Sun Jun  7 07:06:27 1998
-@@ -23,9 +23,9 @@
- #ifdef CUSTOM_ERR
- static	Numeric	local_replies[] = {
- /* 000 */	0, (char *)NULL,
--/* 001 */	RPL_WELCOME, ":Welcome to EFNet IRC - the Internet Relay Chat Network %s",
-+/* 001 */	RPL_WELCOME, ":Welcome to BSDnet IRC - the Internet Relay Chat Network %s",
- /* 002 */	RPL_YOURHOST, ":Your host is %s, running version %s",
--/* 003 */	RPL_CREATED, ":This server rose from the ashes %s",
-+/* 003 */	RPL_CREATED, ":This server was hatched %s",
- /* 004 */	RPL_MYINFO, "%s %s oiwszcrkfydn biklmnopstv",
- 		0, (char *)NULL
- };
-@@ -90,7 +90,7 @@
- /* 461 */	ERR_NEEDMOREPARAMS, "%s :Not enough parameters",
- /* 462 */	ERR_ALREADYREGISTRED, ":You may not reregister",
- /* 463 */	ERR_NOPERMFORHOST, ":Your host isn't among the privileged.",
--/* 464 */	ERR_PASSWDMISMATCH, ":BZZZT!! Wrong password, homez. Are you sure you know what you're doing??",
-+/* 464 */	ERR_PASSWDMISMATCH, ":BZZZT!! Wrong password, dewd. Are you sure you know what you're doing?",
- /* 465 */	ERR_YOUREBANNEDCREEP, ":You are BANNED from this server- %s",
- /* 466 */	ERR_YOUWILLBEBANNED, (char *)NULL,
- /* 467 */	ERR_KEYSET, "%s :Channel key already set. Pay attention.",
-@@ -104,9 +104,9 @@
- 		0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
- 		0, (char *)NULL,
- /* 481 */	ERR_NOPRIVILEGES,
--		":UHHH, I don't THINK so, homez... you ain't got what it takes. (IRC Operator)",
-+		":UHHH, I don't THINK so, dewd... you ain't got those mad l33+ sk1llz. (IRC Operator)",
- /* 482 */	ERR_CHANOPRIVSNEEDED, "%s :You can't do that thing, when you don't have that swing (You're not channel operator)",
--/* 483 */	ERR_CANTKILLSERVER, ":Don't be an idiot -  you can't kill a SERVER, fool.",
-+/* 483 */	ERR_CANTKILLSERVER, ":Don't be an idiot -  you can't kill a SERVER.",
- /* 484 */	0, (char *)NULL,
- 		0, (char *)NULL,
- 		0, (char *)NULL,
-@@ -124,7 +124,7 @@
- 		0, (char *)NULL,
- 		0, (char *)NULL,
- 		0, (char *)NULL,
--/* 501 */	ERR_UMODEUNKNOWNFLAG, ":Unknown MODE flag - you smokin' something?",
-+/* 501 */	ERR_UMODEUNKNOWNFLAG, ":Unknown MODE flag",
- /* 502 */	ERR_USERSDONTMATCH, ":You can't change user modes for other users, silly - check that nickname again.",
- /* 503 */	ERR_GHOSTEDCLIENT, ":Message could not be delivered to %s",
- /* LAST */	ERR_LAST_ERR_MSG, ":Last Error Message",
-@@ -143,7 +143,7 @@
- 		0, (char *)NULL,
- /* 311 */	RPL_WHOISUSER, "%s %s %s * :%s",
- /* 312 */	RPL_WHOISSERVER, "%s %s :%s",
--/* 313 */	RPL_WHOISOPERATOR, "%s :is an IRC Janitor (IRC Operator)",
-+/* 313 */	RPL_WHOISOPERATOR, "%s :really likes to twist and shout -IRC Operator-",
- /* 314 */	RPL_WHOWASUSER, "%s %s %s * :%s",
- /* 315 */	RPL_ENDOFWHO, "%s :End of /WHO list.",
- /* 316 */	RPL_WHOISCHANOP, (char *)NULL,
-@@ -216,7 +216,7 @@
- 		0, (char *)NULL,
- 		0, (char *)NULL, 0, (char *)NULL,
- 		0, (char *)NULL,
--/* 381 */	RPL_YOUREOPER, ":You are now one bad motherfucker - Go /kill someone.",
-+/* 381 */	RPL_YOUREOPER, ":You have the phorce.  Use it wisely.",
- /* 382 */	RPL_REHASHING, "%s :it slices, dices, and even reloads config files!  Rehashing config file, mang.",
- /* 383 */	0, (char *)NULL,
- /* 384 */	RPL_MYPORTIS, "%d :Port to local server is\r\n",
+diff -Nru ircd-hybrid-6.2.orig/autoconf/configure.in ircd-hybrid-6.2/autoconf/configure.in
+--- ircd-hybrid-6.2.orig/autoconf/configure.in	Sun Oct  7 14:39:21 2001
++++ ircd-hybrid-6.2/autoconf/configure.in	Sun Oct  7 15:32:51 2001
+@@ -6,7 +6,7 @@
+ AC_CONFIG_HEADER(include/setup.h zlib/setup.h)
+ 
+ PACKAGE=ircd-hybrid
+-VERSION=6.0
++VERSION=6.2
+ AC_SUBST(PACKAGE)
+ AC_SUBST(VERSION)
+ 
+@@ -180,5 +180,5 @@
+ *) AC_MSG_RESULT(nothing special required) ;;
+ esac
+ 
+-AC_OUTPUT(Makefile src/Makefile tools/Makefile zlib/Makefile)
++AC_OUTPUT(Makefile src/Makefile tools/Makefile zlib/Makefile include/config.h tools/install_ircd)
+ 
diff --git a/irc/ircd-hybrid/files/patch-ab b/irc/ircd-hybrid/files/patch-ab
index bf2a31a6ab42..ccf2ef949e33 100644
--- a/irc/ircd-hybrid/files/patch-ab
+++ b/irc/ircd-hybrid/files/patch-ab
@@ -1,88 +1,30 @@
---- include/config.h.orig	Sat Sep 19 13:12:22 1998
-+++ include/config.h	Thu Oct 22 00:39:54 1998
-@@ -27,8 +27,8 @@
- /***************** MAKE SURE THIS IS CORRECT!!!!!!!!! **************/
- /* ONLY EDIT "HARD_FDLIMIT_" and "INIT_MAXCLIENTS" */
+diff -Nru ircd-hybrid-6.2.orig/configure ircd-hybrid-6.2/configure
+--- ircd-hybrid-6.2.orig/configure	Sun Oct  7 14:39:22 2001
++++ ircd-hybrid-6.2/configure	Sun Oct  7 15:33:36 2001
+@@ -544,7 +544,7 @@
  
--#define HARD_FDLIMIT_   1024
--#define INIT_MAXCLIENTS 800
-+#define HARD_FDLIMIT_   125
-+#define INIT_MAXCLIENTS 40
  
- /*
-  * This is how many 'buffer connections' we allow... 
-@@ -82,8 +82,8 @@
-  * -Dianora
-  */
+ PACKAGE=ircd-hybrid
+-VERSION=6.0
++VERSION=6.2
  
--#define DPATH   "/usr/local/ircd/"
--#define SPATH   "/usr/local/ircd/ircd"
-+#define DPATH   "/usr/local/etc/ircd/"
-+#define SPATH   "/usr/local/sbin/ircd"
- #define	CPATH	"ircd.conf"
- #define KPATH   "kline.conf"
- #define	MPATH	"ircd.motd"
-@@ -144,8 +144,8 @@
-  *
-  * These need to be defined if you want to use SYSLOG logging, too.
-  */
--#define FNAME_USERLOG "/usr/local/ircd/users" /* */
--#define FNAME_OPERLOG "/usr/local/ircd/opers" /* */
-+#define FNAME_USERLOG "/var/log/ircd.users" /* */
-+#define FNAME_OPERLOG "/var/log/ircd.opers" /* */
  
- /* FOLLOW_IDENT_RFC
-  * 
-@@ -180,7 +180,7 @@
-  * messages, define this.  Otherwise leave it undef'd for plain ole
-  * boring messages.
-  */
--#undef CUSTOM_ERR
-+#define CUSTOM_ERR
  
+@@ -2342,7 +2342,7 @@
+ ac_given_srcdir=$srcdir
+ ac_given_INSTALL="$INSTALL"
  
- /* FAILED_OPER_NOTICE - send a notice to all opers when someone
-@@ -435,7 +435,7 @@
-  * mode "i" (i == invisible). Invisibility means people dont showup in
-  * WHO or NAMES unless they are on the same channel as you.
-  */
--#define	NO_DEFAULT_INVISIBLE
-+#undef	NO_DEFAULT_INVISIBLE
+-trap 'rm -fr `echo "Makefile src/Makefile tools/Makefile zlib/Makefile include/setup.h zlib/setup.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
++trap 'rm -fr `echo "Makefile src/Makefile tools/Makefile zlib/Makefile include/config.h include/setup.h tools/install_ircd zlib/setup.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+ EOF
+ cat >> $CONFIG_STATUS <<EOF
  
- /* OPER_KILL OPER_REHASH OPER_RESTART OPER_DIE OPER_REMOTE -
-  *      restrict what local global-Opers can do
-@@ -534,7 +534,7 @@
-  * security problem - they can use the "-f" option to read any files
-  * that the 'new' access lets them.
-  */
--#define	CMDLINE_CONFIG
-+#undef	CMDLINE_CONFIG
+@@ -2440,7 +2440,7 @@
  
- /* M4_PREPROC - run ircd.conf through m4 preprocessor
-  * To use m4 as a preprocessor on the ircd.conf file, define M4_PREPROC.
-@@ -563,11 +563,11 @@
-  * If you use syslog above, you may want to turn some (none) of the
-  * spurious log messages for KILL,SQUIT,etc off.
-  */
--#undef	SYSLOG_KILL	/* log all operator kills to syslog */
--#undef	SYSLOG_SQUIT	/* log all remote squits for all servers to syslog */
-+#define	SYSLOG_KILL	/* log all operator kills to syslog */
-+#define	SYSLOG_SQUIT	/* log all remote squits for all servers to syslog */
- #undef	SYSLOG_CONNECT	/* log remote connect messages for other all servs */
- #undef	SYSLOG_USERS	/* send userlog stuff to syslog */
--#undef	SYSLOG_OPER	/* log all users who successfully become an Op */
-+#define	SYSLOG_OPER	/* log all users who successfully become an Op */
- #undef  SYSLOG_BLOCK_ALLOCATOR /* debug block allocator */
+ cat >> $CONFIG_STATUS <<EOF
  
- /* LOG_FACILITY - facility to use for syslog()
-@@ -615,8 +615,8 @@
-  * define IRC_UID to that UID.  This should only be defined if you are running
-  * as root and even then perhaps not.
-  */
--#define	IRC_UID 1001
--#define	IRC_GID 31
-+#define	IRC_UID 72
-+#define	IRC_GID 72
- 
- /* CLIENT_FLOOD - client excess flood threshold
-  * this controls the number of bytes the server will allow a client to
+-CONFIG_FILES=\${CONFIG_FILES-"Makefile src/Makefile tools/Makefile zlib/Makefile"}
++CONFIG_FILES=\${CONFIG_FILES-"Makefile src/Makefile tools/Makefile zlib/Makefile include/config.h tools/install_ircd"}
+ EOF
+ cat >> $CONFIG_STATUS <<\EOF
+ for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
diff --git a/irc/ircd-hybrid/files/patch-ac b/irc/ircd-hybrid/files/patch-ac
index cc765bd3e0be..a50bdb197557 100644
--- a/irc/ircd-hybrid/files/patch-ac
+++ b/irc/ircd-hybrid/files/patch-ac
@@ -1,11 +1,25 @@
---- include/struct.h.old	Sun Jun  7 07:13:45 1998
-+++ include/struct.h	Sun Jun  7 07:14:03 1998
-@@ -89,7 +89,7 @@
+--- ircd-hybrid-6.2/include/config.h.in.orig	Wed Sep 26 04:04:02 2001
++++ ircd-hybrid-6.2/include/config.h.in	Mon Oct  8 02:31:28 2001
+@@ -109,8 +109,9 @@
+  *
+  */
  
- #define	USERLEN		10
- #define	REALLEN	 	50
--#define	TOPICLEN	90
-+#define	TOPICLEN	250
- #define	CHANNELLEN	200
- #define	PASSWDLEN 	20
- #define	KEYLEN		23
+-#define DPATH   "/usr/local/ircd/"
+-#define SPATH   "/usr/local/ircd/ircd"
++#define BPATH   "@prefix@/bin/"
++#define DPATH   "@prefix@/etc/ircd/"
++#define SPATH   "@prefix@/bin/ircd"
+ #define CPATH   "ircd.conf"
+ #define KPATH   "kline.conf"
+ #define DLPATH  "kline.conf"
+@@ -561,8 +562,8 @@
+  * define IRC_UID to that UID.  This should only be defined if you are running
+  * as root and even then perhaps not.
+  */
+-#define IRC_UID 1001
+-#define IRC_GID 31
++#define IRC_UID 72
++#define IRC_GID 72
+ 
+ /* CLIENT_FLOOD - client excess flood threshold
+  * this controls the number of bytes the server will allow a client to
diff --git a/irc/ircd-hybrid/files/patch-ad b/irc/ircd-hybrid/files/patch-ad
index 571adbf3e038..d86817372f6b 100644
--- a/irc/ircd-hybrid/files/patch-ad
+++ b/irc/ircd-hybrid/files/patch-ad
@@ -1,20 +1,153 @@
---- src/list.c.orig	Tue Jul  7 17:40:52 1998
-+++ src/list.c	Sat Jul 11 23:12:41 1998
-@@ -49,7 +49,7 @@
-    for smaller nets who knows? -Dianora
-    */
+--- ircd-hybrid-6.2/tools/install_ircd.in.orig	Mon Oct  8 02:37:40 2001
++++ ircd-hybrid-6.2/tools/install_ircd.in	Tue Jul  3 22:52:19 2001
+@@ -7,6 +7,14 @@
+ # Fixed.
+ #
  
--#define LINK_PREALLOCATE 1024
-+#define LINK_PREALLOCATE 64
++if [ "x@prefix@" != "x${PREFIX}" ]; then
++  echo "ERROR: Different prefix used to install than for configure/build."
++  echo "The prefix is compiled into the binary, thus this will not work."
++  echo "Please be sure to use the same \$PREFIX throughout building of"
++  echo "this port."
++  exit 1
++fi
++
+ # Path to install-sh
+ INSTALL_SH="autoconf/install-sh"
  
- /* Number of aClient structures to preallocate at a time
-    for Efnet 1024 is reasonable 
-@@ -60,7 +60,7 @@
-    rather than 30k times -Dianora
- */
+@@ -39,6 +47,7 @@
+   fi
+ }
  
--#define CLIENTS_PREALLOCATE 1024
-+#define CLIENTS_PREALLOCATE 64
++BPATH=`grep '#define.BPATH' include/config.h|awk '{print $3}'|tr -d \"`;
+ DPATH=`grep '#define.DPATH' include/config.h|awk '{print $3}'|tr -d \"`;
+ SPATH=`grep '#define.SPATH' include/config.h|awk '{print $3}'|tr -d \"`;
+ CPATH=`grep '#define.CPATH' include/config.h|awk '{print $3}'|tr -d \"`;
+@@ -48,6 +57,7 @@
+ PPATH=`grep '#define.PPATH' include/config.h|awk '{print $3}'|tr -d \"`;
+ HPATH=`grep '#define.HPATH' include/config.h|awk '{print $3}'|tr -d \"`;
  
- void	outofmemory();
++BPATH=`dir_concat ${BPATH}`;
+ SPATH=`dir_concat ${SPATH}`;
+ CPATH=`dir_concat ${CPATH}`;
+ KPATH=`dir_concat ${KPATH}`;
+@@ -56,6 +66,7 @@
+ PPATH=`dir_concat ${PPATH}`;
+ HPATH=`dir_concat ${HPATH}`;
  
++#   BPATH = binary directory
+ #   DPATH = directory,
+ #   SPATH = server executable,
+ #   CPATH = conf file,
+@@ -74,88 +85,47 @@
+ fi
+ 
+ # try to install their ircd.conf file, unless it already exists.
+-# install ircd, save old one as ircd.old
+ dir_make `dirname ${SPATH}`
++echo installing ircd as ${SPATH}${EXESUFFIX}
++$INSTALL_SH -o 72 -g 72 -c src/ircd${EXESUFFIX} ${SPATH}${EXESUFFIX};
++strip ${SPATH}${EXESUFFIX};
+-if [ ! -f ${SPATH}${EXESUFFIX} ]; then
+-  echo installing ircd as ${SPATH}${EXESUFFIX}
+-  $INSTALL_SH -c src/ircd${EXESUFFIX} ${SPATH}${EXESUFFIX};
+-else
+-  echo installing ircd as ${SPATH}${EXESUFFIX}
+-  echo previous ircd saved as ircd${EXESUFFIX}.old
+-  mv ${SPATH}${EXESUFFIX} ${SPATH}${EXESUFFIX}.old
+-  $INSTALL_SH -c src/ircd${EXESUFFIX} ${SPATH}${EXESUFFIX};
+-fi
+ 
+ dir_make `dirname ${CPATH}`
++echo installing example.conf as ${CPATH}.sample
++$INSTALL_SH -o 72 -g 72 -c doc/example.conf ${CPATH}.sample;
+-if [ ! -f ${CPATH} ]; then
+-  echo installing example.conf as ${CPATH}
+-  $INSTALL_SH -c doc/example.conf ${CPATH};
+-else
+-  echo You already have ${CPATH}.;
+-fi
+ 
+ # try to install their motd file, unless it already exists.
+ dir_make `dirname ${MPATH}`
++echo installing a sample MOTD in ${MPATH}.sample
++echo "This is ircd-hybrid MOTD replace it with something better" \
++	> ${MPATH}.sample;
++chown 72:72 ${MPATH}.sample;
+-if [ ! -f ${MPATH} ]; then
+-  echo installing a sample MOTD in ${MPATH}
+-  echo "This is ircd-hybrid MOTD replace it with something better" > ${MPATH};
+-else
+-  echo You already have an MOTD in ${MPATH}.;
+-fi
+ 
+ # try to install their kpath file unless it already exists.
+ dir_make `dirname ${KPATH}`
++touch ${KPATH}.sample;
++chown 72:72 ${KPATH}.sample;
+-if [ ! -f ${KPATH} ]; then
+-  echo touching K-line file ${KPATH}
+-  touch ${KPATH};
+-else
+-  echo You already have a K-line file in ${KPATH}.;
+-fi
+ 
+ # try to install their opers.txt file, in all cases 
+ dir_make `dirname ${HPATH}`
++echo installing opers.txt as ${HPATH}.sample
++$INSTALL_SH -o 72 -g 72 -c opers.txt ${HPATH}.sample;
+-if [ ! -f ${HPATH} ]; then
+-  echo installing opers.txt as ${HPATH}
+-  $INSTALL_SH -c opers.txt ${HPATH};
+-else
+-   echo installing opers.txt as ${HPATH}
+-   echo previous opers.txt saved as opers.txt.old
+-   mv ${HPATH} ${HPATH}.old
+-   $INSTALL_SH -c opers.txt ${HPATH};
+-fi
+ 
+ # install mkpasswd
++echo installing mkpasswd as ${BPATH}mkpasswd${EXESUFFIX}
++$INSTALL_SH  -o 72 -g 72 -c tools/mkpasswd${EXESUFFIX} ${BPATH}mkpasswd${EXESUFFIX};
+-if [ ! -f ${DPATH}mkpasswd ]; then
+-  echo installing mkpasswd as ${DPATH}mkpasswd${EXESUFFIX}
+-  $INSTALL_SH -c tools/mkpasswd${EXESUFFIX} ${DPATH}mkpasswd${EXESUFFIX};
+-else
+-   echo installing mkpasswd as ${DPATH}mkpasswd${EXESUFFIX}
+-   echo previous mkpasswd saved as mkpasswd${EXESUFFIX}.old
+-   mv ${DPATH}mkpasswd${EXESUFFIX} ${DPATH}mkpasswd${EXESUFFIX}.old
+-   $INSTALL_SH -c tools/mkpasswd${EXESUFFIX} ${DPATH}mkpasswd${EXESUFFIX};
+-fi 
+ 
+ # install viconf
++echo installing viconf as ${BPATH}viconf${EXESUFFIX}
++$INSTALL_SH -o 72 -g 72 -c tools/viconf${EXESUFFIX} ${BPATH}viconf${EXESUFFIX}
++rm -f ${BPATH}vimotd${EXESUFFIX} ${BPATH}viklines${EXESUFFIX}
++ln ${BPATH}viconf${EXESUFFIX} ${BPATH}vimotd${EXESUFFIX}
++ln ${BPATH}viconf${EXESUFFIX} ${BPATH}viklines${EXESUFFIX};
+-if [ ! -f ${DPATH}viconf ]; then
+-  echo installing viconf as ${DPATH}viconf${EXESUFFIX}
+-  $INSTALL_SH -c tools/viconf${EXESUFFIX} ${DPATH}viconf${EXESUFFIX}
+-  rm -f ${DPATH}vimotd${EXESUFFIX} ${DPATH}viklines${EXESUFFIX}
+-  ln ${DPATH}viconf${EXESUFFIX} ${DPATH}vimotd${EXESUFFIX}
+-  ln ${DPATH}viconf${EXESUFFIX} ${DPATH}viklines${EXESUFFIX};
+-else
+-   echo installing viconf as ${DPATH}viconf${EXESUFFIX}
+-   echo previous viconf saved as viconf${EXESUFFIX}.old
+-   mv ${DPATH}viconf${EXESUFFIX} ${DPATH}viconf${EXESUFFIX}.old
+-   $INSTALL_SH -c tools/viconf${EXESUFFIX} ${DPATH}viconf${EXESUFFIX}
+-   rm -f ${DPATH}vimotd${EXESUFFIX} ${DPATH}viklines${EXESUFFIX}
+-   ln ${DPATH}viconf${EXESUFFIX} ${DPATH}vimotd${EXESUFFIX}
+-   ln ${DPATH}viconf${EXESUFFIX} ${DPATH}viklines${EXESUFFIX};
+-fi
+ 
+ # install ircd.8
++dir_make ${PREFIX}/man/man8
++echo installing ircd.8 as ${PREFIX}/man/man8/ircd.8
++$INSTALL_SH -o 72 -g 72 -c doc/ircd.8 ${PREFIX}/man/man8/ircd.8
+-dir_make ${DPATH}man8
+-echo installing ircd.8 as ${DPATH}man8/ircd.8
+-$INSTALL_SH -c doc/ircd.8 ${DPATH}man8/ircd.8
+ 
+ # finished.
+ echo install complete!
diff --git a/irc/ircd-hybrid/files/patch-ae b/irc/ircd-hybrid/files/patch-ae
index aeb98807fd57..4812d5a373e8 100644
--- a/irc/ircd-hybrid/files/patch-ae
+++ b/irc/ircd-hybrid/files/patch-ae
@@ -1,11 +1,11 @@
---- tools/Makefile.in.orig	Tue Mar  2 16:00:14 1999
-+++ tools/Makefile.in	Tue Mar  2 16:01:04 1999
+--- ircd-hybrid-6.2/Makefile.orig	Sun Oct  7 17:58:34 2001
++++ ircd-hybrid-6.2/Makefile.in	Sun Oct  7 17:58:45 2001
 @@ -22,7 +22,7 @@
- 	$(CC) -o chkconf $(chkconf_OBJECTS) ${IRCDLIBS}
+ RM=@RM@
  
- mkpasswd: $(mkpasswd_OBJECTS)
--	$(CC) -o mkpasswd $(mkpasswd_OBJECTS) $(IRCDLIBS)
-+	$(CC) -o ircd-mkpasswd $(mkpasswd_OBJECTS) $(IRCDLIBS)
+ # Default CFLAGS
+-CFLAGS = -g -O2 -DNDEBUG
++CFLAGS += -DNDEBUG
  
- viconf: viconf.o
- 	$(CC) -o viconf viconf.o ${IRCDLIBS}
+ # Default make flags - you may want to uncomment this on a multicpu machine
+ #MFLAGS = -j 4
diff --git a/irc/ircd-hybrid/pkg-comment b/irc/ircd-hybrid/pkg-comment
index 084d201862cf..6671553c6549 100644
--- a/irc/ircd-hybrid/pkg-comment
+++ b/irc/ircd-hybrid/pkg-comment
@@ -1 +1 @@
-Irc server with many implemented options
+An irc daemon with a number of new features
diff --git a/irc/ircd-hybrid/pkg-descr b/irc/ircd-hybrid/pkg-descr
index b816dcb78e17..ffc5c5cf7447 100644
--- a/irc/ircd-hybrid/pkg-descr
+++ b/irc/ircd-hybrid/pkg-descr
@@ -1,8 +1,9 @@
-IRC is a functional replacement for and improvement to talk(1).  Talk
-is an old, primitive, atrocious, minimalist sort of keyboard/screen
-conversation tool, using a grotesque, machine-dependent protocol.
-IRC does everything talk does, but with a better protocol, allowing
-more than 2 users to talk at once, with access across the aggregate
-Internet, and providing a whole raft of other useful features.
+A port of the ircd-hybrid IRC daemon.
 
-ftp://ftp.blackened.com/pub/irc/hybrid/
+ircd-hybrid includes a number of improvements over a standard ircd-2.8
+server, including compressed server<->server links, chamode +e, and TS5
+support.
+
+WWW: http://www.ircd-hybrid.org/
+
+- David-T
diff --git a/irc/ircd-hybrid/pkg-install b/irc/ircd-hybrid/pkg-install
index 1bd17605bbb3..eae0774e1ec0 100644
--- a/irc/ircd-hybrid/pkg-install
+++ b/irc/ircd-hybrid/pkg-install
@@ -1,5 +1,8 @@
 #!/bin/sh
 
+# This script is a slightly modified copy of the pkg-install script from the 
+# original ircd-hybrid port, by desmo@bandwidth.org.
+
 if [ "x$2" != "xPRE-INSTALL" ]; then
 	exit 0;
 fi
@@ -37,15 +40,10 @@ if which -s pw ; then
 	:
 else
 	cat <<EOF
-
-This system looks like a pre-2.2 version of FreeBSD.  I see that it
-is missing the "pw" utility.  I need this utility.  Please get them
-and install them, and try again.  You can get the sources from:
-
-  ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/usr.sbin/pw.tar.gz
-
+Your system does not include the "pw" utility.  You should upgrade
+to a newer version of FreeBSD.  Without "pw" this script will not
+run.
 EOF
-
 	exit 1
 fi
 
@@ -53,8 +51,8 @@ echo ""
 if pw groupshow ircd 2> /dev/null ; then
 	echo "You already have a group \"ircd\", so I will use it."
 else
-	if pw usershow 72 2> /dev/null ; then
-		echo "You already have a uid \"72\".  Please create a user \"ircd\""
+	if pw groupshow 72 2> /dev/null ; then
+		echo "You already have a gid \"72\".  Please create a user \"ircd\""
 		echo "with a default group of \"ircd\"."
 		exit 1
 	fi
@@ -75,9 +73,14 @@ fi
 if pw usershow ircd 2> /dev/null ; then
 	echo "You already have a user \"ircd\", so I will use it."
 else
+        if pw usershow 72 2> /dev/null ; then
+                echo "You already have a uid \"72\".  Please create a user \"irc
+d\""
+                echo "with a default group of \"ircd\"."
+                exit 1
+        fi
 	echo "You need a user \"ircd\"."
 	if which -s pw && yesno "Would you like me to create it" y; then
-		ifkk
 		pw useradd ircd -g ircd -u 72 -h - -d /nonexistent \
 			-s /nonexistent -c "IRC Daemon" || exit
 		echo "Done."
@@ -86,4 +89,3 @@ else
 		exit 1
 	fi
 fi
-
diff --git a/irc/ircd-hybrid/pkg-plist b/irc/ircd-hybrid/pkg-plist
index 9638fff9f4b7..f21001555674 100644
--- a/irc/ircd-hybrid/pkg-plist
+++ b/irc/ircd-hybrid/pkg-plist
@@ -1,12 +1,37 @@
-sbin/ircd
-bin/buildm4
-bin/fixklines
-bin/ircd-mkpasswd
+bin/ircd
+bin/mkpasswd
 bin/viconf
+bin/viklines
+bin/vimotd
+%%PORTDOCS%%share/doc/%%PORTNAME%%/old/US-Admin/Networking
+%%PORTDOCS%%share/doc/%%PORTNAME%%/old/US-Admin/Operators
+%%PORTDOCS%%share/doc/%%PORTNAME%%/old/US-Admin/README
+%%PORTDOCS%%share/doc/%%PORTNAME%%/old/Authors
+%%PORTDOCS%%share/doc/%%PORTNAME%%/old/Etiquette
+%%PORTDOCS%%share/doc/%%PORTNAME%%/old/README
+%%PORTDOCS%%share/doc/%%PORTNAME%%/CIDR.txt
+%%PORTDOCS%%share/doc/%%PORTNAME%%/INDEX
+%%PORTDOCS%%share/doc/%%PORTNAME%%/Makefile
+%%PORTDOCS%%share/doc/%%PORTNAME%%/README.TSora
+%%PORTDOCS%%share/doc/%%PORTNAME%%/Tao-of-IRC.940110
+%%PORTDOCS%%share/doc/%%PORTNAME%%/blalloc.txt
+%%PORTDOCS%%share/doc/%%PORTNAME%%/example.conf
+%%PORTDOCS%%share/doc/%%PORTNAME%%/example.conf.trillian
+%%PORTDOCS%%share/doc/%%PORTNAME%%/ircd.8
+%%PORTDOCS%%share/doc/%%PORTNAME%%/mtrie.txt
+%%PORTDOCS%%share/doc/%%PORTNAME%%/operguide.txt
+%%PORTDOCS%%share/doc/%%PORTNAME%%/opermyth.txt
+%%PORTDOCS%%share/doc/%%PORTNAME%%/rfc1459.txt
+%%PORTDOCS%%share/doc/%%PORTNAME%%/server-version-info
+%%PORTDOCS%%share/doc/%%PORTNAME%%/simple.conf
+%%PORTDOCS%%share/doc/%%PORTNAME%%/ts5.txt
+%%PORTDOCS%%share/doc/%%PORTNAME%%/yline.txt
+%%PORTDOCS%%@dirrm share/doc/%%PORTNAME%%/old/US-Admin
+%%PORTDOCS%%@dirrm share/doc/%%PORTNAME%%/old
+%%PORTDOCS%%@dirrm share/doc/%%PORTNAME%%
+etc/ircd/ircd.conf.sample
+etc/ircd/ircd.motd.sample
+etc/ircd/kline.conf.sample
+etc/ircd/opers.txt.sample
 etc/rc.d/ircd.sh
-etc/ircd/example.conf.trillian
-etc/ircd/ircd.conf
-etc/ircd/ircd.motd
-etc/ircd/kline.conf
-etc/ircd/opers.txt
-@dirrm etc/ircd
+@unexec rmdir %D/etc/ircd 2>/dev/null || true
-- 
cgit debian/1.2.3+git2.25.1-1-2-gaceb0