Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 17 Oct 2015 16:41:29 +0000 (UTC)
From:      Kurt Jaeger <pi@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r399542 - in head/mail: . openemm2013 openemm2013/files
Message-ID:  <201510171641.t9HGfTvM098725@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: pi
Date: Sat Oct 17 16:41:29 2015
New Revision: 399542
URL: https://svnweb.freebsd.org/changeset/ports/399542

Log:
  New port: mail/openemm2013
  
  OpenEMM is a feature-rich web-based enterprise application for email
  marketing, newsletters and service mails (transaction mails and
  event or time triggered mails). OpenEMM offers a great user interface,
  sophisticated bounce management, link tracking, lots of graphical
  realtime statistics, a CMS module and a scripting feature to implement
  individual tasks.
  
  OpenEMM is the first open source application for e-mail marketing.
  Its code base has been developed since 1999 and is used - as part
  of the commercial software product E-Marketing Manager (EMM) - by
  companies like IBM, Daimler, Siemens and Deutsche Telekom.
  
  OpenEMM offers already more than 95% of the functionality of most
  commercial products and some features most commercial products do
  not offer right now (for example MySQL support and CMS functionality).
  
  WWW: http://www.openemm.org
  
  PR:		196516
  Submitted by:	Horst Leitenmueller <horst.leitenmueller@liwest.at>

Added:
  head/mail/openemm2013/
  head/mail/openemm2013/Makefile   (contents, props changed)
  head/mail/openemm2013/distinfo   (contents, props changed)
  head/mail/openemm2013/files/
  head/mail/openemm2013/files/openemm2013.in   (contents, props changed)
  head/mail/openemm2013/files/patch-openemm_build.xml   (contents, props changed)
  head/mail/openemm2013/files/patch-src__c__bav__GNUmakefile   (contents, props changed)
  head/mail/openemm2013/files/patch-src__c__bav__bav.c   (contents, props changed)
  head/mail/openemm2013/files/patch-src__c__lib__GNUmakefile   (contents, props changed)
  head/mail/openemm2013/files/patch-src__c__lib__agn.h   (contents, props changed)
  head/mail/openemm2013/files/patch-src__c__tools__GNUmakefile   (contents, props changed)
  head/mail/openemm2013/files/patch-src__c__xmlback__GNUmakefile   (contents, props changed)
  head/mail/openemm2013/files/patch-src__c__xmlback__eval.c   (contents, props changed)
  head/mail/openemm2013/files/patch-src__c__xmlback__grammar__GNUmakefile   (contents, props changed)
  head/mail/openemm2013/files/patch-src__java__org__agnitas__backend__StringOps.java   (contents, props changed)
  head/mail/openemm2013/files/patch-src__java__org__agnitas__beans__FailedLoginData.java   (contents, props changed)
  head/mail/openemm2013/files/patch-src__java__org__agnitas__beans__ImageButton.java   (contents, props changed)
  head/mail/openemm2013/files/patch-src__java__org__agnitas__dao__LoginTrackDao.java   (contents, props changed)
  head/mail/openemm2013/files/patch-src__java__org__agnitas__util__CharacterEncodingValidator.java   (contents, props changed)
  head/mail/openemm2013/files/patch-src__java__org__agnitas__util__CharacterEncodingValidatorImpl.java   (contents, props changed)
  head/mail/openemm2013/files/patch-src__java__org__agnitas__util__TextTable.java   (contents, props changed)
  head/mail/openemm2013/files/patch-src__jsp__WEB-INF__web.xml   (contents, props changed)
  head/mail/openemm2013/files/patch-src__script__lib__config.sh   (contents, props changed)
  head/mail/openemm2013/files/patch-src_java_org_agnitas_beans_impl_FailedLoginDataImpl.java   (contents, props changed)
  head/mail/openemm2013/files/patch-src_java_org_agnitas_dao_impl_LoginTrackDaoImpl.java   (contents, props changed)
  head/mail/openemm2013/files/patch-src_java_org_agnitas_emm_extension_listener_ExtensionSystemInitializationContextListener.java   (contents, props changed)
  head/mail/openemm2013/pkg-descr   (contents, props changed)
  head/mail/openemm2013/pkg-message   (contents, props changed)
  head/mail/openemm2013/pkg-plist   (contents, props changed)
Modified:
  head/mail/Makefile

Modified: head/mail/Makefile
==============================================================================
--- head/mail/Makefile	Sat Oct 17 16:35:40 2015	(r399541)
+++ head/mail/Makefile	Sat Oct 17 16:41:29 2015	(r399542)
@@ -285,6 +285,7 @@
     SUBDIR += offlineimap
     SUBDIR += opendkim
     SUBDIR += opendmarc
+    SUBDIR += openemm2013
     SUBDIR += opensmtpd
     SUBDIR += opensmtpd-devel
     SUBDIR += openwebmail

