Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Mar 2013 19:14:47 +0000 (UTC)
From:      Chris Rees <crees@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r314178 - in head/mail/sympa: . files
Message-ID:  <201303141914.r2EJEl1U085163@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: crees
Date: Thu Mar 14 19:14:47 2013
New Revision: 314178
URL: http://svnweb.freebsd.org/changeset/ports/314178

Log:
  Add new rc script for sympa
  
  PR:		ports/176475
  Submitted by:	Eimar Koort <eimar.koort@gmail.com>

Added:
  head/mail/sympa/files/patch-src-etc-script-Makefile.in   (contents, props changed)
  head/mail/sympa/files/sympa.in   (contents, props changed)
Deleted:
  head/mail/sympa/files/patch-src__etc__script__sympa.in
Modified:
  head/mail/sympa/Makefile
  head/mail/sympa/pkg-plist

Modified: head/mail/sympa/Makefile
==============================================================================
--- head/mail/sympa/Makefile	Thu Mar 14 18:54:56 2013	(r314177)
+++ head/mail/sympa/Makefile	Thu Mar 14 19:14:47 2013	(r314178)
@@ -3,6 +3,7 @@
 
 PORTNAME=	sympa
 PORTVERSION=	6.1.17
+PORTREVISION=	1
 CATEGORIES=	mail
 MASTER_SITES=	http://www.sympa.org/distribution/ \
 		http://www.sympa.org/distribution/old/
@@ -52,7 +53,6 @@ CONFIGURE_ARGS+=--bindir=${PREFIX}/libex
 		--with-confdir=${PREFIX}/etc		\
 		--with-docdir=${EXAMPLESDIR}		\
 		--with-expldir=${DATADIR}/list_data	\
-		--with-iconsdir=${PREFIX}/${ICONSDIR}	\
 		--with-initdir=${PREFIX}/etc/rc.d	\
 		--with-lockdir=/var/spool/lock		\
 		--with-modulesdir=${PREFIX}/libexec/${PORTNAME} \
