From az@waterwall.inec.ru  Tue Jul 20 09:00:49 2004
Return-Path: <az@waterwall.inec.ru>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 51A2A16A4CE
	for <freebsd-gnats-submit@freebsd.org>; Tue, 20 Jul 2004 09:00:49 +0000 (GMT)
Received: from waterwall.inec.ru (waterwall.inec.ru [213.148.3.225])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 7695F43D39
	for <freebsd-gnats-submit@freebsd.org>; Tue, 20 Jul 2004 09:00:48 +0000 (GMT)
	(envelope-from az@waterwall.inec.ru)
Received: from waterwall.inec.ru (root@localhost)
	by waterwall.inec.ru (8.12.9p2/8.12.9) with SMTP id i6K9AeMS044583
	for <freebsd-gnats-submit@freebsd.org>; Tue, 20 Jul 2004 13:10:40 +0400 (MSD)
	(envelope-from az@waterwall.inec.ru)
Received: from waterwall.inec.ru (localhost.inec.ru [127.0.0.1])
  by localhost (8.12.9p2/8.12.6) with ESMTP id i6K9AemG044576
    for <FreeBSD-gnats-submit@freebsd.org>; Tue, 20 Jul 2004 13:10:40 +0400 (MSD)
Received: from localhost (localhost.inec.ru [127.0.0.1])
	by localhost (Postfix) with SMTP id 30F8D65045
	for <FreeBSD-gnats-submit@freebsd.org>; Tue, 20 Jul 2004 13:10:40 +0400 (MSD)
Received: from waterwall.inec.ru (localhost.inec.ru [127.0.0.1])
	by waterwall.inec.ru (Postfix) with ESMTP id AAP2540FCE190A7BF
	for <FreeBSD-gnats-submit@freebsd.org>; Tue, 20 Jul 2004 13:10:40 +0400 (MSD)
Received: (from az@localhost)
	by waterwall.inec.ru (8.12.9p2/8.12.6/Submit) id i6K9AdJ7044570;
	Tue, 20 Jul 2004 13:10:39 +0400 (MSD)
Message-Id: <200407200910.i6K9AdJ7044570@waterwall.inec.ru>
Date: Tue, 20 Jul 2004 13:10:39 +0400 (MSD)
From: Andrej Zverev <az@inec.ru>
Reply-To: Andrej Zverev <az@inec.ru>
To: FreeBSD-gnats-submit@freebsd.org
Cc: rick@help-desk.ca
Subject: Fix ports/irc/hybserv
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         69335
>Category:       ports
>Synopsis:       Fix ports/irc/hybserv
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jul 20 09:10:27 GMT 2004
>Closed-Date:    Thu Aug 05 11:01:25 GMT 2004
>Last-Modified:  Thu Aug 05 11:01:25 GMT 2004
>Originator:     Andrej Zverev
>Release:        FreeBSD 5.2-CURRENT i386
>Organization:
>Environment:
System: FreeBSD az.inec.ru 5.2-CURRENT FreeBSD 5.2-CURRENT #1: Wed Jul 14 14:46:11 MSD 2004 root@az.inec.ru:/usr/obj/usr/src/sys/az i386


	
>Description:
	Fix HybServ. change pkg-install script, and add startup script to pkg-plist.
	HybServ use interactive script to add user/group, but in batch mode script don't add
	user/group and install fail
>How-To-Repeat:
	
>Fix:

	If we need this user/group, why ask user add them or not ?! So remove checking and make
	pkg-install script more silent. 

--- hybserv-pkg-install.diff begins here ---
--- /usr/ports/irc/hybserv/pkg-install	Wed Nov 12 05:31:18 2003
+++ pkg-install	Tue Jul 20 12:08:47 2004
@@ -1,91 +1,42 @@
 #!/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;
+       exit 0;
 fi
 
-ask() {
-	local question default answer
-
-	question=$1
-	default=$2
-	if [ -z "${PACKAGE_BUILDING}" ]; then
-		read -p "${question} [${default}]? " answer
-	fi
-	if [ x${answer} = x ]; then
-		answer=${default}
-	fi
-	echo ${answer}
-}
-
-yesno() {
-	local dflt question answer
-
-	question=$1
-	dflt=$2
-	while :; do
-		answer=$(ask "${question}" "${dflt}")
-		case "${answer}" in
-		[Yy]*)          return 0;;
-		[Nn]*)          return 1;;
-		esac
-		echo "Please answer yes or no."
-	done
-}
-
-if which -s pw ; then
-	:
-else
-	cat <<EOF
-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
-
-echo ""
-if pw groupshow hybserv 2> /dev/null ; then
-	echo "You already have a group \"hybserv\", so I will use it."
-else
-	if pw groupshow 73 2> /dev/null ; then
-		echo "You already have a gid \"73\".  Please create a user \"hybserv\""
-		echo "with a default group of \"hybserv\"."
-		exit 1
-	fi
-	echo "You need a group \"hybserv\"."
-	if which -s pw && yesno "Would you like me to create it" y; then
-		pw groupadd hybserv -g 73 || exit
-		echo "Done."
+	USER=hybserv
+	GROUP=${USER}
+	UID=73
+	GID=${UID}
+	HOME_DIR="/nonexist"
+	if pw group show "${GROUP}" 2>/dev/null; then
+		echo "You already have a group \"${GROUP}\", so I will use it."
 	else
