Date: Monday, February 3, 2014 @ 22:17:41 Author: guillaume Revision: 205050
First commit of tomcat8 Added: tomcat8/ tomcat8/repos/ tomcat8/trunk/ tomcat8/trunk/PKGBUILD tomcat8/trunk/systemd_tmpfiles.d_tomcat8.conf tomcat8/trunk/systemd_tomcat8.service tomcat8/trunk/tomcat8.install ---------------------------------+ PKGBUILD | 106 ++++++++++++++++++++++++++++++++++++++ systemd_tmpfiles.d_tomcat8.conf | 3 + systemd_tomcat8.service | 34 ++++++++++++ tomcat8.install | 28 ++++++++++ 4 files changed, 171 insertions(+) Added: tomcat8/trunk/PKGBUILD =================================================================== --- tomcat8/trunk/PKGBUILD (rev 0) +++ tomcat8/trunk/PKGBUILD 2014-02-03 21:17:41 UTC (rev 205050) @@ -0,0 +1,106 @@ +# Maintainer: Guillaume ALAUX <guilla...@archlinux.org> +pkgname=tomcat8 +pkgver=8.0.1 +pkgrel=1 +arch=('any') +url='http://tomcat.apache.org/' +license=('APACHE') +makedepends=('java-environment>=7' 'apache-ant>=1.8' 'java-commons-daemon' 'eclipse-ecj') +pkgdesc='Servlet-3.1/JSP-2.3 Container' +depends=('java-runtime>=7' 'java-jsvc' 'java-commons-daemon' 'eclipse-ecj') +optdepends=('tomcat-native: to allow optimal performance in production environments') +backup=(etc/tomcat8/catalina.policy + etc/tomcat8/catalina.properties + etc/tomcat8/context.xml + etc/tomcat8/logging.properties + etc/tomcat8/server.xml + etc/tomcat8/tomcat-users.xml + etc/tomcat8/web.xml) +install=tomcat8.install +source=(http://archive.apache.org/dist/tomcat/tomcat-8/v${pkgver}/src/apache-tomcat-${pkgver}-src.tar.gz + systemd_tomcat8.service + systemd_tmpfiles.d_tomcat8.conf + tomcat8.install) + +sha256sums=('2725863308fb767d002e2305ef3943517824109531147c456bcb5602d28a29c3' + '435ea512aa6b4e4d2e28eee90964f706b0a0f57e7c6e59db1ca9c4986bdbef3e' + 'cd637d5b1a0e816c149c868a72d3d315ea0061efc9e544cadfbc73859dedb847' + '901c9262d869b4788a1ebb0cd50c5f2a195ebf26d9a8eac74679361f1a19fae1') + +prepare() { + cd "${srcdir}/apache-tomcat-${pkgver}-src" + touch HACK + mkdir "${srcdir}/DOWN_LIBS" +} + +build() { + cd "${srcdir}/apache-tomcat-${pkgver}-src" + + . /etc/profile.d/apache-ant.sh + + ant \ + -Dbase.path="${srcdir}/DOWN_LIBS" \ + -Dcommons-daemon.jar=/usr/share/java/commons-daemon.jar \ + -Dcommons-daemon.native.src.tgz="HACK" \ + -Dtomcat-native.tar.gz="HACK" \ + -Dcommons-dbcp.version=2.0-20140203.145446-157 \ + -Djdt.jar=/usr/share/java/eclipse-ecj.jar + #-Dcommons-pool.home="HACKDIR" \ +} + +# Takes ages: +#check() { +# cd "${srcdir}/apache-tomcat-${pkgver}-src" +# +# ant test \ +# -Dbase.path="${srcdir}/DOWN_LIBS" +#} + +_gid_log=19 +_gid_tomcat8=57 +_uid_tomcat8=57 + +package() { + cd "${srcdir}/apache-tomcat-${pkgver}-src/output/build" + + # Tomcat general files + install -dm755 "${pkgdir}"/usr/share/${pkgname} \ + "${pkgdir}"/usr/share/java/${pkgname} + cp -r bin "${pkgdir}"/usr/share/${pkgname} + # commons-daemon and tomcat-natives are packaged on their own + rm "${pkgdir}"/usr/share/${pkgname}/bin/{*.bat,commons-daemon*,tomcat-native.tar.gz} + ln -s /usr/share/java/commons-daemon.jar "${pkgdir}"/usr/share/${pkgname}/bin/commons-daemon.jar + + install -m644 lib/* "${pkgdir}"/usr/share/java/${pkgname} + # eclipse-ecj is packaged on its own + rm "${pkgdir}"/usr/share/java/${pkgname}/eclipse-ecj.jar + ln -s ../eclipse-ecj.jar "${pkgdir}"/usr/share/java/${pkgname}/eclipse-ecj.jar + + ln -s /usr/share/java/${pkgname} "${pkgdir}"/usr/share/${pkgname}/lib + + # We log through systemd but this would still be required for stock Tomcat logging + install -dm775 -o ${_uid_tomcat8} -g ${_gid_log} "${pkgdir}"/var/log/${pkgname} + ln -s /var/log/${pkgname} "${pkgdir}"/usr/share/${pkgname}/logs + touch "${pkgdir}"/var/log/${pkgname}/catalina.{out,err} + chgrp ${_gid_log} "${pkgdir}"/var/log/${pkgname}/catalina.{out,err} + + install -dm775 "${pkgdir}"/etc/${pkgname} + install -g ${_gid_tomcat8} -m640 conf/* "${pkgdir}"/etc/${pkgname} + install -d -g ${_gid_tomcat8} -m775 "${pkgdir}"/etc/${pkgname}/Catalina + ln -s /etc/${pkgname} "${pkgdir}"/usr/share/${pkgname}/conf + + install -dm775 "${pkgdir}"/var/lib/${pkgname} + cp -r webapps "${pkgdir}"/var/lib/${pkgname} + chown -R ${_uid_tomcat8}:${_gid_tomcat8} "${pkgdir}"/var/lib/${pkgname} + ln -s /var/lib/${pkgname}/webapps "${pkgdir}"/usr/share/${pkgname}/webapps + + install -dm1777 "${pkgdir}"/var/tmp + install -dm775 -o ${_uid_tomcat8} -g ${_gid_tomcat8} "${pkgdir}"/var/tmp/${pkgname}/{temp,work} + ln -s /var/tmp/${pkgname}/temp "${pkgdir}"/usr/share/${pkgname}/temp + ln -s /var/tmp/${pkgname}/work "${pkgdir}"/usr/share/${pkgname}/work + + install -Dm644 "${srcdir}"/systemd_tomcat8.service \ + "${pkgdir}"/usr/lib/systemd/system/${pkgname}.service + install -Dm644 "${srcdir}"/systemd_tmpfiles.d_tomcat8.conf \ + "${pkgdir}"/usr/lib/tmpfiles.d/${pkgname}.conf +} Property changes on: tomcat8/trunk/PKGBUILD ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Added: tomcat8/trunk/systemd_tmpfiles.d_tomcat8.conf =================================================================== --- tomcat8/trunk/systemd_tmpfiles.d_tomcat8.conf (rev 0) +++ tomcat8/trunk/systemd_tmpfiles.d_tomcat8.conf 2014-02-03 21:17:41 UTC (rev 205050) @@ -0,0 +1,3 @@ +d /var/tmp/tomcat8 +d /var/tmp/tomcat8/temp 0775 tomcat8 tomcat8 +d /var/tmp/tomcat8/work 0775 tomcat8 tomcat8 Added: tomcat8/trunk/systemd_tomcat8.service =================================================================== --- tomcat8/trunk/systemd_tomcat8.service (rev 0) +++ tomcat8/trunk/systemd_tomcat8.service 2014-02-03 21:17:41 UTC (rev 205050) @@ -0,0 +1,34 @@ +[Unit] +Description=Tomcat 8 servlet container +After=syslog.target network.target + +[Service] +Type=forking +PIDFile=/var/run/tomcat8.pid +Environment=CATALINA_PID=/var/run/tomcat8.pid +Environment=TOMCAT_JAVA_HOME=/usr/lib/jvm/java-7-openjdk +Environment=CATALINA_HOME=/usr/share/tomcat8 +Environment=CATALINA_BASE=/usr/share/tomcat8 +Environment=CATALINA_OPTS= + +ExecStart=/usr/bin/jsvc \ + -Dcatalina.home=${CATALINA_HOME} \ + -Dcatalina.base=${CATALINA_BASE} \ + -Djava.io.tmpdir=/var/tmp/tomcat8/temp \ + -cp /usr/share/java/commons-daemon.jar:/usr/share/java/eclipse-ecj.jar:${CATALINA_HOME}/bin/bootstrap.jar:${CATALINA_HOME}/bin/tomcat-juli.jar \ + -user tomcat8 \ + -java-home ${TOMCAT_JAVA_HOME} \ + -pidfile /var/run/tomcat8.pid \ + -errfile SYSLOG \ + -outfile SYSLOG \ + $CATALINA_OPTS \ + org.apache.catalina.startup.Bootstrap + +ExecStop=/usr/bin/jsvc \ + -pidfile /var/run/tomcat8.pid \ + -stop \ + org.apache.catalina.startup.Bootstrap + +[Install] +WantedBy=multi-user.target + Added: tomcat8/trunk/tomcat8.install =================================================================== --- tomcat8/trunk/tomcat8.install (rev 0) +++ tomcat8/trunk/tomcat8.install 2014-02-03 21:17:41 UTC (rev 205050) @@ -0,0 +1,28 @@ +post_install() { + getent group tomcat8 >/dev/null 2>&1 || groupadd -g 57 tomcat8 + getent passwd tomcat8 >/dev/null 2>&1 || useradd -u 57 -g tomcat8 -d /usr/share/tomcat8 -s /bin/false tomcat8 + + if [ -f lib/modules/$(uname -r)/kernel/security/capability.ko ]; then + echo 'It appears that your current kernel has linux security' + echo 'capabilities built as a module. Tomcat requires this' + echo ' functionality to operate.' + fi +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + if getent passwd tomcat8 > /dev/null 2>&1; then + userdel tomcat8 + fi + if getent group tomcat8 > /dev/null 2>&1; then + groupdel tomcat8 + fi + + echo 'To fully clean Tomcat''s file, consider removing the following directories:' + echo ' /var/lib/tomcat8' + echo ' /var/tmp/tomcat8' + echo ' /var/log/tomcat8' +}