net-vpn/i2p: bump to 0.9.30.

Signed-off-by: Yifeng Li <tomli@tomli.me>
Closes: https://github.com/gentoo/gentoo/pull/4571
This commit is contained in:
Yifeng Li
2017-05-10 07:46:44 +08:00
committed by Patrice Clement
parent 70afa77a8c
commit ffd980fa49
5 changed files with 234 additions and 1 deletions

View File

@@ -1,2 +1,2 @@
DIST i2psource_0.9.28.tar.bz2 27137199 SHA256 7bb27444bd1074a0f670276ad07e0b5b2a7a29ed6d25d93e6f95646981cd0aaf SHA512 95510e391e2b594c87b61cf6915d69f4f8cd08e7791b3710b5da28b1df8ec63a7e6829d37b1242fc603398495445e7024522f3554266aaf0028a6f82569660f6 WHIRLPOOL 2d7b82c64570d17e7484a51745cabeedbb54a219610d1b82e9c3f276e6c204be335d73bfe0cb05b1fbd50eee0e4d7dcc7ec1c124831d7b5cfd81a2dcc6b6807a
DIST i2psource_0.9.29.tar.bz2 27289093 SHA256 67da4ce224fef2b190ffeed5dba102a3b7724f061b1c168255625c028a97c3a7 SHA512 21f81ef1aa16bd6fa645a4fac243ec84c27ae4e8b58ac526d70001bb50ad63116010334d63e6188e5aedb197d1bd41646fca1964e33e976e7395d3f61c5798de WHIRLPOOL 8eaee1630decd047e852bd335d5d359818f52d06be177bb4cfdbe26604b838c5c5b832e5ec7c0cc7cc950ab8bdb73fda70bcbbc5a468bc76d4ba3b983fc6ee6e
DIST i2psource_0.9.30.tar.bz2 28035272 SHA256 fa18a31c56ce9dbce492d800fda8c947612199427f64f544b81e290dde1fce8f SHA512 59819125fd6aca9fd5ae25a424e78f25bd2e8f9ba995256f9bf7c1fb2a99cebf26a1dcaf1f202276f5656b4582c4b86fdcf9d23011f809b99764b0023fd243f8 WHIRLPOOL bfedf05b58b929d27f408c33048f2de4f355fe2427d1b36a6ef8db147b5df8d1ab62c69ecb42bbdc4cd51d93e64a2ae39a66f607a724156ee2ebb215600a054c

View File

