ports/66307: [PATCH] net/jabber: update to 1.4.3

ports at c0decafe.net ports at c0decafe.net
Thu May 6 01:30:27 UTC 2004


>Number:         66307
>Category:       ports
>Synopsis:       [PATCH] net/jabber: update to 1.4.3
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Wed May 05 18:30:25 PDT 2004
>Closed-Date:
>Last-Modified:
>Originator:     ports at c0decafe.net
>Release:        FreeBSD 4.10-PRERELEASE i386
>Organization:
>Environment:
System: FreeBSD atlantis.local 4.10-PRERELEASE FreeBSD 4.10-PRERELEASE #0: Mon May  3 02:52:18 GST
>Description:
- Update to 1.4.3
- 1.4.3 fixes annoying SSL related problems, a possible DoS, and features many security enhancements, like hashed passwords and hide the OS version (see http://jabberd.jabberstudio.org/1.4/release-1.4.3.shtml).
- add ipv6 support/option.
- some fixes/cleanups with the help of net/jabberd, and make use of the assigned jabber uid/gui.
- i also noticed, after being practically done with this pr, that ports/61693 tried to address the same issue on the 22th of January, but it never made it.

Port maintainer (seanc at FreeBSD.org) is cc'd.

Generated with FreeBSD Port Tools 0.50
>How-To-Repeat:
>Fix:

--- jabber-1.4.3.patch begins here ---
diff -ruN --exclude=CVS /usr/ports/net/jabber/Makefile /usr/ports/net/jabber.new/Makefile
--- /usr/ports/net/jabber/Makefile	Wed Feb  4 09:08:09 2004
+++ /usr/ports/net/jabber.new/Makefile	Thu May  6 04:49:26 2004
@@ -6,38 +6,38 @@
 #
 
 PORTNAME=	jabber
-PORTVERSION=	1.4.2
-PORTREVISION=	1
+PORTVERSION=	1.4.3
 CATEGORIES=	net
-MASTER_SITES=	http://jabberd.jabberstudio.org/downloads/ \
-		http://download.jabber.org/dists/1.4/final/
-DISTNAME=	${PORTNAME}-${PORTVERSION}
+MASTER_SITES=	http://jabberd.jabberstudio.org/1.4/dist/
+DISTNAME=	${PORTNAME}d-${PORTVERSION}
 DIST_SUBDIR=	jabber
 
 MAINTAINER=	seanc at FreeBSD.org
 COMMENT=	Online presence and instant messaging server
 
+LIB_DEPENDS=	pth.20:${PORTSDIR}/devel/pth
+
 GNU_CONFIGURE=	yes
 USE_GMAKE=	yes
 USE_OPENSSL=	yes
-USE_PERL5=	yes
 
 CONFIGURE_ARGS+=	--enable-ssl
-
-rc=${PREFIX}/etc/rc.d
+.if defined(WITH_IPV6)
+CONFIGURE_ARGS+=	--enable-ipv6
+.endif
 
 #JABDIR=		${PORTNAME}-${PORTVERSION}
 # Save this data for use later: jabber doesn't have an install target
 # or a sane set of defaults.
 post-patch:
-	@echo "${WRKSRC}" > ${WRKSRC}/.wrksrc-freebsd
-	@echo "${PREFIX}" > ${WRKSRC}/.prefix-freebsd
-	@echo "${INSTALL_DATA}" > ${WRKSRC}/.install_data-freebsd
-	@echo "${INSTALL_SCRIPT}" > ${WRKSRC}/.install_script-freebsd
-	@echo "${INSTALL_PROGRAM}" > ${WRKSRC}/.install_program-freebsd
+	${ECHO} "${WRKSRC}" > ${WRKSRC}/.wrksrc-freebsd
+	${ECHO} "${PREFIX}" > ${WRKSRC}/.prefix-freebsd
+	${ECHO} "${INSTALL_DATA}" > ${WRKSRC}/.install_data-freebsd
+	${ECHO} "${INSTALL_SCRIPT}" > ${WRKSRC}/.install_script-freebsd
+	${ECHO} "${INSTALL_PROGRAM}" > ${WRKSRC}/.install_program-freebsd
 
 post-install:
-	@PREFIX=${PREFIX} ${PERL5} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
-	${INSTALL_SCRIPT} ${FILESDIR}/jabberd.sh ${rc}
+	PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
+	${INSTALL_DATA} ${FILESDIR}/jabberd.sh ${PREFIX}/etc/rc.d/
 
 .include <bsd.port.mk>
diff -ruN --exclude=CVS /usr/ports/net/jabber/distinfo /usr/ports/net/jabber.new/distinfo
--- /usr/ports/net/jabber/distinfo	Wed Mar 31 07:10:01 2004
+++ /usr/ports/net/jabber.new/distinfo	Wed May  5 23:56:39 2004
@@ -1,2 +1,2 @@
-MD5 (jabber/jabber-1.4.2.tar.gz) = 10780dbdb93926ea5bb360e1186b939c
-SIZE (jabber/jabber-1.4.2.tar.gz) = 690217
+MD5 (jabber/jabberd-1.4.3.tar.gz) = a3e964d6fa07b5d850302ae0512f94c6
+SIZE (jabber/jabberd-1.4.3.tar.gz) = 258016
diff -ruN --exclude=CVS /usr/ports/net/jabber/files/jabberd.sh /usr/ports/net/jabber.new/files/jabberd.sh
--- /usr/ports/net/jabber/files/jabberd.sh	Fri Apr 26 22:52:12 2002
+++ /usr/ports/net/jabber.new/files/jabberd.sh	Thu May  6 04:51:23 2004
@@ -1,4 +1,4 @@
-#! /bin/sh
+#!/bin/sh
 
 if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/jabberd\.sh\$"); then
     echo "$0: Cannot determine the PREFIX" >&2
diff -ruN --exclude=CVS /usr/ports/net/jabber/files/patch-Makefile /usr/ports/net/jabber.new/files/patch-Makefile
--- /usr/ports/net/jabber/files/patch-Makefile	Thu Jan  1 04:00:00 1970
+++ /usr/ports/net/jabber.new/files/patch-Makefile	Thu May  6 04:13:25 2004
@@ -0,0 +1,43 @@
+--- Makefile.orig	Sat Jan 20 21:32:48 2001
++++ Makefile	Sun Apr 14 23:30:36 2002
+@@ -4,6 +4,10 @@
+ include platform-settings
+ 
+ SUBDIRS=pthsock xdb_file dnsrv jsm dialback jabberd
++INSTALL_DATA=`cat .install_data-freebsd`
++INSTALL_DIR=install -d
++INSTALL_PROGRAM=`cat .install_program-freebsd`
++INSTALL_SCRIPT=`cat .install_data-freebsd`
+ 
+ all: all-recursive
+ 
+@@ -13,8 +17,28 @@
+ 
+ single: single-recursive
+ 
++LIBDIR=${PREFIX}/lib/jabber
++INCDIR=${PREFIX}/include/jabber
+ install:
+-	printf "\n\nNo actual make install, you just run it out of the directory!\n"
++	${INSTALL_PROGRAM} jabberd/jabberd ${PREFIX}/sbin
++	${INSTALL_DATA} jabber.xml ${PREFIX}/etc/jabber.xml.sample
++	${INSTALL_DIR} ${LIBDIR}/jsm
++	${INSTALL_DATA} jsm/jsm.so ${LIBDIR}/jsm
++	${INSTALL_DIR} ${LIBDIR}/xdb_file
++	${INSTALL_DATA} xdb_file/xdb_file.so ${LIBDIR}/xdb_file
++	${INSTALL_DIR} ${LIBDIR}/pthsock
++	${INSTALL_DATA} pthsock/pthsock_client.so ${LIBDIR}/pthsock
++	${INSTALL_DIR} ${LIBDIR}/dnsrv
++	${INSTALL_DATA} dnsrv/dnsrv.so ${LIBDIR}/dnsrv
++	${INSTALL_DIR} ${LIBDIR}/dialback
++	${INSTALL_DATA} dialback/dialback.so ${LIBDIR}/dialback
++	${INSTALL_DIR} ${INCDIR}
++	${INSTALL_DATA} platform-settings ${INCDIR}
++	${INSTALL_DATA} jabberd/jabberd.h ${INCDIR}
++	${INSTALL_DIR} ${INCDIR}/lib
++	${INSTALL_DATA} jabberd/lib/lib.h ${INCDIR}/lib
++	${INSTALL_DATA} jabberd/lib/xmlparse.h ${INCDIR}/lib
++	
+ 
+ all-local:
+ 
diff -ruN --exclude=CVS /usr/ports/net/jabber/files/patch-aa /usr/ports/net/jabber.new/files/patch-aa
--- /usr/ports/net/jabber/files/patch-aa	Thu Apr 18 20:12:04 2002
+++ /usr/ports/net/jabber.new/files/patch-aa	Thu Jan  1 04:00:00 1970
@@ -1,57 +0,0 @@
---- configure.orig	Mon Feb 11 11:14:06 2002
-+++ configure	Sun Apr 14 18:38:40 2002
-@@ -32,7 +32,8 @@
- LDFLAGS="$LDFLAGS"
- LIBS="$LIBS"
- XLDFLAGS="$XLDFLAGS "
--JHOME=`pwd`
-+JHOME="`cat .prefix-freebsd`/lib/jabber"
-+WRKSRC="`cat .wrksrc-freebsd`"
- 
- ##
- # Print a cool header
-@@ -76,31 +77,19 @@
- ##
- # Pth check
- ##
--printf "Getting pth settings..."
--PTH_CFLAGS=`pth-config --cflags`
--PTH_LDFLAGS=`pth-config --ldflags`
--PTH_LIBS=`pth-config --libs`
--PTH_LIBDIR=`pth-config --libdir`
--if [ -n "$PTH_CFLAGS" ]; then
--    CFLAGS="$CFLAGS $PTH_CFLAGS";
--    LDFLAGS="$LDFLAGS $PTH_LDFLAGS";
--    LIBS="$LIBS $PTH_LIBS";
--    SLIBS="$SLIBS $PTH_LIBDIR/libpth.a";
--    printf "         Done.\n";
--else
--    if [ -d "jabberd/pth-1.4.0" ]; then
--        opwd=`pwd`
--        cd jabberd/pth-1.4.0;
--        ./configure || (printf "Error Configuring pth"; exit 1);
--        cd $opwd;
--        PSUBDIR="pth-1.4.0";
--        PTHP=`pwd`"/jabberd/pth-1.4.0";
--        PLINK="$PTHP/pth_*.o";
--        CFLAGS="$CFLAGS -I`pwd`/jabberd/pth-1.4.0";
--    else
--        printf "          Error.\n\n No version of PTH is available on this system\nhttp://www.gnu.org/software/pth/";
--    fi
--fi
-+echo "Using jabber's internal copy of pth 1.4.0 because 1.4.1 is incompatible"
-+opwd=`pwd`
-+cd jabberd/pth-1.4.0;
-+echo "Configuring jabber pth-1.4.0..."
-+./configure || (echo "Error Configuring pth"; exit 1);
-+echo "Building pth-1.4.0..."
-+gmake
-+cd $opwd;
-+PSUBDIR="pth-1.4.0";
-+PTHP="`pwd`/jabberd/pth-1.4.0";
-+PLINK="$PTHP/pth_*.o";
-+CFLAGS="$CFLAGS -I${PTHP}";
-+LDFLAGS="$LDFLAGS -L${PTHP}";
- 
- 
- 
diff -ruN --exclude=CVS /usr/ports/net/jabber/files/patch-ab /usr/ports/net/jabber.new/files/patch-ab
--- /usr/ports/net/jabber/files/patch-ab	Thu Apr 18 20:12:04 2002
+++ /usr/ports/net/jabber.new/files/patch-ab	Thu Jan  1 04:00:00 1970
@@ -1,44 +0,0 @@
---- Makefile.orig	Sat Jan 20 21:32:48 2001
-+++ Makefile	Sun Apr 14 23:30:36 2002
-@@ -4,6 +4,10 @@
- include platform-settings
- 
- SUBDIRS=pthsock xdb_file dnsrv jsm dialback jabberd
-+INSTALL_DATA=`cat .install_data-freebsd`
-+INSTALL_DIR=install -d
-+INSTALL_PROGRAM=`cat .install_program-freebsd`
-+INSTALL_SCRIPT=`cat .install_data-freebsd`
- 
- all: all-recursive
- 
-@@ -13,8 +17,29 @@
- 
- single: single-recursive
- 
-+LIBDIR=${PREFIX}/lib/jabber
-+INCDIR=${PREFIX}/include/jabber
- install:
--	printf "\n\nNo actual make install, you just run it out of the directory!\n"
-+	${INSTALL_PROGRAM} jabberd/jabberd ${PREFIX}/sbin
-+	${INSTALL_DATA} jabber.xml ${PREFIX}/etc/jabber.xml.sample
-+	${INSTALL_DIR} ${LIBDIR}/jsm
-+	${INSTALL_DATA} jsm/jsm.so ${LIBDIR}/jsm
-+	${INSTALL_DIR} ${LIBDIR}/xdb_file
-+	${INSTALL_DATA} xdb_file/xdb_file.so ${LIBDIR}/xdb_file
-+	${INSTALL_DIR} ${LIBDIR}/pthsock
-+	${INSTALL_DATA} pthsock/pthsock_client.so ${LIBDIR}/pthsock
-+	${INSTALL_DIR} ${LIBDIR}/dnsrv
-+	${INSTALL_DATA} dnsrv/dnsrv.so ${LIBDIR}/dnsrv
-+	${INSTALL_DIR} ${LIBDIR}/dialback
-+	${INSTALL_DATA} dialback/dialback.so ${LIBDIR}/dialback
-+	${INSTALL_DIR} ${INCDIR}
-+	${INSTALL_DATA} platform-settings ${INCDIR}
-+	${INSTALL_DATA} jabberd/jabberd.h ${INCDIR}
-+	${INSTALL_DIR} ${INCDIR}/lib
-+	${INSTALL_DATA} jabberd/lib/lib.h ${INCDIR}/lib
-+	${INSTALL_DATA} jabberd/lib/xmlparse.h ${INCDIR}/lib
-+	${INSTALL_DATA} jabberd/pth-1.4.0/pth.h ${INCDIR}
-+	
- 
- all-local:
- 
diff -ruN --exclude=CVS /usr/ports/net/jabber/files/patch-ac /usr/ports/net/jabber.new/files/patch-ac
--- /usr/ports/net/jabber/files/patch-ac	Mon Feb 12 23:44:38 2001
+++ /usr/ports/net/jabber.new/files/patch-ac	Thu Jan  1 04:00:00 1970
@@ -1,11 +0,0 @@
---- jabber.xml.orig	Sat Feb  3 22:46:56 2001
-+++ jabber.xml	Sun Feb 11 01:19:01 2001
-@@ -576,7 +576,7 @@
-   <!--
-   This specifies the file to store the pid of the process in.
-   -->
--  <pidfile>./jabber.pid</pidfile>
-+  <pidfile>/var/tmp/jabber.pid</pidfile>
- 
- 
- </jabber>
diff -ruN --exclude=CVS /usr/ports/net/jabber/files/patch-ad /usr/ports/net/jabber.new/files/patch-ad
--- /usr/ports/net/jabber/files/patch-ad	Mon Feb 12 23:44:39 2001
+++ /usr/ports/net/jabber.new/files/patch-ad	Thu Jan  1 04:00:00 1970
@@ -1,50 +0,0 @@
---- jabber.xml.orig	Sun Feb 11 17:24:48 2001
-+++ jabber.xml	Sun Feb 11 17:26:23 2001
-@@ -41,6 +41,10 @@
-     Multiple <host/> entries are allowed - each one is for a 
-     separate virtual server. Note that each host entry must 
-     be on one line, the server doesn't like it otherwise! :)
-+
-+    Currently on FreeBSD jabberd is started with the -h option
-+    from /usr/local/etc/rc.d/jabberd.sh.  You'll need to modify
-+    this before changing below.
-     -->
- 
-     <host><jabberd:cmdline flag="h">localhost</jabberd:cmdline></host>
-@@ -193,7 +197,9 @@
-       entry for <host/> above.
-       -->
- 
-+      <!--
-       <update><jabberd:cmdline flag="h">localhost</jabberd:cmdline></update>
-+      -->
- 
-       <!--
-       This enables the server to automatically update the 
-@@ -298,7 +304,7 @@
-       <xdb_file>./xdb_file/xdb_file.so</xdb_file>
-     </load>
-     <xdb_file xmlns="jabber:config:xdb_file">
--      <spool><jabberd:cmdline flag='s'>./spool</jabberd:cmdline></spool>
-+      <spool><jabberd:cmdline flag='s'>/var/spool/jabber</jabberd:cmdline></spool>
-     </xdb_file>
-   </xdb>
- 
-@@ -357,7 +363,7 @@
-     <host/>
-     <logtype/>
-     <format>%d: [%t] (%h): %s</format>
--    <file>error.log</file>
-+    <file>/var/log/jabber.error</file>
-     <stderr/>
-   </log>
- 
-@@ -370,7 +376,7 @@
-     <host/>
-     <logtype>record</logtype>
-     <format>%d %h %s</format>
--    <file>record.log</file>
-+    <file>/var/log/jabber.record</file>
-   </log>
- 
-   <!-- The following two services are for handling server-to-server traffic. -->
diff -ruN --exclude=CVS /usr/ports/net/jabber/files/patch-configure /usr/ports/net/jabber.new/files/patch-configure
--- /usr/ports/net/jabber/files/patch-configure	Thu Jan  1 04:00:00 1970
+++ /usr/ports/net/jabber.new/files/patch-configure	Thu May  6 04:13:25 2004
@@ -0,0 +1,9 @@
+--- configure.orig      Mon Feb 11 11:14:06 2002
++++ configure   Sun Apr 14 18:38:40 2002
+@@ -32,7 +32,8 @@
+ LDFLAGS="$LDFLAGS"
+ LIBS="$LIBS"
+ XLDFLAGS="$XLDFLAGS "
+-JHOME=`pwd`
++JHOME="`cat .prefix-freebsd`/lib/jabber"
++WRKSRC="`cat .wrksrc-freebsd`"
diff -ruN --exclude=CVS /usr/ports/net/jabber/files/patch-jabber.xml /usr/ports/net/jabber.new/files/patch-jabber.xml
--- /usr/ports/net/jabber/files/patch-jabber.xml	Thu Jan  1 04:00:00 1970
+++ /usr/ports/net/jabber.new/files/patch-jabber.xml	Thu May  6 04:22:11 2004
@@ -0,0 +1,49 @@
+--- jabber.xml.orig	Thu Nov 13 22:53:46 2003
++++ jabber.xml	Thu May  6 04:19:22 2004
+@@ -49,6 +49,10 @@
+     separate virtual server. Note that each host entry must 
+     be on one line, the server doesn't like it otherwise! :)
+     Use lowercase for the hostname.
++
++    Currently on FreeBSD jabberd is started with the -h option
++    from /usr/local/etc/rc.d/jabberd.sh.  You'll need to modify
++    it before the below applies.
+     -->
+ 
+     <host><jabberd:cmdline flag="h">localhost</jabberd:cmdline></host>
+@@ -356,7 +360,7 @@
+       <xdb_file>./xdb_file/xdb_file.so</xdb_file>
+     </load>
+     <xdb_file xmlns="jabber:config:xdb_file">
+-      <spool><jabberd:cmdline flag='s'>./spool</jabberd:cmdline></spool>
++      <spool><jabberd:cmdline flag='s'>/var/spool/jabber</jabberd:cmdline></spool>
+     </xdb_file>
+   </xdb>
+ 
+@@ -430,7 +434,7 @@
+     <host/>
+     <logtype/>
+     <format>%d: [%t] (%h): %s</format>
+-    <file>error.log</file>
++    <file>/var/log/jabber.error</file>
+     <stderr/>
+   </log>
+ 
+@@ -443,7 +447,7 @@
+     <host/>
+     <logtype>record</logtype>
+     <format>%d %h %s</format>
+-    <file>record.log</file>
++    <file>/var/log/jabber.record</file>
+   </log>
+ 
+   <!-- The following two services are for handling server-to-server traffic. -->
+@@ -668,7 +672,7 @@
+   <!--
+   This specifies the file to store the pid of the process in.
+   -->
+-  <pidfile>./jabber.pid</pidfile>
++  <pidfile>/var/tmp/jabber.pid</pidfile>
+ 
+ 
+ </jabber>
diff -ruN --exclude=CVS /usr/ports/net/jabber/files/patch-jsm-modules-mod_auth_crypt.c /usr/ports/net/jabber.new/files/patch-jsm-modules-mod_auth_crypt.c
--- /usr/ports/net/jabber/files/patch-jsm-modules-mod_auth_crypt.c	Thu Jan  1 04:00:00 1970
+++ /usr/ports/net/jabber.new/files/patch-jsm-modules-mod_auth_crypt.c	Thu May  6 04:13:25 2004
@@ -0,0 +1,11 @@
+--- jsm/modules/mod_auth_crypt.c.orig	Thu May  6 00:00:20 2004
++++ jsm/modules/mod_auth_crypt.c	Thu May  6 00:00:01 2004
+@@ -28,7 +28,7 @@
+  * 
+  * --------------------------------------------------------------------------*/
+ #include "jsm.h"
+-#include "crypt.h"
++#include <unistd.h>
+ 
+ #define HASH_CRYPT 1
+ #define HASH_SHA1  2
diff -ruN --exclude=CVS /usr/ports/net/jabber/pkg-deinstall /usr/ports/net/jabber.new/pkg-deinstall
--- /usr/ports/net/jabber/pkg-deinstall	Fri Apr 26 22:52:12 2002
+++ /usr/ports/net/jabber.new/pkg-deinstall	Thu May  6 04:54:12 2004
@@ -1,71 +1,19 @@
-#! /bin/sh
+#!/bin/sh
 
-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
-}
-
-delete_account() {
-    local u g home
-
-    u=$1
-    g=$2
-    if yesno "Do you want me to remove group \"${g}\"" y; then
-	pw groupdel -n ${g}
-	echo "Done."
-    fi
-    if yesno "Do you want me to remove user \"${u}\"" y; then
-	eval home=~${u}
-	pw userdel -n ${u}
-	echo "Done."
-	if [ -d "${home}" ]; then
-	    echo "Please remember to remove the home directory \"${home}\" as"
-	    echo "well as the mirrored files."
-	fi
-    fi
-}
-
-if [ x$2 != xDEINSTALL ]; then
-    exit
+if [ "$2" != "POST-DEINSTALL" ]; then
+    exit 0
 fi
 