@@ -63,6 +63,8 @@ CONFIGURE_ENV+=	lt_cv_sys_max_cmd_len=${
 MAKE_ENV?=	PERL_EXTUTILS_AUTOINSTALL=--skip
 SUB_FILES=	pkg-install
 
+USE_RC_SUBR=	sympa
+
 .if !defined(WITHOUT_NLS)
 USE_GETTEXT=	yes
 PLIST_SUB+=	NLS=""
@@ -87,6 +89,7 @@ DB_TYPE:=	${DB_TYPE:U}
 .  for option in ${OPTIONS_RADIO_DATABASE}
 .    if ${DB_TYPE} == ${option:S,PGSQL,PG,}
 OPTIONS_SET+=	${option}
+.warning You need to replace your DB_TYPE variable in make.conf with OPTIONS_SET+=${option}
 .    endif
 .  endfor
 .endif
@@ -104,10 +107,12 @@ RUN_DEPENDS+=	${LOCALBASE}/${APACHEMODDI
 .if ${PORT_OPTIONS:MORACLE}
 RUN_DEPENDS+=	p5-DBD-Oracle>=0:${PORTSDIR}/databases/p5-DBD-Oracle
 .elif ${PORT_OPTIONS:MPGSQL}
+SUB_LIST+=	REQ_MYSQL="" REQ_PGSQL=postgresql
 RUN_DEPENDS+=	p5-DBD-Pg>=0:${PORTSDIR}/databases/p5-DBD-Pg
 .elif ${PORT_OPTIONS:MSYBASE}
 RUN_DEPENDS+=	p5-DBD-Sybase>=0:${PORTSDIR}/databases/p5-DBD-Sybase
 .elif ${PORT_OPTIONS:MMYSQL}
+SUB_LIST+=	REQ_MYSQL=mysql REQ_PGSQL=""
 RUN_DEPENDS+=	p5-DBD-mysql>=0:${PORTSDIR}/databases/p5-DBD-mysql
 .endif
 

Added: head/mail/sympa/files/patch-src-etc-script-Makefile.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/mail/sympa/files/patch-src-etc-script-Makefile.in	Thu Mar 14 19:14:47 2013	(r314178)
@@ -0,0 +1,11 @@
+--- src/etc/script/Makefile.in.orig	2013-03-13 18:06:41.202599651 +0000
++++ src/etc/script/Makefile.in	2013-03-13 18:06:05.882611401 +0000
+@@ -355,7 +355,7 @@
+ 
+ info-am:
+ 
+-install-data-am: install-initSCRIPTS install-scriptSCRIPTS
++install-data-am: install-scriptSCRIPTS
+ 
+ install-exec-am:
+ 

Added: head/mail/sympa/files/sympa.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/mail/sympa/files/sympa.in	Thu Mar 14 19:14:47 2013	(r314178)
@@ -0,0 +1,211 @@
+#!/bin/sh
+#
+# PROVIDE: sympa
+# REQUIRE: LOGIN cleanvar %%REQ_MYSQL%% %%REQ_PGSQL%% 
+# KEYWORD: shutdown
+#
+# $FreeBSD$
+#
+# Written by Michel Bouissou  20/07/2000
+#
+# Modified by Olivier Salaun 27/07/2000
+#    - translations
+#    - lang parameter deleted (defined in sympa.conf)
+#    - introduced --VARS-- parsed by Makefile
+#    - no more sympauser since sympa sets its UID
+# Modified by Michel Bouissou  27/07/2000
+# Modified by Eimar Koort 27/02/2013
+# 	- optimized for FreeBSD
+#
+# sympa_enable (bool):	Set to NO by default.
+# 			Set it to YES to enable sympa.
+#
+
+. /etc/rc.subr
+
+name=sympa
+rcvar=sympa_enable
+
+load_rc_config $name
+
+: ${sympa_enable:=no}
+
+start_cmd=sympa_start
+stop_cmd=sympa_stop
+status_cmd=sympa_status
+extra_commands=status
+
+sympadir=%%PREFIX%%/libexec/sympa
+
+sympaconf=%%PREFIX%%/etc/sympa.conf
+wwsympaconf=%%PREFIX%%/etc/wwsympa.conf
+
+sub_status()
+{
+	# Test syntax.
+	if [ $# = 0 ] ; then
+		echo "Usage: sub_status {program}"
+		return 1
+	fi
+	# First try "/u1/home/sympa/*.pid" files
+	if [ -f /var/run/sympa/$1.pid ] ; then
+		pid=`head -1 /var/run/sympa/$1.pid | tr -s ' ' '|'`
+		if [ "$pid" != "" ] ; then
+			running=`ps -A | egrep "$pid"`
+			if [ "$running" != "" ]; then
+				echo "$1 (pid(s) $pid) is active..."
+				return 0
+					else
+				echo "$1 died, pid file remains."
+				return 1
+			fi
+		fi
+	fi
+	echo "$1 is stopped."
+	return 3
+}
+
+sub_module_start()
+{
+	# Start a module
+	if [ $# = 0 ] ; then
+		echo "Usage: sub_module_start {program}"
+		return 1
+	fi
+	$sympadir/$1.pl $startparam && echo "success" || echo "failure"
+	echo
+}
+
+sub_start()
+{
+	# Test state of module before startup
+	if [ $# = 0 ] ; then
+		echo "Usage: sub_start {program}"
+		return 1
+	fi
+	sub_status $1 > /dev/null
+	case "$?" in
+		3)
+			echo $echo_opt "Starting module $1.pl: "
+			sub_module_start $1
+			;;
+		1) 
+			echo $echo_opt "Starting $1, overwriting old pid file."
+			sub_module_start $1
+			;;
+		0)
+			echo "$1 seems active. No action will be taken."
+			echo "Try \"sympa status\" or \"sympa restart"\".
+			;;
+	esac
+}
+
+sub_stop()
+{
+    # Stop a module
+    if [ $# = 0 ] ; then
+	echo "Usage: sub_stop {program}"
+	return 1
+    fi
+ 
+    if [ -f /var/run/sympa/$1.pid ]; then
+	echo $echo_opt "Stopping module $1.pl: "
+	pids=`head -1 /var/run/sympa/$1.pid`
+	runcount=0
+	if [ "$pids" != "" ]; then
+	    for pid in $pids; do
+		killcount=0
+		running=`ps -A | grep "^[[:space:]]*$pid[[:space:]].*$1\\.pl"`
+		while [ "$running" != "" ]; do
+		    if [ $killcount -gt 10 ]; then
+			echo 'failure'
+			return 3
+		    fi
+
+		    kill -TERM $pid >/dev/null 2>&1
+		    running=`ps -A | grep "^[[:space:]]*$pid[[:space:]].*$1\\.pl"`
+		    if [ "$running" = "" ]; then
+			runcount=`expr $runcount + 1`
+			break
+		    fi
+		    sleep 2
+		    running=`ps -A | grep "^[[:space:]]*$pid[[:space:]].*$1\\.pl"`
+		    if [ "$running" = "" ]; then
+			runcount=`expr $runcount + 1`
+			break
+		    fi
+		    killcount=`expr $killcount + 1`
+		done
+	    done
+	fi
+	if [ $runcount -gt 0 ]; then
+		echo 'success'
+	else
+	    echo 'died'
+	fi
+	echo
+    else
+	echo "Module $1.pl not running"
+    fi
+    return 0
+}
+
+sympa_check_config()
+{
+	# Check config files
+	[ -d $sympadir ] || exit 0
+	[ -f $sympaconf ] || exit 0
+	[ -f $wwsympaconf ] || exit 0
+}
+
+sympa_start()
+{
+	sympa_check_config
+	if [ ! -f /var/spool/lock/sympa ]; then
+		echo "Starting Sympa subsystem: "
+		sub_start sympa
+		sub_start bulk
+		sub_start archived
+		sub_start bounced
+		sub_start task_manager
+		touch /var/spool/lock/sympa
+		echo
+	else
+		echo "Sympa seems active. No action will be taken."
+		echo "Try \"sympa status\" or \"sympa restart"\".
+	fi
+}
+
+sympa_stop()
+{
+	sympa_check_config
+	echo "Stopping Sympa subsystem: "
+	sub_stop bounced
+	sub_stop archived
+	sub_stop bulk
+	sub_stop sympa
+	if [ -f /var/run/sympa/sympa-creation.pid ]; then
+		sub_stop sympa-creation
+	fi
+	sub_stop task_manager
+	if [ -f /var/spool/lock/sympa ]; then
+		rm -f /var/spool/lock/sympa
+	fi
+}
+
+sympa_status()
+{
+	echo "Status of Sympa subsystem: "
+	if [ -f /var/spool/lock/sympa ]; then
+		echo "Status file for subsystem found."
+	else
+		echo "Status file for subsystem NOT found."
+	fi
+	sub_status sympa
+	sub_status bulk
+	sub_status archived
+	sub_status bounced
+	sub_status task_manager
+}
+
+run_rc_command $1

Modified: head/mail/sympa/pkg-plist
==============================================================================
--- head/mail/sympa/pkg-plist	Thu Mar 14 18:54:56 2013	(r314177)
+++ head/mail/sympa/pkg-plist	Thu Mar 14 19:14:47 2013	(r314178)
@@ -1,4 +1,3 @@
-etc/rc.d/sympa
 @comment copyover handled in pkg-install
 @unexec cmp -s %D/etc/sympa.conf.sample %D/etc/sympa.conf && rm -f %D/etc/sympa.conf
 etc/sympa.conf.sample



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201303141914.r2EJEl1U085163>