[arch-commits] Commit in (7 files)
Guillaume Alaux
guillaume at nymeria.archlinux.org
Mon Feb 3 21:17:41 UTC 2014
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 <guillaume at 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'
+}
More information about the arch-commits
mailing list