Signed-off-by: Maxim Storchak <m.storchak@gmail.com>lilik-openwrt-22.03
@ -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)) |
@ -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 '' |
@ -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' | |||
} |
@ -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 |
@ -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"] | |||
) | |||