diff options
author | Kurt Jaeger <pi@FreeBSD.org> | 2015-10-17 16:41:29 +0000 |
---|---|---|
committer | Kurt Jaeger <pi@FreeBSD.org> | 2015-10-17 16:41:29 +0000 |
commit | bc3fc9f856c62745f61d788e0f1e83cae8f57cb7 (patch) | |
tree | d7c5175670c745dbbcf891e2f48c64b9033bfc9c /mail/openemm2013/Makefile | |
parent | 7b6234a8c3229903838395c3a7a20d13dc78f745 (diff) | |
download | ports-bc3fc9f856c62745f61d788e0f1e83cae8f57cb7.tar.gz ports-bc3fc9f856c62745f61d788e0f1e83cae8f57cb7.zip |
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>
Notes
Notes:
svn path=/head/; revision=399542
Diffstat (limited to 'mail/openemm2013/Makefile')
-rw-r--r-- | mail/openemm2013/Makefile | 216 |
1 files changed, 216 insertions, 0 deletions
diff --git a/mail/openemm2013/Makefile b/mail/openemm2013/Makefile new file mode 100644 index 000000000000..c332b2726ef4 --- /dev/null +++ b/mail/openemm2013/Makefile @@ -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> |