From 233b5415ca24ceee416a0fb399da911d3655dca5 Mon Sep 17 00:00:00 2001 From: CyberLeo Date: Thu, 25 Aug 2011 20:48:31 -0500 Subject: [PATCH] net-p2p/freenet: revbump --- net-p2p/freenet/Manifest | 16 + net-p2p/freenet/files/0.7.5_p1297-ext.patch | 43 ++ net-p2p/freenet/files/0.7.5_p1302-ext.patch | 22 + net-p2p/freenet/files/freenet | 18 + ...p1384-libraryloader-just-try-loading.patch | 17 + ...ativebiginteger-no-nativedoublevalue.patch | 28 + .../files/freenet-0.7.5_p1389-wrapper.conf | 49 ++ net-p2p/freenet/files/freenet.old | 18 + net-p2p/freenet/files/run.sh-20090501 | 585 ++++++++++++++++++ .../freenet/files/strip-openjdk-check.patch | 81 +++ .../freenet/files/strip-version-check.patch | 12 + net-p2p/freenet/files/wrapper1.conf | 60 ++ net-p2p/freenet/freenet-0.7.5_p1400.ebuild | 151 +++++ net-p2p/freenet/freenet-0.7.5_p1400.reason | 2 + 14 files changed, 1102 insertions(+) create mode 100644 net-p2p/freenet/Manifest create mode 100644 net-p2p/freenet/files/0.7.5_p1297-ext.patch create mode 100644 net-p2p/freenet/files/0.7.5_p1302-ext.patch create mode 100644 net-p2p/freenet/files/freenet create mode 100644 net-p2p/freenet/files/freenet-0.7.5_p1384-libraryloader-just-try-loading.patch create mode 100644 net-p2p/freenet/files/freenet-0.7.5_p1384-nativebiginteger-no-nativedoublevalue.patch create mode 100644 net-p2p/freenet/files/freenet-0.7.5_p1389-wrapper.conf create mode 100644 net-p2p/freenet/files/freenet.old create mode 100644 net-p2p/freenet/files/run.sh-20090501 create mode 100644 net-p2p/freenet/files/strip-openjdk-check.patch create mode 100644 net-p2p/freenet/files/strip-version-check.patch create mode 100644 net-p2p/freenet/files/wrapper1.conf create mode 100644 net-p2p/freenet/freenet-0.7.5_p1400.ebuild create mode 100644 net-p2p/freenet/freenet-0.7.5_p1400.reason diff --git a/net-p2p/freenet/Manifest b/net-p2p/freenet/Manifest new file mode 100644 index 0000000..0aab0ff --- /dev/null +++ b/net-p2p/freenet/Manifest @@ -0,0 +1,16 @@ +AUX 0.7.5_p1297-ext.patch 1701 RMD160 1c8e9959d26e98f6ad6b92bae6598c1583863f6e SHA1 54f5d8c5e0158d91010d292a8d7358b474a7aef5 SHA256 c407f6f803255b120b613eae55c3e2e8da0bed2040cf7cbd0aae5e9b23a252db +AUX 0.7.5_p1302-ext.patch 947 RMD160 5931df622dca62591cbffce5176330acce82567d SHA1 94a91e0a3f1598a26c569b14f81ca50f53d983ee SHA256 66eae4637f9248bf2407e8bb5361b86aa3f1d04acdfca4207a3596877430fbdc +AUX freenet 476 RMD160 fdce44749587d73cb3f5b916e893e3bb95ef3200 SHA1 48eb8bfbd27a17b0bb3b29248ce4c43b59a76bda SHA256 4a8482117a434e9885438b7ca5384851bff49fefa28b13e33494a746c781342f +AUX freenet-0.7.5_p1384-libraryloader-just-try-loading.patch 833 RMD160 eec3bec210ec4389e2f446d021238024ff854e0f SHA1 96dd2400bdb5e4489816b750898613483f0ae44f SHA256 ea583fd3893240c9e28b0e0ab652902b7b2819686f06beb17995bd591fe1b36e +AUX freenet-0.7.5_p1384-nativebiginteger-no-nativedoublevalue.patch 932 RMD160 816bd5e83c8edfef277b70db431cf16247e796fb SHA1 d7758412ebf8cf820cb643a9f7ed71376a17d307 SHA256 1bb91a57f71044ee3dd51bb07eb7523644b60232445757c28a19b48a56a95e0a +AUX freenet-0.7.5_p1389-wrapper.conf 1680 RMD160 bcb6122d7b9960e75d850765b005e521f521e47a SHA1 cfe240aa8b43f39c0e4a3f38485fd82245f9cd17 SHA256 f9e8e37b4e7eacbd5534fabce20a6597ae8123b4c63267393ed0d593a2c79a82 +AUX freenet.old 452 RMD160 e9e834fedf4270c14f3e8d754c58eb05f3f570c5 SHA1 edb5d0ab062d46f494db88560885d7ee7b026e29 SHA256 b3047b40128bbd7843dc370ab0aa150a9836ed789f48181bd6d8fc72f1714fa6 +AUX run.sh-20090501 16217 RMD160 f8b03990d011e1f149ec43aa536fd7540a19f01a SHA1 123fb5cf1c9b50357156fa300c5015a7e0ca65ad SHA256 470aa99d083a16d2f620282502a59546611f1903e21aef50b93b10d9fada7d7a +AUX strip-openjdk-check.patch 4015 RMD160 c512338ac1dc9ca88082f403d8a4bc4dfcb98c07 SHA1 8e2e7c6eb7bb0f738d9afd73b2b32f7f5b2d515b SHA256 74f4d18e590b181d60ee41c1d3aa9ede8525fd643cdfa4e4688d1c8310ec893c +AUX strip-version-check.patch 349 RMD160 579ddfdf6549263e7ec2b9190eff6d08d6a2d5c4 SHA1 58e7422d180e4f443d415ec424646933eceeceb8 SHA256 35a33e5c52288505eefca96a6fbb98ae725d6fbefb727e73e513a1356b5cbfef +AUX wrapper1.conf 2396 RMD160 e029cb5feaf98a03234a061362c0989207fdfd23 SHA1 9b882dc0d366b946596bdecb1b1d45c1e221e4e0 SHA256 52e5e283ac4c43d78feecf1edf5ccb38e5505c89624769976fcbf4ac2c8a1572 +DIST freenet-0.7.5_p1400.zip 4156789 RMD160 fa471e803008a6bba07248d98926ac01247d906b SHA1 fdc967b99ff409c2cd3fa5beaafd48c3eb65025b SHA256 b659d210e5539ea15a4a7a171655f648bf88616a928cc1636b72ce8de0c5b1b1 +DIST freenet-ant-1.7.1.jar 1327167 RMD160 2ff5fa9c7041aa475bc1374763897fd8f19ca1f4 SHA1 ab21c797797d9e216ff1e05dfaac969a74191cd1 SHA256 634e0b616d65d611419920e8b379b7b66399e44f520baa772147ed73743433b1 +DIST seednodes-20110731.fref.bz2 10758 RMD160 29e7e9d596f533a4a432bd6ca4d5f0d1daf1f427 SHA1 b9eacff490600c9b08a9a4efda70271b4d26315b SHA256 f1cb91d5d693361347df475fa013198981bd2866dc448a6e423bd109c97f2c02 +EBUILD freenet-0.7.5_p1400.ebuild 4766 RMD160 d1e24c6daeccae9a7bf8882bb44d586f1531629c SHA1 fb8b41988d7796e0aa9e768f02d1c3e3da141004 SHA256 6ba27b5e78c91526f15fa7848fd72b8195ad4986246e4cc291bb783b000c19d3 +MISC freenet-0.7.5_p1400.reason 24 RMD160 5a1fc3970cf9ad6155dd62b5bea547a2f2f195d2 SHA1 c6c8455725ba6c521a73e52fc600bb1f3b845d9b SHA256 ca238b3efe94b6e3a128e43d55dbe66cdeabab6ec89655cc9e9a1735dcbec7b8 diff --git a/net-p2p/freenet/files/0.7.5_p1297-ext.patch b/net-p2p/freenet/files/0.7.5_p1297-ext.patch new file mode 100644 index 0000000..8e23c76 --- /dev/null +++ b/net-p2p/freenet/files/0.7.5_p1297-ext.patch @@ -0,0 +1,43 @@ +--- src/freenet-old/node/NodeStarter.java 2010-05-10 21:19:25.000000000 +0200 ++++ src/freenet/node/NodeStarter.java 2010-05-10 21:35:30.000000000 +0200 +@@ -168,37 +168,8 @@ + } + + private void getExtBuild() { +- try { +- extBuildNumber = ExtVersion.buildNumber; +- extRevisionNumber = ExtVersion.cvsRevision; +- String builtWithMessage = "freenet.jar built with freenet-ext.jar Build #" + extBuildNumber + " r" + extRevisionNumber; +- Logger.normal(this, builtWithMessage); +- System.out.println(builtWithMessage); +- extBuildNumber = ExtVersion.buildNumber(); +- if(extBuildNumber == -42) { +- extBuildNumber = ExtVersion.extBuildNumber(); +- extRevisionNumber = ExtVersion.extRevisionNumber(); +- } +- if(extBuildNumber == 0) { +- String buildMessage = "extBuildNumber is 0; perhaps your freenet-ext.jar file is corrupted?"; +- Logger.error(this, buildMessage); +- System.err.println(buildMessage); +- extBuildNumber = -1; +- } +- if(extRevisionNumber == null) { +- String revisionMessage = "extRevisionNumber is null; perhaps your freenet-ext.jar file is corrupted?"; +- Logger.error(this, revisionMessage); +- System.err.println(revisionMessage); +- extRevisionNumber = "INVALID"; +- } +- } catch(Throwable t) { +- // Compatibility code ... will be removed +- Logger.error(this, "Unable to get the version of your freenet-ext file : it's probably corrupted!"); +- System.err.println("Unable to get the version of your freenet-ext file : it's probably corrupted!"); +- System.err.println(t.getMessage()); +- extRevisionNumber = "INVALID"; +- extBuildNumber = -1; +- } ++ extRevisionNumber = ""; ++ extBuildNumber = RECOMMENDED_EXT_BUILD_NUMBER; + } + + /** + diff --git a/net-p2p/freenet/files/0.7.5_p1302-ext.patch b/net-p2p/freenet/files/0.7.5_p1302-ext.patch new file mode 100644 index 0000000..035b4e6 --- /dev/null +++ b/net-p2p/freenet/files/0.7.5_p1302-ext.patch @@ -0,0 +1,22 @@ +--- src/freenet/node/NodeStarter.java 2010-11-10 21:46:10.000000000 +0100 ++++ src/freenet/node/NodeStarter.java.new 2010-11-10 21:50:12.000000000 +0100 +@@ -49,8 +49,8 @@ + public static final String extRevisionNumber; + + static { +- extBuildNumber = ExtVersion.extBuildNumber(); +- extRevisionNumber = ExtVersion.extRevisionNumber(); ++ extBuildNumber = RECOMMENDED_EXT_BUILD_NUMBER; ++ extRevisionNumber = ""; + } + + private FreenetFilePersistentConfig cfg; +@@ -86,7 +86,7 @@ + return Integer.valueOf(-1); + } + +- String builtWithMessage = "freenet.jar built with freenet-ext.jar Build #" + ExtVersion.buildNumber + " r" + ExtVersion.cvsRevision+" running with ext build "+extBuildNumber+" r" + extRevisionNumber; ++ String builtWithMessage = "freenet.jar built with freenet-ext.jar Build #" + extBuildNumber + " running with ext build "+extBuildNumber; + Logger.normal(this, builtWithMessage); + System.out.println(builtWithMessage); + diff --git a/net-p2p/freenet/files/freenet b/net-p2p/freenet/files/freenet new file mode 100644 index 0000000..f276ee4 --- /dev/null +++ b/net-p2p/freenet/files/freenet @@ -0,0 +1,18 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +start() { + start-stop-daemon --start --chuid freenet --exec /bin/sh /var/freenet/run.sh start 2>/dev/null + eend 0 +} + +status() { + start-stop-daemon --start --chuid freenet --exec /bin/sh /var/freenet/run.sh status 2>/dev/null + eend 0 +} + +stop() { + start-stop-daemon --start --chuid freenet --exec /bin/sh /var/freenet/run.sh stop 2>/dev/null + eend 0 +} diff --git a/net-p2p/freenet/files/freenet-0.7.5_p1384-libraryloader-just-try-loading.patch b/net-p2p/freenet/files/freenet-0.7.5_p1384-libraryloader-just-try-loading.patch new file mode 100644 index 0000000..ffe9354 --- /dev/null +++ b/net-p2p/freenet/files/freenet-0.7.5_p1384-libraryloader-just-try-loading.patch @@ -0,0 +1,17 @@ +--- freenet-0.7.5_p1384/src/freenet/support/LibraryLoader.java.orig 2011-07-29 17:32:37.000000000 +0200 ++++ freenet-0.7.5_p1384/src/freenet/support/LibraryLoader.java 2011-07-29 17:35:02.000000000 +0200 +@@ -48,12 +48,11 @@ + final String libraryNameWithPrefixAndArchAndSuffix = libraryNameWithPrefixAndArch + prefix; + String resourceName = path + libraryNameWithPrefixAndArchAndSuffix; + +- File nativeLib = new File((System.getProperty("java.library.path")) + "/lib" + libraryName + prefix); +- if (nativeLib.exists()) { ++ try { + System.out.println("Attempting to load the NativeThread library ["+libraryName+']'); + System.loadLibrary(libraryName); + success = true; +- } else { ++ } catch(UnsatisfiedLinkError ule) { + try { + // Get the resource + URL resource = LibraryLoader.class.getResource(resourceName); diff --git a/net-p2p/freenet/files/freenet-0.7.5_p1384-nativebiginteger-no-nativedoublevalue.patch b/net-p2p/freenet/files/freenet-0.7.5_p1384-nativebiginteger-no-nativedoublevalue.patch new file mode 100644 index 0000000..5300fb1 --- /dev/null +++ b/net-p2p/freenet/files/freenet-0.7.5_p1384-nativebiginteger-no-nativedoublevalue.patch @@ -0,0 +1,28 @@ +--- freenet-0.7.5_p1384/src/net/i2p/util/NativeBigInteger.java.orig 2011-07-29 16:48:36.000000000 +0200 ++++ freenet-0.7.5_p1384/src/net/i2p/util/NativeBigInteger.java 2011-07-29 16:50:20.000000000 +0200 +@@ -193,12 +193,6 @@ + */ + public native static byte[] nativeModPow(byte base[], byte exponent[], byte modulus[]); + +- /** +- * Converts a BigInteger byte-array to a 'double' +- * @param ba Big endian twos complement representation of the BigInteger to convert to a double +- * @return The plain double-value represented by 'ba' +- */ +- public native static double nativeDoubleValue(byte ba[]); + private byte[] cachedBa = null; + + /** +@@ -286,11 +280,7 @@ + + @Override + public double doubleValue() { +- // TODO Recent tests show that Java version is quicker. Maybe drop? +- if(_nativeOk) +- return nativeDoubleValue(toByteArray()); +- else +- return super.doubleValue(); ++ return super.doubleValue(); + } + + /** diff --git a/net-p2p/freenet/files/freenet-0.7.5_p1389-wrapper.conf b/net-p2p/freenet/files/freenet-0.7.5_p1389-wrapper.conf new file mode 100644 index 0000000..066f624 --- /dev/null +++ b/net-p2p/freenet/files/freenet-0.7.5_p1389-wrapper.conf @@ -0,0 +1,49 @@ +wrapper.java.command=java +wrapper.working.dir=/var/freenet/ +wrapper.java.mainclass=freenet.node.NodeStarter +wrapper.java.library.path.1=/usr/lib +wrapper.java.initmemory=60 +wrapper.java.maxmemory=128 +wrapper.java.additional.1=-Dnetworkaddress.cache.ttl=0 +wrapper.java.additional.2=-Dnetworkaddress.cache.negative.ttl=0 +wrapper.java.additional.3=-enableassertions:freenet +# You might want to set the following line if you have changed java.maxmemory +wrapper.java.additional.4=-XX:MaxPermSize=256M + +wrapper.app.parameter.1=freenet.ini +wrapper.console.format=PM +wrapper.console.loglevel=INFO +wrapper.logfile=wrapper.log +wrapper.logfile.format=LPTM +wrapper.logfile.loglevel=INFO +wrapper.logfile.maxsize=2M +wrapper.logfile.maxfiles=3 +wrapper.syslog.loglevel=NONE +wrapper.console.title=Freenet 0.7 +wrapper.jvm_exit.timeout=120 +wrapper.restart.reload_configuration=TRUE +wrapper.filter.trigger.1=java.lang.OutOfMemoryError +wrapper.filter.action.1=RESTART + +# Name of the service +wrapper.ntservice.name=freenet-darknet + +# Display name of the service +wrapper.ntservice.displayname=Freenet 0.7 darknet + +# Description of the service +wrapper.ntservice.description=The Free Network Project daemon + +# Service dependencies. Add dependencies as needed starting from 1 +wrapper.ntservice.dependency.1= + +# Mode in which the service is installed. AUTO_START or DEMAND_START +wrapper.ntservice.starttype=AUTO_START + +# Allow the service to interact with the desktop. +wrapper.ntservice.interactive=false + +wrapper.ntservice.process_priority=BELOW_NORMAL + +# Start services with a different user than SYSTEM +# SEE http://wrapper.tanukisoftware.org/doc/english/prop-ntservice-account.html BEFORE PROCEEDING ! diff --git a/net-p2p/freenet/files/freenet.old b/net-p2p/freenet/files/freenet.old new file mode 100644 index 0000000..d0df97e --- /dev/null +++ b/net-p2p/freenet/files/freenet.old @@ -0,0 +1,18 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +start() { + start-stop-daemon --start --chuid freenet --exec /var/freenet/run.sh start 2>/dev/null + eend 0 +} + +status() { + start-stop-daemon --start --chuid freenet --exec /var/freenet/run.sh status 2>/dev/null + eend 0 +} + +stop() { + start-stop-daemon --start --chuid freenet --exec /var/freenet/run.sh stop 2>/dev/null + eend 0 +} diff --git a/net-p2p/freenet/files/run.sh-20090501 b/net-p2p/freenet/files/run.sh-20090501 new file mode 100644 index 0000000..3f9723f --- /dev/null +++ b/net-p2p/freenet/files/run.sh-20090501 @@ -0,0 +1,585 @@ +#! /bin/sh + +# +# Copyright (c) 1999, 2006 Tanuki Software Inc. +# +# Java Service Wrapper sh script. Suitable for starting and stopping +# wrapped Java applications on UNIX platforms. +# + +#----------------------------------------------------------------------------- +# These settings can be modified to fit the needs of your application + +# Application +APP_NAME="Freenet" +APP_LONG_NAME="Freenet 0.7" + +# Wrapper +WRAPPER_CMD="/usr/bin/wrapper" +WRAPPER_CONF="/etc/freenet-wrapper.conf" + +# Priority at which to run the wrapper. See "man nice" for valid priorities. +# nice is only used if a priority is specified. + +# Note that Freenet will scale its usage within the specifed niceness, some +# threads will have a lower priority (higher nice value) than this. Also please +# don't renice Freenet once it's started. +PRIORITY=10 + +# Location of the pid file. +PIDDIR="/var/freenet/" + +# If uncommented, causes the Wrapper to be shutdown using an anchor file. +# When launched with the 'start' command, it will also ignore all INT and +# TERM signals. +IGNORE_SIGNALS=true + +# If specified, the Wrapper will be run as the specified user. +# IMPORTANT - Make sure that the user has the required privileges to write +# the PID file and wrapper.log files. Failure to be able to write the log +# file will cause the Wrapper to exit without any way to write out an error +# message. +# NOTE - This will set the user which is used to run the Wrapper as well as +# the JVM and is not useful in situations where a privileged resource or +# port needs to be allocated prior to the user being changed. +RUN_AS_USER=freenet + +# The following two lines are used by the chkconfig command. Change as is +# appropriate for your application. They should remain commented. +# chkconfig: 2345 20 80 +# description: @app.long.name@ + +# Do not modify anything beyond this point +#----------------------------------------------------------------------------- + +if [ "X`id -u`" = "X0" -a -z "$RUN_AS_USER" ] +then + echo "Do not run this script as root." + exit 1 +fi + +# and get java implementation too, Sun JDK or Kaffe +JAVA_IMPL=`java -version 2>&1 | head -n 1 | cut -f1 -d' '` + +# sun specific options +LDPROP="" +#if [ "$JAVA_IMPL" = "java" ] +#then +# echo Sun java detected. +# # Tell it not to use NPTL. +# # BAD THINGS happen if it uses NPTL. +# # Specifically, at least on 1.4.1. and 1.5.0b2, we get hangs +# # where many threads are stuck waiting for a lock to be +# # unlocked but no thread owns it. +# +# ## won't work on libc2.4 ... let's hope it's fixed +# if [[ -z "$(/lib/libc.so.6 | head -n 1 | grep 'release version 2.4')" ]] +# then +# if [[ -d /lib/tls ]] +# then +# LDPROP="set.LD_ASSUME_KERNEL=2.4.1" +# fi +# fi +#fi + + +# Get the fully qualified path to the script +case $0 in + /*) + SCRIPT="$0" + ;; + *) + PWD=`pwd` + SCRIPT="$PWD/$0" + ;; +esac + +# Resolve the true real path without any sym links. +CHANGED=true +while [ "X$CHANGED" != "X" ] +do + # Change spaces to ":" so the tokens can be parsed. + SCRIPT=`echo $SCRIPT | sed -e 's; ;:;g'` + # Get the real path to this script, resolving any symbolic links + TOKENS=`echo $SCRIPT | sed -e 's;/; ;g'` + REALPATH= + for C in $TOKENS; do + REALPATH="$REALPATH/$C" + while [ -h "$REALPATH" ] ; do + LS="`ls -ld "$REALPATH"`" + LINK="`expr "$LS" : '.*-> \(.*\)$'`" + if expr "$LINK" : '/.*' > /dev/null; then + REALPATH="$LINK" + else + REALPATH="`dirname "$REALPATH"`""/$LINK" + fi + done + done + + # Change ":" chars back to spaces. + REALPATH="`echo $REALPATH | sed -e 's;:; ;g'`" + SCRIPT="`echo $SCRIPT | sed -e 's;:; ;g'`" + + if [ "$REALPATH" = "$SCRIPT" ] + then + CHANGED="" + else + SCRIPT="$REALPATH" + fi +done + +# Change the current directory to the location of the script +cd "`dirname \"$REALPATH\"`" +REALDIR="`pwd`" +# If the PIDDIR is relative, set its value relative to the full REALPATH to avoid problems if +# the working directory is later changed. +FIRST_CHAR="`echo $PIDDIR | cut -c1,1`" +if [ "$FIRST_CHAR" != "/" ] +then + PIDDIR="$REALDIR/$PIDDIR" +fi +# Same test for WRAPPER_CMD +FIRST_CHAR="`echo $WRAPPER_CMD | cut -c1,1`" +if [ "$FIRST_CHAR" != "/" ] +then + WRAPPER_CMD="$REALDIR/$WRAPPER_CMD" +fi +# Same test for WRAPPER_CONF +FIRST_CHAR="`echo $WRAPPER_CONF | cut -c1,1`" +if [ "$FIRST_CHAR" != "/" ] +then + WRAPPER_CONF="$REALDIR/$WRAPPER_CONF" +fi + +# Process ID +ANCHORFILE="$PIDDIR/$APP_NAME.anchor" +PIDFILE="$PIDDIR/$APP_NAME.pid" +LOCKDIR="$REALDIR" +LOCKFILE="$LOCKDIR/$APP_NAME" +pid="" + +# Resolve the os +DIST_OS=`uname -s | tr [:upper:] [:lower:] | tr -d [:blank:]` +case "$DIST_OS" in + 'sunos') + DIST_OS="solaris" + ;; + 'hp-ux' | 'hp-ux64') + DIST_OS="hpux" + ;; + 'darwin' | 'oarwin') + DIST_OS="macosx" + + #We use the 1.5 jvm if it exists + if [ -d /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/ ] + then + export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home" + fi + ;; + 'unix_sv') + DIST_OS="unixware" + ;; +esac + +# Resolve the architecture +DIST_ARCH=`uname -m | tr [:upper:] [:lower:] | tr -d [:blank:]` +case "$DIST_ARCH" in + 'amd64' | 'ia32' | 'ia64' | 'i386' | 'i486' | 'i586' | 'i686' | 'x86_64') + DIST_ARCH="x86" + ;; + 'ip27' | 'mips') + DIST_ARCH="mips" + ;; + 'power' | 'powerpc' | 'power_pc' | 'ppc64') + DIST_ARCH="ppc" + ;; + 'pa_risc' | 'pa-risc') + DIST_ARCH="parisc" + ;; + 'sun4u' | 'sparcv9') + DIST_ARCH="sparc" + ;; + '9000/800') + DIST_ARCH="parisc" + ;; +esac + +# Check if we are running on 64bit platform, seems like a workaround for now... +DIST_BIT=`uname -m | tr [:upper:] [:lower:] | tr -d [:blank:]` +case "$DIST_BIT" in + 'amd64' | 'ia64' | 'x86_64' | 'ppc64') + DIST_BIT="64" + ;; +# 'pa_risc' | 'pa-risc') # Are some of these 64bit? Least not all... +# BIT="64" +# ;; + 'sun4u' | 'sparcv9') # Are all sparcs 64? + DIST_BIT="64" + ;; +# '9000/800') +# DIST_BIT="64" +# ;; + *) # In any other case default to 32 + DIST_BIT="32" + ;; +esac + +# Decide on the wrapper binary to use. +# 64bit wrapper by default on 64bit platforms, because +# they might not have 32bit emulation libs installed. +# For macosx, we also want to look for universal binaries. + +WRAPPER_TEST_CMD="$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-$DIST_BIT" + +if [ -x "$WRAPPER_TEST_CMD" ] +then + WRAPPER_CMD="$WRAPPER_TEST_CMD" +else + if [ "$DIST_OS" = "macosx" ] # Some osx weirdness, someone please check that this still works + then + WRAPPER_TEST_CMD="$WRAPPER_CMD-$DIST_OS-universal-$DIST_BIT" + if [ -x "$WRAPPER_TEST_CMD" ] + then + WRAPPER_CMD="$WRAPPER_TEST_CMD" + else + WRAPPER_TEST_CMD="$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-$DIST_BIT" + if [ -x "$WRAPPER_TEST_CMD" ] + then + WRAPPER_CMD="$WRAPPER_TEST_CMD" + else + WRAPPER_TEST_CMD="$WRAPPER_CMD-$DIST_OS-universal-$DIST_BIT" + if [ -x "$WRAPPER_TEST_CMD" ] + then + WRAPPER_CMD="$WRAPPER_TEST_CMD" + else + if [ ! -x "$WRAPPER_CMD" ] + then + echo "Unable to locate any of the following binaries:" + echo " $WRAPPER_CMD-$DIST_OS-$DIST_ARCH-$DIST_BIT" + echo " $WRAPPER_CMD-$DIST_OS-universal-$DIST_BIT" + echo " $WRAPPER_CMD" + # + # We need -Djava.net.preferIPv4Stack=true on FreeBSD, otherwise recent jvms thow an IllegalArgumentException when we create the socket + # + NO_WRAPPER="java -Djava.net.preferIPv4Stack=true -cp freenet-ext.jar:freenet.jar freenet.node.NodeStarter" + fi + fi + fi + fi + else + if [ ! -x "$WRAPPER_CMD" ] + then + echo "Unable to locate any of the following binaries:" + echo " $WRAPPER_CMD-$DIST_OS-$DIST_ARCH-$DIST_BIT" + echo " $WRAPPER_CMD" + NO_WRAPPER="java -cp freenet-ext.jar:freenet.jar freenet.node.NodeStarter" + fi + fi +fi + +# Build the nice clause +if [ "X$PRIORITY" = "X" ] +then + CMDNICE="" +else + CMDNICE="nice -$PRIORITY" +fi + +# Build the anchor file clause. +if [ "X$IGNORE_SIGNALS" = "X" ] +then + ANCHORPROP= + IGNOREPROP= +else + ANCHORPROP=wrapper.anchorfile=\"$ANCHORFILE\" + IGNOREPROP=wrapper.ignore_signals=TRUE +fi + +# Build the lock file clause. Only create a lock file if the lock directory exists on this platform. +if [ -d "$LOCKDIR" ] +then + LOCKPROP=wrapper.lockfile=\"$LOCKFILE\" +else + LOCKPROP= +fi + +checkUser() { + # Check the configured user. If necessary rerun this script as the desired user. + if [ "X$RUN_AS_USER" != "X" ] + then + # Resolve the location of the 'id' command + IDEXE="/usr/xpg4/bin/id" + if [ ! -x $IDEXE ] + then + IDEXE="/usr/bin/id" + if [ ! -x $IDEXE ] + then + echo "Unable to locate 'id'." + echo "Please report this message along with the location of the command on your system." + exit 1 + fi + fi + + if [ "`$IDEXE -u -n`" = "$RUN_AS_USER" ] + then + # Already running as the configured user. Avoid password prompts by not calling su. + RUN_AS_USER="" + fi + fi + if [ "X$RUN_AS_USER" != "X" ] + then + # If LOCKPROP and $RUN_AS_USER are defined then the new user will most likely not be + # able to create the lock file. The Wrapper will be able to update this file once it + # is created but will not be able to delete it on shutdown. If $2 is defined then + # the lock file should be created for the current command + if [ "X$LOCKPROP" != "X" ] + then + if [ "X$2" != "X" ] + then + # Resolve the primary group + RUN_AS_GROUP=`groups $RUN_AS_USER | awk '{print $3}' | tail -1` + if [ "X$RUN_AS_GROUP" = "X" ] + then + RUN_AS_GROUP=$RUN_AS_USER + fi + touch "$LOCKFILE" + chown $RUN_AS_USER:$RUN_AS_GROUP "$LOCKFILE" + fi + fi + + # Still want to change users, recurse. This means that the user will only be + # prompted for a password once. + su -m $RUN_AS_USER -c "$REALPATH $1" + + # Now that we are the original user again, we may need to clean up the lock file. + if [ "X$LOCKPROP" != "X" ] + then + getpid + if [ "X$pid" = "X" ] + then + # Wrapper is not running so make sure the lock file is deleted. + if [ -f "$LOCKFILE" ] + then + rm "$LOCKFILE" + fi + fi + fi + + exit 0 + fi +} + +getpid() { + if [ -f "$PIDFILE" ] + then + if [ -r "$PIDFILE" ] + then + pid="`cat \"$PIDFILE\"`" + if [ "X$pid" != "X" ] + then + # It is possible that 'a' process with the pid exists but that it is not the + # correct process. This can happen in a number of cases, but the most + # common is during system startup after an unclean shutdown. + # So make sure the process is one of "ours" -- that we can send + # a signal to it. (We don't use ps(1) because that's neither + # safe nor portable. + if ! kill -0 $pid 2>/dev/null + then + # This is a stale pid file. + rm -f "$PIDFILE" + echo "Removed stale pid file: $PIDFILE" + pid="" + fi + # Sometimes the pid exists and it's ours! + if ! test -f /proc/$pid/cwd/Freenet.pid + then + # This is a stale pid file. + rm -f "$PIDFILE" + echo "Removed stale pid file2: $PIDFILE" + pid="" + + fi + fi + else + echo "Cannot read $PIDFILE." + exit 1 + fi + fi +} + +testpid() { + if ! kill -0 $pid 2>/dev/null + then + # Process is gone so remove the pid file. + rm -f "$PIDFILE" + pid="" + fi +} + +console() { + echo "Running $APP_LONG_NAME..." + getpid + if [ "X$pid" = "X" ] + then + COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" \"$WRAPPER_CONF\" wrapper.syslog.ident=\"$APP_NAME\" wrapper.pidfile=\"$PIDFILE\" $LDPROP $ANCHORPROP $LOCKPROP" + eval $COMMAND_LINE + else + echo "$APP_LONG_NAME is already running." + exit 1 + fi +} + +start() { + echo "Starting $APP_LONG_NAME..." + getpid + if [ "X$pid" = "X" ] + then + if [ "$NO_WRAPPER" ] # Check if we don't have usable wrapper, and run without it + then + echo "" + echo "Let's start the node without the wrapper, you'll have to daemonize it yourself." + eval $NO_WRAPPER + else # Otherwise use the wrapper + COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" \"$WRAPPER_CONF\" wrapper.syslog.ident=\"$APP_NAME\" wrapper.pidfile=\"$PIDFILE\" $LDPROP wrapper.daemonize=TRUE $ANCHORPROP $IGNOREPROP $LOCKPROP" + eval $COMMAND_LINE + fi + else + echo "$APP_LONG_NAME is already running." + exit 1 + fi +} + +stopit() { + echo "Stopping $APP_LONG_NAME..." + getpid + if [ "X$pid" = "X" ] + then + echo "$APP_LONG_NAME was not running." + else + if [ "X$IGNORE_SIGNALS" = "X" ] + then + # Running so try to stop it. + kill $pid + if [ $? -ne 0 ] + then + # An explanation for the failure should have been given + echo "Unable to stop $APP_LONG_NAME." + exit 1 + fi + else + rm -f "$ANCHORFILE" + if [ -f "$ANCHORFILE" ] + then + # An explanation for the failure should have been given + echo "Unable to stop $APP_LONG_NAME." + exit 1 + fi + fi + + # We can not predict how long it will take for the wrapper to + # actually stop as it depends on settings in wrapper.conf. + # Loop until it does. + savepid=$pid + CNT=0 + TOTCNT=0 + while [ "X$pid" != "X" ] + do + # Show a waiting message every 5 seconds. + if [ "$CNT" -lt "5" ] + then + CNT=`expr $CNT + 1` + else + echo "Waiting for $APP_LONG_NAME to exit..." + CNT=0 + fi + TOTCNT=`expr $TOTCNT + 1` + + sleep 1 + + testpid + done + + pid=$savepid + testpid + if [ "X$pid" != "X" ] + then + echo "Failed to stop $APP_LONG_NAME." + exit 1 + else + echo "Stopped $APP_LONG_NAME." + fi + fi +} + +status() { + getpid + if [ "X$pid" = "X" ] + then + echo "$APP_LONG_NAME is not running." + exit 1 + else + echo "$APP_LONG_NAME is running ($pid)." + exit 0 + fi +} + +dump() { + echo "Dumping $APP_LONG_NAME..." + getpid + if [ "X$pid" = "X" ] + then + echo "$APP_LONG_NAME was not running." + + else + kill -QUIT $pid + + if [ $? -ne 0 ] + then + echo "Failed to dump $APP_LONG_NAME." + exit 1 + else + echo "Dumped $APP_LONG_NAME." + fi + fi +} + +case "$1" in + + 'console') + checkUser $1 touchlock + console + ;; + + 'start') + checkUser $1 touchlock + start + ;; + + 'stop') + checkUser $1 + stopit + ;; + + 'restart') + checkUser $1 touchlock + stopit + start + ;; + + 'status') + checkUser $1 + status + ;; + + 'dump') + checkUser $1 + dump + ;; + + *) + echo "Usage: $0 { console | start | stop | restart | status | dump }" + exit 1 + ;; +esac + +exit 0 diff --git a/net-p2p/freenet/files/strip-openjdk-check.patch b/net-p2p/freenet/files/strip-openjdk-check.patch new file mode 100644 index 0000000..15a9e38 --- /dev/null +++ b/net-p2p/freenet/files/strip-openjdk-check.patch @@ -0,0 +1,81 @@ +--- src/freenet/node/Node.java 2010-11-10 21:58:45.000000000 +0100 ++++ src/freenet/node/Node.java.new 2010-11-10 21:59:53.000000000 +0100 +@@ -3792,42 +3792,42 @@ + + boolean isOpenJDK = false; + +- if(jvmName.startsWith("OpenJDK ")) { +- isOpenJDK = true; +- if(javaVersion.startsWith("1.6.0")) { +- String subverString; +- if(jvmVersion.startsWith("14.0-b")) +- subverString = jvmVersion.substring("14.0-b".length()); +- else if(jvmVersion.startsWith("1.6.0_0-b")) +- subverString = jvmVersion.substring("1.6.0_0-b".length()); +- else +- subverString = null; +- if(subverString != null) { +- int subver; +- try { +- subver = Integer.parseInt(subverString); +- } catch (NumberFormatException e) { +- subver = -1; +- } +- if(subver > -1 && subver < 15) { +- File javaDir = new File(System.getProperty("java.home")); +- +- // Assume that if the java home dir has been updated since August 11th, we have the fix. +- +- final Calendar _cal = Calendar.getInstance(TimeZone.getTimeZone("GMT")); +- _cal.set(2009, Calendar.AUGUST, 11, 0, 0, 0); +- if(javaDir.exists() && javaDir.isDirectory() && javaDir.lastModified() > _cal.getTimeInMillis()) { +- System.err.println("Your Java appears to have been updated, we probably do not have the XML bug (http://www.cert.fi/en/reports/2009/vulnerability2009085.html)."); +- } else { +- System.err.println("Old version of OpenJDK detected. It is possible that your Java may be vulnerable to a remote code execution vulnerability. Please update your operating system ASAP. We will not disable plugins because we cannot be sure whether there is a problem."); +- System.err.println("See here: http://www.cert.fi/en/reports/2009/vulnerability2009085.html"); +- clientCore.alerts.register(new SimpleUserAlert(false, l10n("openJDKMightBeVulnerableXML"), l10n("openJDKMightBeVulnerableXML"), l10n("openJDKMightBeVulnerableXML"), UserAlert.ERROR)); +- } +- +- } +- } +- } +- } ++// if(jvmName.startsWith("OpenJDK ")) { ++// isOpenJDK = true; ++// if(javaVersion.startsWith("1.6.0")) { ++// String subverString; ++// if(jvmVersion.startsWith("14.0-b")) ++// subverString = jvmVersion.substring("14.0-b".length()); ++// else if(jvmVersion.startsWith("1.6.0_0-b")) ++// subverString = jvmVersion.substring("1.6.0_0-b".length()); ++// else ++// subverString = null; ++// if(subverString != null) { ++// int subver; ++// try { ++// subver = Integer.parseInt(subverString); ++// } catch (NumberFormatException e) { ++// subver = -1; ++// } ++// if(subver > -1 && subver < 15) { ++// File javaDir = new File(System.getProperty("java.home")); ++// ++// // Assume that if the java home dir has been updated since August 11th, we have the fix. ++// ++// final Calendar _cal = Calendar.getInstance(TimeZone.getTimeZone("GMT")); ++// _cal.set(2009, Calendar.AUGUST, 11, 0, 0, 0); ++// if(javaDir.exists() && javaDir.isDirectory() && javaDir.lastModified() > _cal.getTimeInMillis()) { ++// System.err.println("Your Java appears to have been updated, we probably do not have the XML bug (http://www.cert.fi/en/reports/2009/vulnerability2009085.html)."); ++// } else { ++// System.err.println("Old version of OpenJDK detected. It is possible that your Java may be vulnerable to a remote code execution vulnerability. Please update your operating system ASAP. We will not disable plugins because we cannot be sure whether there is a problem."); ++// System.err.println("See here: http://www.cert.fi/en/reports/2009/vulnerability2009085.html"); ++// clientCore.alerts.register(new SimpleUserAlert(false, l10n("openJDKMightBeVulnerableXML"), l10n("openJDKMightBeVulnerableXML"), l10n("openJDKMightBeVulnerableXML"), UserAlert.ERROR)); ++// } ++// ++// } ++// } ++// } ++// } + + if(logMINOR) Logger.minor(this, "JVM vendor: "+jvmVendor+", JVM name: "+jvmName+", JVM version: "+javaVersion+", OS name: "+osName+", OS version: "+osVersion); + diff --git a/net-p2p/freenet/files/strip-version-check.patch b/net-p2p/freenet/files/strip-version-check.patch new file mode 100644 index 0000000..b009906 --- /dev/null +++ b/net-p2p/freenet/files/strip-version-check.patch @@ -0,0 +1,12 @@ +--- src/freenet/node/Node.java 2009-08-09 23:26:38.000000000 +0200 ++++ src/freenet/node/Node.java.neu 2009-08-10 01:00:51.000000000 +0200 +@@ -3554,9 +3554,6 @@ + + if(is150 && subver < 10) + spuriousOOMs = true; +- +- if(is150 && subver < 20 || is160 && subver < 15) +- xmlRemoteCodeExec = true; + } + + if(spuriousOOMs) { diff --git a/net-p2p/freenet/files/wrapper1.conf b/net-p2p/freenet/files/wrapper1.conf new file mode 100644 index 0000000..2747442 --- /dev/null +++ b/net-p2p/freenet/files/wrapper1.conf @@ -0,0 +1,60 @@ +wrapper.java.command=java +wrapper.working.dir=/var/freenet/ +wrapper.java.mainclass=freenet.node.NodeStarter +wrapper.java.classpath.1=/usr/share/freenet/lib/freenet.jar +wrapper.java.classpath.2=/usr/share/java-service-wrapper/lib/wrapper.jar +wrapper.java.classpath.3=/usr/share/db-je-3.3/lib/je.jar +wrapper.java.classpath.4=/usr/share/fec/lib/fec.jar +wrapper.java.classpath.5=/usr/share/ant-core/lib/ant.jar +wrapper.java.classpath.6=/usr/share/lzma/lib/lzma.jar +wrapper.java.classpath.7=/usr/share/lzmajio/lib/lzmajio.jar +wrapper.java.classpath.8=/usr/share/mersennetwister/lib/mersennetwister.jar +wrapper.java.classpath.9=/usr/share/db4o-jdk5/lib/db4o-jdk5.jar +wrapper.java.classpath.10=/usr/share/db4o-jdk12/lib/db4o-jdk12.jar +wrapper.java.classpath.11=/usr/share/db4o-jdk11/lib/db4o-jdk11.jar +wrapper.java.library.path.1=/usr/lib +wrapper.java.initmemory=60 +wrapper.java.maxmemory=192 +wrapper.java.additional.1=-Dnetworkaddress.cache.ttl=0 +wrapper.java.additional.2=-Dnetworkaddress.cache.negative.ttl=0 +wrapper.java.additional.3=-enableassertions:freenet +# You might want to set the following line if you have changed java.maxmemory to very high numbers (>>1G) +#wrapper.java.additional.4=-XX:MaxPermSize=256M + +wrapper.app.parameter.1=freenet.ini +wrapper.console.format=PM +wrapper.console.loglevel=INFO +wrapper.logfile=wrapper.log +wrapper.logfile.format=LPTM +wrapper.logfile.loglevel=INFO +wrapper.logfile.maxsize=2M +wrapper.logfile.maxfiles=3 +wrapper.syslog.loglevel=NONE +wrapper.console.title=Freenet 0.7 +wrapper.jvm_exit.timeout=120 +wrapper.restart.reload_configuration=TRUE +wrapper.filter.trigger.1=java.lang.OutOfMemoryError +wrapper.filter.action.1=RESTART + +# Name of the service +wrapper.ntservice.name=freenet-darknet + +# Display name of the service +wrapper.ntservice.displayname=Freenet 0.7 darknet + +# Description of the service +wrapper.ntservice.description=The Free Network Project daemon + +# Service dependencies. Add dependencies as needed starting from 1 +wrapper.ntservice.dependency.1= + +# Mode in which the service is installed. AUTO_START or DEMAND_START +wrapper.ntservice.starttype=AUTO_START + +# Allow the service to interact with the desktop. +wrapper.ntservice.interactive=false + +wrapper.ntservice.process_priority=BELOW_NORMAL + +# Start services with a different user than SYSTEM +# SEE http://wrapper.tanukisoftware.org/doc/english/prop-ntservice-account.html BEFORE PROCEEDING ! diff --git a/net-p2p/freenet/freenet-0.7.5_p1400.ebuild b/net-p2p/freenet/freenet-0.7.5_p1400.ebuild new file mode 100644 index 0000000..7dfb0fe --- /dev/null +++ b/net-p2p/freenet/freenet-0.7.5_p1400.ebuild @@ -0,0 +1,151 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-p2p/freenet/freenet-0.7.5_p1389.ebuild,v 1.1 2011/07/31 18:45:48 tommy Exp $ + +EAPI="2" +DATE=20110731 +JAVA_PKG_IUSE="doc source" + +inherit eutils java-pkg-2 java-ant-2 multilib + +DESCRIPTION="An encrypted network without censorship" +HOMEPAGE="http://www.freenetproject.org/" +SRC_URI="http://github.com/${PN}/fred-official/zipball/build0${PV#*p} -> ${P}.zip + mirror://gentoo/seednodes-${DATE}.fref.bz2 + mirror://gentoo/freenet-ant-1.7.1.jar" + +LICENSE="as-is GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="freemail test" + +CDEPEND="freemail? ( dev-java/bcprov ) + dev-java/commons-compress + dev-db/db-je:3.3 + dev-java/fec + dev-java/java-service-wrapper + dev-java/db4o-jdk11 + dev-java/db4o-jdk12 + dev-java/db4o-jdk5 + dev-java/jbitcollider-core + dev-java/lzma + dev-java/lzmajio + dev-java/mersennetwister" +DEPEND="app-arch/unzip + >=virtual/jdk-1.6 + ${CDEPEND} + test? ( dev-java/junit + dev-java/ant-junit ) + dev-java/ant-core" +RDEPEND=">=virtual/jre-1.6 + net-libs/nativebiginteger + ${CDEPEND}" +PDEPEND="net-libs/NativeThread" + +EANT_BUILD_TARGET="package" +EANT_TEST_TARGET="unit" +EANT_BUILD_XML="build-clean.xml" +EANT_GENTOO_CLASSPATH="commons-compress db4o-jdk5 db4o-jdk12 db4o-jdk11 db-je-3.3 fec java-service-wrapper jbitcollider-core lzma lzmajio mersennetwister" +EANT_EXTRA_ARGS="-Dsuppress.gjs=true -Dlib.contrib.present=true -Dlib.junit.present=true" +export EANT_EXTRA_ARGS+=" -Dtest.skip=true" + +pkg_setup() { + has_version dev-java/icedtea[cacao] && { + ewarn "dev-java/icedtea was built with cacao USE flag." + ewarn "freenet may compile with it, but it will refuse to run." + ewarn "Please remerge dev-java/icedtea without cacao USE flag," + ewarn "if you plan to use it for running freenet." + } + java-pkg-2_pkg_setup + enewgroup freenet + enewuser freenet -1 -1 /var/freenet freenet +} + +src_unpack() { + unpack ${P}.zip seednodes-${DATE}.fref.bz2 + mv "${WORKDIR}"/freenet-fred-* "${S}" +} + +src_prepare() { + cp "${FILESDIR}"/freenet-0.7.5_p1389-wrapper.conf freenet-wrapper.conf || die + cp "${FILESDIR}"/run.sh-20090501 run.sh || die + epatch "${FILESDIR}"/0.7.5_p1302-ext.patch \ + "${FILESDIR}"/strip-openjdk-check.patch \ + "${FILESDIR}"/freenet-0.7.5_p1384-libraryloader-just-try-loading.patch \ + "${FILESDIR}"/freenet-0.7.5_p1384-nativebiginteger-no-nativedoublevalue.patch + + sed -i -e "s:=/usr/lib:=/usr/$(get_libdir):g" \ + freenet-wrapper.conf || die "sed failed" + + echo "wrapper.java.classpath.1=/usr/share/freenet/lib/freenet.jar" >> freenet-wrapper.conf + + local i=2 pkg jars jar + for pkg in ${EANT_GENTOO_CLASSPATH} ; do + jars="$(java-pkg_getjars ${pkg})" + for jar in ${jars} ; do + echo "wrapper.java.classpath.$((i++))=${jar}" >> freenet-wrapper.conf + done + done + echo "wrapper.java.classpath.$((i++))=/usr/share/freenet/lib/ant.jar" >> freenet-wrapper.conf + + if use freemail ; then + jars="$(java-pkg_getjars bcprov)" + for jar in ${jars} ; do + echo "wrapper.java.classpath.$((i++))=${jar}" >> freenet-wrapper.conf + done + fi + + java-ant_rewrite-classpath "${EANT_BUILD_XML}" + java-pkg-2_src_prepare + cp "${DISTDIR}"/freenet-ant-1.7.1.jar lib/ant.jar || die +} + +src_test() { + java-pkg_jar-from --into lib fec + java-pkg_jar-from --into lib java-service-wrapper + java-pkg_jar-from --into lib mersennetwister + java-pkg_jar-from --into lib lzma + java-pkg_jar-from --into lib db4o-jdk5 + java-pkg_jar-from --into lib db4o-jdk12 + java-pkg_jar-from --into lib db4o-jdk11 + export EANT_EXTRA_ARGS+=" -Dtest.skip=false" + java-pkg-2_src_test +} + +src_install() { + java-pkg_dojar dist/freenet.jar + java-pkg_newjar "${DISTDIR}"/freenet-ant-1.7.1.jar ant.jar + if has_version =sys-apps/baselayout-2*; then + doinitd "${FILESDIR}"/freenet + else + newinitd "${FILESDIR}"/freenet.old freenet + fi + dodoc AUTHORS README || die + insinto /etc + doins freenet-wrapper.conf || die + insinto /var/freenet + doins run.sh || die + newins "${WORKDIR}"/seednodes-${DATE}.fref seednodes.fref || die + fperms +x /var/freenet/run.sh + dosym java-service-wrapper/libwrapper.so /usr/$(get_libdir)/libwrapper.so + use doc && java-pkg_dojavadoc javadoc + use source && java-pkg_dosrc src +} + +pkg_postinst() { + elog " " + elog "1. Start freenet with /etc/init.d/freenet start." + elog "2. Open localhost:8888 in your browser for the web interface." + #workaround for previously existing freenet user + [[ $(stat --format="%U" /var/freenet) == "freenet" ]] || chown \ + freenet:freenet /var/freenet +} + +pkg_postrm() { + if ! [[ -e /usr/share/freenet/lib/freenet.jar ]] ; then + elog " " + elog "If you dont want to use freenet any more" + elog "and dont want to keep your identity/other stuff" + elog "remember to do 'rm -rf /var/freenet' to remove everything" + fi +} diff --git a/net-p2p/freenet/freenet-0.7.5_p1400.reason b/net-p2p/freenet/freenet-0.7.5_p1400.reason new file mode 100644 index 0000000..3399636 --- /dev/null +++ b/net-p2p/freenet/freenet-0.7.5_p1400.reason @@ -0,0 +1,2 @@ +Update to newest build + -- 2.42.0