diff options
author | Brandon Low <lostlogic@gentoo.org> | 2003-08-01 15:20:27 +0000 |
---|---|---|
committer | Brandon Low <lostlogic@gentoo.org> | 2003-08-01 15:20:27 +0000 |
commit | 70725f8e720ba5950b1b2fc7a503707c4f284c08 (patch) | |
tree | a4c36b2af313b8bea5c65d142e7a1ac648c23e1a /net-p2p/freenet | |
parent | Add better logging / debugging support to the init script (diff) | |
download | historical-70725f8e720ba5950b1b2fc7a503707c4f284c08.tar.gz historical-70725f8e720ba5950b1b2fc7a503707c4f284c08.tar.bz2 historical-70725f8e720ba5950b1b2fc7a503707c4f284c08.zip |
Add better logging / debugging support to the init script
Diffstat (limited to 'net-p2p/freenet')
-rw-r--r-- | net-p2p/freenet/Manifest | 4 | ||||
-rw-r--r-- | net-p2p/freenet/files/digest-freenet-0.5.2.1-r4 | 1 | ||||
-rw-r--r-- | net-p2p/freenet/files/rc.freenet3 | 78 | ||||
-rw-r--r-- | net-p2p/freenet/files/start-freenet.sh | 9 | ||||
-rw-r--r-- | net-p2p/freenet/freenet-0.5.2.1-r4.ebuild | 140 |
5 files changed, 230 insertions, 2 deletions
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" +} |