summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrandon Low <lostlogic@gentoo.org>2003-08-01 15:20:27 +0000
committerBrandon Low <lostlogic@gentoo.org>2003-08-01 15:20:27 +0000
commit6a32101321b052262759f61a49b570aa2a954768 (patch)
treef686595f47c16b83452f37736fc9798f126f9256 /net-p2p/freenet
parentAdd better logging / debugging support to the init script (diff)
downloadgentoo-2-6a32101321b052262759f61a49b570aa2a954768.tar.gz
gentoo-2-6a32101321b052262759f61a49b570aa2a954768.tar.bz2
gentoo-2-6a32101321b052262759f61a49b570aa2a954768.zip
Add better logging / debugging support to the init script
Diffstat (limited to 'net-p2p/freenet')
-rw-r--r--net-p2p/freenet/ChangeLog9
-rw-r--r--net-p2p/freenet/Manifest4
-rw-r--r--net-p2p/freenet/files/digest-freenet-0.5.2.1-r41
-rw-r--r--net-p2p/freenet/files/rc.freenet378
-rw-r--r--net-p2p/freenet/files/start-freenet.sh9
-rw-r--r--net-p2p/freenet/freenet-0.5.2.1-r4.ebuild140
6 files changed, 238 insertions, 3 deletions
diff --git a/net-p2p/freenet/ChangeLog b/net-p2p/freenet/ChangeLog
index f05b1100313e..6cad1b5a47e5 100644
--- a/net-p2p/freenet/ChangeLog
+++ b/net-p2p/freenet/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-p2p/freenet
# Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-p2p/freenet/ChangeLog,v 1.24 2003/07/30 16:08:10 lostlogic Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-p2p/freenet/ChangeLog,v 1.25 2003/08/01 15:20:22 lostlogic Exp $
+
+*freenet-0.5.2.1-r4 (01 Aug 2003)
+
+ 01 Aug 2003; Brandon Low <lostlogic@gentoo.org> freenet-0.5.2.1-r4.ebuild,
+ files/rc.freenet3, files/start-freenet.sh:
+ Add support for logging of stderr and stdout from the init script. Required
+ giving the freenet user a shell :-(
30 Jul 2003; Brandon Low <lostlogic@gentoo.org> freenet-0.5.2.1-r3.ebuild:
Minor change to where unstable snaps are grabbed from
diff --git a/net-p2p/freenet/Manifest b/net-p2p/freenet/Manifest
index 4d3c628e82ce..3f009951d1f0 100644
--- a/net-p2p/freenet/Manifest
+++ b/net-p2p/freenet/Manifest
@@ -1,6 +1,6 @@
MD5 b746e78ed522bfc79b80ac391237c244 freenet-0.5.2.1-r3.ebuild 4447
-MD5 8de7ddb1cd2ac349539252250020fd5f freenet-0.5.2.1-r4.ebuild 4492
-MD5 b4402108bf66d4231c0e1edf10bd6ee6 ChangeLog 5210
+MD5 676190186690e3065900e7d47976fd7a freenet-0.5.2.1-r4.ebuild 4529
+MD5 d2dd0c5cca0a530b8aeb5bcb8414c5f3 ChangeLog 5484
MD5 2102c07c25f233d96f3ee92f4d075704 files/rc.freenet2 1713
MD5 f42bcccd602282dd4fad406f9be9b829 files/rc.freenet3 2213
MD5 4ae956431fc61a4f535d971c2e908478 files/start-freenet.sh 330
diff --git a/net-p2p/freenet/files/digest-freenet-0.5.2.1-r4 b/net-p2p/freenet/files/digest-freenet-0.5.2.1-r4
new file mode 100644
index 000000000000..a9b4651be0e9
--- /dev/null
+++ b/net-p2p/freenet/files/digest-freenet-0.5.2.1-r4
@@ -0,0 +1 @@
+MD5 59270ee48d889e0be9cae584b67d2743 freenet-0.5.2.1.tar.gz 2118774
diff --git a/net-p2p/freenet/files/rc.freenet3 b/net-p2p/freenet/files/rc.freenet3
new file mode 100644
index 000000000000..66e557100fde
--- /dev/null
+++ b/net-p2p/freenet/files/rc.freenet3
@@ -0,0 +1,78 @@
+#!/sbin/runscript
+# Gentoo freenet init.d-script
+#
+# This script requires the companion script start-freenet.sh to do it's
+# job. This script is needed to facilitate full logging of freenet.
+#
+# Also requires the /etc/conf.d/freenet file to be configured correctly.
+#
+# Gentoo Maintainer: Brandon Low <lostlogic@gentoo.org>
+# Authors: Per Wigren <wigren@home.se>
+# Brandon Low <lostlogic@gentoo.org>
+#
+
+depend() {
+ need net
+}
+
+check_config() {
+ if [ -z "${FREENET_NICENESS}" ] || [ -z "${JAVA_OPTIONS}" ]; then
+ eerror "Please set all options in /etc/conf.d/freenet"
+ return 1
+ fi
+ if [ ! -f /etc/freenet.conf ]; then
+ eerror "To configure freenet, please run:"
+ eerror "# ebuild /usr/portage/net-p2p/freenet/freenet-[version].ebuild"
+ return 1
+ fi
+ return 0
+}
+
+start() {
+ JAVA="$(java-config --java)"
+ #The JVMs don't support NPTL yet, so this is necessary
+ export LD_ASSUME_KERNEL=2.4.1
+
+ check_config || return 1
+
+ ebegin "Starting Freenet now"
+ if [ ! -f /usr/lib/freenet/freenet-ext.jar ]; then
+ ewarn "freenet-ext.jar not found. It can be downloaded from"
+ ewarn "http://freenetproject.org/snapshots/freenet-ext.jar"
+ eend 1
+ return 1
+ fi
+ if [ ! -f /var/freenet/seednodes.ref ]; then
+ ewarn "seednodes.ref not found, you can download some seeds"
+ ewarn "from http://hawk.freenetproject.org/~freenet4/seednodes.ref"
+ eend 1
+ return 1
+ fi
+
+ CLASSPATH=/usr/lib/freenet/freenet.jar:/usr/lib/freenet/freenet-ext.jar:$CLASSPATH
+
+ # if Sun JDK set -server option as suggested on mailing list
+ if [ ! -z "`${JAVA} -help 2>&1 | grep '[-]server'`" ]; then
+ JAVA_ARGS="-server"
+ else
+ JAVA_ARGS=""
+ fi
+ JAVA_ARGS="${JAVA_ARGS} ${JAVA_OPTIONS}"
+ ulimit -n 4096
+ # Had to change off of using start-stop-daemon to start it,
+ # because of suckage. This allows us to log the stdout and
+ # stderr of freenet.
+ export JAVA JAVA_ARGS CLASSPATH
+ echo "XXXXXX" > /var/freenet/freenet.pid
+ nice -n ${FREENET_NICENESS} su freenet -- /usr/bin/start-freenet.sh \
+ > /var/freenet/freenet.pid
+ sleep 1
+ ps ax|grep "^ *$(cat /var/freenet/freenet.pid)" > /dev/null
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping Freenet"
+ start-stop-daemon --stop --quiet --pidfile /var/freenet/freenet.pid
+ eend $?
+}
diff --git a/net-p2p/freenet/files/start-freenet.sh b/net-p2p/freenet/files/start-freenet.sh
new file mode 100644
index 000000000000..47960415b723
--- /dev/null
+++ b/net-p2p/freenet/files/start-freenet.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+# This script is a companion script to the Gentoo freenet init script.
+# Logs freenet's stdout and stderr for debugging needs.
+#
+# Author: Brandon Low <lostlogic@gentoo.org>
+#
+${JAVA} ${JAVA_ARGS} freenet.node.Main -p /etc/freenet.conf \
+ > /var/freenet/freenet.stdout.log 2> /var/freenet/freenet.stderr.log &
+echo $!
diff --git a/net-p2p/freenet/freenet-0.5.2.1-r4.ebuild b/net-p2p/freenet/freenet-0.5.2.1-r4.ebuild
new file mode 100644
index 000000000000..0d9accb3e694
--- /dev/null
+++ b/net-p2p/freenet/freenet-0.5.2.1-r4.ebuild
@@ -0,0 +1,140 @@
+# Copyright 1999-2003 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-p2p/freenet/freenet-0.5.2.1-r4.ebuild,v 1.1 2003/08/01 15:20:22 lostlogic Exp $
+
+IUSE=""
+
+S=${WORKDIR}/${PN}
+
+DESCRIPTION="large-scale peer-to-peer network that creates a massive virtual information store open to anyone"
+SRC_URI="mirror://sourceforge/freenet/${P}.tar.gz"
+HOMEPAGE="http://freenetproject.org/"
+
+SLOT="0"
+KEYWORDS="~x86 ~ppc"
+LICENSE="GPL-2"
+
+DEPEND="virtual/jre
+ >=sys-apps/sed-4"
+
+src_install() {
+ doexe ${FILESDIR}/start-freenet.sh
+
+ dodoc README
+
+ dodir /var/freenet/stats /var/freenet/store
+ keepdir /var/freenet/stats /var/freenet/store
+
+ insinto /usr/lib/freenet
+ doins freenet.jar freenet-ext.jar
+
+ insinto /etc/conf.d
+ newins ${FILESDIR}/conf.freenet freenet
+
+ exeinto /etc/init.d
+ newexe ${FILESDIR}/rc.freenet3 freenet
+}
+
+pkg_preinst() {
+ if ! groupmod freenet > dev/null 2>&1; then
+ groupadd freenet 2> /dev/null || \
+ die "Failed to create freenet group"
+ fi
+ if ! usermod freenet > /dev/null 2>&1; then
+ useradd -g freenet -s /bin/bash -d /var/empty \
+ -c "freenet" freenet || \
+ die "Failed to create freenet user"
+ else
+ usermod -s /bin/bash freenet
+ fi
+}
+
+pkg_postinst() {
+ if [ -f /etc/freenet.conf ];then
+ chmod 664 /etc/freenet.conf
+ chown root:freenet /etc/freenet.conf
+ fi
+ chown -R freenet:freenet /var/freenet
+ einfo "Congratulations on merging freenet, please run"
+ einfo "# ebuild ${EBUILD} config"
+ einfo "to update freenet to the latest jars and seednodes."
+ einfo "This step is also necessary to configure freenet for"
+ einfo "first use. You may also run this step again at any time"
+ einfo "to get any updates available to freenet"
+ ewarn "Anyone who merged a freenet prior to 0.5.2.1-r3 will"
+ ewarn "need to change their logFile setting to /var/freenet/freenet.log"
+ ewarn "in order for freenet to continue to function"
+}
+
+pkg_postrm() {
+ if [ -z has_version ]; then
+ einfo "Please remove /var/freenet manually if you are't going to"
+ einfo "continue to use Freenet on this machine!"
+ fi
+}
+
+pkg_config() {
+ YN="X"
+ while [ "${YN}" != "y" -a "${YN}" != "Y" -a "${YN}" != "n" -a "${YN}" != "N" -a "${YN}" != "" ]; do
+ einfo "Would you like to update freenet files now? [Y/n]"
+ read YN
+ done
+ if [ -z "$(echo ${YN}|sed -e s/y//i)" ];then
+ einfo "Press U within 2 seconds to try an unstable snapshot"
+ read -n 1 -t 2 YN
+ if [ "${YN}" == "U" ] || [ "${YN}" == "u" ]; then
+ wget http://freenetproject.org/snapshots/freenet-unstable-latest.jar -O /usr/lib/freenet/freenet.jar
+ else
+ wget http://freenetproject.org/snapshots/freenet-latest.jar -O /usr/lib/freenet/freenet.jar
+ fi
+ wget http://freenetproject.org/snapshots/seednodes.ref -O /var/freenet/seednodes.ref
+ touch -d "1/1/1970" /var/freenet/seednodes.ref
+ chown freenet:freenet /var/freenet/seednodes.ref
+ fi
+
+ if [ -f /etc/freenet.conf ]; then
+ einfo "Press C within 2 seconds to force reconfiguration of freenet"
+ read -n 1 -t 2 YN
+ fi
+ if [ ! -f /etc/freenet.conf ] || [ "${YN}" == C ] || [ "${YN}" == "c" ]; then
+ einfo "Preparing to configure freenet..."
+ # Pre-determine IP address
+ IP="$(hostname -i)"
+ declare -i DEFLP
+ if [ "${RANDOM}" ]; then
+ DEFLP=${RANDOM}%30000+2000
+ else
+ echo "no random in shell, enter a FNP port number + <ENTER>"
+ read DEFLP
+ fi
+
+ cat << EOF > freenet.conf
+ipAddress=${IP}
+listenPort=${DEFLP}
+seedFile=/var/freenet/seednodes.ref
+logFile=/var/freenet/freenet.log
+storeFile=/var/freenet/store
+diagnosticsPath=/var/freenet/stats
+routingDir=/var/freenet
+nodeFile=/var/freenet/node
+EOF
+
+ CLASSPATH="/usr/lib/freenet/freenet.jar:/usr/lib/freenet/freenet-ext.jar:${CLASSPATH}"
+ $(java-config --java) freenet.node.Main --config
+ mv freenet.conf /etc
+ sed -i -e "s/^%\(ipAddress\)/\1/" \
+ -e "s/^%\(listenPort\)/\1/" \
+ -e "s/^%\(seedFile\)/\1/" \
+ -e "s/^%\(logFile\)/\1/" \
+ -e "s/^%\(storeFile\)/\1/" \
+ -e "s/^%\(diagnosticsPath\)/\1/" \
+ -e "s/^%\(routingDir\)/\1/" \
+ -e "s/^%\(nodeFile\)/\1/" /etc/freenet.conf
+ chmod 664 /etc/freenet.conf
+ chown root:freenet /etc/freenet.conf
+ fi
+ einfo "Congratulations, freenet is configured and up to date"
+ einfo "use '/etc/init.d/freenet start' to start it"
+ einfo "You can always re-update/reconfigure your freenet with:"
+ einfo "# ebuild ${EBUILD} config"
+}