Compare commits

...

2 Commits

Author SHA1 Message Date
idk
f86c9fddff add libjakarta-servlet-api-java to control, link to /usr/share/i2p/lib 2023-03-31 23:16:59 +00:00
idk
ace38eebd9 start ubuntu lunar directory 2023-03-31 23:10:53 +00:00
5 changed files with 1577 additions and 0 deletions

1151
debian-alt/lunar/changelog Normal file

File diff suppressed because it is too large Load Diff

106
debian-alt/lunar/control Normal file
View File

@ -0,0 +1,106 @@
Source: i2p
Maintainer: zzz <zzz@i2pmail.org>
Section: net
Standards-Version: 4.3.0
Priority: optional
Bugs: mailto:zzz@i2pmail.org
Homepage: https://geti2p.net/
Vcs-Browser: https://salsa.debian.org/debian/i2p
Vcs-Git: https://salsa.debian.org/debian/i2p.git
Build-Depends: debhelper (>= 9.20160709)
,ant (>= 1.9.8)
,debconf
,default-jdk
,libjakarta-servlet-api-java
,libjetty9-java (>= 9.4)
,libjsp-api-java
,libservlet-api-java
,libtaglibs-standard-jstlel-java
,libtomcat9-java
,dh-apparmor
,bash-completion
,gettext
,libgetopt-java
,libjson-simple-java (>= 2),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,
apparmor,
debconf,
i2p-router (>= 0.8.6-5),
libjbigi-jni,
lsb-base,
service-wrapper,
ucf (>= 0.28)
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: optional
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-18-jre-headless | openjdk-17-jre-headless | openjdk-11-jre-headless | default-jre-headless | java18-runtime-headless | java17-runtime-headless | java11-runtime-headless,
geoip-database,
gettext-base,
libgetopt-java,
libjson-simple-java (>= 2),libjson-simple-java (<< 3),
libjetty9-java (>= 9.4),
libjsp-api-java,
libservlet-api-java,
libtaglibs-standard-jstlel-java,
libtomcat9-java,
famfamfam-flag-png,
sensible-utils
Replaces: i2p ( << 0.8.6-5)
Breaks: i2p (<< 0.8.6-5)
Recommends: libjbigi-jni
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.

View File

@ -0,0 +1,121 @@
#
# Note: Update apparmor/i2p after any changes
#
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
# legacy name in lib/
usr/share/java/servlet-api.jar usr/share/i2p/lib/javax.servlet.jar
# combined into javax.servlet.jar in non-package builds
usr/share/java/jsp-api.jar usr/share/i2p/lib/jsp-api.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
# following two are formerly from libservlet3.1-java, now in their own packages
# legacy name in lib/
usr/share/java/tomcat9-el-api.jar usr/share/i2p/lib/commons-el.jar
# tomcat9 pulls in libeclipse-jdk-core-java, link to it for eepsite webapps needing a compiler
usr/share/java/eclipse-jdt-core.jar usr/share/i2p/lib/ecj.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/gr.png usr/share/i2p/eepsite/docroot/help/lib/gr.png
usr/share/flags/countries/16x11/hu.png usr/share/i2p/eepsite/docroot/help/lib/hu.png
usr/share/flags/countries/16x11/id.png usr/share/i2p/eepsite/docroot/help/lib/id.png
usr/share/flags/countries/16x11/ir.png usr/share/i2p/eepsite/docroot/help/lib/ir.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/ro.png usr/share/i2p/eepsite/docroot/help/lib/ro.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/ua.png usr/share/i2p/eepsite/docroot/help/lib/ua.png
usr/share/flags/countries/16x11/us.png usr/share/i2p/eepsite/docroot/help/lib/us.png
# comment out if building for Ubuntu versions prior to Lunar, Debian versions prior to Bookworm
usr/share/java/jakarta-servlet-api.jar usr/share/i2p/lib/jakarta-servlet-api.jar

View File

@ -0,0 +1,2 @@
0001-path-substitution.patch
0002-jetty-compatibility.patch

197
debian-alt/lunar/rules Executable file
View File

