From c48700216cce3a8492be966651884a782364bd5a Mon Sep 17 00:00:00 2001 From: sponge Date: Sun, 1 Feb 2009 07:51:38 +0000 Subject: [PATCH] SlackBuild! --- Slackware/README | 21 +++++++ Slackware/i2p-base/doinst.sh | 45 ++++++++++++++ Slackware/i2p-base/i2p-base.SlackBuild | 42 +++++++++++++ Slackware/i2p-base/rc.i2p_def | 27 ++++++++ Slackware/i2p-base/readme.txt | 10 +++ Slackware/i2p-base/slack-desc | 19 ++++++ Slackware/i2p-base/slack-required | 1 + Slackware/i2p/blocklist.txt | 11 ++++ Slackware/i2p/doinst.sh | 39 ++++++++++++ Slackware/i2p/i2p.SlackBuild | 85 ++++++++++++++++++++++++++ Slackware/i2p/readme.txt | 41 +++++++++++++ Slackware/i2p/slack-desc | 21 +++++++ Slackware/i2p/slack-required | 2 + history.txt | 3 + 14 files changed, 367 insertions(+) create mode 100644 Slackware/README create mode 100644 Slackware/i2p-base/doinst.sh create mode 100644 Slackware/i2p-base/i2p-base.SlackBuild create mode 100644 Slackware/i2p-base/rc.i2p_def create mode 100644 Slackware/i2p-base/readme.txt create mode 100644 Slackware/i2p-base/slack-desc create mode 100644 Slackware/i2p-base/slack-required create mode 100644 Slackware/i2p/blocklist.txt create mode 100644 Slackware/i2p/doinst.sh create mode 100755 Slackware/i2p/i2p.SlackBuild create mode 100644 Slackware/i2p/readme.txt create mode 100644 Slackware/i2p/slack-desc create mode 100644 Slackware/i2p/slack-required diff --git a/Slackware/README b/Slackware/README new file mode 100644 index 000000000..9228a0f5a --- /dev/null +++ b/Slackware/README @@ -0,0 +1,21 @@ +You will need atleast monotone > = 0.41 to get the most recent build source +and connect it to an already running i2p router. + +OR: + +You may download the actual source from +http://mirror.i2p2.de/i2psource_0.7.tar.bz2 for the "stable" releases. + + +You will need to follwing tools to build the i2p and i2p-base packages: + +bash >= 3.1.017 +jre >= 6u11 +jdk >= 6u11 + +apache-ant >= 1.7.1 +perl >= 5.10.0 +python >= 2.5.2 + +Reccomended: +monotone >= 0.41 (from pkgs.dr.ea.ms) diff --git a/Slackware/i2p-base/doinst.sh b/Slackware/i2p-base/doinst.sh new file mode 100644 index 000000000..087ee112c --- /dev/null +++ b/Slackware/i2p-base/doinst.sh @@ -0,0 +1,45 @@ +#!/bin/sh +touch /etc/rc.d/rc.local +touch /etc/rc.d/rc.local_shutdown + +I2PRCA=`grep -c /etc/rc.d/rc.local -e i2p` +I2PRCB=`grep -c /etc/rc.d/rc.local_shutdown -e i2p` + +echo + +if [ $I2PRCA -eq 0 ] ; then + echo "if [ -x /etc/rc.d/rc.i2p ] ; then" >> /etc/rc.d/rc.local + echo " sh /etc/rc.d/rc.i2p start" >> /etc/rc.d/rc.local + echo "fi" >> /etc/rc.d/rc.local + echo "/etc/rc.d/rc.local modified." +else + echo "/etc/rc.d/rc.local looks OK" +fi + +if [ $I2PRCB -eq 0 ] ; then + echo "if [ -x /etc/rc.d/rc.i2p ] ; then" >> /etc/rc.d/rc.local_shutdown + echo " sh /etc/rc.d/rc.i2p stop" >> /etc/rc.d/rc.local_shutdown + echo "fi" >> /etc/rc.d/rc.local_shutdown + echo "/etc/rc.d/rc.local_shutdown modified." +else + echo "/etc/rc.d/rc.local_shutdown looks OK" +fi + +if [ -f /etc/rc.d/rc.i2p ] ; then + if [ -x /etc/rc.d/rc.i2p ] ; then + chmod +x /etc/rc.d/rc.i2p.new + fi + echo + echo "It apears that you already have /etc/rc.d/rc.i2p" + echo "You may wish to replace it with /etc/rc.d/rc.i2p.new" + echo +else + mv /etc/rc.d/rc.i2p.new /etc/rc.d/rc.i2p + echo + echo "Installation finished. The i2p start/stop script has been" + echo "installed on /etc/rc.d directory. You should chmod +x" + echo '/etc/rc.d/rc.i2p to start it on boot.' + echo +fi + +exit diff --git a/Slackware/i2p-base/i2p-base.SlackBuild b/Slackware/i2p-base/i2p-base.SlackBuild new file mode 100644 index 000000000..d91d87263 --- /dev/null +++ b/Slackware/i2p-base/i2p-base.SlackBuild @@ -0,0 +1,42 @@ +#!/bin/sh +# Heavily based on the Slackware 12.1 SlackBuild +# Slackware build script for i2p + +# PLEASE READ THIS: +# Probably you will never have to update i2p packages with upgradepkg, +# just because i2p have an auto-update function. +# How to start i2p: +# After installpkg command, doinst.sh will execute a postinstallation script +# needed by i2p. After that you have to chmod +x /etc/rc.d/rc.i2p and start +# i2p service with /etc/rc.d/rc.i2p start. +# Now tell your browser to user this proxy: localhost on port 4444 and open +# this page: http://localhost:7657/index.jsp +# Here you can configure i2p, watch network status and navigate anonimously. +# It's suggested to subscribe to various dns host, like i2host.i2p +# For any additional information, visit i2host.i2p and forum.i2p + +CWD=$(pwd) +TMP=/tmp +PKG=/$TMP/package-base-i2p +rm -rf $PKG +mkdir -p $PKG +# put here installation dir, without first and last / +# es: usr/local +NAME=i2p-base +VERSION=0.0.1 +BUILD=1sim +ARCH=noarch +INSTALL_DIR=opt +cd $PKG +chown -R root:root . + +mkdir -p $PKG/etc/rc.d +mkdir -p $PKG/install +sed "s|directory|/$INSTALL_DIR/i2p/i2prouter|g" $CWD/rc.i2p_def > $PKG/etc/rc.d/rc.i2p.new +chmod 644 $PKG/etc/rc.d/rc.i2p.new +sed "s|directory|/$INSTALL_DIR/i2p/|g" $CWD/doinst.sh > $PKG/install/doinst.sh +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +requiredbuilder -v -y -s $CWD $PKG +makepkg -l y -c n $CWD/${NAME}-$VERSION-$ARCH-$BUILD.tgz diff --git a/Slackware/i2p-base/rc.i2p_def b/Slackware/i2p-base/rc.i2p_def new file mode 100644 index 000000000..268968042 --- /dev/null +++ b/Slackware/i2p-base/rc.i2p_def @@ -0,0 +1,27 @@ +#!/bin/sh +# Start/stop i2p service. + +i2p_start() { + /bin/su - -c "( export PATH=\"$PATH:/usr/lib/java/bin:/usr/lib/java/jre/bin\"; directory start )" +} + +i2p_stop() { + /bin/su - -c "( export PATH=\"$PATH:/usr/lib/java/bin:/usr/lib/java/jre/bin\"; directory stop )" +} + +case "$1" in +'start') + i2p_start + ;; +'stop') + i2p_stop + ;; +'restart') + i2p_stop + i2p_start + ;; +*) + echo "usage $0 start|stop|restart" + ;; +esac + diff --git a/Slackware/i2p-base/readme.txt b/Slackware/i2p-base/readme.txt new file mode 100644 index 000000000..6575387f7 --- /dev/null +++ b/Slackware/i2p-base/readme.txt @@ -0,0 +1,10 @@ +An rc file called rc.i2p has been placed into the /etc/rc.d directory. +If you want to change installation dir, change the variable INSTALL_DIR +on base-i2p.SlackBuild and rebuild the package. You also will need to do the +same for the i2p package. + +The install script will insert everything needed into /etc/rc.d/rc.local and +into /etc/rc.d/rc.local_shutdown automatically. + +If you want to start I2P at boot you have to chmod +x /etc/rc.d/rc.i2p + diff --git a/Slackware/i2p-base/slack-desc b/Slackware/i2p-base/slack-desc new file mode 100644 index 000000000..4e94753a9 --- /dev/null +++ b/Slackware/i2p-base/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +base-i2p: base-i2p (I2P anonymizing network base config files) +base-i2p: +base-i2p: I2P is an anonymizing network, offering a simple layer that +base-i2p: identity-sensitive applications can use to securely communicate. All +base-i2p: data is wrapped with several layers of encryption, and the network is +base-i2p: both distributed and dynamic, with no trusted parties. +base-i2p: Many applications are available that interface with I2P, including +base-i2p: mail, peer-peer file sharing, IRC chat, and others. +base-i2p: +base-i2p: This package provides the startup files. +base-i2p: diff --git a/Slackware/i2p-base/slack-required b/Slackware/i2p-base/slack-required new file mode 100644 index 000000000..7a7220e75 --- /dev/null +++ b/Slackware/i2p-base/slack-required @@ -0,0 +1 @@ +bash >= 3.1.017 diff --git a/Slackware/i2p/blocklist.txt b/Slackware/i2p/blocklist.txt new file mode 100644 index 000000000..1ac6548e9 --- /dev/null +++ b/Slackware/i2p/blocklist.txt @@ -0,0 +1,11 @@ +# To enable set router.blocklist.enable=true on configadvanced.jsp and restart. +# Add additional entries as desired, sorting not required. +# Warning - a large list will increase memory usage. +# Please do not block too broadly, it will segment and harm the network. +# Also you must update this list yourself, it is not overwritten by the update process. +# For example, http://www.bluetack.co.uk/config/splist.zip is very broad and includes Tor users, it is not recommended. +# A more reasonable list: http://www.bluetack.co.uk/config/level1.zip +# +Fucktard Floodfill Flooder:159.226.40.7 +Friend of the Fucktard Floodfill Flooder:159.226.40.3 +Fucktard Class O Unreachable:Do51O6vNvAYQRCK-~REhrblGHHOKGwH4RkpGp75nnNs= diff --git a/Slackware/i2p/doinst.sh b/Slackware/i2p/doinst.sh new file mode 100644 index 000000000..7493c7010 --- /dev/null +++ b/Slackware/i2p/doinst.sh @@ -0,0 +1,39 @@ +#!/bin/sh + +INST_DIR=directory + +( cd install + +echo +for i in *.config ; { + if [ -f $INST_DIR/$i ] ; then + echo "Please check $i, as there is a new version." + cp $i $INST_DIR/$i.new + else + cp $i $INST_DIR/$i + fi +} + +) +echo +echo "FINISHING I2P INSTALLATION. PLEASE WAIT." + +cd $INST_DIR +sh postinstall.sh || ( + echo "ERROR: failed execution of postinstall.sh. Please" + echo "cd into i2p installation directory and run " + echo "postinstall.sh manually with ./postinstall.sh" + echo "It is also reccomended to set router.blocklist.enable=true " + echo "in the router.config file." + exit 1 +) + +sleep 10 + +sh i2prouter stop || exit 1 + +echo +echo "Installation finished." +echo + +exit diff --git a/Slackware/i2p/i2p.SlackBuild b/Slackware/i2p/i2p.SlackBuild new file mode 100755 index 000000000..ed7641768 --- /dev/null +++ b/Slackware/i2p/i2p.SlackBuild @@ -0,0 +1,85 @@ +#!/bin/sh +# Heavily based on the Slackware 12.1 SlackBuild +# Slackware build script for i2p + +# PLEASE READ THIS: +# Probably you will never have to update i2p packages with upgradepkg, +# just because i2p have an auto-update function. +# How to start i2p: +# After installpkg command, doinst.sh will execute a postinstallation script +# needed by i2p. After that you have to chmod +x /etc/rc.d/rc.i2p and start +# i2p service with /etc/rc.d/rc.i2p start. +# Now tell your browser to user this proxy: localhost on port 4444 and open +# this page: http://localhost:7657/index.jsp +# Here you can configure i2p, watch network status and navigate anonimously. +# It's suggested to subscribe to various dns host, like i2host.i2p +# For any additional information, visit i2host.i2p and forum.i2p + +BUILD=1sim + +# put here installation dir, without first and last / +# es: usr/local +INSTALL_DIR=opt +NAME=i2p +ARCH=noarch + + +# +# This mess is here due to the totally moronic way i2p does versioning. +# We correct it here. +# +ROUTER=$(echo -ne "-")$(cat ../../router/java/src/net/i2p/router/RouterVersion.java | grep -e "public final static long BUILD" | cut -f2 -d"=" | cut -f1 -d";" | sed -re "s/ //g") +if [ "$ROUTER" == "-" ] ; then + ROUTER="-0" +fi + +# +# That was the easy one, now for the tough one. +# + +CORE=$(cat ../../core/java/src/net/i2p/CoreVersion.java | grep -e "public final static String VERSION" | cut -f2 -d'"' | sed -re "s/ //g") +CORE1=$(echo -n $CORE.x.x | sed -re "s/(.*)\.(.*)\.(.*)\.(.*)/\1/") +CORE2=$(echo -n $CORE.x | sed -re "s/(.*)\.(.*)\.(.*)\.(.*)/\1/") + +if [ "$CORE.x.x" == "$CORE1" ] ; then + CORE=$(echo -ne $CORE".0.0") +fi +if [ "$CORE.x" == "$CORE2" ] ; then + CORE=$(echo -ne $CORE".0") +fi + +VERSION=$(echo $CORE$ROUTER) +# +# Whew! +# OK, let's build i2p +# + +CWD=$(pwd) +TMP=/tmp + +PKG=$TMP/package-i2p +rm -rf $PKG +mkdir -p $PKG + +cd $CWD/../../ + +ant distclean +ant dist + + +tar xjvf i2p.tar.bz2 -C $TMP + +cd $TMP/i2p +chown -R root:root . + +mkdir -p $PKG/$INSTALL_DIR/ +cp -a ../i2p $PKG/$INSTALL_DIR/ + +mkdir -p $PKG/install +mv $PKG/$INSTALL_DIR/i2p/blocklist.txt $PKG/$INSTALL_DIR/i2p/blocklist.txt.new +mv $PKG/$INSTALL_DIR/i2p/*.config $PKG/install +sed "s|directory|/$INSTALL_DIR/i2p/|g" $CWD/doinst.sh > $PKG/install/doinst.sh +cat $CWD/slack-desc > $PKG/install/slack-desc +cd $PKG +requiredbuilder -v -y -s $CWD $PKG +makepkg -l y -c n $CWD/${NAME}-$VERSION-$ARCH-$BUILD.tgz diff --git a/Slackware/i2p/readme.txt b/Slackware/i2p/readme.txt new file mode 100644 index 000000000..7ad3f1bec --- /dev/null +++ b/Slackware/i2p/readme.txt @@ -0,0 +1,41 @@ +Building: +The i2p package will be installed in /opt/i2p + +If you want to change installation dir, change the variable INSTALL_DIR +on i2p.SlackBuild and rebuild the package. You will also need to do the same +in the base-i2p package. + +Installation and Upgrade: +Probably you will never have to update i2p packages with upgradepkg, +just because I2P has an auto-update function. However using upgradepkg +lowers the demand on the I2P network as a whole, and is by far faster. + +After installpkg command, doinst.sh will execute a postinstallation script +needed by I2P. Be sure to also install the base-i2p package. + +Optional: + +chmod +x /etc/rc.d/rc.i2p only if you want it to start on boot and stop on +shutdown. + +How to start I2P: + +Start I2P service with- +sh /etc/rc.d/rc.i2p start + +Now tell your browser to user this proxy: localhost on port 4444 and open +this page: http://localhost:7657/index.jsp +Here you can configure I2P, watch network status and navigate anonimously. +It's suggested to subscribe to various addressbook hosts, see the faqs on +http://www.i2p2.i2p/ or http://www.i2p2.de/ + +To stop I2P: + /etc/rc.d/rc.i2p stop + + +For any additional information: + +Within I2P- http://www.i2p2.i2p/, http://forum.i2p/, http://zzz.i2p + +Internet (not reccomended!) - http://www.i2p2.de/, http://forum.i2p2.de/ + diff --git a/Slackware/i2p/slack-desc b/Slackware/i2p/slack-desc new file mode 100644 index 000000000..7915f5cef --- /dev/null +++ b/Slackware/i2p/slack-desc @@ -0,0 +1,21 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler----------------------------------------------------------| +i2p: i2p (an anonymizing network) +i2p: +i2p: I2P is an anonymizing network, offering a simple layer that +i2p: identity-sensitive applications can use to securely communicate. All +i2p: data is wrapped with several layers of encryption, and the network is +i2p: both distributed and dynamic, with no trusted parties. +i2p: Many applications are available that interface with I2P, including +i2p: mail, peer-peer file sharing, IRC chat, and others. +i2p: +i2p: For more information, see: http://www.i2p2.de/ +i2p: +i2p: This package requires i2p-base. +i2p: diff --git a/Slackware/i2p/slack-required b/Slackware/i2p/slack-required new file mode 100644 index 000000000..3dcf36221 --- /dev/null +++ b/Slackware/i2p/slack-required @@ -0,0 +1,2 @@ +glibc >= 2.7-i486-17 | glibc-solibs >= 2.7-i486-17 +perl >= 5.10.0-i486-1 diff --git a/history.txt b/history.txt index f91c455ee..91c0abf15 100644 --- a/history.txt +++ b/history.txt @@ -1,3 +1,6 @@ +2009-02-01 sponge + * Slackbuild files... if we can have them for Debian, why not :-) + 2009-02-01 zzz * Convert some inner classes to static (findbugs) * DataHelper.readLong(): Was returning -1 on EOF instead