-export PATH=/bin:/usr/bin:/usr/sbin
-
 USER=jabber
-GROUP=jabber
 
-if ps -axc | grep -q jabberd; then
-    if yesno "There are some jabberd processes running.  Shall I kill them" y
-    then
-	killall -SIGKILL -u ${USER} jabberd
-	sleep 2
-    else
-	echo "OK ... I hope you know what you are doing."
-    fi
+if pw usershow "${USER}" 2>/dev/null 1>&2; then
+	echo "To delete Jabber user permanently, use 'pw userdel ${USER}'"
 fi
 
-delete_account ${USER} ${GROUP}
+if pw groupshow "${USER}" 2>/dev/null 1>&2; then
+	echo "To delete Jabber group permanently, use 'pw groupdel ${USER}'"
+fi
+
+echo "If you wish to delete jabber data files, remove '/var/spool/jabber' directory."
+
+exit 0
diff -ruN --exclude=CVS /usr/ports/net/jabber/pkg-install /usr/ports/net/jabber.new/pkg-install
--- /usr/ports/net/jabber/pkg-install	Fri Apr 26 22:52:12 2002
+++ /usr/ports/net/jabber.new/pkg-install	Thu May  6 04:54:22 2004
@@ -1,151 +1,56 @@
-#! /bin/sh
+#!/bin/sh
 
