diff options
author | coderkun | 2017-10-28 12:33:57 +0200 |
---|---|---|
committer | coderkun | 2017-10-28 12:33:57 +0200 |
commit | f7a6b9ac0aad5ece8b6b39d57a983a9035c7940a (patch) | |
tree | 700639fb7badfd41645450fa45970207690a9e3b | |
download | aur-f7a6b9ac0aad5ece8b6b39d57a983a9035c7940a.tar.gz |
Add package “tomcat9”
-rw-r--r-- | .SRCINFO | 35 | ||||
-rw-r--r-- | PKGBUILD | 78 | ||||
-rw-r--r-- | systemd_sysusers.d_tomcat9.conf | 1 | ||||
-rw-r--r-- | systemd_tmpfiles.d_tomcat9.conf | 5 | ||||
-rw-r--r-- | systemd_tomcat9.service | 35 | ||||
-rw-r--r-- | tomcat9.install | 16 |
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'" +} |