transmission: import from packages, update to latest

Signed-off-by: Maxim Storchak <m.storchak@gmail.com>
This commit is contained in:
Maxim Storchak 2014-07-13 13:53:55 +03:00
parent 10d9b68c49
commit b459aad260
5 changed files with 327 additions and 0 deletions

122
net/transmission/Makefile Normal file
View File

@ -0,0 +1,122 @@
#
# Copyright (C) 2009-2014 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=transmission
PKG_VERSION:=2.84
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=http://download-origin.transmissionbt.com/files/ http://mirrors.m0k.org/transmission/files
PKG_MD5SUM:=411aec1c418c14f6765710d89743ae42
PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
define Package/transmission/template
SUBMENU:=BitTorrent
SECTION:=net
CATEGORY:=Network
TITLE:=A free, lightweight BitTorrent client
URL:=http://www.transmissionbt.com
MAINTAINER:=Cezary Jackiewicz <cezary@eko.one.pl>
endef
define Package/transmission-daemon
$(call Package/transmission/template)
DEPENDS:=+libcurl +libopenssl +libpthread +libevent2 +librt
MENU:=1
endef
define Package/transmission-cli
$(call Package/transmission/template)
DEPENDS:=transmission-daemon
endef
define Package/transmission-remote
$(call Package/transmission/template)
DEPENDS:=+libcurl +libopenssl +libpthread +libevent2 +librt
endef
define Package/transmission-web
$(call Package/transmission/template)
DEPENDS:=transmission-daemon
endef
define Package/transmission-daemon/description
Transmission is a simple BitTorrent client.
It features a very simple, intuitive interface
on top on an efficient, cross-platform back-end.
This package contains the daemon itself.
endef
define Package/transmission-cli/description
CLI utilities for transmission.
endef
define Package/transmission-remote/description
CLI remote interface for transmission.
endef
define Package/transmission-web/description
Webinterface resources for transmission.
endef
define Package/transmission-daemon/conffiles
/etc/config/transmission
endef
CONFIGURE_VARS += \
LIBEVENT_LIBS="$(STAGING_DIR)/usr/lib/libevent-2.0.so.5"
CONFIGURE_ARGS += \
--enable-daemon \
--enable-cli \
--without-gtk \
--enable-largefile \
--enable-lightweight
MAKE_FLAGS += \
CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE"
define Package/transmission-daemon/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/transmission-daemon $(1)/usr/bin/
$(INSTALL_DIR) $(1)/etc/init.d/
$(INSTALL_BIN) files/transmission.init $(1)/etc/init.d/transmission
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_CONF) files/transmission.config $(1)/etc/config/transmission
endef
define Package/transmission-cli/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/transmission-cli \
$(PKG_INSTALL_DIR)/usr/bin/transmission-create \
$(PKG_INSTALL_DIR)/usr/bin/transmission-edit \
$(PKG_INSTALL_DIR)/usr/bin/transmission-show \
$(1)/usr/bin/
endef
define Package/transmission-remote/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/transmission-remote $(1)/usr/bin/
endef
define Package/transmission-web/install
$(INSTALL_DIR) $(1)/usr/share/transmission
$(CP) $(PKG_INSTALL_DIR)/usr/share/transmission/web $(1)/usr/share/transmission/
endef
$(eval $(call BuildPackage,transmission-daemon))
$(eval $(call BuildPackage,transmission-cli))
$(eval $(call BuildPackage,transmission-remote))
$(eval $(call BuildPackage,transmission-web))

View File

@ -0,0 +1,71 @@
config transmission
option enabled 0
option config_dir '/tmp/transmission'
#option user 'nobody'
option alt_speed_down 50
option alt_speed_enabled false
option alt_speed_time_begin 540
option alt_speed_time_day 127
option alt_speed_time_enabled false
option alt_speed_time_end 1020
option alt_speed_up 50
option bind_address_ipv4 '0.0.0.0'
option bind_address_ipv6 '::'
option blocklist_enabled false
option blocklist_url ''
option cache_size_mb 2
option dht_enabled true
option download_dir '/tmp/transmission/done'
option download_queue_enabled true
option download_queue_size 4
option encryption 1
option idle_seeding_limit 30
option idle_seeding_limit_enabled false
option incomplete_dir '/tmp/transmission/incomplete'
option incomplete_dir_enabled false
option lazy_bitfield_enabled true
option lpd_enabled false
option message_level 1
option peer_congestion_algorithm ''
option peer_limit_global 240
option peer_limit_per_torrent 60
option peer_port 51413
option peer_port_random_high 65535
option peer_port_random_low 49152
option peer_port_random_on_start false
option peer_socket_tos 'default'
option pex_enabled true
option port_forwarding_enabled true
option preallocation 1
option prefetch_enabled true
option queue_stalled_enabled true
option queue_stalled_minutes 30
option ratio_limit 2.0000
option ratio_limit_enabled false
option rename_partial_files true
option rpc_authentication_required false
option rpc_bind_address '0.0.0.0'
option rpc_enabled true
option rpc_password ''
option rpc_port 9091
option rpc_url '/transmission/'
option rpc_username ''
option rpc_whitelist '127.0.0.1,192.168.1.*'
option rpc_whitelist_enabled true
option scrape_paused_torrents_enabled true
option script_torrent_done_enabled false
option script_torrent_done_filename ''
option seed_queue_enabled false
option seed_queue_size 10
option speed_limit_down 100
option speed_limit_down_enabled false
option speed_limit_up 20
option speed_limit_up_enabled false
option start_added_torrents true
option trash_original_torrent_files false
option umask 18
option upload_slots_per_torrent 14
option utp_enabled true
option scrape_paused_torrents true
option watch_dir_enabled false
option watch_dir ''

