From f8af0e6544939a549e9f1499b60494dbe2aa909c Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Wed, 5 May 2010 21:45:00 +0200 Subject: [PATCH] new package: - add transmission bittorent daemon --- packages/image/install | 3 ++ packages/network/transmission/build | 31 +++++++++++++ .../transmission/config/transmission.conf | 26 +++++++++++ .../transmission/init.d/43_transmission | 43 +++++++++++++++++++ packages/network/transmission/install | 24 +++++++++++ packages/network/transmission/url | 1 + projects/ION/options | 3 ++ projects/generic/options | 3 ++ projects/intel/options | 3 ++ 9 files changed, 137 insertions(+) create mode 100644 packages/network/transmission/build create mode 100644 packages/network/transmission/config/transmission.conf create mode 100644 packages/network/transmission/init.d/43_transmission create mode 100644 packages/network/transmission/install create mode 100644 packages/network/transmission/url diff --git a/packages/image/install b/packages/image/install index ef78007ecd..499c3f864a 100755 --- a/packages/image/install +++ b/packages/image/install @@ -67,6 +67,9 @@ case "$2" in # Network support [ "$NETWORK" = yes ] && $SCRIPTS/install network +# Transmission BitTorrent support + [ "$TRANSMISSION" = yes ] && $SCRIPTS/install transmission + # Graphic support [ ! "$DISPLAYSERVER" = no ] && $SCRIPTS/install $DISPLAYSERVER diff --git a/packages/network/transmission/build b/packages/network/transmission/build new file mode 100644 index 0000000000..bca83f05c9 --- /dev/null +++ b/packages/network/transmission/build @@ -0,0 +1,31 @@ +#!/bin/sh + +. config/options + +$SCRIPTS/build toolchain +$SCRIPTS/build zlib +$SCRIPTS/build openssl +$SCRIPTS/build curl + +cd $PKG_BUILD + +./configure --host=$TARGET_NAME \ + --build=$HOST_NAME \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --disable-debug \ + --disable-static \ + --enable-shared \ + --enable-largefile \ + --disable-gtk \ + --disable-libnotify \ + --disable-libappindicator \ + --disable-libcanberra \ + --disable-gconf2 \ + --disable-nls \ + --enable-cli \ + --disable-mac \ + --enable-daemon \ + +make diff --git a/packages/network/transmission/config/transmission.conf b/packages/network/transmission/config/transmission.conf new file mode 100644 index 0000000000..b42588e335 --- /dev/null +++ b/packages/network/transmission/config/transmission.conf @@ -0,0 +1,26 @@ +# Setup Transmission BitTorrent daemon + +# start transmission at boot ( yes / no ) + TRANSMISSION_START="no" + +# Allow RPC access to a comma-delimited whitelist of IP addresses. +# Wildcards can be specified in an address by using '*'. Default: +# "127.0.0.1" Example: "127.0.0.*,192.168.1.*" + TRANSMISSION_IP="127.0.0.1,192.168.0.*" + +# use authentification for the web frontend ( yes / no ) + TRANSMISSION_AUTH="yes" + +# username for logging to the webfrontend + TRANSMISSION_USER="openelec" + +# password for logging to the webfrontend + TRANSMISSION_PWD="openelec" + +# incoming dir for not completed files (relative to downloaddir / +# "none" for disabling incoming dir) + TRANSMISSION_INCDIR="incoming" + +# watch dir for .torrent files (relative to downloaddir / +# "none" for disabling watch dir) + TRANSMISSION_WATCHDIR="watch" diff --git a/packages/network/transmission/init.d/43_transmission b/packages/network/transmission/init.d/43_transmission new file mode 100644 index 0000000000..aa02d5def5 --- /dev/null +++ b/packages/network/transmission/init.d/43_transmission @@ -0,0 +1,43 @@ +# start transmission bt daemon +# +# runlevels: openelec, textmode + +[ -f /storage/.config/transmission.conf ] && . /storage/.config/transmission.conf || exit 0 + +( + if [ "$TRANSMISSION_START" = "yes" ]; then + + progress "Starting Transmission BT daemon" + + TRANSMISSION_ARG="$TRANSMISSION_ARG -w /storage/downloads" + TRANSMISSION_ARG="$TRANSMISSION_ARG -e /var/log/transmission.log" + TRANSMISSION_ARG="$TRANSMISSION_ARG -g /storage/.cache/transmission" + TRANSMISSION_ARG="$TRANSMISSION_ARG -a $TRANSMISSION_IP" + + if [ "$TRANSMISSION_AUTH" = "yes" ]; then + TRANSMISSION_ARG="$TRANSMISSION_ARG -t" + TRANSMISSION_ARG="$TRANSMISSION_ARG -u $TRANSMISSION_USER" + TRANSMISSION_ARG="$TRANSMISSION_ARG -v $TRANSMISSION_PWD" + else + TRANSMISSION_ARG="$TRANSMISSION_ARG -T" + fi + + if [ "$TRANSMISSION_INCDIR" = "none" ]; then + TRANSMISSION_ARG="$TRANSMISSION_ARG --no-incomplete-dir" + else + TRANSMISSION_ARG="$TRANSMISSION_ARG --incomplete-dir \ + /storage/downloads/$TRANSMISSION_INCDIR" + $IONICE mkdir -p /storage/downloads/$TRANSMISSION_INCDIR + fi + + if [ "$TRANSMISSION_WATCHDIR" = "none" ]; then + TRANSMISSION_ARG="$TRANSMISSION_ARG --no-watch-dir" + else + TRANSMISSION_ARG="$TRANSMISSION_ARG --watch-dir \ + /storage/downloads/$TRANSMISSION_WATCHDIR" + $IONICE mkdir -p /storage/downloads/$TRANSMISSION_WATCHDIR + fi + + transmission-daemon $TRANSMISSION_ARG + fi +)& \ No newline at end of file diff --git a/packages/network/transmission/install b/packages/network/transmission/install new file mode 100644 index 0000000000..03aaad243e --- /dev/null +++ b/packages/network/transmission/install @@ -0,0 +1,24 @@ +#!/bin/sh + +. config/options + +$SCRIPTS/build zlib +$SCRIPTS/build openssl +$SCRIPTS/build curl + +PKG_DIR=`find $PACKAGES -type d -name $1` + +mkdir -p $INSTALL/usr/sbin + cp $PKG_BUILD/daemon/transmission-daemon $INSTALL/usr/sbin + cp $PKG_BUILD/daemon/transmission-remote $INSTALL/usr/sbin + +mkdir -p $INSTALL/usr/bin + cp $PKG_BUILD/cli/transmissioncli $INSTALL/usr/bin + +mkdir -p $INSTALL/usr/share/transmission/web + cp -R $PKG_BUILD/web/* $INSTALL/usr/share/transmission/web + find $INSTALL/usr/share/transmission/web -name "Makefile*" -exec rm -rf {} ";" + rm -rf $INSTALL/usr/share/transmission/web/LICENSE + +mkdir -p $INSTALL/usr/config + cp $PKG_DIR/config/transmission.conf $INSTALL/usr/config \ No newline at end of file diff --git a/packages/network/transmission/url b/packages/network/transmission/url new file mode 100644 index 0000000000..3b77ff5833 --- /dev/null +++ b/packages/network/transmission/url @@ -0,0 +1 @@ +http://mirrors.m0k.org/transmission/files/transmission-1.93.tar.bz2 \ No newline at end of file diff --git a/projects/ION/options b/projects/ION/options index 90aa5c90fb..081c8cfc81 100644 --- a/projects/ION/options +++ b/projects/ION/options @@ -71,6 +71,9 @@ # build and install Samba Server (yes / no) SAMBA_SERVER="yes" +# build and install Transmission BitTorrent daemon (yes / no) + TRANSMISSION="yes" + # todo (need for vdr?) SERVICES="yes" diff --git a/projects/generic/options b/projects/generic/options index 9445078e59..9c32b7efbf 100644 --- a/projects/generic/options +++ b/projects/generic/options @@ -71,6 +71,9 @@ # build and install Samba Server (yes / no) SAMBA_SERVER="yes" +# build and install Transmission BitTorrent daemon (yes / no) + TRANSMISSION="yes" + # todo (need for vdr?) SERVICES="yes" diff --git a/projects/intel/options b/projects/intel/options index a2f9a43a21..ccba140b6f 100644 --- a/projects/intel/options +++ b/projects/intel/options @@ -71,6 +71,9 @@ # build and install Samba Server (yes / no) SAMBA_SERVER="yes" +# build and install Transmission BitTorrent daemon (yes / no) + TRANSMISSION="yes" + # todo (need for vdr?) SERVICES="yes"