Files
meta-openembedded/meta-oe/recipes-connectivity/transmission/transmission_git.bb
Leon Anavi 77c02587fe transmission: Upgrade 2.94 -> 3.00
Upgrade to release 3.00:

- Allow the RPC server to listen on an IPv6 address
- Change TR_CURL_SSL_VERIFY to TR_CURL_SSL_NO_VERIFY and enable
  verification by default
- Go back to using hash as base name for resume and torrent files
  (those stored in configuration directory)
- Handle "fields" argument in "session-get" RPC request; if
  "fields" array is present in arguments, only return session
  fields specified; otherwise return all the fields as before
- Limit the number of incorrect authentication attempts in
  embedded web server to 100 to prevent brute-force attacks
- Set idle seed limit range to 1..40320 (4 weeks tops) in all
  clients
- Add Peer ID for Xfplay, PicoTorrent, Free Download Manager,
  Folx, Baidu Netdisk torrent clients
- Announce INT64_MAX as size left if the value is unknown
  (helps with e.g. Amazon S3 trackers)
- Add TCP_FASTOPEN support (should result in slight speedup)
- Improve ToS handling on IPv6 connections
- Abort handshake if establishing DH shared secret fails (leads
  to crash)
- Don't switch trackers while announcing (leads to crash)
- Improve completion scripts execution and error handling; add
  support for .cmd and .bat files on Windows
- Maintain a "session ID" file (in temporary directory) to better
  detect whether session is local or remote; return the ID as
  part of "session-get" response
- Change torrent location even if no data move is needed
- Support CIDR-notated blocklists
- Update the resume file before running scripts
- Make multiscrape limits adaptive
- Add labels support to libtransmission and transmission-remote
- Parse session-id header case-insensitively
- Sanitize suspicious path components instead of rejecting them
- Load CA certs from system store on Windows / OpenSSL
- Add support for mbedtls (formely polarssl) and wolfssl (formely
  cyassl), LibreSSL
- Fix building against OpenSSL 1.1.0+
- Fix quota support for uClibc-ng 1.0.18+ and DragonFly BSD
- Fix a number of memory leaks (magnet loading, session shutdown,
  bencoded data parsing)
- Bump miniupnpc version to 2.0.20170509
- CMake-related improvements (Ninja generator, libappindicator,
  systemd, Solaris and macOS)
- Switch to submodules to manage (most of) third-party
  dependencies
- Fail installation on Windows if UCRT is not installed

License-Update: Bump copyright to 2020

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-10-19 22:23:23 -07:00

73 lines
2.7 KiB
BlitzBasic

DESCRIPTION = "Transmission is a fast, easy, and free BitTorrent client"
SECTION = "network"
HOMEPAGE = "https://transmissionbt.com/"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=73f535ddffcf2a0d3af4f381f84f9b33"
DEPENDS = "curl libevent gnutls openssl libtool intltool-native glib-2.0-native"
RDEPENDS_${PN}-web = "${PN}"
SRC_URI = " \
gitsm://github.com/transmission/transmission \
file://transmission-daemon \
"
# Transmission release 3.00
SRCREV = "bb6b5a062ee594dfd4b7a12a6b6e860c43849bfd"
PV = "3.00"
S = "${WORKDIR}/git"
inherit autotools gettext update-rc.d systemd mime-xdg
PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}"
PACKAGECONFIG[gtk] = " --with-gtk,--without-gtk,gtk+3,"
PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd,"
# Weak default values for transmission user and group
# Change them in bbappend if needed
TRANSMISSION_USER ??= "root"
TRANSMISSION_GROUP ??= "root"
# Configure aborts with:
# config.status: error: po/Makefile.in.in was not created by intltoolize.
B = "${S}"
do_configure_prepend() {
sed -i /AM_GLIB_GNU_GETTEXT/d ${S}/configure.ac
cd ${S}
./update-version-h.sh
intltoolize --copy --force --automake
}
do_install_append() {
if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
sed -i '/USERNAME=/c\USERNAME=${TRANSMISSION_USER}' ${WORKDIR}/transmission-daemon
install -d ${D}${sysconfdir}/init.d
install -m 0744 ${WORKDIR}/transmission-daemon ${D}${sysconfdir}/init.d/
chown ${TRANSMISSION_USER}:${TRANSMISSION_GROUP} ${D}${sysconfdir}/init.d/transmission-daemon
fi
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
sed -i '/User=/c\User=${TRANSMISSION_USER}' ${S}/daemon/transmission-daemon.service
install -d ${D}${systemd_unitdir}/system
install -m 0644 ${S}/daemon/transmission-daemon.service ${D}${systemd_unitdir}/system
fi
}
PACKAGES += "${PN}-gtk ${PN}-client ${PN}-web"
FILES_${PN}-client = "${bindir}/transmission-remote ${bindir}/transmission-cli ${bindir}/transmission-create ${bindir}/transmission-show ${bindir}/transmission-edit"
FILES_${PN}-gtk += "${bindir}/transmission-gtk ${datadir}/icons ${datadir}/applications ${datadir}/pixmaps"
FILES_${PN}-web = "${datadir}/transmission/web"
FILES_${PN} = "${bindir}/transmission-daemon ${sysconfdir}/init.d/transmission-daemon ${datadir}/appdata"
SYSTEMD_SERVICE_${PN} = "transmission-daemon.service"
# Script transmission-daemon following the guidelines in:
# https://trac.transmissionbt.com/wiki/Scripts/initd
INITSCRIPT_PACKAGES = "transmission-daemon"
INITSCRIPT_NAME = "transmission-daemon"
INITSCRIPT_PARAMS = "start 99 5 3 2 . stop 10 0 1 6 ."