From c72709443139371255ed8b4637fef8711aedaa5a Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sun, 18 Sep 2011 13:34:47 +0200 Subject: [PATCH] transmission: New package. --- config/rootfiles/common/initscripts | 1 + config/rootfiles/packages/transmission | 66 +++++++++++++++++++ config/transmission/settings.json | 62 ++++++++++++++++++ lfs/transmission | 89 ++++++++++++++++++++++++++ make.sh | 1 + src/initscripts/init.d/transmission | 45 +++++++++++++ src/paks/transmission/install.sh | 41 ++++++++++++ src/paks/transmission/uninstall.sh | 30 +++++++++ src/paks/transmission/update.sh | 27 ++++++++ 9 files changed, 362 insertions(+) create mode 100644 config/rootfiles/packages/transmission create mode 100644 config/transmission/settings.json create mode 100644 lfs/transmission create mode 100644 src/initscripts/init.d/transmission create mode 100644 src/paks/transmission/install.sh create mode 100644 src/paks/transmission/uninstall.sh create mode 100644 src/paks/transmission/update.sh diff --git a/config/rootfiles/common/initscripts b/config/rootfiles/common/initscripts index 9393aec50d..fe9cc319b2 100644 --- a/config/rootfiles/common/initscripts +++ b/config/rootfiles/common/initscripts @@ -118,6 +118,7 @@ etc/rc.d/init.d/teamspeak etc/rc.d/init.d/template #etc/rc.d/init.d/tftpd etc/rc.d/init.d/tmpfs +#etc/rc.d/init.d/transmission etc/rc.d/init.d/udev etc/rc.d/init.d/udev_retry etc/rc.d/init.d/upnpd diff --git a/config/rootfiles/packages/transmission b/config/rootfiles/packages/transmission new file mode 100644 index 0000000000..a7843418e8 --- /dev/null +++ b/config/rootfiles/packages/transmission @@ -0,0 +1,66 @@ +#etc/transmission +etc/transmission/settings.json +usr/bin/transmission-cli +usr/bin/transmission-create +usr/bin/transmission-daemon +usr/bin/transmission-edit +usr/bin/transmission-remote +usr/bin/transmission-show +#usr/share/man/man1/transmission-cli.1 +#usr/share/man/man1/transmission-create.1 +#usr/share/man/man1/transmission-daemon.1 +#usr/share/man/man1/transmission-edit.1 +#usr/share/man/man1/transmission-remote.1 +#usr/share/man/man1/transmission-show.1 +usr/share/transmission +#usr/share/transmission/web +#usr/share/transmission/web/LICENSE +#usr/share/transmission/web/images +#usr/share/transmission/web/images/buttons +#usr/share/transmission/web/images/buttons/cancel.png +#usr/share/transmission/web/images/buttons/file_priority_buttons.png +#usr/share/transmission/web/images/buttons/file_wanted_buttons.png +#usr/share/transmission/web/images/buttons/info_activity.png +#usr/share/transmission/web/images/buttons/info_files.png +#usr/share/transmission/web/images/buttons/info_general.png +#usr/share/transmission/web/images/buttons/info_peers.png +#usr/share/transmission/web/images/buttons/info_trackers.png +#usr/share/transmission/web/images/buttons/tab_backgrounds.png +#usr/share/transmission/web/images/buttons/tab_backgrounds_highlight.png +#usr/share/transmission/web/images/buttons/toolbar_buttons.png +#usr/share/transmission/web/images/buttons/torrent_buttons.png +#usr/share/transmission/web/images/favicon.ico +#usr/share/transmission/web/images/favicon.png +#usr/share/transmission/web/images/graphics +#usr/share/transmission/web/images/graphics/chrome.png +#usr/share/transmission/web/images/graphics/filter_bar.png +#usr/share/transmission/web/images/graphics/filter_icon.png +#usr/share/transmission/web/images/graphics/iphone_chrome.png +#usr/share/transmission/web/images/graphics/lock_icon.png +#usr/share/transmission/web/images/graphics/logo.png +#usr/share/transmission/web/images/graphics/transfer_arrows.png +#usr/share/transmission/web/images/graphics/wait20.gif +#usr/share/transmission/web/images/progress +#usr/share/transmission/web/images/progress/progress.png +#usr/share/transmission/web/images/webclip-icon.png +#usr/share/transmission/web/index.html +#usr/share/transmission/web/javascript +#usr/share/transmission/web/javascript/common.js +#usr/share/transmission/web/javascript/dialog.js +#usr/share/transmission/web/javascript/formatter.js +#usr/share/transmission/web/javascript/jquery +#usr/share/transmission/web/javascript/jquery/jquery.contextmenu.min.js +#usr/share/transmission/web/javascript/jquery/jquery.form.js +#usr/share/transmission/web/javascript/jquery/jquery.form.min.js +#usr/share/transmission/web/javascript/jquery/jquery.min.js +#usr/share/transmission/web/javascript/jquery/jquery.transmenu.min.js +#usr/share/transmission/web/javascript/jquery/json.min.js +#usr/share/transmission/web/javascript/menu.js +#usr/share/transmission/web/javascript/torrent.js +#usr/share/transmission/web/javascript/transmission.js +#usr/share/transmission/web/javascript/transmission.remote.js +#usr/share/transmission/web/stylesheets +#usr/share/transmission/web/stylesheets/common.css +#usr/share/transmission/web/stylesheets/ie6.css +#usr/share/transmission/web/stylesheets/ie7.css +#usr/share/transmission/web/stylesheets/iphone.css diff --git a/config/transmission/settings.json b/config/transmission/settings.json new file mode 100644 index 0000000000..a5dbdaf51a --- /dev/null +++ b/config/transmission/settings.json @@ -0,0 +1,62 @@ +{ + "alt-speed-down": 512, + "alt-speed-enabled": true, + "alt-speed-time-begin": 540, + "alt-speed-time-day": 127, + "alt-speed-time-enabled": false, + "alt-speed-time-end": 1020, + "alt-speed-up": 10, + "bind-address-ipv4": "0.0.0.0", + "bind-address-ipv6": "::", + "blocklist-enabled": false, + "cache-size-mb": 2, + "dht-enabled": true, + "download-dir": "/var/transmission/downloads", + "encryption": 1, + "idle-seeding-limit": 30, + "idle-seeding-limit-enabled": false, + "incomplete-dir": "/var/transmission/incomplete", + "incomplete-dir-enabled": true, + "lazy-bitfield-enabled": true, + "lpd-enabled": false, + "message-level": 2, + "open-file-limit": 32, + "peer-limit-global": 240, + "peer-limit-per-torrent": 60, + "peer-port": 6969, + "peer-port-random-high": 65535, + "peer-port-random-low": 49152, + "peer-port-random-on-start": false, + "peer-socket-tos": 0, + "pex-enabled": true, + "port-forwarding-enabled": true, + "preallocation": 1, + "proxy": "", + "proxy-auth-enabled": false, + "proxy-auth-password": "", + "proxy-auth-username": "", + "proxy-enabled": false, + "proxy-port": 80, + "proxy-type": 0, + "ratio-limit": 2, + "ratio-limit-enabled": false, + "rename-partial-files": true, + "rpc-authentication-required": false, + "rpc-bind-address": "0.0.0.0", + "rpc-enabled": true, + "rpc-password": "{b518093d8e833b34c139cea744e335ab70d827dcQSnFbsNU", + "rpc-port": 9091, + "rpc-username": "", + "rpc-whitelist": "127.0.0.1", + "rpc-whitelist-enabled": false, + "script-torrent-done-enabled": false, + "script-torrent-done-filename": "", + "speed-limit-down": 768, + "speed-limit-down-enabled": true, + "speed-limit-up": 20, + "speed-limit-up-enabled": true, + "start-added-torrents": true, + "trash-original-torrent-files": false, + "umask": 18, + "upload-slots-per-torrent": 14 +} diff --git a/lfs/transmission b/lfs/transmission new file mode 100644 index 0000000000..7ce4b83921 --- /dev/null +++ b/lfs/transmission @@ -0,0 +1,89 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2009 Michael Tremer & Christian Schmidt # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see . # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = 2.33 + +THISAPP = transmission-$(VER) +DL_FILE = $(THISAPP).tar.xz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) +PROG = transmission +PAK_VER = 1 + +DEPS = "" + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = 76df2b002e9e243f2e4607b40c019974 + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +dist: + @$(PAK) + +############################################################################### +# Downloading, checking, md5sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_MD5,$(objects)) : + @$(MD5) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && ./configure --prefix=/usr --disable-static + cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE) + cd $(DIR_APP) && make install + + # Install configuration files. + -mkdir -pv /etc/transmission + cp -vf $(DIR_SRC)/config/transmission/* /etc/transmission/ + chown -Rv nobody.nobody /etc/transmission + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index 0f2d1dc47d..58d481f0dc 100755 --- a/make.sh +++ b/make.sh @@ -700,6 +700,7 @@ buildipfire() { ipfiremake python-xattr ipfiremake intltool ipfiremake pakfire3-deps + ipfiremake transmission echo Build on $HOSTNAME > $BASEDIR/build/var/ipfire/firebuild cat /proc/version >> $BASEDIR/build/var/ipfire/firebuild echo >> $BASEDIR/build/var/ipfire/firebuild diff --git a/src/initscripts/init.d/transmission b/src/initscripts/init.d/transmission new file mode 100644 index 0000000000..2ad7d48bb4 --- /dev/null +++ b/src/initscripts/init.d/transmission @@ -0,0 +1,45 @@ +#!/bin/sh +######################################################################## +# Begin $rc_base/init.d/ +# +# Description : +# +# Authors : +# +# Version : 00.00 +# +# Notes : +# +######################################################################## + +. /etc/sysconfig/rc +. ${rc_functions} + +case "${1}" in + start) + boot_mesg "Starting transmission daemon..." + transmission-daemon -g /etc/transmission + ;; + + stop) + boot_mesg "Stopping transmission daemon..." + killall transmission-daemon + ;; + + restart) + ${0} stop + sleep 1 + ${0} start + ;; + + status) + statusproc transmission-daemon + ;; + + *) + echo "Usage: ${0} {start|stop|restart|status}" + exit 1 + ;; +esac + +# End $rc_base/init.d/ diff --git a/src/paks/transmission/install.sh b/src/paks/transmission/install.sh new file mode 100644 index 0000000000..c5907d453a --- /dev/null +++ b/src/paks/transmission/install.sh @@ -0,0 +1,41 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# IPFire is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2007 IPFire-Team . # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh + +extract_files + +# Create download directories if they do not yet exist. +mkdir -p /var/transmission/{downloads,incomplete} 2>/dev/null + +# Adjust permissions. +chown nobody.nobody /etc/transmission /var/transmission + +# Start the service. +/etc/init.d/transmission start + +ln -sf ../init.d/transmission /etc/rc.d/rc0.d/K20transmission +ln -sf ../init.d/transmission /etc/rc.d/rc3.d/S99transmission +ln -sf ../init.d/transmission /etc/rc.d/rc6.d/K20transmission + +exit 0 diff --git a/src/paks/transmission/uninstall.sh b/src/paks/transmission/uninstall.sh new file mode 100644 index 0000000000..5a2e7087ee --- /dev/null +++ b/src/paks/transmission/uninstall.sh @@ -0,0 +1,30 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# IPFire is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2007 IPFire-Team . # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh +remove_files + +# Remove all start links. +rm -rf /etc/rc.d/rc*.d/*transmission + +exit 0 diff --git a/src/paks/transmission/update.sh b/src/paks/transmission/update.sh new file mode 100644 index 0000000000..c6485bf0ae --- /dev/null +++ b/src/paks/transmission/update.sh @@ -0,0 +1,27 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# IPFire is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2007 IPFire-Team . # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh + +./uninstall.sh +./install.sh -- 2.39.2