-chmods_done=" "
-
-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
-}
-
-make_account() {
-    local u g gcos homeopt home
-
-    u=$1
-    g=$2
-    gcos=$3
-    homeopt=${4:+"-d $4"}
-
-    if pw group show "${g}" >/dev/null 2>&1; then
-	echo "You already have a group \"${g}\", so I will use it."
-    else
-	echo "You need a group \"${g}\"."
-	if which -s pw && yesno "Would you like me to create it" y; then
-	    pw groupadd ${g} || exit
-	    echo "Done."
-	else
-	    echo "Please create it, and try again."
-	    if ! grep -q "^${u}:" /etc/passwd; then
-		echo "While you're at it, please create a user \"${u}\" too,"
-		echo "with a default group of \"${g}\"."
-	    fi
-	    exit 1
-	fi
-    fi
-    
-    if pw user show "${u}" >/dev/null 2>&1; then
-	echo "You already have a user \"${u}\", so I will use it."
-    else
-	echo "You need a user \"${u}\"."
-	if which -s pw && yesno "Would you like me to create it" y; then
-	    pw useradd ${u} -g ${g} -h - ${homeopt} \
-		-s /nonexistent -c "${gcos}" || exit
-	    echo "Done."
+if [ "$2" != "POST-INSTALL" ]; then
+    exit 0
+fi
+
+USER=jabber
+GROUP=${USER}
+UID=93
+GID=${UID}
+SPOOLDIR="/var/spool/jabber"
+ETCDIR=${PREFIX:-$PKG_PREFIX}/etc
+
+if ! pw groupshow "${GROUP}" 2>/dev/null 1>&2; then
+	if pw groupadd ${GROUP} -g ${GID}; then
+		echo "Added group \"${GROUP}\"."
 	else
-	    echo "Please create it, and try again."
-	    exit 1
+		echo "Adding group \"${GROUP}\" failed..."
+		exit 1
 	fi
-    fi
+fi
 
-    if [ x"$homeopt" = x ]; then
-	eval home=~${u}
-	if [ ! -d "${home}" ]; then
-	    if yesno \
-		"Would you like me to create ${u}'s home directory (${home})" y
-	    then
-		(umask 77 && \
-		    mkdir -p ${home}) || exit
-		chown -R ${u}:${g} ${home} || exit
-	    else
-		echo "Please create it, and try again."
+if ! pw usershow "${USER}" 2>/dev/null 1>&2; then
+	if pw useradd ${USER} -u ${UID} -g ${GROUP} -h - \
+		-s "/sbin/nologin" -d "/nonexistent" \
+		-c "Jabber Daemon"; \
+	then
+		echo "Added user \"${USER}\"."
+	else
+		echo "Adding user \"${USER}\" failed..."
 		exit 1
-	    fi
 	fi
-    fi
-}
-
-case $2 in
-
-POST-INSTALL)
-    if which -s pw && which -s lockf; then
-	:
-    else
-	cat <<EOF
-
-This system looks like a pre-2.2 version of FreeBSD.  I see that it
-is missing the "lockf" and/or "pw" utilities.  I need these utilities.
-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.bin/lockf.tar.gz
-  ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/usr.sbin/pw.tar.gz
-
-EOF
-	exit 1
-    fi
-
-    user=jabber
-    group=jabber
-    spooldir="/var/spool/jabber"
-    etcdir=${PREFIX:-$PKG_PREFIX}/etc
-
-    echo ""
-    make_account ${user} ${group} "Jabber Daemon" "/nonexistent"
-
-    if [ ! -d ${spooldir} ]; then
-	echo "Creating \"${spooldir}\"."
-	mkdir -p ${spooldir}
-    fi
-
-    echo "Fixing ownerships and modes in \"${spooldir}\"."
-    chown -R ${user}:${group} ${spooldir}
-    chmod -R go= ${spooldir}
-
-    if [ ! -f ${etcdir}/jabber.xml ]; then
-	echo "Creating \"${etcdir}/jabber.xml\"."
-	cp -p ${etcdir}/jabber.xml.sample ${etcdir}/jabber.xml
-    fi
-
-    echo "Fixing config files ownerships and modes."
-    chown root:${group} ${etcdir}/jabber.xml ${etcdir}/jabber.xml.sample
-    chmod 640 ${etcdir}/jabber.xml ${etcdir}/jabber.xml.sample
-
-    if [ ! -f /var/log/jabber.error ]; then
-	echo "Creating \"/var/log/jabber.error\"."
-	cp /dev/null /var/log/jabber.error
-    fi
-
-    if [ ! -f /var/log/jabber.record ]; then
-	echo "Creating \"/var/log/jabber.record\"."
-	cp /dev/null /var/log/jabber.record
-    fi
-
-    echo "Fixing log files ownerships and modes."
-    chown ${user}:${group} /var/log/jabber.error /var/log/jabber.record
-    chmod 640 /var/log/jabber.error /var/log/jabber.record
+fi
 