-		echo "Please create it, and try again."
-		if ! pw usershow hybserv 2> /dev/null ; then
-			echo "While you're at it, please create a user \"hybserv\""
-			echo 'too, with a default group of "hybserv".'
+		if pw groupadd ${GROUP} -g ${GID}; then
+			echo "Added group \"${GROUP}\"."
+		else
+			echo "Adding group \"${GROUP}\" failed..."
+			exit 1
 		fi
-		exit 1
 	fi
-fi
 
-if pw usershow hybserv 2> /dev/null ; then
-	echo "You already have a user \"hybserv\", so I will use it."
-else
-        if pw usershow 73 2> /dev/null ; then
-                echo "You already have a uid \"73\".  Please create a user \"irc
-d\""
-                echo "with a default group of \"hybserv\"."
-                exit 1
-        fi
-	echo "You need a user \"hybserv\"."
-	if which -s pw && yesno "Would you like me to create it" y; then
-		pw useradd hybserv -g hybserv -u 73 -h - -d /nonexistent \
-			-s /nonexistent -c "IRC Daemon" || exit
-		echo "Done."
+	if pw user show "${USER}" 2>/dev/null; then
+		echo "You already have a user \"${USER}\", so I will use it."
+		if pw usermod ${USER} -d ${HOME_DIR}
+		then
+			echo "Changed home directory of \"${USER}\" to \"${HOME_DIR}\""
+		else
+			echo "Changing home directory of \"${USER}\" to \"${HOME_DIR}\" failed..."
+			exit 1
+		fi
 	else
-		echo "Please create it, and try again."
-		exit 1
+		if pw useradd ${USER} -u ${UID} -g ${GROUP} -h - \
+			-d ${HOME_DIR} -s /sbin/nologin -c "HybServ Daemon"
+		then
+			echo "Added user \"${USER}\"."
+		else
+			echo "Adding user \"${USER}\" failed..."
+			exit 1
+		fi
 	fi
-fi
+
--- hybserv-pkg-install.diff ends here ---

--- hybserv-pkg-plist.diff begins here ---
--- /usr/ports/irc/hybserv/pkg-plist	Tue Jul 20 12:28:58 2004
+++ pkg-plist	Tue Jul 20 12:26:13 2004
@@ -1,3 +1,4 @@
+etc/rc.d/hybserv.sh
 hybserv/hybserv
 hybserv/cleandb
 hybserv/encryptconf
--- hybserv-pkg-plist.diff ends here ---

--- hybserv-Makefile.diff begins here ---
--- /usr/ports/irc/hybserv/Makefile	Tue Jun 22 01:27:27 2004
+++ Makefile	Tue Jul 20 12:12:02 2004
@@ -19,18 +19,8 @@
 
 WRKSRC=		${WRKDIR}/hybserv
 
-.if !defined(PACKAGE_BUILDING) && !defined(BATCH)
-IS_INTERACTIVE= yes
-.endif
-
-BROKEN=		"Does not install"
-EXPIRATION_DATE=2004-08-20
-DEPRECATED=	${BROKEN}
-
 pre-install:
-.if !defined(PACKAGE_BUILDING) && !defined(BATCH)
 	@${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
-.endif
 
 post-install:
 	@${SED} -e "s#%PREFIX%#${PREFIX}#" ${FILESDIR}/hybserv.sh \
--- hybserv-Makefile.diff ends here ---



>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->feedback 
State-Changed-By: osa 
State-Changed-When: Tue Jul 20 09:18:04 GMT 2004 
State-Changed-Why:  
Please approve or reject changes. 
Thanks! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=69335 
State-Changed-From-To: feedback->closed 
State-Changed-By: sem 
State-Changed-When: Thu Aug 5 11:00:55 GMT 2004 
State-Changed-Why:  
Committed, thanks! 
Maintainer timed out (2 weeks). 

http://www.freebsd.org/cgi/query-pr.cgi?pr=69335 
>Unformatted:
