From 9b53caf6541d48460dd0361da94a556151c3c280 Mon Sep 17 00:00:00 2001
From: Thomas Sachau <tommy@gentoo.org>
Date: Fri, 1 May 2009 17:38:19 +0000
Subject: Version bump, switch to git sources (Portage version:
 2.2_rc31/cvs/Linux x86_64)

---
 net-p2p/freenet/ChangeLog                |   8 +-
 net-p2p/freenet/files/run.sh-20090501    | 592 +++++++++++++++++++++++++++++++
 net-p2p/freenet/freenet-0.7_p1209.ebuild |  92 +++++
 net-p2p/freenet/freenet-9999.ebuild      |  37 +-
 4 files changed, 703 insertions(+), 26 deletions(-)
 create mode 100644 net-p2p/freenet/files/run.sh-20090501
 create mode 100644 net-p2p/freenet/freenet-0.7_p1209.ebuild

(limited to 'net-p2p/freenet')

diff --git a/net-p2p/freenet/ChangeLog b/net-p2p/freenet/ChangeLog
index f9712193c3eb..2ab45f9bd36a 100644
--- a/net-p2p/freenet/ChangeLog
+++ b/net-p2p/freenet/ChangeLog
@@ -1,6 +1,12 @@
 # ChangeLog for net-p2p/freenet
 # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-p2p/freenet/ChangeLog,v 1.52 2009/04/13 13:06:33 tommy Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-p2p/freenet/ChangeLog,v 1.53 2009/05/01 17:38:18 tommy Exp $
+
+*freenet-0.7_p1209 (01 May 2009)
+
+  01 May 2009; Thomas Sachau (Tommy[D]) <tommy@gentoo.org>
+  +files/run.sh-20090501, +freenet-0.7_p1209.ebuild, freenet-9999.ebuild:
+  Version bump, switch to git sources
 
 *freenet-0.7_p1208 (13 Apr 2009)
 