-    ;;
-esac
+if [ ! -d ${SPOOLDIR} ]; then
+	echo "Creating \"${SPOOLDIR}\"."
+	mkdir -p ${SPOOLDIR}
+fi
+
+echo "Fixing ownerships and modes in \"${SPOOLDIR}\"."
+chown -R ${USER}:${GROUP} ${SPOOLDIR}
+chmod -R go= ${SPOOLDIR}
+
+if [ ! -f ${ETCDIR}/jabber.xml ]; then
+	echo "Creating \"${ETCDIR}/jabber.xml\"."
+	cp -p ${ETCDIR}/jabber.xml.sample ${ETCDIR}/jabber.xml
+fi
+
+echo "Fixing config files ownerships and modes."
+chown root:${GROUP} ${ETCDIR}/jabber.xml ${ETCDIR}/jabber.xml.sample
+chmod 640 ${ETCDIR}/jabber.xml ${ETCDIR}/jabber.xml.sample
+
+echo "Fixing log files, ownerships and modes."
+touch /var/log/jabber.error /var/log/jabber.record
+chown ${USER}:${GROUP} /var/log/jabber.error /var/log/jabber.record
+chmod 640 /var/log/jabber.error /var/log/jabber.record
diff -ruN --exclude=CVS /usr/ports/net/jabber/pkg-plist /usr/ports/net/jabber.new/pkg-plist
--- /usr/ports/net/jabber/pkg-plist	Fri Apr 26 22:52:12 2002
+++ /usr/ports/net/jabber.new/pkg-plist	Thu May  6 00:31:59 2004
@@ -6,7 +6,6 @@
 include/jabber/lib/xmlparse.h
 include/jabber/platform-settings
 include/jabber/jabberd.h
-include/jabber/pth.h
 lib/jabber/dialback/dialback.so
 lib/jabber/dnsrv/dnsrv.so
 lib/jabber/jsm/jsm.so
--- jabber-1.4.3.patch ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list