@ -0,0 +1,197 @@
#!/usr/bin/make -f
# Quoting Policy version 3.9.2.0, 2011-04-07 section 4.9:
# /start quote
# For some packages, notably ones where the same source tree is compiled in
# different ways to produce two binary packages, the build target does not make
# much sense. For these packages it is good enough to provide two (or more)
# targets (build-a and build-b or whatever) for each of the ways of building the
# package, and a build target that does nothing. The binary target will have to
# build the package in each of the possible ways and make the binary package out
# of each.
# ...
# When a package has a configuration and build routine which takes a long time,
# or when the makefiles are poorly designed, or when build needs to run clean
# first, it is a good idea to touch build when the build process is complete.
# This will ensure that if debian/rules build is run again it will not rebuild
# the whole program.
# /end quote
# Since that fits building I2P very well, we override the build target.
#
build:
@echo 'The build target is disabled. Use the appropriate binary target.'
DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
JAVA_HOME=/usr/lib/jvm/default-java
I2P=$(CURDIR)/pkg-temp
ROUTERVERSION=$(CURDIR)/router/java/src/net/i2p/router/RouterVersion.java
export DEB_BUILD_HARDENING=1
# I2P's version will be displayed in the router console as "$I2PVERSION-$EXTRAPREFIX$DEBIANVERSION", eg. 0.8.12-0-deb1
#export EXTRAPREFIX := deb
export JAVA_HOME I2P
export DEBIANVERSION := $(shell dpkg-parsechangelog |awk -F' ' '/^Version:/{print $$2}' |sed 's/.*-\([.0-9A-Za-z~+]\{1,\}\)$$/\1/')
# required for jbigi/jcpuid build
export BITS := $(shell dpkg-architecture -qDEB_HOST_ARCH_BITS)
#export DEB_HOST_ARCH_CPU := $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU)
%:
dh $@ --with systemd,bash-completion
clean: createcopyright
override_dh_auto_clean:
-[ -r $(CURDIR)/debian/routerversion.java.bak ] && mv -f $(CURDIR)/debian/routerversion.java.bak $(ROUTERVERSION)
dh_auto_clean
ant distclean
find $(CURDIR)/core \( -name '*\.so' -o -name '*\.o' \) -exec rm -f {} \;
rm -rf $(CURDIR)/core/c/jcpuid/lib/
rm -f $(CURDIR)/installer/lib/wrapper/all/wrapper.jar
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:
override_dh_systemd_enable:
# We purposely do not set I2P to start at boot.
# This matches the behavior of the initscript
# and the setting RUN_DAEMON=false in /etc/default/i2p
binary-indep: build-indep
build-indep:
dh_prep
mkdir -p $(CURDIR)/installer/lib/wrapper/all
ln -sf /usr/share/java/wrapper.jar $(CURDIR)/installer/lib/wrapper/all/wrapper.jar
if [ ! -e $(CURDIR)/debian/routerversion.java.bak ]; then \
cp $(ROUTERVERSION) $(CURDIR)/debian/routerversion.java.bak; \
fi
ifeq "$(findstring deb,$(shell grep 'deb' $(ROUTERVERSION)))" ""
sed -e "s/\(.*EXTRA\ =\ \)[^ ]*\"\(.*\)\"/\1\"-$$EXTRAPREFIX$$DEBIANVERSION\"/" < $(ROUTERVERSION) > $(ROUTERVERSION).tmp
mv -f $(ROUTERVERSION).tmp $(ROUTERVERSION)
else
@echo "Already found deb in version, not doing anything"
endif
@# build options
@/bin/echo -e "javac.release=11" > $(CURDIR)/override.properties
@/bin/echo -e "build.built-by=launchpad" >> $(CURDIR)/override.properties
@/bin/echo -e "build.reproducible=true" >> $(CURDIR)/override.properties
@# debian and ubuntu: everywhere
@/bin/echo -e "with-geoip-database=true" >> $(CURDIR)/override.properties
@# ubuntu: in xenial
@# debian: in jessie-backports stretch sid
@/bin/echo -e "with-libjetty9-java=true" >> $(CURDIR)/override.properties
mkdir -p $(CURDIR)/apps/jetty/jettylib
ln -sf /usr/share/java/jetty9-continuation.jar $(CURDIR)/apps/jetty/jettylib/jetty-continuation.jar
ln -sf /usr/share/java/jetty9-deploy.jar $(CURDIR)/apps/jetty/jettylib/jetty-deploy.jar
ln -sf /usr/share/java/jetty9-http.jar $(CURDIR)/apps/jetty/jettylib/jetty-http.jar
ln -sf /usr/share/java/jetty9-io.jar $(CURDIR)/apps/jetty/jettylib/jetty-io.jar
ln -sf /usr/share/java/jetty9-rewrite.jar $(CURDIR)/apps/jetty/jettylib/jetty-rewrite-handler.jar
ln -sf /usr/share/java/jetty9-security.jar $(CURDIR)/apps/jetty/jettylib/jetty-security.jar
ln -sf /usr/share/java/jetty9-servlet.jar $(CURDIR)/apps/jetty/jettylib/jetty-servlet.jar
ln -sf /usr/share/java/jetty9-servlets.jar $(CURDIR)/apps/jetty/jettylib/jetty-servlets.jar
ln -sf /usr/share/java/jetty9-start.jar $(CURDIR)/apps/jetty/jettylib/jetty-start.jar
ln -sf /usr/share/java/jetty9-util.jar $(CURDIR)/apps/jetty/jettylib/jetty-util.jar
ln -sf /usr/share/java/jetty9-webapp.jar $(CURDIR)/apps/jetty/jettylib/jetty-webapp.jar
ln -sf /usr/share/java/jetty9-xml.jar $(CURDIR)/apps/jetty/jettylib/jetty-xml.jar
ln -sf /usr/share/java/jetty9-server.jar $(CURDIR)/apps/jetty/jettylib/org.mortbay.jetty.jar
ln -sf /usr/share/java/jetty9-jmx.jar $(CURDIR)/apps/jetty/jettylib/org.mortbay.jmx.jar
@# following two are formerly from libservlet3.1-java, now in their own packages
ln -sf /usr/share/java/servlet-api.jar $(CURDIR)/apps/jetty/jettylib/javax.servlet.jar
@# this is roughly the same as tomcat8-jsp-api.jar, we use this one
ln -sf /usr/share/java/jsp-api.jar $(CURDIR)/apps/jetty/jettylib/jsp-api.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/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
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-gettext-base=true" >> $(CURDIR)/override.properties
@mkdir -p $(CURDIR)/core/java/build
ln -sf /usr/share/java/libintl.jar $(CURDIR)/core/java/build/libintl.jar
@# debian and ubuntu: everywhere
@/bin/echo -e "with-libgetopt-java=true" >> $(CURDIR)/override.properties
@mkdir -p $(CURDIR)/core/java/build
ln -sf /usr/share/java/gnu-getopt.jar $(CURDIR)/core/java/build/gnu-getopt.jar
@# debian: jessie+; ubuntu: trusty+
@/bin/echo -e "with-libjson-simple-java=true" >> $(CURDIR)/override.properties
@mkdir -p $(CURDIR)/core/java/build
ln -sf /usr/share/java/json-simple.jar $(CURDIR)/core/java/build/json-simple.jar
@# debian: everywhere; ubuntu: trusty+
@/bin/echo -e "with-famfamfam-flag-png=true" >> $(CURDIR)/override.properties
TZ=UTC JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8 ant preppkg-unix javadoc
echo router.updateDisabled=true > $(I2P)/router.config
mv $(I2P)/runplain.sh $(I2P)/i2prouter-nowrapper
binary-arch: build-arch
build-arch:
# build jbigi
cd $(CURDIR)/core/c/jbigi && ./build_jbigi.sh dynamic
# build jcpuid
cd $(CURDIR)/core/c/jcpuid && ./build.sh
binary: binary-arch binary-indep
createcopyright:
@echo " *** Creating debian/copyright*** "
@rm -f $(CURDIR)/debian/copyright
@/bin/echo -e "This package was Debianized by kytv <killyourtv@i2pmail.org>" >> $(CURDIR)/debian/copyright
@/bin/echo -e "Sun, 23 Jan 2011 20:26:51 +0000" >> $(CURDIR)/debian/copyright
@/bin/echo -e "\nIt was downloaded from https://geti2p.net" >> $(CURDIR)/debian/copyright
@/bin/echo -e "\nI2P is tracked upstream using the Monotone VCS" >> $(CURDIR)/debian/copyright
@/bin/echo -e "Complete information on fetching the source with monotone can be found" >> $(CURDIR)/debian/copyright
@/bin/echo -e "at https://geti2p.net/newdevelopers#getting-the-i2p-code\n\n\n" >> $(CURDIR)/debian/copyright
@/bin/cat $(CURDIR)/LICENSE.txt >> $(CURDIR)/debian/copyright
@/bin/echo -e "\n\n The debian packaging has been released into the public domain." >> $(CURDIR)/debian/copyright
override_dh_compress:
dh_compress -X.xsl -X.xml
override_dh_install:
dh_install --list-missing
dh_apparmor --profile-name=system_i2p -pi2p
dh_apparmor --profile-name=usr.bin.i2prouter -pi2p
override_dh_installchangelogs:
dh_installchangelogs history.txt
override_dh_installdocs:
dh_installdocs -pi2p --link-doc=i2p-router
dh_installdocs --remaining-packages
override_dh_shlibdeps:
dh_shlibdeps -llibjbigi-jni debian/libjbigi-jni/usr/lib/jni/*.so
#override_dh_installinit:
# dh_installinit -r
get-orig-source:
uscan --verbose --rename --destdir $(CURDIR)/.. --watchfile debian/watch --force-download