diff --git a/net-p2p/freenet/files/run.sh-20090501 b/net-p2p/freenet/files/run.sh-20090501
new file mode 100644
index 000000000000..7a9aff1c0af7
--- /dev/null
+++ b/net-p2p/freenet/files/run.sh-20090501
@@ -0,0 +1,592 @@
+#! /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 test ! -s freenet.ini
+then
+	exec ./bin/1run.sh
+	exit
+fi
+
+# 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/freenet-0.7_p1209.ebuild b/net-p2p/freenet/freenet-0.7_p1209.ebuild
new file mode 100644
index 000000000000..9a3ffc4f5379
--- /dev/null
+++ b/net-p2p/freenet/freenet-0.7_p1209.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-p2p/freenet/freenet-0.7_p1209.ebuild,v 1.1 2009/05/01 17:38:18 tommy Exp $
+
+EAPI="1"
+DATE=20090413
+
+EGIT_REPO_URI="git://github.com/freenet/fred-official.git"
+EGIT_PROJECT="freenet/fred-official"
+EGIT_TREE="81cfd0f6d7b13b8aabef3cd5d1bc65c0fc9da3c7"
+
+inherit eutils git java-pkg-2 java-ant-2 multilib
+
+DESCRIPTION="An encrypted network without censorship"
+HOMEPAGE="http://www.freenetproject.org/"
+SRC_URI="mirror://gentoo/seednodes-${DATE}.fref"
+
+
+LICENSE="as-is GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="freemail"
+
+CDEPEND="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/ant-core
+	dev-java/lzma
+	dev-java/lzmajio
+	dev-java/mersennetwister"
+DEPEND=">=virtual/jdk-1.5
+	${CDEPEND}"
+RDEPEND=">=virtual/jre-1.5
+	net-libs/nativebiginteger
+	${CDEPEND}"
+PDEPEND="net-libs/NativeThread
+	freemail? ( dev-java/bcprov )"
+
+EANT_BUILD_TARGET="dist"
+EANT_GENTOO_CLASSPATH="ant-core db4o-jdk5 db4o-jdk12 db4o-jdk11 db-je-3.3 fec java-service-wrapper lzma lzmajio mersennetwister"
+
+pkg_setup() {
+	java-pkg-2_pkg_setup
+	enewgroup freenet
+	enewuser freenet -1 -1 /var/freenet freenet
+}
+
+src_unpack() {
+	git_src_unpack
+	cd "${S}"
+	cp "${FILESDIR}"/wrapper1.conf freenet-wrapper.conf || die
+	cp "${FILESDIR}"/run.sh-20090501 run.sh || die
+	epatch "${FILESDIR}"/ext.patch
+	sed -i -e "s:=/usr/lib:=/usr/$(get_libdir):g" freenet-wrapper.conf || die "sed failed"
+	use freemail && echo "wrapper.java.classpath.12=/usr/share/bcprov/lib/bcprov.jar" >> freenet-wrapper.conf
+	java-ant_rewrite-classpath
+}
+
+src_install() {
+	java-pkg_newjar lib/freenet-cvs-snapshot.jar ${PN}.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 seednodes.fref run.sh || die
+	fperms +x /var/freenet/run.sh
+	dosym java-service-wrapper/libwrapper.so /usr/$(get_libdir)/libwrapper.so
+}
+
+pkg_postinst () {
+	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 [ -z has_version ]; then
+		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-9999.ebuild b/net-p2p/freenet/freenet-9999.ebuild
index 3d6ecbaf1b1c..98840ffcac14 100644
--- a/net-p2p/freenet/freenet-9999.ebuild
+++ b/net-p2p/freenet/freenet-9999.ebuild
@@ -1,16 +1,18 @@
 # Copyright 1999-2009 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-p2p/freenet/freenet-9999.ebuild,v 1.2 2009/02/27 18:26:21 tommy Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-p2p/freenet/freenet-9999.ebuild,v 1.3 2009/05/01 17:38:18 tommy Exp $
 
-EAPI=1
-DATE=20090226
-ESVN_REPO_URI="http://freenet.googlecode.com/svn/trunk/freenet"
-ESVN_OPTIONS="--ignore-externals"
-inherit eutils java-pkg-2 java-ant-2 multilib subversion
+EAPI="1"
+DATE=20090413
+
+EGIT_REPO_URI="git://github.com/freenet/fred-official.git"
+EGIT_PROJECT="freenet/fred-official"
+
+inherit eutils git java-pkg-2 java-ant-2 multilib
 
 DESCRIPTION="An encrypted network without censorship"
 HOMEPAGE="http://www.freenetproject.org/"
-SRC_URI="http://dev.gentooexperimental.org/~tommy/distfiles/seednodes-${DATE}.fref"
+SRC_URI="mirror://gentoo/seednodes-${DATE}.fref"
 
 LICENSE="as-is GPL-2"
 SLOT="0"
@@ -46,21 +48,10 @@ pkg_setup() {
 }
 
 src_unpack() {
-	subversion_src_unpack
-	subversion_wc_info
-	sed -i -e "s:@custom@:${ESVN_WC_REVISION}:g" src/freenet/node/Version.java || die "sed failed"
-	ESVN_REPO_URI="http://freenet.googlecode.com/svn/trunk/apps/new_installer/res/unix/"
-	ESVN_OPTIONS="-N"
-	subversion_src_unpack
+	git_src_unpack
 	cd "${S}"
 	cp "${FILESDIR}"/wrapper1.conf freenet-wrapper.conf || die
-	sed -i -e 's:./bin/wrapper:/usr/bin/wrapper:g' \
-	-e 's:./wrapper.conf:/etc/freenet-wrapper.conf:g' \
-	-e 's:PIDDIR=".":PIDDIR="/var/freenet/":g' \
-	-e 's:#RUN_AS_USER=:RUN_AS_USER=freenet:g' run.sh || die "sed failed"
-	head -n 133 run.sh >run1.sh
-	tail -n 452 run.sh >>run1.sh
-	mv run1.sh run.sh || die
+	cp "${FILESDIR}"/run.sh-20090501 run.sh || die
 	epatch "${FILESDIR}"/ext.patch
 	sed -i -e "s:=/usr/lib:=/usr/$(get_libdir):g" freenet-wrapper.conf || die "sed failed"
 	use freemail && echo "wrapper.java.classpath.12=/usr/share/bcprov/lib/bcprov.jar" >> freenet-wrapper.conf
@@ -84,12 +75,8 @@ src_install() {
 	dosym java-service-wrapper/libwrapper.so /usr/$(get_libdir)/libwrapper.so
 }
 
-pkg_preinst() {
-	java-pkg-2_pkg_preinst
-	subversion_pkg_preinst
-}
-
 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."
 }
-- 
cgit v1.2.3-65-gdbad