summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorcoderkun2017-10-28 12:33:57 +0200
committercoderkun2017-10-28 12:33:57 +0200
commitf7a6b9ac0aad5ece8b6b39d57a983a9035c7940a (patch)
tree700639fb7badfd41645450fa45970207690a9e3b
downloadaur-f7a6b9ac0aad5ece8b6b39d57a983a9035c7940a.tar.gz
Add package “tomcat9”
-rw-r--r--.SRCINFO35
-rw-r--r--PKGBUILD78
-rw-r--r--systemd_sysusers.d_tomcat9.conf1
-rw-r--r--systemd_tmpfiles.d_tomcat9.conf5
-rw-r--r--systemd_tomcat9.service35
-rw-r--r--tomcat9.install16
6 files changed, 170 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..6281a5a634d5
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,35 @@
+# Generated by mksrcinfo v8
+# Sat Oct 28 10:32:16 UTC 2017
+pkgbase = tomcat9
+ pkgdesc = Open source implementation of the Java Servlet 4.0 and JavaServer Pages 2.3 technologies
+ pkgver = 9.0.1
+ pkgrel = 1
+ url = http://tomcat.apache.org/
+ install = tomcat9.install
+ arch = any
+ license = APACHE
+ depends = java-runtime>=8
+ depends = java-jsvc
+ depends = java-commons-daemon
+ depends = eclipse-ecj
+ optdepends = tomcat-native: to allow optimal performance in production environments
+ backup = etc/tomcat9/catalina.policy
+ backup = etc/tomcat9/catalina.properties
+ backup = etc/tomcat9/context.xml
+ backup = etc/tomcat9/logging.properties
+ backup = etc/tomcat9/server.xml
+ backup = etc/tomcat9/tomcat-users.xml
+ backup = etc/tomcat9/web.xml
+ source = https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.1/bin/apache-tomcat-9.0.1.tar.gz
+ source = https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.1/bin/apache-tomcat-9.0.1.tar.gz.asc
+ source = systemd_tomcat9.service
+ source = systemd_sysusers.d_tomcat9.conf
+ source = systemd_tmpfiles.d_tomcat9.conf
+ sha256sums = 976d9aa996fc34d387ef8de87eed79c5f20c0679b76c1a1fcf331eaa7cdf758f
+ sha256sums = SKIP
+ sha256sums = df2199080b3e4061eb8d454045428d7d340e527972c497309f69392ab2e3186f
+ sha256sums = 63d8a28af96e6c7232595e7eab3bb7930f0eebcd89a5b1e3bc17b80cb2580db5
+ sha256sums = 5cf1be7e6975c909d9935b2226a5aec4f783de154d910d3b65860286a3ce2a7b
+
+pkgname = tomcat9
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..9d11dce2e10e
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,78 @@
+pkgname=tomcat9
+pkgver=9.0.1
+pkgrel=1
+pkgdesc='Open source implementation of the Java Servlet 4.0 and JavaServer Pages 2.3 technologies'
+arch=('any')
+url='http://tomcat.apache.org/'
+license=('APACHE')
+depends=('java-runtime>=8' 'java-jsvc' 'java-commons-daemon' 'eclipse-ecj')
+optdepends=('tomcat-native: to allow optimal performance in production environments')
+backup=(etc/${pkgname}/catalina.policy
+ etc/${pkgname}/catalina.properties
+ etc/${pkgname}/context.xml
+ etc/${pkgname}/logging.properties
+ etc/${pkgname}/server.xml
+ etc/${pkgname}/tomcat-users.xml
+ etc/${pkgname}/web.xml)
+install=${pkgname}.install
+source=(https://archive.apache.org/dist/tomcat/tomcat-9/v${pkgver}/bin/apache-tomcat-${pkgver}.tar.gz{,.asc}
+ systemd_${pkgname}.service
+ systemd_sysusers.d_${pkgname}.conf
+ systemd_tmpfiles.d_${pkgname}.conf)
+validpgpkeys=('DCFD35E0BF8CA7344752DE8B6FB21E8933C60243' # Mark E D Thomas
+ '713DA88BE50911535FE716F5208B0AB1D63011C7') # Violeta Georgieva Georgieva
+sha256sums=('976d9aa996fc34d387ef8de87eed79c5f20c0679b76c1a1fcf331eaa7cdf758f'
+ 'SKIP'
+ 'df2199080b3e4061eb8d454045428d7d340e527972c497309f69392ab2e3186f'
+ '63d8a28af96e6c7232595e7eab3bb7930f0eebcd89a5b1e3bc17b80cb2580db5'
+ '5cf1be7e6975c909d9935b2226a5aec4f783de154d910d3b65860286a3ce2a7b')
+_gid_log=19
+_gid_tomcat=58
+_uid_tomcat=58
+
+package() {
+ cd "${srcdir}/apache-tomcat-${pkgver}"
+
+ # Tomcat general files
+ install -dm755 "${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}/ecj-*.jar
+ ln -s ../eclipse-ecj.jar "${pkgdir}"/usr/share/java/${pkgname}/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_tomcat} -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_tomcat} -m640 conf/* "${pkgdir}"/etc/${pkgname}
+ install -d -g ${_gid_tomcat} -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_tomcat}:${_gid_tomcat} "${pkgdir}"/var/lib/${pkgname}
+ chmod 775 "${pkgdir}"/var/lib/${pkgname}/webapps
+ ln -s /var/lib/${pkgname}/webapps "${pkgdir}"/usr/share/${pkgname}/webapps
+
+ install -dm1777 "${pkgdir}"/var/tmp
+ install -dm775 -o ${_uid_tomcat} -g ${_gid_tomcat} "${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_${pkgname}.service \
+ "${pkgdir}"/usr/lib/systemd/system/${pkgname}.service
+ install -Dm644 "${srcdir}"/systemd_sysusers.d_${pkgname}.conf \
+ "${pkgdir}"/usr/lib/sysusers.d/${pkgname}.conf
+ install -Dm644 "${srcdir}"/systemd_tmpfiles.d_${pkgname}.conf \
+ "${pkgdir}"/usr/lib/tmpfiles.d/${pkgname}.conf
+}
diff --git a/systemd_sysusers.d_tomcat9.conf b/systemd_sysusers.d_tomcat9.conf
new file mode 100644
index 000000000000..1124cf4913ac
--- /dev/null
+++ b/systemd_sysusers.d_tomcat9.conf
@@ -0,0 +1 @@
+u tomcat9 58 "Tomcat 9 user" /usr/share/tomcat9
diff --git a/systemd_tmpfiles.d_tomcat9.conf b/systemd_tmpfiles.d_tomcat9.conf
new file mode 100644
index 000000000000..94fb8f91f228
--- /dev/null
+++ b/systemd_tmpfiles.d_tomcat9.conf
@@ -0,0 +1,5 @@
+d /var/tmp/tomcat9/temp 0775 tomcat9 tomcat9
+d /var/tmp/tomcat9/work 0775 tomcat9 tomcat9
+d /var/lib/tomcat9 0775 tomcat9 tomcat9
+d /var/lib/tomcat9/webapps 0775 tomcat9 tomcat9
+d /var/log/tomcat9 0775 tomcat9 log
diff --git a/systemd_tomcat9.service b/systemd_tomcat9.service
new file mode 100644
index 000000000000..b6e42d97c4f7
--- /dev/null
+++ b/systemd_tomcat9.service
@@ -0,0 +1,35 @@
+[Unit]
+Description=Tomcat 9 servlet container
+After=network.target
+
+[Service]
+Type=forking
+PIDFile=/var/run/tomcat9.pid
+Environment=CATALINA_PID=/var/run/tomcat9.pid
+Environment=TOMCAT_JAVA_HOME=/usr/lib/jvm/default-runtime
+Environment=CATALINA_HOME=/usr/share/tomcat9
+Environment=CATALINA_BASE=/usr/share/tomcat9
+Environment=CATALINA_OPTS=
+Environment=ERRFILE=SYSLOG
+Environment=OUTFILE=SYSLOG
+
+ExecStart=/usr/bin/jsvc \
+ -Dcatalina.home=${CATALINA_HOME} \
+ -Dcatalina.base=${CATALINA_BASE} \
+ -Djava.io.tmpdir=/var/tmp/tomcat9/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 tomcat9 \
+ -java-home ${TOMCAT_JAVA_HOME} \
+ -pidfile /var/run/tomcat9.pid \
+ -errfile ${ERRFILE} \
+ -outfile ${OUTFILE} \
+ $CATALINA_OPTS \
+ org.apache.catalina.startup.Bootstrap
+
+ExecStop=/usr/bin/jsvc \
+ -pidfile /var/run/tomcat9.pid \
+ -stop \
+ org.apache.catalina.startup.Bootstrap
+
+[Install]
+WantedBy=multi-user.target
diff --git a/tomcat9.install b/tomcat9.install
new file mode 100644
index 000000000000..4ccd64730663
--- /dev/null
+++ b/tomcat9.install
@@ -0,0 +1,16 @@
+post_install() {
+ 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() {
+ echo "Leftover files may reside in /var/{lib,tmp,log}/tomcat9"
+ echo "If you remove them, you may also want to remove user and group 'tomcat9'"
+}