diff --git a/apps/i2ptunnel/java/build.xml b/apps/i2ptunnel/java/build.xml
index a2e8fb403..a95878aa0 100644
--- a/apps/i2ptunnel/java/build.xml
+++ b/apps/i2ptunnel/java/build.xml
@@ -311,6 +311,7 @@
+
diff --git a/apps/jetty/build.xml b/apps/jetty/build.xml
index e50f3f86c..f52557311 100644
--- a/apps/jetty/build.xml
+++ b/apps/jetty/build.xml
@@ -139,6 +139,8 @@
no system jars: Precise, Trusty
with-libtomcat8-java: Jessie (without backports), Wheezy
with-libtomcat8-java AND with-libjetty9-java: Xenial, Jessie (with backports), Stretch
+ with-libtomcat9-java: Buster
+ with-libtomcat9-java AND with-libjetty9-java: Buster
with-libjetty9-java (only): not supported
-->
@@ -195,9 +197,12 @@
-
-
-
+
+
@@ -256,6 +261,7 @@
+
diff --git a/apps/jetty/java/src/net/i2p/servlet/util/JspC.java b/apps/jetty/java/src/net/i2p/servlet/util/JspC.java
index 1543bbea4..c3c9b691e 100644
--- a/apps/jetty/java/src/net/i2p/servlet/util/JspC.java
+++ b/apps/jetty/java/src/net/i2p/servlet/util/JspC.java
@@ -43,7 +43,8 @@ public class JspC {
// if true, try to make web.xml reproducible
private static final boolean REPRODUCIBLE = Boolean.valueOf(System.getProperty("build.reproducible"));
// if true, we must get the Tomcat version out of the jasper jar's manifest
- private static final boolean SYSTEM_TOMCAT = Boolean.valueOf(System.getProperty("with-libtomcat8-java"));
+ private static final boolean SYSTEM_TOMCAT = Boolean.valueOf(System.getProperty("with-libtomcat8-java")) ||
+ Boolean.valueOf(System.getProperty("with-libtomcat9-java"));
// path to the jasper jar
private static final String JASPER_JAR = System.getProperty("jasper.jar");
diff --git a/apps/routerconsole/java/build.xml b/apps/routerconsole/java/build.xml
index 3492b7829..fbf4d3e43 100644
--- a/apps/routerconsole/java/build.xml
+++ b/apps/routerconsole/java/build.xml
@@ -429,6 +429,7 @@
+
diff --git a/apps/susidns/src/build.xml b/apps/susidns/src/build.xml
index c2bf84e02..4957c0638 100644
--- a/apps/susidns/src/build.xml
+++ b/apps/susidns/src/build.xml
@@ -75,6 +75,7 @@
+
diff --git a/build.properties b/build.properties
index 3a1cc3289..f7820e33a 100644
--- a/build.properties
+++ b/build.properties
@@ -150,6 +150,8 @@ javac.version=1.7
#with-libjetty9-java=true
# Don't include tomcat files, we will use libtomcat8-java package
#with-libtomcat8-java=true
+# Don't include tomcat files, we will use libtomcat9-java package
+#with-libtomcat9-java=true
# Don't include jstl.jar and standard.jar, we will use libtaglibs-standard-* packages
#with-libtaglibs-standard=true
# Don't include jstl.jar and standard.jar, we will use glassfish-javaee package
diff --git a/build.xml b/build.xml
index 045aa6b02..57620d59d 100644
--- a/build.xml
+++ b/build.xml
@@ -1367,6 +1367,7 @@
+
diff --git a/debian-alt/buster/control b/debian-alt/buster/control
index 1a100e6d0..9f5431349 100644
--- a/debian-alt/buster/control
+++ b/debian-alt/buster/control
@@ -12,7 +12,7 @@ Build-Depends: debhelper (>= 9.20160709)
,openjdk-9-jdk
,libjetty9-java (>= 9.2.22)
,libtaglibs-standard-jstlel-java
- ,libtomcat8-java
+ ,libtomcat9-java
,dh-apparmor
,bash-completion
,gettext
@@ -82,7 +82,7 @@ Depends: ${misc:Depends}, ${java:Depends}, ${shlibs:Depends},
libjson-simple-java (<< 3),
libjetty9-java,
libtaglibs-standard-jstlel-java,
- libtomcat8-java,
+ libtomcat9-java,
famfamfam-flag-png
Replaces: i2p ( << 0.8.6-5)
Breaks: i2p (<< 0.8.6-5)
diff --git a/debian-alt/buster/rules b/debian-alt/buster/rules
index 1bfb04ea1..9f9789a00 100755
--- a/debian-alt/buster/rules
+++ b/debian-alt/buster/rules
@@ -113,16 +113,28 @@ endif
ln -sf /usr/share/java/jsp-api-2.3.jar $(CURDIR)/apps/jetty/jettylib/jsp-api.jar
@# debian and ubuntu: wheezy-backports, jessie+, xenial+
- @/bin/echo -e "with-libtomcat8-java=true" >> $(CURDIR)/override.properties
+ @#/bin/echo -e "with-libtomcat8-java=true" >> $(CURDIR)/override.properties
+ @#mkdir -p $(CURDIR)/apps/jetty/jettylib
+ @#ln -sf /usr/share/java/tomcat8-api.jar $(CURDIR)/apps/jetty/jettylib/tomcat-api.jar
+ @#ln -sf /usr/share/java/tomcat8-coyote.jar $(CURDIR)/apps/jetty/jettylib/tomcat-coyote.jar
+ @#ln -sf /usr/share/java/tomcat8-el-api.jar $(CURDIR)/apps/jetty/jettylib/commons-el.jar
+ @#ln -sf /usr/share/java/tomcat8-jasper.jar $(CURDIR)/apps/jetty/jettylib/jasper-runtime.jar
+ @#ln -sf /usr/share/java/tomcat8-jasper-el.jar $(CURDIR)/apps/jetty/jettylib/jasper-el.jar
+ @#ln -sf /usr/share/java/tomcat8-juli.jar $(CURDIR)/apps/jetty/jettylib/commons-logging.jar
+ @#ln -sf /usr/share/java/tomcat8-util.jar $(CURDIR)/apps/jetty/jettylib/tomcat-util.jar
+ @#ln -sf /usr/share/java/tomcat8-util-scan.jar $(CURDIR)/apps/jetty/jettylib/tomcat-util-scan.jar
+
+ @# debian and ubuntu: buster, disco
+ @/bin/echo -e "with-libtomcat9-java=true" >> $(CURDIR)/override.properties
mkdir -p $(CURDIR)/apps/jetty/jettylib
- ln -sf /usr/share/java/tomcat8-api.jar $(CURDIR)/apps/jetty/jettylib/tomcat-api.jar
- ln -sf /usr/share/java/tomcat8-coyote.jar $(CURDIR)/apps/jetty/jettylib/tomcat-coyote.jar
- ln -sf /usr/share/java/tomcat8-el-api.jar $(CURDIR)/apps/jetty/jettylib/commons-el.jar
- ln -sf /usr/share/java/tomcat8-jasper.jar $(CURDIR)/apps/jetty/jettylib/jasper-runtime.jar
- ln -sf /usr/share/java/tomcat8-jasper-el.jar $(CURDIR)/apps/jetty/jettylib/jasper-el.jar
- ln -sf /usr/share/java/tomcat8-juli.jar $(CURDIR)/apps/jetty/jettylib/commons-logging.jar
- ln -sf /usr/share/java/tomcat8-util.jar $(CURDIR)/apps/jetty/jettylib/tomcat-util.jar
- ln -sf /usr/share/java/tomcat8-util-scan.jar $(CURDIR)/apps/jetty/jettylib/tomcat-util-scan.jar
+ ln -sf /usr/share/java/tomcat9-api.jar $(CURDIR)/apps/jetty/jettylib/tomcat-api.jar
+ ln -sf /usr/share/java/tomcat9-coyote.jar $(CURDIR)/apps/jetty/jettylib/tomcat-coyote.jar
+ ln -sf /usr/share/java/tomcat9-el-api.jar $(CURDIR)/apps/jetty/jettylib/commons-el.jar
+ ln -sf /usr/share/java/tomcat9-jasper.jar $(CURDIR)/apps/jetty/jettylib/jasper-runtime.jar
+ ln -sf /usr/share/java/tomcat9-jasper-el.jar $(CURDIR)/apps/jetty/jettylib/jasper-el.jar
+ ln -sf /usr/share/java/tomcat9-juli.jar $(CURDIR)/apps/jetty/jettylib/commons-logging.jar
+ ln -sf /usr/share/java/tomcat9-util.jar $(CURDIR)/apps/jetty/jettylib/tomcat-util.jar
+ ln -sf /usr/share/java/tomcat9-util-scan.jar $(CURDIR)/apps/jetty/jettylib/tomcat-util-scan.jar
@# debian and ubuntu: stretch+, zesty+
@/bin/echo -e "with-libtaglibs-standard=true" >> $(CURDIR)/override.properties
diff --git a/debian-alt/disco/control b/debian-alt/disco/control
new file mode 100644
index 000000000..c9d242b3d
--- /dev/null
+++ b/debian-alt/disco/control
@@ -0,0 +1,99 @@
+Source: i2p
+Maintainer: zzz
+Section: net
+Standards-Version: 3.9.8
+Priority: optional
+Bugs: mailto:zzz@i2pmail.org
+Homepage: https://geti2p.net/
+Build-Depends: debhelper (>= 9.20160709)
+ ,ant (>= 1.8)
+ ,debconf
+ ,openjdk-8-jdk
+ ,libjetty9-java
+ ,libtaglibs-standard-jstlel-java
+ ,libtomcat9-java
+ ,dh-apparmor
+ ,bash-completion
+ ,gettext
+ ,libgetopt-java
+ ,libjson-simple-java (<< 3)
+ ,libgmp-dev (>= 2:5.0.5)
+ ,libservice-wrapper-java
+ ,po-debconf
+
+Package: i2p
+Architecture: all
+Section: net
+Priority: optional
+Depends: ${misc:Depends}, ${java:Depends}, ${shlibs:Depends},
+ adduser,
+ debconf,
+ i2p-router (>= 0.8.6-5),
+ libjbigi-jni,
+ lsb-base,
+ service-wrapper
+Description: Invisible Internet Project (I2P) - anonymous network
+ I2P is an anonymizing network, offering a simple layer that identity-sensitive
+ applications can use to securely communicate. All data is wrapped with several
+ layers of encryption, and the network is both distributed and dynamic, with no
+ trusted parties.
+ .
+ This package depends on the router, jbigi, the java service wrapper, and
+ includes support to run I2P as a daemon.
+
+Package: libjbigi-jni
+Architecture: any
+Section: java
+Priority: optional
+Depends: ${misc:Depends}, ${shlibs:Depends}, i2p-router
+Homepage: https://geti2p.net/
+Description: Invisible Internet Project (I2P) - libjbigi library
+ This Package contains the libjbigi JNI library (and on x86 platforms, jcpuid).
+ .
+ libjbigi is a math library that is part of the I2P installation. Use of this
+ library greatly enhances the efficiency of cryptographic algorithms, such as
+ the ones used by I2P. You can expect to see a 5-7x speed improvement on certain
+ tasks, such as elGamal encryption/decryption.
+
+Package: i2p-doc
+Architecture: all
+Section: doc
+Priority: extra
+Depends: ${misc:Depends}
+Suggests: i2p, default-jdk-doc
+Description: Invisible Internet Project (I2P) - developer documentation
+ I2P is an anonymizing network, offering a simple layer that identity-sensitive
+ applications can use to securely communicate. All data is wrapped with several
+ layers of encryption, and the network is both distributed and dynamic, with no
+ trusted parties.
+ .
+ This package contains the Javadoc files.
+
+Package: i2p-router
+Architecture: all
+Section: net
+Priority: optional
+Depends: ${misc:Depends}, ${java:Depends}, ${shlibs:Depends},
+ openjdk-9-jre-headless | openjdk-8-jre-headless | default-jre-headless | java9-runtime-headless | java8-runtime-headless,
+ geoip-database,
+ gettext-base,
+ libgetopt-java,
+ libjson-simple-java (<< 3),
+ libjetty9-java,
+ libtaglibs-standard-jstlel-java,
+ libtomcat9-java,
+ famfamfam-flag-png
+Replaces: i2p ( << 0.8.6-5)
+Breaks: i2p (<< 0.8.6-5)
+Recommends: libjbigi-jni, fonts-dejavu
+Suggests: apparmor
+ ,privoxy
+ ,syndie
+Description: Invisible Internet Project (I2P) - Router
+ I2P is an anonymizing network, offering a simple layer that identity-sensitive
+ applications can use to securely communicate. All data is wrapped with several
+ layers of encryption, and the network is both distributed and dynamic, with no
+ trusted parties.
+ .
+ TrueType fonts (such as those provided in the package fonts-dejavu) are required
+ in order to generate graphs.
diff --git a/debian-alt/disco/i2p-router.links b/debian-alt/disco/i2p-router.links
new file mode 100644
index 000000000..1890f6112
--- /dev/null
+++ b/debian-alt/disco/i2p-router.links
@@ -0,0 +1,132 @@
+usr/share/common-licenses/GPL-2 usr/share/doc/i2p-router/licenses/LICENSE-GPLv2.txt
+usr/share/common-licenses/LGPL-2.1 usr/share/doc/i2p-router/licenses/LICENSE-LGPLv2.1.txt
+usr/share/common-licenses/Apache-2.0 usr/share/doc/i2p-router/licenses/LICENSE-Apache2.0.txt
+usr/share/common-licenses/BSD usr/share/doc/i2p-router/licenses/LICENSE-BSD.txt
+
+
+
+# comment out if not building with libjetty9-java
+# ubuntu: in trusty vivid wily xenial
+# debian: in wheezy jessie stretch sid
+usr/share/java/jetty9-apache-jsp.jar usr/share/i2p/lib/jetty-apache-jsp.jar
+usr/share/java/jetty9-continuation.jar usr/share/i2p/lib/jetty-continuation.jar
+usr/share/java/jetty9-deploy.jar usr/share/i2p/lib/jetty-deploy.jar
+usr/share/java/jetty9-http.jar usr/share/i2p/lib/jetty-http.jar
+usr/share/java/jetty9-io.jar usr/share/i2p/lib/jetty-io.jar
+# legacy name in lib/
+usr/share/java/jetty9-rewrite.jar usr/share/i2p/lib/jetty-rewrite-handler.jar
+usr/share/java/jetty9-security.jar usr/share/i2p/lib/jetty-security.jar
+usr/share/java/jetty9-servlet.jar usr/share/i2p/lib/jetty-servlet.jar
+usr/share/java/jetty9-servlets.jar usr/share/i2p/lib/jetty-servlets.jar
+usr/share/java/jetty9-start.jar usr/share/i2p/lib/jetty-start.jar
+usr/share/java/jetty9-util.jar usr/share/i2p/lib/jetty-util.jar
+usr/share/java/jetty9-webapp.jar usr/share/i2p/lib/jetty-webapp.jar
+usr/share/java/jetty9-xml.jar usr/share/i2p/lib/jetty-xml.jar
+# legacy name in lib/
+usr/share/java/jetty9-server.jar usr/share/i2p/lib/org.mortbay.jetty.jar
+# legacy name in lib/
+usr/share/java/jetty9-jmx.jar usr/share/i2p/lib/org.mortbay.jmx.jar
+# following two are from libservlet3.1-java which is a dependency of libjetty9-java
+# legacy name in lib/
+usr/share/java/servlet-api-3.1.jar usr/share/i2p/lib/javax.servlet.jar
+# combined into javax.servlet.jar in non-package builds
+usr/share/java/jsp-api-2.3.jar usr/share/i2p/lib/jsp-api.jar
+
+
+# comment out if not building with libtomcat8-java
+# ubuntu: only in xenial+
+# debian: wheezy-backports, jessie+
+# legacy name, contains only tomcat-juli, not commons-logging
+#usr/share/java/tomcat8-juli.jar usr/share/i2p/lib/commons-logging.jar
+#usr/share/java/tomcat8-jasper.jar usr/share/i2p/lib/jasper-runtime.jar
+# combined into jasper-runtime.jar in non-package builds
+#usr/share/java/tomcat8-coyote.jar usr/share/i2p/lib/tomcat-coyote.jar
+#usr/share/java/tomcat8-api.jar usr/share/i2p/lib/tomcat-api.jar
+#usr/share/java/tomcat8-util.jar usr/share/i2p/lib/tomcat-util.jar
+#usr/share/java/tomcat8-util-scan.jar usr/share/i2p/lib/tomcat-util-scan.jar
+# combined into commons-el.jar in non-package builds
+#usr/share/java/tomcat8-jasper-el.jar usr/share/i2p/lib/jasper-el.jar
+# legacy name in lib/
+#usr/share/java/tomcat8-el-api.jar usr/share/i2p/lib/commons-el.jar
+
+
+# comment out if not building with libtomcat9-java
+# ubuntu: only in xenial+
+# debian: wheezy-backports, jessie+
+# legacy name, contains only tomcat-juli, not commons-logging
+usr/share/java/tomcat9-juli.jar usr/share/i2p/lib/commons-logging.jar
+usr/share/java/tomcat9-jasper.jar usr/share/i2p/lib/jasper-runtime.jar
+# combined into jasper-runtime.jar in non-package builds
+usr/share/java/tomcat9-coyote.jar usr/share/i2p/lib/tomcat-coyote.jar
+usr/share/java/tomcat9-api.jar usr/share/i2p/lib/tomcat-api.jar
+usr/share/java/tomcat9-util.jar usr/share/i2p/lib/tomcat-util.jar
+usr/share/java/tomcat9-util-scan.jar usr/share/i2p/lib/tomcat-util-scan.jar
+# combined into commons-el.jar in non-package builds
+usr/share/java/tomcat9-jasper-el.jar usr/share/i2p/lib/jasper-el.jar
+# legacy name in lib/
+usr/share/java/tomcat9-el-api.jar usr/share/i2p/lib/commons-el.jar
+
+
+# comment out if not building with libtaglibs-standard
+usr/share/java/taglibs-standard-spec.jar usr/share/i2p/lib/jstl.jar
+usr/share/java/taglibs-standard-impl.jar usr/share/i2p/lib/standard.jar
+usr/share/java/taglibs-standard-jstlel.jar usr/share/i2p/lib/jstlel.jar
+
+
+# comment out if not building with glassfish-javaee
+# glassfish-javaee.jar has ancient and conflicting classes, e.g. javax.mail
+#usr/share/java/glassfish-javaee.jar usr/share/i2p/lib/jstl.jar
+#usr/share/java/glassfish-appserv-jstl.jar usr/share/i2p/lib/standard.jar
+
+
+# comment out if not building with libjakarta-taglibs-standard-java
+# ubuntu and debian: everywhere
+#usr/share/java/standard.jar usr/share/i2p/lib/standard.jar
+
+
+# comment out if not building with libjstl1.1-java
+# ubuntu and debian: everywhere
+#usr/share/java/jstl1.1.jar usr/share/i2p/lib/jstl.jar
+
+
+# comment out if not building with gettext-base
+# ubuntu and debian: everywhere
+usr/share/java/libintl.jar usr/share/i2p/lib/libintl.jar
+
+
+# comment out if not building with libgetopt-java
+# ubuntu and debian: everywhere
+usr/share/java/gnu-getopt.jar usr/share/i2p/lib/gnu-getopt.jar
+
+
+# comment out if not building with libjson-simple-java
+# ubuntu: trusty+; debian: jessie+
+usr/share/java/json-simple.jar usr/share/i2p/lib/json-simple.jar
+
+
+# comment out if not building with famfamfam-flag-png
+# ubuntu: trusty+
+# debian: everywhere
+usr/share/flags/countries/16x11 usr/share/i2p/docs/icons/flags
+usr/share/flags/countries/16x11/az.png usr/share/i2p/eepsite/docroot/help/lib/az.png
+usr/share/flags/countries/16x11/cn.png usr/share/i2p/eepsite/docroot/help/lib/cn.png
+usr/share/flags/countries/16x11/de.png usr/share/i2p/eepsite/docroot/help/lib/de.png
+usr/share/flags/countries/16x11/es.png usr/share/i2p/eepsite/docroot/help/lib/es.png
+usr/share/flags/countries/16x11/fr.png usr/share/i2p/eepsite/docroot/help/lib/fr.png
+usr/share/flags/countries/16x11/it.png usr/share/i2p/eepsite/docroot/help/lib/it.png
+usr/share/flags/countries/16x11/nl.png usr/share/i2p/eepsite/docroot/help/lib/nl.png
+usr/share/flags/countries/16x11/pl.png usr/share/i2p/eepsite/docroot/help/lib/pl.png
+usr/share/flags/countries/16x11/pt.png usr/share/i2p/eepsite/docroot/help/lib/pt.png
+usr/share/flags/countries/16x11/ru.png usr/share/i2p/eepsite/docroot/help/lib/ru.png
+usr/share/flags/countries/16x11/se.png usr/share/i2p/eepsite/docroot/help/lib/se.png
+usr/share/flags/countries/16x11/tr.png usr/share/i2p/eepsite/docroot/help/lib/tr.png
+usr/share/flags/countries/16x11/us.png usr/share/i2p/eepsite/docroot/help/lib/us.png
+
+
+# comment out if not building with libhttpclient-java and libhttpcore-java
+# 2 MB of dependencies vs. 20 KB of copied source
+# Requires 4.4 or higher.
+# Debian: Not in wheezy/jessie
+# Ubuntu: Only in wily and later
+#usr/share/java/httpclient.jar usr/share/i2p/lib/httpclient.jar
+#usr/share/java/httpcore.jar usr/share/i2p/lib/httpcore.jar
diff --git a/debian-alt/disco/rules b/debian-alt/disco/rules
index 775815e66..1b7cceb91 100755
--- a/debian-alt/disco/rules
+++ b/debian-alt/disco/rules
@@ -113,16 +113,28 @@ endif
ln -sf /usr/share/java/jsp-api-2.3.jar $(CURDIR)/apps/jetty/jettylib/jsp-api.jar
@# debian and ubuntu: wheezy-backports, jessie+, xenial+
- @/bin/echo -e "with-libtomcat8-java=true" >> $(CURDIR)/override.properties
+ @#/bin/echo -e "with-libtomcat8-java=true" >> $(CURDIR)/override.properties
+ @#mkdir -p $(CURDIR)/apps/jetty/jettylib
+ @#ln -sf /usr/share/java/tomcat8-api.jar $(CURDIR)/apps/jetty/jettylib/tomcat-api.jar
+ @#ln -sf /usr/share/java/tomcat8-coyote.jar $(CURDIR)/apps/jetty/jettylib/tomcat-coyote.jar
+ @#ln -sf /usr/share/java/tomcat8-el-api.jar $(CURDIR)/apps/jetty/jettylib/commons-el.jar
+ @#ln -sf /usr/share/java/tomcat8-jasper.jar $(CURDIR)/apps/jetty/jettylib/jasper-runtime.jar
+ @#ln -sf /usr/share/java/tomcat8-jasper-el.jar $(CURDIR)/apps/jetty/jettylib/jasper-el.jar
+ @#ln -sf /usr/share/java/tomcat8-juli.jar $(CURDIR)/apps/jetty/jettylib/commons-logging.jar
+ @#ln -sf /usr/share/java/tomcat8-util.jar $(CURDIR)/apps/jetty/jettylib/tomcat-util.jar
+ @#ln -sf /usr/share/java/tomcat8-util-scan.jar $(CURDIR)/apps/jetty/jettylib/tomcat-util-scan.jar
+
+ @# debian and ubuntu: buster, disco
+ @/bin/echo -e "with-libtomcat9-java=true" >> $(CURDIR)/override.properties
mkdir -p $(CURDIR)/apps/jetty/jettylib
- ln -sf /usr/share/java/tomcat8-api.jar $(CURDIR)/apps/jetty/jettylib/tomcat-api.jar
- ln -sf /usr/share/java/tomcat8-coyote.jar $(CURDIR)/apps/jetty/jettylib/tomcat-coyote.jar
- ln -sf /usr/share/java/tomcat8-el-api.jar $(CURDIR)/apps/jetty/jettylib/commons-el.jar
- ln -sf /usr/share/java/tomcat8-jasper.jar $(CURDIR)/apps/jetty/jettylib/jasper-runtime.jar
- ln -sf /usr/share/java/tomcat8-jasper-el.jar $(CURDIR)/apps/jetty/jettylib/jasper-el.jar
- ln -sf /usr/share/java/tomcat8-juli.jar $(CURDIR)/apps/jetty/jettylib/commons-logging.jar
- ln -sf /usr/share/java/tomcat8-util.jar $(CURDIR)/apps/jetty/jettylib/tomcat-util.jar
- ln -sf /usr/share/java/tomcat8-util-scan.jar $(CURDIR)/apps/jetty/jettylib/tomcat-util-scan.jar
+ ln -sf /usr/share/java/tomcat9-api.jar $(CURDIR)/apps/jetty/jettylib/tomcat-api.jar
+ ln -sf /usr/share/java/tomcat9-coyote.jar $(CURDIR)/apps/jetty/jettylib/tomcat-coyote.jar
+ ln -sf /usr/share/java/tomcat9-el-api.jar $(CURDIR)/apps/jetty/jettylib/commons-el.jar
+ ln -sf /usr/share/java/tomcat9-jasper.jar $(CURDIR)/apps/jetty/jettylib/jasper-runtime.jar
+ ln -sf /usr/share/java/tomcat9-jasper-el.jar $(CURDIR)/apps/jetty/jettylib/jasper-el.jar
+ ln -sf /usr/share/java/tomcat9-juli.jar $(CURDIR)/apps/jetty/jettylib/commons-logging.jar
+ ln -sf /usr/share/java/tomcat9-util.jar $(CURDIR)/apps/jetty/jettylib/tomcat-util.jar
+ ln -sf /usr/share/java/tomcat9-util-scan.jar $(CURDIR)/apps/jetty/jettylib/tomcat-util-scan.jar
@# debian and ubuntu: stretch+, zesty+
@/bin/echo -e "with-libtaglibs-standard=true" >> $(CURDIR)/override.properties