diff options
-rw-r--r-- | abs/extra/transmission/PKGBUILD | 102 | ||||
-rw-r--r-- | abs/extra/transmission/transmission-2.90-libsystemd.patch | 13 | ||||
-rw-r--r-- | abs/extra/transmission/transmission-2.92-openssl-1.1.0.patch | 261 | ||||
-rw-r--r-- | abs/extra/transmission/transmission-cli.install | 17 | ||||
-rw-r--r-- | abs/extra/transmission/transmission-cli.sysusers | 1 | ||||
-rw-r--r-- | abs/extra/transmission/transmission-cli.tmpfiles | 1 | ||||
-rw-r--r-- | abs/extra/transmission/transmission-gtk.install | 12 | ||||
-rw-r--r-- | abs/extra/transmission/transmission-qt.install | 11 | ||||
-rw-r--r-- | abs/extra/transmission/transmission.systemd | 14 | ||||
-rw-r--r-- | abs/extra/transmission/transmission.tmpfiles | 1 | ||||
-rw-r--r-- | abs/extra/transmission/transmissiond | 46 | ||||
-rw-r--r-- | abs/extra/transmission/transmissiond.conf | 4 |
12 files changed, 336 insertions, 147 deletions
diff --git a/abs/extra/transmission/PKGBUILD b/abs/extra/transmission/PKGBUILD index 77d3403..cec5033 100644 --- a/abs/extra/transmission/PKGBUILD +++ b/abs/extra/transmission/PKGBUILD @@ -1,78 +1,96 @@ -# $Id: PKGBUILD 170069 2012-10-31 13:47:37Z ibiru $ +# $Id$ +# Maintainer : Tom Gundersen <teg@jklm.no> # Maintainer : Ionut Biru <ibiru@archlinux.org> pkgbase=transmission -pkgname=('transmission-cli' 'transmission-gtk' 'transmission-qt') -pkgver=2.73 -pkgrel=2 -arch=('i686' 'x86_64') +pkgname=(transmission-cli transmission-gtk transmission-qt) +pkgver=2.92 +pkgrel=7 +arch=(i686 x86_64) url="http://www.transmissionbt.com/" -license=('MIT') -makedepends=('gtk3' 'intltool' 'curl' 'qt' 'libevent') -source=(http://mirrors.m0k.org/transmission/files/$pkgbase-$pkgver.tar.xz - transmissiond transmissiond.conf transmission.systemd - transmission.tmpfiles) +license=(MIT) +makedepends=(gtk3 intltool curl qt5-base libevent systemd qt5-tools) +source=(https://github.com/transmission/transmission-releases/raw/master/transmission-${pkgver}.tar.xz + transmission-2.90-libsystemd.patch + transmission-2.92-openssl-1.1.0.patch + transmission-cli.sysusers + transmission-cli.tmpfiles) +sha256sums=('3a8d045c306ad9acb7bf81126939b9594553a388482efa0ec1bfb67b22acd35f' + '9f8f4bb532e0e46776dbd90e75557364f495ec95896ee35900ea222d69bda411' + 'efd41985f60c977a95744ee44dfbb628424765caee83c6af3e29a5b1cbfadc98' + '641310fb0590d40e00bea1b5b9c843953ab78edf019109f276be9c6a7bdaf5b2' + '1266032bb07e47d6bcdc7dabd74df2557cc466c33bf983a5881316a4cc098451') -build() { +prepare() { cd $pkgbase-$pkgver + patch -p1 -i "$srcdir/transmission-2.90-libsystemd.patch" + patch -p1 -i "$srcdir/transmission-2.92-openssl-1.1.0.patch" + + rm -f m4/glib-gettext.m4 + autoreconf -fi + sed -i '/^Icon=/ s/$/-qt/' qt/transmission-qt.desktop +} + +build() { + cd $pkgbase-$pkgver ./configure --prefix=/usr make - pushd qt - qmake qtr.pro + + cd qt + qmake qtr.pro \ + DEFINES+=TRANSLATIONS_DIR=\\\\\\\"/usr/share/transmission-qt/translations\\\\\\\" make + lrelease translations/*.ts } + package_transmission-cli() { - pkgdesc="Fast, easy, and free BitTorrent client (CLI tools, daemon and web client)" - depends=('curl' 'libevent') - backup=('etc/conf.d/transmissiond') - install=transmission-cli.install + pkgdesc='Fast, easy, and free BitTorrent client (CLI tools, daemon and web client)' + depends=(curl libevent systemd) cd $pkgbase-$pkgver - for dir in daemon cli web utils - do - make -C "$dir" DESTDIR="$pkgdir" install + for dir in daemon cli web utils; do + make -C "$dir" DESTDIR="$pkgdir" install done - install -D -m755 "$srcdir/transmissiond" "$pkgdir/etc/rc.d/transmissiond" - install -D -m644 "$srcdir/transmissiond.conf" "$pkgdir/etc/conf.d/transmissiond" - install -D -m644 "$srcdir/transmission.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/transmission.conf" - install -D -m644 "$srcdir/transmission.systemd" "$pkgdir/usr/lib/systemd/system/transmission.service" - ln -s transmission.service "$pkgdir/usr/lib/systemd/system/transmissiond.service" - install -D -m644 COPYING "$pkgdir/usr/share/licenses/transmission-cli/COPYING" + install -Dm644 daemon/transmission-daemon.service \ + "$pkgdir/usr/lib/systemd/system/transmission.service" + install -Dm644 COPYING "$pkgdir/usr/share/licenses/transmission-cli/COPYING" + + install -Dm644 "$srcdir/$pkgname.sysusers" \ + "$pkgdir/usr/lib/sysusers.d/transmission.conf" + install -Dm644 "$srcdir/$pkgname.tmpfiles" \ + "$pkgdir/usr/lib/tmpfiles.d/transmission.conf" } package_transmission-gtk() { - pkgdesc="Fast, easy, and free BitTorrent client (GTK+ GUI)" - depends=('curl' 'libevent' 'gtk3' 'desktop-file-utils' 'hicolor-icon-theme') + pkgdesc='Fast, easy, and free BitTorrent client (GTK+ GUI)' + depends=(curl libevent gtk3 desktop-file-utils hicolor-icon-theme) optdepends=('notification-daemon: Desktop notification support' - 'transmission-cli: daemon and web support') - install=transmission-gtk.install + 'transmission-cli: daemon and web support') cd $pkgbase-$pkgver make -C gtk DESTDIR="$pkgdir" install make -C po DESTDIR="$pkgdir" install - install -D -m644 COPYING "$pkgdir/usr/share/licenses/transmission-gtk/COPYING" + install -Dm644 COPYING "$pkgdir/usr/share/licenses/transmission-gtk/COPYING" } package_transmission-qt() { - pkgdesc="Fast, easy, and free BitTorrent client (Qt GUI)" - depends=('curl' 'qt' 'libevent') + pkgdesc='Fast, easy, and free BitTorrent client (Qt GUI)' + depends=(curl qt5-base libevent) optdepends=('transmission-cli: daemon and web support') - install=transmission-qt.install cd $pkgbase-$pkgver make -C qt INSTALL_ROOT="$pkgdir"/usr install + install -Dm644 -t "$pkgdir/usr/share/transmission-qt/translations" \ + qt/translations/*.qm - install -D -m644 COPYING "$pkgdir/usr/share/licenses/transmission-qt/COPYING" - install -D -m644 qt/icons/transmission.png "$pkgdir/usr/share/pixmaps/transmission-qt.png" - install -D -m644 qt/transmission-qt.desktop "$pkgdir/usr/share/applications/transmission-qt.desktop" + install -Dm644 COPYING "$pkgdir/usr/share/licenses/transmission-qt/COPYING" + install -Dm644 qt/icons/transmission.png \ + "$pkgdir/usr/share/pixmaps/transmission-qt.png" + install -Dm644 qt/transmission-qt.desktop \ + "$pkgdir/usr/share/applications/transmission-qt.desktop" } -md5sums=('fae00b13a7b18f9dc16edef020edea85' - '7d6186ee2a852ae3d44980f05063e194' - 'db72b02fee139e8ab416324e6c044d76' - '5c289c8901221a94be74665368ab5c2c' - '23f2320361ad54373c3a4551ef634fe8') diff --git a/abs/extra/transmission/transmission-2.90-libsystemd.patch b/abs/extra/transmission/transmission-2.90-libsystemd.patch new file mode 100644 index 0000000..279a2c1 --- /dev/null +++ b/abs/extra/transmission/transmission-2.90-libsystemd.patch @@ -0,0 +1,13 @@ +diff --git a/configure.ac b/configure.ac +index ea5e296..afd236f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -245,7 +245,7 @@ AC_ARG_WITH([systemd-daemon], AS_HELP_STRING([--with-systemd-daemon], + [Add support for systemd startup notification (default is autodetected)]), + [USE_SYSTEMD_DAEMON=$withval], [USE_SYSTEMD_DAEMON=auto]) + AS_IF([test "x$USE_SYSTEMD_DAEMON" != "xno"], [ +- PKG_CHECK_MODULES([SYSTEMD_DAEMON], [libsystemd-daemon], ++ PKG_CHECK_MODULES([SYSTEMD_DAEMON], [libsystemd], + [AC_DEFINE(USE_SYSTEMD_DAEMON,1,[Use systemd startup notification])], + [AS_IF([test "x$USE_SYSTEMD_DAEMON" = "xyes"], + [AC_MSG_ERROR([systemd startup notification support requested, but libsystemd-daemon not found.])] diff --git a/abs/extra/transmission/transmission-2.92-openssl-1.1.0.patch b/abs/extra/transmission/transmission-2.92-openssl-1.1.0.patch new file mode 100644 index 0000000..29484b8 --- /dev/null +++ b/abs/extra/transmission/transmission-2.92-openssl-1.1.0.patch @@ -0,0 +1,261 @@ +From f91cf5ad8c677b61ceb0bf5877b87f9e93256dd7 Mon Sep 17 00:00:00 2001 +From: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> +Date: Mon, 5 Sep 2016 21:49:07 +0000 +Subject: [PATCH] transmission: build against openssl 1.1.0 + +Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> +--- + libtransmission/crypto-utils-openssl.c | 73 ++++++++++++++++++++++++++++++++-- + 1 file changed, 69 insertions(+), 4 deletions(-) + +diff --git a/libtransmission/crypto-utils-openssl.c b/libtransmission/crypto-utils-openssl.c +index c4539dc..972e24a 100644 +--- a/libtransmission/crypto-utils-openssl.c ++++ b/libtransmission/crypto-utils-openssl.c +@@ -229,6 +229,61 @@ tr_rc4_process (tr_rc4_ctx_t handle, + **** + ***/ + ++#if OPENSSL_VERSION_NUMBER < 0x10100000 ++static inline int ++DH_set0_pqg (DH * dh, ++ BIGNUM * p, ++ BIGNUM * q, ++ BIGNUM * g) ++{ ++ /* If the fields p and g in d are NULL, the corresponding input ++ * parameters MUST be non-NULL. q may remain NULL. ++ */ ++ if ((dh->p == NULL && p == NULL) ++ || (dh->g == NULL && g == NULL)) ++ return 0; ++ ++ if (p != NULL) { ++ BN_free (dh->p); ++ dh->p = p; ++ } ++ if (q != NULL) { ++ BN_free (dh->q); ++ dh->q = q; ++ } ++ if (g != NULL) { ++ BN_free (dh->g); ++ dh->g = g; ++ } ++ ++ if (q != NULL) { ++ dh->length = BN_num_bits (q); ++ } ++ ++ return 1; ++} ++ ++static inline int ++DH_set_length (DH * dh, ++ long length) ++{ ++ dh->length = length; ++ return 1; ++} ++ ++static inline void ++DH_get0_key(const DH * dh, ++ const BIGNUM ** pub_key, ++ const BIGNUM ** priv_key) ++{ ++ if (pub_key != NULL) ++ *pub_key = dh->pub_key; ++ if (priv_key != NULL) ++ *priv_key = dh->priv_key; ++} ++ ++#endif ++ + tr_dh_ctx_t + tr_dh_new (const uint8_t * prime_num, + size_t prime_num_length, +@@ -236,13 +291,19 @@ tr_dh_new (const uint8_t * prime_num, + size_t generator_num_length) + { + DH * handle = DH_new (); ++ BIGNUM * p, * g; + + assert (prime_num != NULL); + assert (generator_num != NULL); ++ p = BN_bin2bn (prime_num, prime_num_length, NULL); ++ g = BN_bin2bn (generator_num, generator_num_length, NULL); + +- if (!check_pointer (handle->p = BN_bin2bn (prime_num, prime_num_length, NULL)) || +- !check_pointer (handle->g = BN_bin2bn (generator_num, generator_num_length, NULL))) ++ if (!check_pointer (p) || ++ !check_pointer (g) || ++ !DH_set0_pqg (handle, p, NULL, g)) + { ++ BN_free (p); ++ BN_free (g); + DH_free (handle); + handle = NULL; + } +@@ -267,16 +328,20 @@ tr_dh_make_key (tr_dh_ctx_t raw_handle, + { + DH * handle = raw_handle; + int dh_size, my_public_key_length; ++ const BIGNUM * hand_pub_key; + + assert (handle != NULL); + assert (public_key != NULL); + +- handle->length = private_key_length * 8; ++ ++ DH_set_length(handle, private_key_length * 8); + + if (!check_result (DH_generate_key (handle))) + return false; + +- my_public_key_length = BN_bn2bin (handle->pub_key, public_key); ++ DH_get0_key (handle, &hand_pub_key, NULL); ++ ++ my_public_key_length = BN_bn2bin (hand_pub_key, public_key); + dh_size = DH_size (handle); + + tr_dh_align_key (public_key, my_public_key_length, dh_size); +From 8c8386a7f3f482a9c917f51d28e0042e55f56b3e Mon Sep 17 00:00:00 2001 +From: Mike Gelfand <mikedld@mikedld.com> +Date: Wed, 7 Sep 2016 01:09:04 +0300 +Subject: [PATCH] Fix coding style and building with !TR_LIGHTWEIGHT + +--- + libtransmission/crypto-utils-openssl.c | 60 +++++++++++++++++++--------------- + 1 file changed, 33 insertions(+), 27 deletions(-) + +diff --git a/libtransmission/crypto-utils-openssl.c b/libtransmission/crypto-utils-openssl.c +index 972e24a..9fd2c58 100644 +--- a/libtransmission/crypto-utils-openssl.c ++++ b/libtransmission/crypto-utils-openssl.c +@@ -14,6 +14,7 @@ + #include <assert.h> + + #include <openssl/bn.h> ++#include <openssl/crypto.h> + #include <openssl/dh.h> + #include <openssl/err.h> + #include <openssl/evp.h> +@@ -48,7 +49,12 @@ log_openssl_error (const char * file, + static bool strings_loaded = false; + if (!strings_loaded) + { ++#if OPENSSL_VERSION_NUMBER < 0x10100000 + ERR_load_crypto_strings (); ++#else ++ OPENSSL_init_crypto (OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL); ++#endif ++ + strings_loaded = true; + } + #endif +@@ -230,6 +236,7 @@ tr_rc4_process (tr_rc4_ctx_t handle, + ***/ + + #if OPENSSL_VERSION_NUMBER < 0x10100000 ++ + static inline int + DH_set0_pqg (DH * dh, + BIGNUM * p, +@@ -237,28 +244,29 @@ DH_set0_pqg (DH * dh, + BIGNUM * g) + { + /* If the fields p and g in d are NULL, the corresponding input +- * parameters MUST be non-NULL. q may remain NULL. ++ * parameters MUST be non-NULL. q may remain NULL. + */ +- if ((dh->p == NULL && p == NULL) +- || (dh->g == NULL && g == NULL)) ++ if ((dh->p == NULL && p == NULL) || (dh->g == NULL && g == NULL)) + return 0; + +- if (p != NULL) { +- BN_free (dh->p); +- dh->p = p; +- } +- if (q != NULL) { +- BN_free (dh->q); +- dh->q = q; +- } +- if (g != NULL) { +- BN_free (dh->g); +- dh->g = g; +- } +- +- if (q != NULL) { ++ if (p != NULL) ++ { ++ BN_free (dh->p); ++ dh->p = p; ++ } ++ if (q != NULL) ++ { ++ BN_free (dh->q); ++ dh->q = q; ++ } ++ if (g != NULL) ++ { ++ BN_free (dh->g); ++ dh->g = g; ++ } ++ ++ if (q != NULL) + dh->length = BN_num_bits (q); +- } + + return 1; + } +@@ -267,8 +275,8 @@ static inline int + DH_set_length (DH * dh, + long length) + { +- dh->length = length; +- return 1; ++ dh->length = length; ++ return 1; + } + + static inline void +@@ -295,12 +303,11 @@ tr_dh_new (const uint8_t * prime_num, + + assert (prime_num != NULL); + assert (generator_num != NULL); ++ + p = BN_bin2bn (prime_num, prime_num_length, NULL); + g = BN_bin2bn (generator_num, generator_num_length, NULL); + +- if (!check_pointer (p) || +- !check_pointer (g) || +- !DH_set0_pqg (handle, p, NULL, g)) ++ if (!check_pointer (p) || !check_pointer (g) || !DH_set0_pqg (handle, p, NULL, g)) + { + BN_free (p); + BN_free (g); +@@ -328,20 +335,19 @@ tr_dh_make_key (tr_dh_ctx_t raw_handle, + { + DH * handle = raw_handle; + int dh_size, my_public_key_length; +- const BIGNUM * hand_pub_key; ++ const BIGNUM * my_public_key; + + assert (handle != NULL); + assert (public_key != NULL); + +- + DH_set_length(handle, private_key_length * 8); + + if (!check_result (DH_generate_key (handle))) + return false; + +- DH_get0_key (handle, &hand_pub_key, NULL); ++ DH_get0_key (handle, &my_public_key, NULL); + +- my_public_key_length = BN_bn2bin (hand_pub_key, public_key); ++ my_public_key_length = BN_bn2bin (my_public_key, public_key); + dh_size = DH_size (handle); + + tr_dh_align_key (public_key, my_public_key_length, dh_size); diff --git a/abs/extra/transmission/transmission-cli.install b/abs/extra/transmission/transmission-cli.install deleted file mode 100644 index 94a829f..0000000 --- a/abs/extra/transmission/transmission-cli.install +++ /dev/null @@ -1,17 +0,0 @@ -post_install() { - cat << _EOF - - If you want to run the Transmission daemon at boot do: - systemctl enable transmissiond -_EOF - -post_upgrade -passwd -l transmission &>/dev/null -} - -post_upgrade() { - # create user/group that the daemon will run as by default, do not delete this on uninstall, as it will own files - getent group transmission >/dev/null || groupadd -g 169 transmission - getent passwd transmission >/dev/null || useradd -c 'Transmission BitTorrent Client' -u 169 -g transmission -b '/var/lib' -m -s /bin/false transmission - systemd-tmpfiles --create transmission.conf -} diff --git a/abs/extra/transmission/transmission-cli.sysusers b/abs/extra/transmission/transmission-cli.sysusers new file mode 100644 index 0000000..a972f6c --- /dev/null +++ b/abs/extra/transmission/transmission-cli.sysusers @@ -0,0 +1 @@ +u transmission 169 "Transmission BitTorrent Daemon" /var/lib/transmission diff --git a/abs/extra/transmission/transmission-cli.tmpfiles b/abs/extra/transmission/transmission-cli.tmpfiles new file mode 100644 index 0000000..85d5a92 --- /dev/null +++ b/abs/extra/transmission/transmission-cli.tmpfiles @@ -0,0 +1 @@ +d /var/lib/transmission 0750 transmission transmission diff --git a/abs/extra/transmission/transmission-gtk.install b/abs/extra/transmission/transmission-gtk.install deleted file mode 100644 index c317fba..0000000 --- a/abs/extra/transmission/transmission-gtk.install +++ /dev/null @@ -1,12 +0,0 @@ -post_install() { - update-desktop-database -q - gtk-update-icon-cache -q -t -f usr/share/icons/hicolor -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} diff --git a/abs/extra/transmission/transmission-qt.install b/abs/extra/transmission/transmission-qt.install deleted file mode 100644 index e111ef9..0000000 --- a/abs/extra/transmission/transmission-qt.install +++ /dev/null @@ -1,11 +0,0 @@ -post_install() { - update-desktop-database -q -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} diff --git a/abs/extra/transmission/transmission.systemd b/abs/extra/transmission/transmission.systemd deleted file mode 100644 index 56ab8f7..0000000 --- a/abs/extra/transmission/transmission.systemd +++ /dev/null @@ -1,14 +0,0 @@ -[Unit] -Description=Transmission Bit Torrent Daemon - -# This assumes that a user 'transmission' exists, with a writeable homedirectory, -# and that /run/transmission exists and is writeable by the transmission user. - -[Service] -User=transmission -Type=forking -PIDFile=/run/transmission/transmission.pid -ExecStart=/usr/bin/transmission-daemon --pid-file /run/transmission/transmission.pid - -[Install] -WantedBy=multi-user.target diff --git a/abs/extra/transmission/transmission.tmpfiles b/abs/extra/transmission/transmission.tmpfiles deleted file mode 100644 index b603066..0000000 --- a/abs/extra/transmission/transmission.tmpfiles +++ /dev/null @@ -1 +0,0 @@ -d /run/transmission - transmission transmission - diff --git a/abs/extra/transmission/transmissiond b/abs/extra/transmission/transmissiond deleted file mode 100644 index ea3d770..0000000 --- a/abs/extra/transmission/transmissiond +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions -. /etc/conf.d/transmissiond - -PID=`pidof -o %PPID /usr/bin/transmission-daemon` -case "$1" in - start) - stat_busy "Starting Transmission Daemon" - [ -z "$PID" ] && su -l -s /bin/sh -c "/usr/bin/transmission-daemon $TRANS_ARGS" "${TRANS_USER:-transmission}" - if [ $? -gt 0 ]; then - stat_fail - else - add_daemon transmissiond - stat_done - fi - ;; - stop) - stat_busy "Stopping Transmission Daemon" - [ ! -z "$PID" ] && kill $PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon transmissiond - stat_done - fi - ;; - restart) - $0 stop - while [ ! -z "$PID" -a -d "/proc/$PID" ]; do sleep 1; done - $0 start - ;; - reload) - stat_busy "Reloading config" - [ ! -z "$PID" ] && kill -HUP $PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - stat_done - fi - ;; - *) - echo "usage: $0 {start|stop|restart|reload}" -esac -exit 0 diff --git a/abs/extra/transmission/transmissiond.conf b/abs/extra/transmission/transmissiond.conf deleted file mode 100644 index 45a9fd5..0000000 --- a/abs/extra/transmission/transmissiond.conf +++ /dev/null @@ -1,4 +0,0 @@ -# example configuration file - -# TRANS_USER="transmission" -# TRANS_ARGS="" |