Added: head/mail/openemm2013/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/mail/openemm2013/Makefile	Sat Oct 17 16:41:29 2015	(r399542)
@@ -0,0 +1,216 @@
+# Created by: Horst Leitenmueller <horst.leitenmueller@liwest.at>
+# $FreeBSD$
+
+PORTNAME=	openemm2013
+PORTVERSION=	R2
+CATEGORIES=	mail java www
+MASTER_SITES=	${MASTER_SITE_SOURCEFORGE:S/$/:DEFAULT/} \
+		http://central.maven.org/maven2/%SUBDIR%/:MAVEN2
+MASTER_SITE_SUBDIR=	openemm/OpenEMM%20software/OpenEMM%202013/:DEFAULT \
+			com/lowagie/itext/2.1.7/:MAVEN2
+DISTNAME=	OpenEMM-2013_${PORTVERSION}-src
+DISTFILES=	OpenEMM-2013_${PORTVERSION}-src.tar.gz:DEFAULT OpenEMM-2013_${PORTVERSION}-JARs.tar.gz:DEFAULT \
+		itext-2.1.7.jar:MAVEN2
+
+MAINTAINER=	horst.leitenmueller@liwest.at
+COMMENT=	OpenEMM a email marketing enterprise app
+
+LICENSE=	CPAL-1.0
+LICENSE_FILE=	${WRKSRC}/other/LICENSE.txt
+
+LIB_DEPENDS=	libslang.so:${PORTSDIR}/devel/libslang2 \
+		libsa.so:${PORTSDIR}/net/ossp-sa
+BUILD_DEPENDS=	${TOMCATHOME}/bin/bootstrap.jar:${PORTSDIR}/www/tomcat8 \
+		${ANT_CMD}:${PORTSDIR}/devel/apache-ant
+RUN_DEPENDS=	${TOMCATHOME}/bin/bootstrap.jar:${PORTSDIR}/www/tomcat8 \
+		py27-MySQLdb>=1.2.3:${PORTSDIR}/databases/py-MySQLdb
+
+USE_RC_SUBR=	openemm2013
+USE_JAVA=	yes
+JAVA_VERSION=	1.7+
+
+USES=	dos2unix gmake python:2.7,run
+DOS2UNIX_GLOB=	*.c *.cpp *.h *.java *.xml *.properties
+CC=	clang
+CXX=	clang++
+
+TOMCATVER=	apache-tomcat-8.0
+TOMCATDIR=	${PREFIX}/${TOMCATVER}
+TOMCATHOME=	${LOCALBASE}/${TOMCATVER}
+#WEBAPPDIR=	${TOMCATDIR}/webapps
+WEBAPP=		openemm
+
+USER=		www
+GROUP=		www
+VAR_DIR?=	/var
+LOG_DIR?=	${VAR_DIR}/log/${PORTNAME}
+PID_FILE=	${VAR_DIR}/run/${PORTNAME}.pid
+
+AGN_BACKEND_FILES=	lib tools xmlback bav
+
+SUB_LIST=	APP_SHORTNAME=${PORTNAME} \
+		LOG_DIR=${LOG_DIR} \
+		USER=${USER} \
+		GROUP=${GROUP} \
+		PID_FILE=${PID_FILE} \
+		APP_HOME=${PREFIX}/${PORTNAME}
+PLIST_SUB=	APP_HOME=${PORTNAME}
+
+TOMCAT_CONFIG_FILES=	context.xml logging.properties server.xml
+
+ANT_CMD?=	${LOCALBASE}/bin/ant
+ANT=		${SETENV} JAVA_HOME=${JAVA_HOME} ${ANT_CMD}
+ANT_TARGETS=	build
+ANT_BUILD_PARAM=	-Dbuild=${WRKSRC}/target -Doe.home=${WRKSRC}/target -Dcatalina.home=${TOMCATDIR} -Dsrc=${WRKSRC} -f openemm_build.xml
+JAVA_BUILD=	yes
+
+do-extract:
+	@cd ${WRKDIR} && ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/${DISTNAME}.tar.gz ${EXTRACT_AFTER_ARGS}
+
+	# we extract the add-on libs to the ${WRKSRC}/lib directory
+	${MKDIR} ${WRKSRC}/lib
+	@cd ${WRKSRC}/lib && ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/OpenEMM-2013_${PORTVERSION}-JARs.tar.gz ${EXTRACT_AFTER_ARGS}
+	@cd ${WRKSRC}/lib && ${CP} ${_DISTDIR}/itext-2.1.7.jar .
+
+post-extract:
+	# remove not needed java libs which are installed as separate port
+	${RM} ${WRKSRC}/lib/mysql*.jar
+
+	# remove the c libs which are also installed as dependencies ports
+	# ${WRKSRC}/contrib/sa-1.2.6.tar.gz  -> net/ossp-sa   and ${WRKSRC}/contrib/slang-1.4.9.tar.gz -> devel/libslang2
+	${RM} -rf ${WRKSRC}/contrib
+
+	# remove not needed c buildscripts
+	${RM} -rf ${WRKSRC}/other/make_backend.sh
+
+pre-patch:
+	@${ECHO_MSG} "Installation settings:"
+	@${ECHO_MSG} "   Location of TomcatHome:    ${TOMCAT_HOME}"
+	@${ECHO_MSG} "   Location of JDK:          ${JAVA_HOME}"
+	@${ECHO_MSG} "   Location of Java port:    ${JAVA_PORT}"
+
+post-patch:
+	${REINPLACE_CMD} -e 's|\/home\/openemm|${PREFIX}\/${PORTNAME}|g' -e 's|\/usr\/share\/doc\/OpenEMM-2013|${DOCSDIR}|g' ${WRKSRC}/other/README.txt
+	${REINPLACE_CMD} -e 's|\/home\/openemm|${PREFIX}\/${PORTNAME}|g' ${WRKSRC}/src/script/data/bav.rc
+	${REINPLACE_CMD} -e 's|\/home\/openemm|${PREFIX}\/${PORTNAME}|g' ${WRKSRC}/tomcat/conf/server.xml
+
+	${REINPLACE_CMD} -e "s|base = os.environ\['HOME'\]| base = '${PREFIX}\/${PORTNAME}'|g" -e "s|lockpath = os.environ\['LOCK_HOME'\]|lockpath = '/var/run/openemm'|g" ${WRKSRC}/src/script/lib/agn.py
+
+	${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' ${WRKSRC}/src/script/lib/config.sh
+
+	${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' -e 's|-L INFO|-L INFO -s /var/run/openemm/bav.sock|' ${WRKSRC}/src/script/control/bounce.sh
+	${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' ${WRKSRC}/src/script/control/bav-update.sh
+	${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' ${WRKSRC}/src/script/control/bav-trigger.sh
+	${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' ${WRKSRC}/src/script/control/bavd.sh
+
+	${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' ${WRKSRC}/src/script/control/merger.sh
+	${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' ${WRKSRC}/src/script/control/recovery.sh
+	${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' ${WRKSRC}/src/script/control/update.sh
+	${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' ${WRKSRC}/src/script/control/pickdist.sh
+
+	${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' ${WRKSRC}/src/script/control/mailer.sh
+	${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' ${WRKSRC}/src/script/control/sendmail-enable.sh
+
+	${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' ${WRKSRC}/src/script/control/slrtscn.sh
+
+	${REINPLACE_CMD} -e 's|=logs\/openemm\/|=\/var\/log\/\${PORTNAME}\/|g' ${WRKSRC}/src/conf/log4j.properties
+	${REINPLACE_CMD} -e 's|=logs\/openemm-ws\/|=\/var\/log\/\${PORTNAME}\/|g' ${WRKSRC}/src/conf-ws/log4j.properties
+
+	${REINPLACE_CMD} -e 's|system.logdir=.*|system.logdir=\/var\/log\/\${PORTNAME}\/|g' \
+		-e 's|plugins.home=.*|plugins.home=\${PREFIX}\/\${PORTNAME}\/plugins|g' \
+		-e 's|\/home\/openemm|${PREFIX}\/${PORTNAME}|g' ${WRKSRC}/src/conf/emm.properties
+
+do-build:
+
+	# build the c backend parts of AGN
+	@${ECHO} "Building C Backend"
+.for file in ${AGN_BACKEND_FILES}
+	${ECHO} "Building ${WRKSRC}/src/c/${file}"
+
+	cd ${WRKSRC}/src/c/${file} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD}
+.endfor
+
+	${MKDIR} ${WRKSRC}/target
+
+	# copy some of the compiled c files to the bin
+	${MKDIR} ${WRKSRC}/target/bin
+
+	${MV} ${WRKSRC}/src/c/bav/bav ${WRKSRC}/target/bin/
+	${MV} ${WRKSRC}/src/c/tools/qctrl ${WRKSRC}/target/bin/
+	${MV} ${WRKSRC}/src/c/tools/smctrl ${WRKSRC}/target/bin/
+	${MV} ${WRKSRC}/src/c/tools/updater ${WRKSRC}/target/bin/
+	${MV} ${WRKSRC}/src/c/xmlback/xmlback ${WRKSRC}/target/bin/
+
+	# copy the script parts
+	${MKDIR} ${WRKSRC}/target/bin/scripts
+
+	${MV} ${WRKSRC}/src/c/bav/bavwrap ${WRKSRC}/target/bin/scripts/
+
+	# create the other directory parts
+	${MKDIR} ${WRKSRC}/target/logs
+	${MKDIR} ${WRKSRC}/target/logs/openemm
+	${MKDIR} ${WRKSRC}/target/logs/openemm-ws
+	${MKDIR} ${WRKSRC}/target/plugins
+	${MKDIR} ${WRKSRC}/target/temp
+	${MKDIR} ${WRKSRC}/target/webservices
+
+	# build the java part, frontent/parts of backend for this port
+	cd ${WRKSRC} && ${ANT} ${ANT_BUILD_PARAM} ${ANT_TARGETS}
+
+	# cp the conf files
+	${MKDIR} ${WRKSRC}/target/conf
+.for config_file in ${TOMCAT_CONFIG_FILES}
+	# rename the default template config files
+	${MV} ${WRKSRC}/tomcat/conf/${config_file} ${WRKSRC}/target/conf/${config_file}.sample
+.endfor
+	# move the startup scripts
+	${MV} ${WRKSRC}/src/script/control/* ${WRKSRC}/target/bin/
+
+	# clean bin directory
+	${RM} ${WRKSRC}/target/bin/*.bat
+	${RM} ${WRKSRC}/target/bin/openemm.py
+
+	${MV} ${WRKSRC}/target/USR_SHARE ${WRKSRC}/USR_SHARE
+	${RM} -rf ${WRKSRC}/target/src
+
+	# remove problem tld with missing classes
+	${RM} ${WRKSRC}/target/webapps/openemm/WEB-INF/struts-tiles.tld
+
+do-install:
+	${MKDIR} ${STAGEDIR}${PREFIX}/${PORTNAME}
+	(cd ${WRKSRC}/target/ && ${COPYTREE_SHARE} \* ${STAGEDIR}${PREFIX}/${PORTNAME} "! -name USR_SHARE*")
+
+	(cd ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/scripts/ && \
+		${LN} -sf bavwrap filter_or_forward && \
+		${LN} -sf bavwrap is_no_systemmail && \
+		${LN} -sf bavwrap scan_and_unsubscribe)
+
+	(cd ${STAGEDIR}${PREFIX}/${PORTNAME}/webapps/ && \
+		${LN} -sf openemm/assets openemmassets)
+
+post-install:
+	# as needed from Running Q/A tests (stage-qa)
+	${STRIP_CMD} ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/bav
+	${STRIP_CMD} ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/smctrl
+	${STRIP_CMD} ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/qctrl
+	${STRIP_CMD} ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/xmlback
+	${STRIP_CMD} ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/updater
+	${STRIP_CMD} ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/scripts/bavwrap
+
+	# update some rights which must be assigned to root
+	# we need the rigt to read the maillog file  /etc/newsyslog.conf
+	# /var/log/maillog			640  7	   *	@T00  JC
+	# and the actual file chmod 644 /var/log/maillog
+	# if not change tracking of these mail sending / bounces is
+	# not working correct
+
+	# TODO LEI
+	# move the licenses to the correct place
+	# /usr/local/share/doc/openemm2013/LICENSE.txt
+	# /usr/local/share/doc/openemm2013/ThirdPartyLicences/*
+
+	# update also /usr/local/share with the docs
+	${MKDIR} ${STAGEDIR}${DOCSDIR}
+	(cd ${WRKSRC}/USR_SHARE/ && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR})
+
+.include <bsd.port.mk>

Added: head/mail/openemm2013/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/mail/openemm2013/distinfo	Sat Oct 17 16:41:29 2015	(r399542)
@@ -0,0 +1,6 @@
+SHA256 (OpenEMM-2013_R2-src.tar.gz) = 86e954c7302a3837bff1aa1d185416e3e33f100fef730d412cc77722a2e19b65
+SIZE (OpenEMM-2013_R2-src.tar.gz) = 33276182
+SHA256 (OpenEMM-2013_R2-JARs.tar.gz) = 788108c4d00b963a6ca83cfea209c58e618e45906fb731ae41ac0d097e61b8d4
+SIZE (OpenEMM-2013_R2-JARs.tar.gz) = 26873436
+SHA256 (itext-2.1.7.jar) = 7d82c6b097a31cdf5a6d49a327bf582fdec7304da69308f9f6abf54aa9fd9055
+SIZE (itext-2.1.7.jar) = 1130070

Added: head/mail/openemm2013/files/openemm2013.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/mail/openemm2013/files/openemm2013.in	Sat Oct 17 16:41:29 2015	(r399542)
@@ -0,0 +1,176 @@
+#!/bin/sh
+#
+# %%APP_SHORTNAME%% startup script.
+#
+# $FreeBSD$
+#
+
+# PROVIDE: %%APP_SHORTNAME%%
+# REQUIRE: NETWORKING SERVERS
+# KEYWORD: shutdown
+
+# Add the following lines to /etc/rc.conf to enable %%APP_SHORTNAME%%:
+# %%APP_SHORTNAME%%_enable (bool):      Set to "YES" to enable %%APP_SHORTNAME%%
+# %%APP_SHORTNAME%%_args (str):         Optional arguments to OAJBoss
+# %%APP_SHORTNAME%%_log_stdout (str)       OpenEMM log output stdout, filename.
+# %%APP_SHORTNAME%%_log_stderr (str)       OpenEMM log output stderr, filename.
+#
+
+. /etc/rc.subr
+
+name="%%APP_SHORTNAME%%"
+rcvar=%%APP_SHORTNAME%%_enable
+extra_commands="status"
+
+load_rc_config $name
+
+%%APP_SHORTNAME%%_logdir="%%LOG_DIR%%"
+%%APP_SHORTNAME%%_enable="${%%APP_SHORTNAME%%_enable:-"NO"}"
+%%APP_SHORTNAME%%_log_stdout="${%%APP_SHORTNAME%%_log_stdout:-"${%%APP_SHORTNAME%%_logdir}/log"}"
+%%APP_SHORTNAME%%_log_stderr="${%%APP_SHORTNAME%%_log_stderr:-"${%%APP_SHORTNAME%%_logdir}/error"}"
+%%APP_SHORTNAME%%_args="${%%APP_SHORTNAME%%_args:-""}"
+%%APP_SHORTNAME%%_sleep="${%%APP_SHORTNAME%%_sleep:-"5"}"
+%%APP_SHORTNAME%%_kill9="${%%APP_SHORTNAME%%_kill9:-""}"
+%%APP_SHORTNAME%%_additional_killall="${%%APP_SHORTNAME%%_additional_killall:-""}"
+%%APP_SHORTNAME%%_user="%%USER%%"
+%%APP_SHORTNAME%%_group="%%GROUP%%"
+%%APP_SHORTNAME%%_lockdir="/var/run/openemm"
+
+
+start_cmd="%%APP_SHORTNAME%%_start"
+stop_cmd="%%APP_SHORTNAME%%_stop"
+pidfile="%%PID_FILE%%"
+tomcat_pidfile="tomcat8.pid" # todo replace dynamic with current version
+sendmail_pidfile="sendmail.pid"
+
+OPENEMM_HOME="%%APP_HOME%%"
+#minimal requirements must be set for our javavmwrapper
+JAVA_VERSION="1.7+"
+export JAVA_VERSION
+
+%%APP_SHORTNAME%%_start ()
+{
+	if [ ! -d "${%%APP_SHORTNAME%%_logdir}" ]
+	then
+		install -d -o ${%%APP_SHORTNAME%%_user} ${%%APP_SHORTNAME%%_logdir}
+	fi
+
+	if [ ! -d "${%%APP_SHORTNAME%%_lockdir}" ]
+	then
+		install -d -o ${%%APP_SHORTNAME%%_user} ${%%APP_SHORTNAME%%_lockdir}
+	fi
+
+	echo "Preconditions for %%APP_SHORTNAME%%"
+	echo "   - check if sendmail processes are stopped, it will be started via this application"
+
+	if [ -f "/var/run/${sendmail_pidfile}"]
+	then
+		echo "TODO STOP all sendmail processes"
+		service sendmail stop
+		
+		# check for sendmail queues started via openemm
+		if [ -f "${%%APP_SHORTNAME%%_lockdir}/mailer.pid" ]
+		then
+			echo "Stop Mailer Service...."
+        		pkill qctrl
+			pkill sendmail 
+		fi
+	fi
+
+	echo "Starting %%APP_SHORTNAME%%."
+
+	# check for the startup pyhton scripts
+
+
+	# check if tomcat is running otherwise warning
+	if [ ! -f "/var/run/${tomcat_pidfile}" ]
+	then
+		echo "Tomcat is not running please start tomcat first"
+	else
+		echo "Tomcat is running... starting app"
+	fi
+
+	echo "Start BOUNCE Servcie...."	
+ 	daemon -u ${%%APP_SHORTNAME%%_user} ${OPENEMM_HOME}/bin/bounce.sh start >> ${%%APP_SHORTNAME%%_logdir}/bounce.log 2>> ${%%APP_SHORTNAME%%_logdir}/bounce_error.log
+	echo "Start Merger Service...."
+	daemon -u ${%%APP_SHORTNAME%%_user} ${OPENEMM_HOME}/bin/merger.sh start >> ${%%APP_SHORTNAME%%_logdir}/merger.log 2>> ${%%APP_SHORTNAME%%_logdir}/merger_error.log
+	echo "Start Mailer Service...."
+	daemon ${OPENEMM_HOME}/bin/mailer.sh start >> ${%%APP_SHORTNAME%%_logdir}/mailer.log 2>> ${%%APP_SHORTNAME%%_logdir}/mailer_error.log
+	pgrep sendmail > ${openemm2013_lockdir}/mailer.pid
+	
+	echo "Start SLRT scan Service...."
+	daemon -u ${%%APP_SHORTNAME%%_user} ${OPENEMM_HOME}/bin/slrtscn.sh start >> ${%%APP_SHORTNAME%%_logdir}/slrtscn.log 2>> ${%%APP_SHORTNAME%%_logdir}/slrtscn_error.log
+
+	echo "START THE APP ITSELF..."
+	#daemon -u ${%%APP_SHORTNAME%%_user} ${OPENEMM_HOME}/bin/standalone.sh ${%%APP_SHORTNAME%%_args} >> ${%%APP_SHORTNAME%%_log_stdout} 2>> ${%%APP_SHORTNAME%%_log_stderr}
+
+	#sleep ${%%APP_SHORTNAME%%_sleep}	# let daemon(8) and sh(1) finish before executing pgrep(1)
+	#pgrep -U ${%%APP_SHORTNAME%%_user} -f ${OPENEMM_HOME}/modules > ${pidfile}
+	#chown ${%%APP_SHORTNAME%%_user} $pidfile
+}
+
+%%APP_SHORTNAME%%_stop ()
+{
+
+	${OPENEMM_HOME}/bin/bounce.sh stop
+	${OPENEMM_HOME}/bin/merger.sh stop
+
+	#${OPENEMM_HOME}/bin/mailer.sh stop
+	service sendmail stop   # pkill sendmail
+	#sendmail stop
+	pkill sendmail
+	terminator bin/qctrl #pkill qctrl
+	${OPENEMM_HOME}/bin/slrtscn.sh stop
+
+	# Subvert the check_pid_file procname check.
+	# at the moment we dont't handle this here
+	if [ -f ${pidfile} ]
+	then
+		kill `cat ${pidfile}`
+		# Only if we aware that our setup can hangs, and only after trying simple kill, we can kill it hard way.
+		if [ ! -z "${%%APP_SHORTNAME%%_kill9}" ]
+		then
+			sleep ${%%APP_SHORTNAME%%_sleep}
+			#kill  -9 `cat ${pidfile}`
+		fi
+		# In some setups, OpenEMM (Tomcat) can spawn some child processess, which could prevent it from stopping, and freeing net ports.
+		# Let's blindly kill them all, since we are really know what we are doing.
+		if [ ! -z "${%%APP_SHORTNAME%%_additional_killall}" ]
+		then
+			sleep ${%%APP_SHORTNAME%%_sleep}
+			killall ${%%APP_SHORTNAME%%_additional_killall}
+		fi
+	fi
+}
+
+terminator() {
+        while [ $# -gt 0 ] ; do
+                __pat="$1"
+                shift
+                if [ "$__pat" ] ; then
+                        for sig in 15 9 ; do
+                                __run="`ps -aux | grep -- \"$__pat\" | grep -v grep | awk '{ print $2 }'`"
+                                if [ "$__run" ] ; then
+                                        echo "Stop $__pat program with signal $sig .. "
+                                        kill -$sig $__run >/dev/null 2>&1
+                                        sleep 2
+                                        echo "done."
+                                fi
+                        done
+                fi
+        done
+}
+
+
+%%APP_SHORTNAME%%_status ()
+{
+	# If running, show pid
+	if [ -f ${pidfile} ]
+	then
+		echo "%%APP_SHORTNAME%% is running as pid" `cat ${pidfile}`
+	else
+		echo "%%APP_SHORTNAME%% is not running"
+	fi
+}
+
+run_rc_command "$1"

Added: head/mail/openemm2013/files/patch-openemm_build.xml
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/mail/openemm2013/files/patch-openemm_build.xml	Sat Oct 17 16:41:29 2015	(r399542)
@@ -0,0 +1,139 @@
+--- openemm_build.xml.orig	2015-10-11 16:41:55 UTC
++++ openemm_build.xml
+@@ -36,28 +36,22 @@
+ 	</target>
+ 
+ 
++	<!-- clean -->
++	<target name="clean" description="cleans the build target dir">
++		<delete dir="${build}"/>	
++	</target>
++
+ 	<!-- BUILD -->
+ 	<target name="build" description="Create OpenEMM Binary Tarball from Source Tarball">
+-		<delete dir="${oe.home}/sa-1.2.6" />
+-		<delete dir="${oe.home}/slang-1.4.9" />
+-		<delete dir="${build}" />
+ 		<mkdir dir="${build}" />
+-		<delete dir="${src}" />
+ 		<mkdir dir="${oe.home}/src" />
+ 		<!-- untar SRC tarball -->
+-		<exec executable="tar" dir="${oe.home}/src">
+-			<arg line="-xvzf ${oe.home}/OpenEMM-${version}-src.tar.gz" />
+-		</exec>
+ 		<!-- untar JAR tarball -->
+-		<mkdir dir="${src}/lib" />
+-		<exec executable="tar" dir="${src}/lib">
+-			<arg line="-xzvf ${oe.home}/OpenEMM-${version}-JARs.tar.gz" />
+-		</exec>
+ 
+ 		<!-- Generate Frontend -->
+ 		<!-- Generate OpenEMM -->
+ 		<mkdir dir="${webroot}/WEB-INF/classes" />
+-		<javac srcdir="${src}/src/java" destdir="${webroot}/WEB-INF/classes" fork="yes" executable="${jdk.compile}/bin/javac" debug="true" deprecation="true">
++		<javac srcdir="${src}/src/java" destdir="${webroot}/WEB-INF/classes" fork="yes" debug="true" deprecation="true">
+ 			<classpath>
+ 				<fileset dir="${src}/lib" />
+ 				<fileset dir="${catalina.home}/lib" includes="*.jar"/>
+@@ -78,7 +72,7 @@
+ 		</copy>
+ 		<!-- Generate OpenEMM WS 2.0 -->
+ 		<mkdir dir="${webroot-ws}/WEB-INF/classes" />
+-		<javac srcdir="${src}/src/java" destdir="${webroot-ws}/WEB-INF/classes" fork="yes" executable="${jdk.compile}/bin/javac" debug="true" deprecation="true">
++		<javac srcdir="${src}/src/java" destdir="${webroot-ws}/WEB-INF/classes" fork="yes" debug="true" deprecation="true">
+ 			<classpath>
+ 				<fileset dir="${src}/lib" />
+ 				<fileset dir="${catalina.home}/lib" includes="*.jar"/>
+@@ -136,55 +130,16 @@
+ 		</copy>
+ 
+ 		<!-- Generate Backend -->
+-		<copy todir="${oe.home}">
+-			<fileset dir="${src}/contrib" />
+-			<filelist dir="${src}/other" files="make_backend.sh" />
+-		</copy>
+-		<replace file="${oe.home}/make_backend.sh" token="$OE_HOME" value="${oe.home}" />
+-		<replace file="${oe.home}/make_backend.sh" token="$SRC" value="${src}" />
+-		<replace file="${src}/src/c/xmlback/GNUmakefile" token="$(HOME)" value="${oe.home}" />
+-		<chmod file="${oe.home}/make_backend.sh" perm="a+x" verbose="true" />
+-		<exec executable="./make_backend.sh" dir="${oe.home}" />
+-		<copy todir="${build}/bin">
+-			<fileset dir="${src}/src/script/control" />
+-			<filelist dir="${src}/src/c/bav" files="bav"/>
+-			<filelist dir="${src}/src/c/tools" files="qctrl,smctrl,updater"/>
+-			<filelist dir="${src}/src/c/xmlback" files="xmlback"/>
+-			<fileset dir="${src}/tomcat/bin" />
+-		</copy>
+-		<delete>
+-			<filelist dir="${build}/bin" files="config.bat,openemm.py,setup.bat,start.bat,update.bat" />
+-		</delete>
+ 		<copy todir="${build}/bin/scripts">
+ 			<fileset dir="${src}/src/script/process" />
+-			<filelist dir="${src}/src/c/bav" files="bavwrap" />
+ 			<filelist dir="${src}/src/script/lib" files="agn.py,aps.py,config.sh" />
+ 		</copy>
+ 		<move todir="${build}/conf/semu">
+ 			<fileset dir="${build}/bin/scripts/semu" />
+ 		</move>
+ 		<move todir="${build}/USR_SHARE" file="${build}/bin/scripts/upgrade-postproc.sh" />
+-		<exec executable="ln" dir="${build}/bin/scripts">
+-			<arg line="-s bavwrap filter_or_forward" />
+-		</exec>
+-		<exec executable="ln" dir="${build}/bin/scripts">
+-			<arg line="-s bavwrap is_no_systemmail" />
+-		</exec>
+-			<exec executable="ln" dir="${build}/bin/scripts">
+-				<arg line="-s bavwrap scan_and_unsubscribe" />
+-			</exec>
+ 		<delete dir="${build}/bin/scripts/upgrade" />
+ 
+-		<copy todir="${build}/conf">
+-			<fileset dir="${catalina.home}/conf" />
+-		</copy>
+-		<delete>
+-			<filelist dir="${build}/conf" files="context.xml,logging.properties,server.xml" />
+-		</delete>
+-		<copy todir="${build}/conf">
+-			<fileset dir="${src}/tomcat/conf"/>
+-		</copy>
+-		<delete dir="${build}/conf/Catalina" />
+ 		<copy todir="${build}/conf/bav">
+ 			<fileset dir="${src}/src/script/data" />
+ 		</copy>
+@@ -206,10 +161,6 @@
+ 		<mkdir dir="${build}/var/spool/RECOVER" />
+ 
+ 		<!-- Generate Other -->
+-		<mkdir dir="${build}/logs/openemm" />
+-		<mkdir dir="${build}/logs/openemm-ws" />
+-		<mkdir dir="${build}/plugins" />
+-		<mkdir dir="${build}/temp" />
+ 
+ 		<copy todir="${build}/USR_SHARE">
+ 			<fileset dir="${src}/sql" />
+@@ -225,12 +176,7 @@
+ 		<copy todir="${build}" file="${build}/USR_SHARE/UPDATE.txt" />
+ 
+ 		<!-- Assign Groups+Owners (first) and Permissions (second) -->
+-		<chgrp group="openemm" type="both" verbose="true">
+-			<fileset dir="${build}" />
+-		</chgrp>
+-		<chown owner="openemm" type="both" verbose="true">
+-			<fileset dir="${build}" />
+-		</chown>
++		<!--
+ 		<chgrp group="root" file="${build}/bin/qctrl" verbose="true" />
+ 		<chgrp group="root" file="${build}/bin/smctrl" verbose="true" />
+ 		<chgrp group="root" file="${build}/bin/updater" verbose="true" />
+@@ -246,10 +192,6 @@
+ 		<exec executable="chmod" dir="${build}/bin">
+ 			<arg line="6755 qctrl smctrl updater" />
+ 		</exec>
+-
+-		<!-- Build Binary Tarball -->
+-		<exec executable="tar" dir="${build}">
+-			<arg line="-czvf ${oe.home}/OpenEMM-${version}-bin.tar.gz ." />
+-		</exec>
++		-->
+ 	</target>
+ </project>

Added: head/mail/openemm2013/files/patch-src__c__bav__GNUmakefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/mail/openemm2013/files/patch-src__c__bav__GNUmakefile	Sat Oct 17 16:41:29 2015	(r399542)
@@ -0,0 +1,19 @@
+--- src/c/bav/GNUmakefile.orig	2013-09-11 08:30:37 UTC
++++ src/c/bav/GNUmakefile
+@@ -20,13 +20,13 @@
+ # Contributor(s): AGNITAS AG. 
+ ##################################################################################
+ 
+-CC	= gcc
+-CFLAGS	= -I../lib $(shell sa-config --cflags) -pthread
++CC	= clang 
++CFLAGS	= -I../lib -I/usr/local/lib -I/usr/local/include $(shell sa-config --cflags) -pthread
+ LDFLAGS	= -L../lib $(shell sa-config --ldflags) -pthread
+ # required for Ubuntu 9.10 by user request
+ LDFLAGS	:= $(LDFLAGS) -L/usr/lib/libmilter
+ #
+-LIBS	= -lagn -lmilter $(shell sa-config --libs)
++LIBS	= -lagn -lmilter -lex $(shell sa-config --libs)
+ SRCBAV	= bav.c cfg.c
+ SRCWRP	= bavwrap.c store.c
+ OBJBAV	= $(SRCBAV:%.c=%.o)

Added: head/mail/openemm2013/files/patch-src__c__bav__bav.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/mail/openemm2013/files/patch-src__c__bav__bav.c	Sat Oct 17 16:41:29 2015	(r399542)
@@ -0,0 +1,25 @@
+--- src/c/bav/bav.c.orig	2015-10-11 16:41:54 UTC
++++ src/c/bav/bav.c
+@@ -26,16 +26,18 @@
+ # include	<unistd.h>
+ # include	<string.h>
+ # include	<netinet/in.h>
++# include       "bav.h"
+ # include	"libmilter/mfapi.h"
+-# include	"bav.h"
+ 
+-# define	SOCK_PATH		"var/run/bav.sock"
+-# define	LOCK_PATH		"var/lock/bav.lock"
+-# define	CFGFILE			"var/spool/bav/bav.conf"
++# define	SOCK_PATH		"/var/run/openemm/bav.sock"
++# define	LOCK_PATH		"/var/run/openemm/bav.lock"
++# define	CFGFILE			"/usr/local/openemm2013/var/spool/bav/bav.conf"
+ # define	X_AGN			"X-AGNMailloop"
+ # define	X_LOOP			"X-AGNLoop"
+ # define	LOOP_SET		"set"
+ 
++# define 	bool	int
++
+ static const char	*program;
+ static const char	*loglevel;
+ static char		*cfgfile;

Added: head/mail/openemm2013/files/patch-src__c__lib__GNUmakefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/mail/openemm2013/files/patch-src__c__lib__GNUmakefile	Sat Oct 17 16:41:29 2015	(r399542)
@@ -0,0 +1,13 @@
+--- src/c/lib/GNUmakefile.orig	2013-09-11 08:30:37 UTC
++++ src/c/lib/GNUmakefile
+@@ -20,8 +20,8 @@
+ # Contributor(s): AGNITAS AG. 
+ ##################################################################################
+  
+-CC	= gcc
+-CFLAGS	= -I.
++CC	?= clang
++CFLAGS	+= -I.
+ SRCS	= atob.c \
+ 	  buffer.c \
+ 	  cache.c \

Added: head/mail/openemm2013/files/patch-src__c__lib__agn.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/mail/openemm2013/files/patch-src__c__lib__agn.h	Sat Oct 17 16:41:29 2015	(r399542)
@@ -0,0 +1,15 @@
+--- src/c/lib/agn.h.orig	2015-10-11 16:41:54 UTC
++++ src/c/lib/agn.h
+@@ -135,9 +135,9 @@ typedef unsigned long	hash_t;
+ /**
+  * Symbolic names for boolean values
+  */
+-typedef enum { /*{{{*/
+-	false,
+-	true
++typedef enum { /*{{{*/ 
++	false = 0,
++	true = 1
+ 	/*}}}*/
+ }	bool_t;
+ 

Added: head/mail/openemm2013/files/patch-src__c__tools__GNUmakefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/mail/openemm2013/files/patch-src__c__tools__GNUmakefile	Sat Oct 17 16:41:29 2015	(r399542)
@@ -0,0 +1,13 @@
+--- src/c/tools/GNUmakefile.orig	2013-09-11 08:30:37 UTC
++++ src/c/tools/GNUmakefile
+@@ -20,8 +20,8 @@
+ # Contributor(s): AGNITAS AG. 
+ ##################################################################################
+  
+-CC	= gcc
+-CFLAGS	= -I../lib 
++CC	?= clang
++CFLAGS	+= -I../lib 
+ LDFLAGS	= -L../lib 
+ LIBS	= -lagn
+ SQCTRL	= qctrl.c qlib.c qmove.c qstat.c

Added: head/mail/openemm2013/files/patch-src__c__xmlback__GNUmakefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/mail/openemm2013/files/patch-src__c__xmlback__GNUmakefile	Sat Oct 17 16:41:29 2015	(r399542)
@@ -0,0 +1,35 @@
+--- src/c/xmlback/GNUmakefile.orig	2013-09-11 08:30:37 UTC
++++ src/c/xmlback/GNUmakefile
+@@ -20,10 +20,10 @@
+ # Contributor(s): AGNITAS AG. 
+ ##################################################################################
+  
+-CC	= gcc
+-CFLAGS	= -I. -I../lib -I$(HOME)/include $(shell xml2-config --cflags) -I/usr/include/slang
+-LDFLAGS	= -L$(HOME)/lib
+-LIBS	= grammar/libgrammar.a -lslang -L../lib -lagn $(shell xml2-config --libs) -ldl
++CC	?= clang
++CFLAGS	+= -I. -I../lib -I/usr/local/include $(shell xml2-config --cflags) -I/usr/local/lib/slang
++#LDFLAGS	= -L$(HOME)/lib
++LIBS	= grammar/libgrammar.a -lslang -L../lib -lagn $(shell xml2-config --libs) -lcurses
+ SRCS	= append.c \
+ 	  block.c \
+ 	  blockmail.c \
+@@ -63,7 +63,7 @@ all::
+ 	@$(MAKE) -C ../lib $@
+ 
+ all clean::
+-	make -C grammar $@
++	@${MAKE} -C grammar $@
+ 
+ all::	xmlback
+ 
+@@ -71,7 +71,7 @@ xmlback:	$(OBJS) grammar/libgrammar.a
+ 	$(CC) $(LDFLAGS) $(OBJS) -o $@ $(LIBS)
+ 
+ grammar/libgrammar.a:
+-	make -C grammar
++	@${MAKE} -C grammar
+ 
+ clean::
+ 	rm -f xmlback *.o *~

Added: head/mail/openemm2013/files/patch-src__c__xmlback__eval.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/mail/openemm2013/files/patch-src__c__xmlback__eval.c	Sat Oct 17 16:41:29 2015	(r399542)
@@ -0,0 +1,145 @@
+--- src/c/xmlback/eval.c.orig	2015-10-11 16:41:54 UTC
++++ src/c/xmlback/eval.c
+@@ -198,9 +198,10 @@ ctx_clr (void) /*{{{*/
+ static inline void
+ check_error (void) /*{{{*/
+ {
+-	if (SLang_Error) {
++	if (SLang_get_error()) {
+ 		SLang_restart (1);
+-		SLang_Error = 0;
++		/*SLang_Error = 0;*/
++		SLang_set_error(0);
+ 	}
+ }/*}}}*/
+ static void
+@@ -243,7 +244,8 @@ type_retreive (int argc) /*{{{*/
+ 	int	dummy;
+ 
+ 	if (! (argv = (type_t *) malloc (argc * sizeof (type_t)))) {
+-		SLang_Error = SL_MALLOC_ERROR;
++		/*SLang_Error = SL_MALLOC_ERROR;*/
++		SLang_set_error(SL_MALLOC_ERROR);
+ 		return NULL;
+ 	}
+ 	for (n = 0; n < argc; ++n)
+@@ -262,7 +264,7 @@ type_retreive (int argc) /*{{{*/
+ 				argv[n].v.n = (double) dummy;
+ 			break;
+ 		case SLANG_DOUBLE_TYPE:
+-			if (SLang_pop_double (& argv[n].v.n, & dummy, & dummy) == -1)
++			if (SLang_pop_double (& argv[n].v.n) == -1)
+ 				st = false;
+ 			break;
+ 		case SLANG_STRING_TYPE:
+@@ -901,7 +903,8 @@ SLin (void) /*{{{*/
+ 	
+ 	argc = SLang_Num_Function_Args;
+ 	if (argc < 2) {
+-		SLang_Error = SL_SYNTAX_ERROR;
++		/*SLang_Error = SL_SYNTAX_ERROR;*/
++		SLang_set_error(SL_SYNTAX_ERROR);
+ 		return -1;
+ 	}
+ 	rc = 0;
+@@ -928,7 +931,8 @@ SLin (void) /*{{{*/
+ 						}
+ 				free (i);
+ 			} else {
+-				SLang_Error = SL_MALLOC_ERROR;
++				/*SLang_Error = SL_MALLOC_ERROR;*/
++				SLang_set_error(SL_MALLOC_ERROR);
+ 				rc = -1;
+ 			}
+ 		}
+@@ -940,7 +944,7 @@ SLin (void) /*{{{*/
+ 			
+ 			if (d = (double *) malloc (argc * sizeof (double))) {
+ 				for (n = 0; n < argc; ++n)
+-					if (SLang_pop_double (& d[n], & dummy, & dummy) == -1) {
++					if (SLang_pop_double (& d[n]) == -1) {
+ 						rc = -1;
+ 						break;
+ 					}
+@@ -952,7 +956,8 @@ SLin (void) /*{{{*/
+ 						}
+ 				free (d);
+ 			} else {
+-				SLang_Error = SL_MALLOC_ERROR;
++				/*SLang_Error = SL_MALLOC_ERROR;*/
++				SLang_set_error(SL_MALLOC_ERROR);
+ 				rc = -1;
+ 			}
+ 		}
+@@ -980,14 +985,16 @@ SLin (void) /*{{{*/
+ 				}
+ 				free (s);
+ 			} else {
+-				SLang_Error = SL_MALLOC_ERROR;
++				/*SLang_Error = SL_MALLOC_ERROR;*/
++				SLang_set_error(SL_MALLOC_ERROR);
+ 				rc = -1;
+ 			}
+ 		}
+ 		break;
+ 	}
+-	if ((rc == -1) && (! SLang_Error))
+-		SLang_Error = SL_TYPE_MISMATCH;
++	if ((rc == -1) && (! SLang_get_error()))
++		/*SLang_Error = SL_TYPE_MISMATCH;*/
++		SLang_set_error(SL_TYPE_MISMATCH);
+ 	return rc;
+ }/*}}}*/
+ static int
+@@ -1000,7 +1007,8 @@ SLbetween (void) /*{{{*/
+ 	
+ 	argc = SLang_Num_Function_Args;
+ 	if (argc != 3) {
+-		SLang_Error = SL_SYNTAX_ERROR;
++		/*SLang_Error = SL_SYNTAX_ERROR;*/
++		SLang_set_error(SL_SYNTAX_ERROR);
+ 		return -1;
+ 	}
+ 	if (! (argv = type_retreive (argc)))
+@@ -1030,8 +1038,9 @@ SLbetween (void) /*{{{*/
+ 			break;
+ 		}
+ 	type_release (argc, argv);
+-	if ((rc == -1) && (! SLang_Error))
+-		SLang_Error = SL_TYPE_MISMATCH;
++	if ((rc == -1) && (! SLang_get_error()))
++		/*SLang_Error = SL_TYPE_MISMATCH;*/
++		SLang_set_error(SL_TYPE_MISMATCH);
+ 	return rc;
+ }/*}}}*/
+ static void
+@@ -1044,7 +1053,8 @@ SLdecode (void) /*{{{*/
+ 	
+ 	argc = SLang_Num_Function_Args;
+ 	if ((argc < 4) || (argc % 2 != 0)) {
+-		SLang_Error = SL_SYNTAX_ERROR;
++		/*SLang_Error = SL_SYNTAX_ERROR;*/
++		SLang_set_error(SL_SYNTAX_ERROR);
+ 		return;
+ 	}
+ 	if (! (argv = type_retreive (argc)))
+@@ -1068,7 +1078,8 @@ SLdecode (void) /*{{{*/
+ 		if (argv[argc - 1].type != argv[2].type)
+ 			st = false;
+ 	if (! st)
+-		SLang_Error = SL_TYPE_MISMATCH;
++		/*SLang_Error = SL_TYPE_MISMATCH;*/
++		SLang_set_error(SL_TYPE_MISMATCH);
+ 	else {
+ 		int	hit = -1;
+ 		
+@@ -1092,7 +1103,8 @@ SLdecode (void) /*{{{*/
+ 		switch (argv[hit].type) {
+ 		default:
+ 			st = false;
+-			SLang_Error = SL_TYPE_MISMATCH;
++			/*SLang_Error = SL_TYPE_MISMATCH;*/
++			SLang_set_error(SL_TYPE_MISMATCH);
+ 			break;
+ 		case SLANG_INT_TYPE:
+ 			SLang_push_integer ((int) argv[hit].v.n);

Added: head/mail/openemm2013/files/patch-src__c__xmlback__grammar__GNUmakefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/mail/openemm2013/files/patch-src__c__xmlback__grammar__GNUmakefile	Sat Oct 17 16:41:29 2015	(r399542)
@@ -0,0 +1,13 @@
+--- src/c/xmlback/grammar/GNUmakefile.orig	2013-09-11 08:30:37 UTC
++++ src/c/xmlback/grammar/GNUmakefile
+@@ -20,8 +20,8 @@
+ # Contributor(s): AGNITAS AG. 
+ ##################################################################################
+  
+-CC	= gcc
+-CFLAGS	= -I.. -I../../lib $(shell xml2-config --cflags)
++CC	?= gcc
++CFLAGS	+= -I.. -I../../lib $(shell xml2-config --cflags)
+ LDFLAGS	=
+ SRCS	= transform.c parse.c
+ OBJS	= $(SRCS:%.c=%.o)

Added: head/mail/openemm2013/files/patch-src__java__org__agnitas__backend__StringOps.java
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/mail/openemm2013/files/patch-src__java__org__agnitas__backend__StringOps.java	Sat Oct 17 16:41:29 2015	(r399542)
@@ -0,0 +1,21 @@
+--- src/java/org/agnitas/backend/StringOps.java.orig	2015-10-11 16:41:55 UTC
++++ src/java/org/agnitas/backend/StringOps.java
+@@ -63,12 +63,12 @@ public class StringOps {
+ 		transtab.put("apos", "'");
+ 		transtab.put("nbsp", " ");
+ /*
+-		transtab.put("auml", "ä");
+-		transtab.put("ouml", "ö");
+-		transtab.put("uuml", "ü");
+-		transtab.put("Auml", "Ä");
+-		transtab.put("Ouml", "Ö");
+-		transtab.put("Uuml", "Ü");
++		transtab.put("auml", "");
++		transtab.put("ouml", "");
++		transtab.put("uuml", "");
++		transtab.put("Auml", "");
++		transtab.put("Ouml", "");
++		transtab.put("Uuml", "");
+ */
+ 		
+ 		rtranstab = new Hashtable<String, String>();

Added: head/mail/openemm2013/files/patch-src__java__org__agnitas__beans__FailedLoginData.java
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/mail/openemm2013/files/patch-src__java__org__agnitas__beans__FailedLoginData.java	Sat Oct 17 16:41:29 2015	(r399542)
@@ -0,0 +1,11 @@
+--- src/java/org/agnitas/beans/FailedLoginData.java.orig	2015-10-11 16:41:55 UTC
++++ src/java/org/agnitas/beans/FailedLoginData.java
+@@ -31,7 +31,7 @@ package org.agnitas.beans;
+  * 
+  * Successful logins during a lock period are not noted.
+  * 
+- * @author Markus Dörschmidt
++ * @author Markus Duerschmidt
+  *
+  */
+ public interface FailedLoginData {

Added: head/mail/openemm2013/files/patch-src__java__org__agnitas__beans__ImageButton.java
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/mail/openemm2013/files/patch-src__java__org__agnitas__beans__ImageButton.java	Sat Oct 17 16:41:29 2015	(r399542)
@@ -0,0 +1,11 @@
+--- src/java/org/agnitas/beans/ImageButton.java.orig	2015-10-11 16:41:55 UTC
++++ src/java/org/agnitas/beans/ImageButton.java
+@@ -37,7 +37,7 @@ import java.io.Serializable;
+  *   <li>If you do not instantiate the ImageButton in reset(), call clearButton() here to reset the button's state to "unclicked".</li>
+  * </ol>
+  * 
+- * @author Markus Dörschmidt
++ * @author Markus Duerschmidt
+  */
+ public class ImageButton implements Serializable {
+ 	/**

Added: head/mail/openemm2013/files/patch-src__java__org__agnitas__dao__LoginTrackDao.java
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/mail/openemm2013/files/patch-src__java__org__agnitas__dao__LoginTrackDao.java	Sat Oct 17 16:41:29 2015	(r399542)
@@ -0,0 +1,11 @@
+--- src/java/org/agnitas/dao/LoginTrackDao.java.orig	2015-10-11 16:41:55 UTC
++++ src/java/org/agnitas/dao/LoginTrackDao.java
+@@ -28,7 +28,7 @@ import org.agnitas.beans.FailedLoginData
+  * Interface for accessing login tracking information.
+  * The records contains IP-address, used username, login status (success, failed, etc.) and a time stamp.
+  * 
+- * @author Markus Dörschmidt
++ * @author Markus Duerschmidt
+  * 
+  */
+ public interface LoginTrackDao {

Added: head/mail/openemm2013/files/patch-src__java__org__agnitas__util__CharacterEncodingValidator.java
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/mail/openemm2013/files/patch-src__java__org__agnitas__util__CharacterEncodingValidator.java	Sat Oct 17 16:41:29 2015	(r399542)
@@ -0,0 +1,11 @@
+--- src/java/org/agnitas/util/CharacterEncodingValidator.java.orig	2015-10-11 16:41:55 UTC
++++ src/java/org/agnitas/util/CharacterEncodingValidator.java
+@@ -36,7 +36,7 @@ import org.agnitas.web.forms.MailingBase
+  * defined in the mailing.
+  * 
+  * 
+- * @author Markus Dörschmidt
++ * @author Markus Duerschmidt
+  *
+  */
+ public interface CharacterEncodingValidator {

Added: head/mail/openemm2013/files/patch-src__java__org__agnitas__util__CharacterEncodingValidatorImpl.java
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/mail/openemm2013/files/patch-src__java__org__agnitas__util__CharacterEncodingValidatorImpl.java	Sat Oct 17 16:41:29 2015	(r399542)
@@ -0,0 +1,11 @@
+--- src/java/org/agnitas/util/CharacterEncodingValidatorImpl.java.orig	2015-10-11 16:41:55 UTC
++++ src/java/org/agnitas/util/CharacterEncodingValidatorImpl.java
+@@ -45,7 +45,7 @@ import java.util.Set;
+  * defined in the mailing.
+  * 
+  * 
+- * @author Markus Dörschmidt
++ * @author Markus Duerschmidt
+  *
+  */
+ public class CharacterEncodingValidatorImpl implements CharacterEncodingValidator {

Added: head/mail/openemm2013/files/patch-src__java__org__agnitas__util__TextTable.java
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/mail/openemm2013/files/patch-src__java__org__agnitas__util__TextTable.java	Sat Oct 17 16:41:29 2015	(r399542)
@@ -0,0 +1,29 @@
+--- src/java/org/agnitas/util/TextTable.java.orig	2015-10-11 16:41:55 UTC
++++ src/java/org/agnitas/util/TextTable.java
+@@ -98,7 +98,7 @@ public class TextTable {
+ 	
+ 	public void setAlignmentForColumn(int columnIndex, boolean alignRight) throws Exception {
+ 		if (columnIndex < 0 || columnIndex >= columnNames.get(0).size())
+-			throw new Exception("Ungültige Spalten-Indexangabe: " + columnIndex);
++			throw new Exception("Ung\u00FCltige Spalten-Indexangabe: " + columnIndex);
+ 		
+ 		columnRightAligned.set(columnIndex, alignRight);
+ 	}
+@@ -482,7 +482,7 @@ public class TextTable {
+ 	
+ 	public String getHeader(int headerLineIndex, int columnIndex) throws Exception {
+ 		if (columnNames.size() <= headerLineIndex || columnNames.get(headerLineIndex).size() <= columnIndex)
+-			throw new Exception("Ungültige Datenabfrage an Spaltenüberschriften Zeilenindex " + headerLineIndex + " Spaltenindex " + columnIndex);
++			throw new Exception("Ung\u00FCltige Datenabfrage an Spalten\u00FCberschriften Zeilenindex " + headerLineIndex + " Spaltenindex " + columnIndex);
+ 		return columnNames.get(headerLineIndex).get(columnIndex);
+ 	}
+ 	
+@@ -496,7 +496,7 @@ public class TextTable {
+ 	
+ 	public String getData(int lineIndex, int columnIndex) throws Exception {
+ 		if (content.size() <= lineIndex || content.get(lineIndex).size() <= columnIndex)
+-			throw new Exception("Ungültige Datenabfrage an Zeilenindex " + lineIndex + " Spaltenindex " + columnIndex);
++			throw new Exception("Ung\u00FCltige Datenabfrage an Zeilenindex " + lineIndex + " Spaltenindex " + columnIndex);
+ 		return content.get(lineIndex).get(columnIndex);
+ 	}
+ 

Added: head/mail/openemm2013/files/patch-src__jsp__WEB-INF__web.xml
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/mail/openemm2013/files/patch-src__jsp__WEB-INF__web.xml	Sat Oct 17 16:41:29 2015	(r399542)
@@ -0,0 +1,69 @@
+--- src/jsp/WEB-INF/web.xml.orig	2015-10-11 16:41:55 UTC
++++ src/jsp/WEB-INF/web.xml
+@@ -1,8 +1,8 @@
+ <?xml version="1.0" encoding="UTF-8"?>
+ <web-app xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+-xsi:schemaLocation="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+-version="2.5">
++xsi:schemaLocation="http://java.sun.com/xml/ns/javaee/web-app_3_1.xsd"
++version="3.1">

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



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