diff --git a/apps/routerconsole/java/build.xml b/apps/routerconsole/java/build.xml index d5385d8711..cb7f48468e 100644 --- a/apps/routerconsole/java/build.xml +++ b/apps/routerconsole/java/build.xml @@ -128,7 +128,7 @@ - + diff --git a/apps/susidns/src/build.xml b/apps/susidns/src/build.xml index 60d66140fe..d0c4d67778 100644 --- a/apps/susidns/src/build.xml +++ b/apps/susidns/src/build.xml @@ -23,6 +23,7 @@ + diff --git a/build.properties b/build.properties index fb72571b1a..d83b97727d 100644 --- a/build.properties +++ b/build.properties @@ -11,9 +11,8 @@ # Note: Include the trailing slash! Don't surround the URL in quotes! javasedocs.url=http://docs.oracle.com/javase/7/docs/api/ javaeedocs.url=http://docs.oracle.com/javaee/7/api/ -# The following link is dead, perhaps temporarily, -# perhaps not, as they move 7 and 8 to unsupported status. -#jettydocs.url=http://download.eclipse.org/jetty/stable-8/apidocs/ +# The following link is for 9.4.x +#jettydocs.url=http://download.eclipse.org/jetty/stable-9/apidocs/ jettydocs.url=http://download.eclipse.org/jetty/9.2.21.v20170120/apidocs/ wrapperdocs.url=http://wrapper.tanukisoftware.com/jdoc/ # these are only for unit test javadocs @@ -147,6 +146,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 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 #with-glassfish-javaee=true # Don't include standard.jar, we will use libjakarta-taglibs-standard-java package diff --git a/build.xml b/build.xml index 7d3c57d852..4f8dd936af 100644 --- a/build.xml +++ b/build.xml @@ -1274,17 +1274,29 @@ - - + - - + + + + + + + + + + + + + @@ -2269,11 +2281,9 @@ - - - --> - + @@ -2287,9 +2297,7 @@ - @@ -2415,9 +2423,7 @@ - @@ -2431,9 +2437,7 @@ - diff --git a/debian-alt/README.txt b/debian-alt/README.txt index 4a2c538827..30d43fd3c0 100644 --- a/debian-alt/README.txt +++ b/debian-alt/README.txt @@ -9,8 +9,9 @@ trusty may be copied to vivid. trusty may be used for jessie without libjetty9-java from backports. xenial may be copied to yakkety, zesty. -tails-jessie and tails-wheezy are currently the same as -jessie and wheezy, respectively. If they diverge, put the changes here. +Not maintained: +wheezy files are not maintained. Use the precise files instead. +jessie files may not be maintained. Use the trusty files instead. Note on systemd: diff --git a/debian-alt/buster/control b/debian-alt/buster/control index c40c378283..b1c433a2cc 100644 --- a/debian-alt/buster/control +++ b/debian-alt/buster/control @@ -9,7 +9,7 @@ Build-Depends: debhelper (>= 7.0.50~) ,debconf ,openjdk-8-jdk ,libjetty9-java (>= 9.2.22) - ,glassfish-javaee + ,libtaglibs-standard-jstlel-java ,libtomcat8-java ,dh-apparmor ,dh-systemd @@ -75,7 +75,7 @@ Priority: optional Depends: ${misc:Depends}, ${java:Depends}, ${shlibs:Depends}, openjdk-8-jre-headless | java8-runtime-headless, libjetty9-java, - glassfish-javaee, + libtaglibs-standard-jstlel-java, libtomcat8-java, geoip-database, gettext-base, diff --git a/debian-alt/buster/rules b/debian-alt/buster/rules index 603baf594e..85a8a8a611 100755 --- a/debian-alt/buster/rules +++ b/debian-alt/buster/rules @@ -52,6 +52,8 @@ override_dh_auto_clean: rm -rf $(CURDIR)/debian/python-i2p rm -f $(CURDIR)/override.properties rm -f $(CURDIR)/apps/susidns/src/lib/standard.jar + rm -f $(CURDIR)/apps/susidns/src/lib/jstl.jar + rm -f $(CURDIR)/apps/susidns/src/lib/jstlel.jar debconf-updatepo override_dh_auto_build: @@ -119,11 +121,17 @@ endif 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: stretch+, zesty+ + @/bin/echo -e "with-libtaglibs-standard=true" >> $(CURDIR)/override.properties + ln -sf /usr/share/java/taglibs-standard-spec.jar $(CURDIR)/apps/susidns/src/lib/jstl.jar + ln -sf /usr/share/java/taglibs-standard-impl.jar $(CURDIR)/apps/susidns/src/lib/standard.jar + ln -sf /usr/share/java/taglibs-standard-jstlel.jar $(CURDIR)/apps/susidns/src/lib/jstlel.jar + @# debian and ubuntu: everywhere - @/bin/echo -e "with-glassfish-javaee=true" >> $(CURDIR)/override.properties + @#/bin/echo -e "with-glassfish-javaee=true" >> $(CURDIR)/override.properties @# glassfish-javaee.jar has ancient and conflicting classes, e.g. javax.mail @#ln -sf /usr/share/java/glassfish-javaee.jar $(CURDIR)/apps/susidns/src/lib/jstl.jar - ln -sf /usr/share/java/glassfish-appserv-jstl.jar $(CURDIR)/apps/susidns/src/lib/standard.jar + @#ln -sf /usr/share/java/glassfish-appserv-jstl.jar $(CURDIR)/apps/susidns/src/lib/standard.jar @# debian and ubuntu: everywhere @#/bin/echo -e "with-libjakarta-taglibs-standard-java=true" >> $(CURDIR)/override.properties diff --git a/debian-alt/doc/debian-build.txt b/debian-alt/doc/debian-build.txt index cf3666f98c..b17f42e1cb 100644 --- a/debian-alt/doc/debian-build.txt +++ b/debian-alt/doc/debian-build.txt @@ -73,7 +73,6 @@ reprepro includedsc stable i2p_0.9.XX-1.dsc # copy built packages from launchpad reprepro -v update precise reprepro -v update trusty -reprepro -v update vivid reprepro -v update xenial reprepro -v update zesty reprepro -v update artful diff --git a/debian-alt/doc/dependencies.txt b/debian-alt/doc/dependencies.txt index be8a2a8b9b..5a307a2a2b 100644 --- a/debian-alt/doc/dependencies.txt +++ b/debian-alt/doc/dependencies.txt @@ -8,7 +8,7 @@ improve our official packages and support other packagers. Our packages are available at https://deb.i2p2.de/ and instructions are at https://geti2p.net/debian -This document is current as of release 0.9.30, 2017-05-03. +This document is current as of release 0.9.33, scheduled 2018-01 Build-only Dependencies @@ -51,7 +51,10 @@ Current Runtime Dependencies which are different than the way they are packaged for Debian. They are removed in the Debian source package. -* glassfish-javaee +* libtaglibs-standard-*-java (stretch and later, zesty and later only) + Provides JSTL 1.2, solves the glassfish-javaee problem described below. + +* glassfish-javaee (wheezy, jessie, xenial and earlier only) We need jstl.jar and standard.jar version 1.2. This is an ancient and terrible package, but it's the only place we've found version 1.2 jars. standard.jar classes are inside /usr/share/java/glassfish-appserv-jstl.jar diff --git a/debian-alt/xenial/i2p-router.install b/debian-alt/xenial/i2p-router.install new file mode 100644 index 0000000000..a3be0e3144 --- /dev/null +++ b/debian-alt/xenial/i2p-router.install @@ -0,0 +1,74 @@ +# history.txt is installed to /usr/share/i2p because +# it's shown in the router console at http://127.0.0.1:7657 +# (this is also why I don't use dh_installchangelogs -k for it) +history.txt usr/share/i2p + +pkg-temp/blocklist.txt usr/share/i2p +pkg-temp/certificates usr/share/i2p +pkg-temp/clients.config usr/share/i2p +pkg-temp/docs usr/share/i2p/ +pkg-temp/eepget usr/bin +pkg-temp/eepsite usr/share/i2p +pkg-temp/geoip usr/share/i2p +pkg-temp/hosts.txt usr/share/i2p +pkg-temp/i2prouter-nowrapper usr/bin +pkg-temp/i2psnark.config usr/share/i2p +pkg-temp/i2ptunnel.config usr/share/i2p +pkg-temp/router.config usr/share/i2p +pkg-temp/systray.config usr/share/i2p +pkg-temp/webapps usr/share/i2p + + +pkg-temp/lib/addressbook.jar usr/share/i2p/lib +pkg-temp/lib/BOB.jar usr/share/i2p/lib +pkg-temp/lib/desktopgui.jar usr/share/i2p/lib +pkg-temp/lib/i2p.jar usr/share/i2p/lib +pkg-temp/lib/i2psnark.jar usr/share/i2p/lib +pkg-temp/lib/i2ptunnel.jar usr/share/i2p/lib +pkg-temp/lib/jetty-i2p.jar usr/share/i2p/lib +pkg-temp/lib/jrobin.jar usr/share/i2p/lib +pkg-temp/lib/mstreaming.jar usr/share/i2p/lib +pkg-temp/lib/routerconsole.jar usr/share/i2p/lib +pkg-temp/lib/router.jar usr/share/i2p/lib +pkg-temp/lib/sam.jar usr/share/i2p/lib +pkg-temp/lib/streaming.jar usr/share/i2p/lib +pkg-temp/lib/systray.jar usr/share/i2p/lib + + +# uncomment if not building with libjetty9-java +# ubuntu: in trusty vivid wily xenial +# debian: in wheezy jessie stretch sid +#pkg-temp/lib/jetty-continuation.jar usr/share/i2p/lib +#pkg-temp/lib/jetty-deploy.jar usr/share/i2p/lib +#pkg-temp/lib/jetty-http.jar usr/share/i2p/lib +#pkg-temp/lib/jetty-io.jar usr/share/i2p/lib +#pkg-temp/lib/jetty-rewrite-handler.jar usr/share/i2p/lib +#pkg-temp/lib/jetty-security.jar usr/share/i2p/lib +#pkg-temp/lib/jetty-servlet.jar usr/share/i2p/lib +#pkg-temp/lib/jetty-servlets.jar usr/share/i2p/lib +#pkg-temp/lib/jetty-start.jar usr/share/i2p/lib +#pkg-temp/lib/jetty-util.jar usr/share/i2p/lib +#pkg-temp/lib/jetty-webapp.jar usr/share/i2p/lib +#pkg-temp/lib/jetty-xml.jar usr/share/i2p/lib +#pkg-temp/lib/org.mortbay.jetty.jar usr/share/i2p/lib +#pkg-temp/lib/org.mortbay.jmx.jar usr/share/i2p/lib +# following two are from libservlet3.0-java which is a dependency of libjetty9-java +#pkg-temp/lib/javax.servlet.jar usr/share/i2p/lib + + +# uncomment if not building with libtomcat8-java +#pkg-temp/lib/commons-el.jar usr/share/i2p/lib +# legacy name, contains only tomcat-juli, not commons-logging +#pkg-temp/lib/commons-logging.jar usr/share/i2p/lib +#pkg-temp/lib/jasper-runtime.jar usr/share/i2p/lib + + +# uncomment if not building with either glassfish-javaee or libjakarta-taglibs-standard-java +# ubuntu and debian: everywhere +# glassfish-javaee.jar has ancient and conflicting classes, e.g. javax.mail +pkg-temp/lib/jstl.jar usr/share/i2p/lib + + +# uncomment if not building with either glassfish-javaee or libjstl1.1-java +# ubuntu and debian: everywhere +#pkg-temp/lib/standard.jar usr/share/i2p/lib diff --git a/debian-alt/xenial/i2p-router.links b/debian-alt/xenial/i2p-router.links new file mode 100644 index 0000000000..5fd470ffa3 --- /dev/null +++ b/debian-alt/xenial/i2p-router.links @@ -0,0 +1,86 @@ +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 + +usr/share/java/eclipse-ecj.jar usr/share/i2p/lib/eclipse-ecj.jar + + +# 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 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 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/control b/debian/control index 3ac1e1b334..0e51a2c737 100644 --- a/debian/control +++ b/debian/control @@ -10,7 +10,7 @@ Build-Depends: debhelper (>= 7.0.50~) ,debconf ,openjdk-7-jdk ,libjetty9-java - ,glassfish-javaee + ,libtaglibs-standard-jstlel-java ,libtomcat8-java ,dh-apparmor ,bash-completion @@ -81,7 +81,7 @@ Depends: ${misc:Depends}, ${java:Depends}, ${shlibs:Depends}, gettext-base, libgetopt-java, libjetty9-java, - glassfish-javaee, + libtaglibs-standard-jstlel-java, libtomcat8-java Replaces: i2p ( << 0.8.6-5) Breaks: i2p (<< 0.8.6-5) diff --git a/debian/i2p-router.install b/debian/i2p-router.install index a3be0e3144..bb4ac46c38 100644 --- a/debian/i2p-router.install +++ b/debian/i2p-router.install @@ -63,12 +63,12 @@ pkg-temp/lib/systray.jar usr/share/i2p/lib #pkg-temp/lib/jasper-runtime.jar usr/share/i2p/lib -# uncomment if not building with either glassfish-javaee or libjakarta-taglibs-standard-java +# uncomment if not building with either glassfish-javaee, libjakarta-taglibs-standard-java or libtaglibs-standard # ubuntu and debian: everywhere # glassfish-javaee.jar has ancient and conflicting classes, e.g. javax.mail -pkg-temp/lib/jstl.jar usr/share/i2p/lib +#pkg-temp/lib/jstl.jar usr/share/i2p/lib -# uncomment if not building with either glassfish-javaee or libjstl1.1-java +# uncomment if not building with either glassfish-javaee, libjstl1.1-java or libtaglibs-standard # ubuntu and debian: everywhere #pkg-temp/lib/standard.jar usr/share/i2p/lib diff --git a/debian/i2p-router.links b/debian/i2p-router.links index 5fd470ffa3..fe0970d41e 100644 --- a/debian/i2p-router.links +++ b/debian/i2p-router.links @@ -51,10 +51,16 @@ usr/share/java/tomcat8-jasper-el.jar usr/share/i2p/lib/jasper-el.jar usr/share/java/tomcat8-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 +#usr/share/java/glassfish-appserv-jstl.jar usr/share/i2p/lib/standard.jar # comment out if not building with libjakarta-taglibs-standard-java diff --git a/debian/rules b/debian/rules index c242948998..c6c512be0a 100755 --- a/debian/rules +++ b/debian/rules @@ -52,6 +52,8 @@ override_dh_auto_clean: rm -rf $(CURDIR)/debian/python-i2p rm -f $(CURDIR)/override.properties rm -f $(CURDIR)/apps/susidns/src/lib/standard.jar + rm -f $(CURDIR)/apps/susidns/src/lib/jstl.jar + rm -f $(CURDIR)/apps/susidns/src/lib/jstlel.jar debconf-updatepo override_dh_auto_build: @@ -119,11 +121,17 @@ endif 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: stretch+, zesty+ + @/bin/echo -e "with-libtaglibs-standard=true" >> $(CURDIR)/override.properties + ln -sf /usr/share/java/taglibs-standard-spec.jar $(CURDIR)/apps/susidns/src/lib/jstl.jar + ln -sf /usr/share/java/taglibs-standard-impl.jar $(CURDIR)/apps/susidns/src/lib/standard.jar + ln -sf /usr/share/java/taglibs-standard-jstlel.jar $(CURDIR)/apps/susidns/src/lib/jstlel.jar + @# debian and ubuntu: everywhere - @/bin/echo -e "with-glassfish-javaee=true" >> $(CURDIR)/override.properties + @#/bin/echo -e "with-glassfish-javaee=true" >> $(CURDIR)/override.properties @# glassfish-javaee.jar has ancient and conflicting classes, e.g. javax.mail @#ln -sf /usr/share/java/glassfish-javaee.jar $(CURDIR)/apps/susidns/src/lib/jstl.jar - ln -sf /usr/share/java/glassfish-appserv-jstl.jar $(CURDIR)/apps/susidns/src/lib/standard.jar + @#ln -sf /usr/share/java/glassfish-appserv-jstl.jar $(CURDIR)/apps/susidns/src/lib/standard.jar @# debian and ubuntu: everywhere @#/bin/echo -e "with-libjakarta-taglibs-standard-java=true" >> $(CURDIR)/override.properties