@@ -0,0 +1,22 @@
diff -Naur a/installer/resources/wrapper.config b/installer/resources/wrapper.config
--- a/installer/resources/wrapper.config 2016-11-07 11:42:42.503030002 +0100
+++ b/installer/resources/wrapper.config 2016-11-07 11:43:11.873031594 +0100
@@ -61,12 +61,18 @@
# Be sure there are no other duplicate classes.
#
wrapper.java.classpath.1=$INSTALL_PATH/lib/*.jar
+wrapper.java.classpath.2=/usr/share/tomcat-jstl-impl/lib/*.jar
+wrapper.java.classpath.3=/usr/share/tomcat-jstl-spec/lib/*.jar
+wrapper.java.classpath.4=/usr/share/java-service-wrapper/lib/*.jar
+wrapper.java.classpath.5=/usr/share/bcprov-1.50/lib/*.jar
+wrapper.java.classpath.6=/usr/share/jrobin/lib/*.jar
# uncomment this to use the system classpath as well (e.g. to get tools.jar)
# wrapper.java.classpath.2=%CLASSPATH%
# Java Library Path (location of Wrapper.DLL or libwrapper.so)
wrapper.java.library.path.1=$INSTALL_PATH
wrapper.java.library.path.2=$INSTALL_PATH/lib
+wrapper.java.library.path.3=/usr/lib/java-service-wrapper
# Java Bits. On applicable platforms, tells the JVM to run in 32 or 64-bit mode.
wrapper.java.additional.auto_bits=TRUE

View File

@@ -0,0 +1,35 @@
#!/sbin/openrc-run
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
depend() {
need net
}
HOME="/var/lib/i2p"
USER_HOME="$HOME"
JAVABINARY="/etc/java-config-2/current-system-vm/bin/java"
INSTALL_PATH="/usr/share/i2p"
I2P="$INSTALL_PATH"
I2P_CONFIG_DIR="$USER_HOME/.i2p"
SYSTEM_java_io_tmpdir="$I2P_CONFIG_DIR"
I2PTEMP="$SYSTEM_java_io_tmpdir"
LOGFILE="$I2P_CONFIG_DIR/wrapper.log"
PIDFILE="/var/run/i2p.pid"
WRAPPER_CMD="$I2P/i2psvc"
WRAPPER_CONF="$I2P/wrapper.config"
start() {
ebegin "Starting I2P"
start-stop-daemon --start -b -m -u i2p --pidfile "$PIDFILE" --quiet --exec $WRAPPER_CMD -- -c $WRAPPER_CONF wrapper.daemonize=FALSE wrapper.syslog.ident=i2p wrapper.java.command="$JAVABINARY" wrapper.name=i2p wrapper.displayname="I2P Service" wrapper.statusfile="$I2P_CONFIG_DIR/i2p.status" wrapper.java.statusfile="$I2P_CONFIG_DIR/i2p.java.status" wrapper.logfile="$LOGFILE"
sleep 1
[ -e "$PIDFILE" -a -e /proc/$(cat "$PIDFILE") ]
eend $?
}
stop() {
ebegin "Stopping I2P"
start-stop-daemon --stop -u i2p --pidfile "$PIDFILE" --quiet --exec $WRAPPER_CMD -R SIGTERM/20 SIGKILL/20 -P
eend $?
}

View File

@@ -0,0 +1,13 @@
[Unit]
Description=Invisible Internet Project
After=network.target
[Service]
User=i2p
Type=forking
ExecReload=/usr/bin/i2prouter restart
ExecStart=/usr/bin/i2prouter start
ExecStop=/usr/bin/i2prouter stop
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,163 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
inherit eutils java-pkg-2 java-ant-2 systemd user
DESCRIPTION="A privacy-centric, anonymous network."
HOMEPAGE="https://geti2p.net"
SRC_URI="https://download.i2p2.de/releases/${PV}/i2psource_${PV}.tar.bz2"
LICENSE="Apache-2.0 Artistic BSD CC-BY-2.5 CC-BY-3.0 CC-BY-SA-3.0 EPL-1.0 GPL-2 GPL-3 LGPL-2.1 LGPL-3 MIT public-domain WTFPL-2"
SLOT="0"
# Until the deps reach other arches
KEYWORDS="~amd64 ~x86"
IUSE="+ecdsa nls"
# dev-java/ant-core is automatically added due to java-ant-2.eclass
CP_DEPEND="dev-java/bcprov:1.50
dev-java/jrobin:0
dev-java/slf4j-api:0
dev-java/tomcat-jstl-impl:0
dev-java/tomcat-jstl-spec:0
dev-java/java-service-wrapper:0"
DEPEND="${CP_DEPEND}
dev-java/eclipse-ecj:*
dev-libs/gmp:0
nls? ( >=sys-devel/gettext-0.19 )
>=virtual/jdk-1.7"
RDEPEND="${CP_DEPEND}
ecdsa? (
|| (
dev-java/icedtea:7[-sunec]
dev-java/icedtea:8[-sunec]
dev-java/icedtea-bin:7
dev-java/icedtea-bin:8
dev-java/oracle-jre-bin
dev-java/oracle-jdk-bin
)
)
!ecdsa? ( >=virtual/jre-1.7 )"
EANT_BUILD_TARGET="pkg"
JAVA_ANT_ENCODING="UTF-8"
I2P_ROOT='/usr/share/i2p'
I2P_CONFIG_HOME='/var/lib/i2p'
I2P_CONFIG_DIR="${I2P_CONFIG_HOME}/.i2p"
RES_DIR='installer/resources'
PATCHES=(
"${FILESDIR}/${P}-add_libs.patch"
)
pkg_setup() {
java-pkg-2_pkg_setup
enewgroup i2p
enewuser i2p -1 -1 "${I2P_CONFIG_HOME}" i2p
}
src_unpack() {
unpack ${A}
cd "${S}" || die
java-ant_rewrite-classpath
}
src_prepare() {
java-pkg-2_src_prepare
# We're on GNU/Linux, we don't need .exe files
echo "noExe=true" > override.properties || die
if ! use nls; then
echo "require.gettext=false" >> override.properties || die
fi
# avoid auto starting browser
sed -i 's|clientApp.4.startOnLoad=true|clientApp.4.startOnLoad=false|' \
"${RES_DIR}/clients.config" || die
# we do it now so we can resolve path after
default
# replace paths as the installer would
sed -i "s|%INSTALL_PATH|${I2P_ROOT}|" \
"${RES_DIR}/"{eepget,i2prouter,runplain.sh} || die
sed -i "s|\$INSTALL_PATH|${I2P_ROOT}|" "${RES_DIR}/wrapper.config" || die
sed -i "s|%SYSTEM_java_io_tmpdir|${I2P_CONFIG_DIR}|" \
"${RES_DIR}/"{i2prouter,runplain.sh} || die
sed -i "s|%USER_HOME|${I2P_CONFIG_HOME}|" "${RES_DIR}/i2prouter" || die
}
src_install() {
# cd into pkg-temp.
cd "${S}/pkg-temp" || die
# This is ugly, but to satisfy all non-system .jar dependencies, jetty
# would need to be packaged. It would be too large a task
# for an unseasoned developer. This seems to be the most pragmatic solution
java-pkg_jarinto "${I2P_ROOT}/lib"
local i
for i in BOB commons-el commons-logging i2p i2psnark i2ptunnel \
jasper-compiler jasper-runtime javax.servlet jbigi jetty* mstreaming org.mortbay.* router* \
sam standard streaming systray; do
java-pkg_dojar lib/${i}.jar
done
# Set up symlinks for binaries
dosym /usr/bin/wrapper "${I2P_ROOT}/i2psvc"
dosym "${I2P_ROOT}/i2prouter" /usr/bin/i2prouter
dosym "${I2P_ROOT}/eepget" /usr/bin/eepget
# Install main files and basic documentation
exeinto "${I2P_ROOT}"
insinto "${I2P_ROOT}"
doins blocklist.txt hosts.txt *.config
doexe eepget i2prouter runplain.sh
dodoc history.txt INSTALL-headless.txt LICENSE.txt
doman man/*
# Install other directories
doins -r certificates docs eepsite geoip scripts
dodoc -r licenses
java-pkg_dowar webapps/*.war
# Install daemon files
newinitd "${FILESDIR}/${P}.initd" i2p
systemd_newunit "${FILESDIR}/${P}.service" i2p.service
# setup user
keepdir "${I2P_CONFIG_DIR}"
fowners -R i2p:i2p "${I2P_CONFIG_DIR}"
}
pkg_postinst() {
elog "Custom configuration belongs in ${I2P_CONFIG_DIR} to avoid being overwritten."
elog 'I2P can be configured through the web interface at http://localhost:7657/console'
elog
if use !ecdsa
then
ewarn 'DSA keys are being retired since 0.9.30. You should have the ecdsa USE to ensure'
ewarn 'the flawless operation of your i2p.'
ewarn
ewarn "This is purely a run-time issue. You're free to build i2p with any JDK, as long as"
ewarn 'the JVM you run it with is one of the above listed and from the same or a newer generation'
ewarn 'as the one you built with.'
ewarn
fi
ewarn "The router will migrate the jetty.xml for each Jetty website to the new Jetty 9 setup during startup."
ewarn "This should work for recent, unmodified configurations but may not work for modified or"
ewarn "very old setups. Verify that your Jetty website works after upgrading, and contact i2p"
ewarn "developers on IRC if you need assistance"
ewarn
ewarn "Several plugins are not compatible with Jetty 9 and must be updated if you use them."
ewarn "New updated version avaliable: i2pbote 0.4.6, zzzot 0.15.0."
ewarn "No new version so far: BwSchedule 0.0.36, i2pcontrol 0.11."
}