View File

@ -0,0 +1,111 @@
#!/bin/sh /etc/rc.common
# Copyright (C) 2010-2012 OpenWrt.org
START=99
LIST_SEP="
"
append_params() {
local p; local v; local s="$1"; shift
for p in $*; do
config_get v "$s" "$p"
IFS="$LIST_SEP"
for v in $v; do
[ -n "$v" ] && (
echo "\""$p"\": "$v"," | sed -e 's|_|-|g' >> $config_file
)
done
unset IFS
done
}
append_params_quotes() {
local p; local v; local s="$1"; shift
for p in $*; do
config_get v "$s" "$p"
IFS="$LIST_SEP"
for v in $v; do
[ -n "$v" ] && (
echo -n "\""$p | sed -e 's|/|\\/|g;s|_|-|g' >> $config_file; \
echo "\": \""$v"\"," >> $config_file
)
done
unset IFS
done
}
section_enabled() {
config_get_bool enabled "$1" 'enabled' 0
[ $enabled -gt 0 ]
}
start_instance() {
local s="$1"
local user
section_enabled "$section" || return 1
config_get config_dir "$s" 'config_dir' '/var/etc/transmission'
config_get user "$s" 'user'
config_file="$config_dir/settings.json"
[ -d $config_dir ] || {
mkdir -m 0755 -p "$config_dir"
touch $config_file
[ -z "$user" ] || chown -R $user $config_dir
}
echo "{" > $config_file
append_params "$s" \
alt_speed_down alt_speed_enabled alt_speed_time_begin alt_speed_time_day \
alt_speed_time_enabled alt_speed_time_end alt_speed_up blocklist_enabled \
cache_size_mb download_queue_enabled download_queue_size \
dht_enabled encryption idle_seeding_limit idle_seeding_limit_enabled \
incomplete_dir_enabled lazy_bitfield_enabled lpd_enabled message_level \
peer_limit_global peer_limit_per_torrent peer_port \
peer_port_random_high peer_port_random_low peer_port_random_on_start \
pex_enabled port_forwarding_enabled preallocation prefetch_enabled \
ratio_limit ratio_limit_enabled rename_partial_files rpc_authentication_required \
rpc_enabled rpc_port rpc_whitelist_enabled queue_stalled_enabled \
queue_stalled_minutes scrape_paused_torrents_enabled script_torrent_done_enabled \
seed_queue_enabled seed_queue_size \
speed_limit_down speed_limit_down_enabled speed_limit_up \
speed_limit_up_enabled start_added_torrents trash_original_torrent_files \
umask upload_slots_per_torrent utp_enabled scrape_paused_torrents \
watch_dir_enabled
append_params_quotes "$s" \
blocklist_url bind_address_ipv4 bind_address_ipv6 download_dir incomplete_dir \
peer_congestion_algorithm peer_socket_tos rpc_bind_address rpc_password rpc_url \
rpc_username rpc_whitelist script_torrent_done_filename watch_dir
echo "\""invalid-key"\": false" >> $config_file
echo "}" >> $config_file
SERVICE_UID="$user" \
service_start /usr/bin/transmission-daemon -g $config_dir
}
stop_instance() {
local s="$1"
local user
section_enabled "$section" || return 1
config_get user "$s" 'user'
SERVICE_UID="$user" \
service_stop /usr/bin/transmission-daemon
}
start() {
config_load 'transmission'
config_foreach start_instance 'transmission'
}
stop() {
config_load 'transmission'
config_foreach stop_instance 'transmission'
}

View File

@ -0,0 +1,12 @@
--- a/libtransmission/fdlimit.c 2014-07-01 20:08:59.000000000 +0300
+++ b/libtransmission/fdlimit.c 2014-07-13 13:30:17.000000000 +0300
@@ -22,7 +22,8 @@
#include <fcntl.h>
#endif
-#ifdef HAVE_FALLOCATE64
+/* no need to define fallocate64 in glibc/eglibc case */
+#if defined(__UCLIBC__) && (HAVE_FALLOCATE64)
/* FIXME can't find the right #include voodoo to pick up the declaration.. */
extern int fallocate64 (int fd, int mode, uint64_t offset, uint64_t len);
#endif

View File

@ -0,0 +1,11 @@
--- a/configure.ac
+++ b/configure.ac
@@ -251,7 +251,7 @@
AC_LINK_IFELSE(
[AC_LANG_PROGRAM([#include <miniupnpc/miniupnpc.h>],
[struct UPNPDev dev;])],
- [upnp_version="unknown"],
+ [upnp_version="none"],
[upnp_version="none"]
)