svn commit: r314178 - in head/mail/sympa: . files
Chris Rees
crees at FreeBSD.org
Thu Mar 14 19:14:48 UTC 2013
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 at 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
More information about the svn-ports-all
mailing list