Transmission 3.00

  • Done
  • quality assurance status badge
Details
3 participants
  • Leo Famulari
  • Marius Bakke
  • Maxim Cournoyer
Owner
unassigned
Submitted by
Leo Famulari
Severity
normal
L
L
Leo Famulari wrote on 13 Jun 2020 23:13
(address . guix-patches@gnu.org)
20200613211356.GA20074@jasmine.lan
These patches update the Transmission bittorrent program to 3.00 and
also update the helper program tremc so that it keeps working.

I've tested the patches and would push them, but I have a question about
the license.

Our package has described it as GPL3+, but the COPYING file specifically
allows GPL2 and GPL3, but there is no "or later" clause. And the source
file headers match this.

So, I think the license should be a list of GPL2 and GPL3. Is that
correct?
L
L
Leo Famulari wrote on 13 Jun 2020 23:16
[PATCH 2/2] gnu: tremc: Update to 0.9.2.
(address . 41840@debbugs.gnu.org)
215bf12a72aa19ede1bbe0c3e26c8c718349e8e8.1592082970.git.leo@famulari.name
* gnu/packages/bittorrent.scm (transmission): Update to 0.9.2.
---
gnu/packages/bittorrent.scm | 60 ++++++++++++++++++-------------------
1 file changed, 29 insertions(+), 31 deletions(-)

Toggle diff (74 lines)
diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
index c132aaead6..37a02952b4 100644
--- a/gnu/packages/bittorrent.scm
+++ b/gnu/packages/bittorrent.scm
@@ -181,38 +181,36 @@ XML-RPC over SCGI.")
(license l:gpl2+)))
(define-public tremc
- (let ((commit "4d50dab7376601daca13f7be6eabc0eaa057c1b0")
- (revision "0"))
- (package
- (name "tremc")
- (version (git-version "0.9.1" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/tremc/tremc.git")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0qpi65n8rv7l9mg8qyqx70z83inkl8v5r5nks65c99lhscdki0w7"))))
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f ; no test suite
- #:make-flags
- (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
- #:phases
- (modify-phases %standard-phases
- ;; The software is just a Python script that must be copied into place.
- (delete 'configure)
- (delete 'build))))
- (inputs
- `(("python" ,python)))
- (synopsis "Console client for the Transmission BitTorrent daemon")
- (description "Tremc is a console client, with a curses interface, for the
+ (package
+ (name "tremc")
+ (version "0.9.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tremc/tremc.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1fqspp2ckafplahgba54xmx0sjidx1pdzyjaqjhz0ivh98dkx2n5"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no test suite
+ #:make-flags
+ (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+ #:phases
+ (modify-phases %standard-phases
+ ;; The software is just a Python script that must be copied into place.
+ (delete 'configure)
+ (delete 'build))))
+ (inputs
+ `(("python" ,python)))
+ (synopsis "Console client for the Transmission BitTorrent daemon")
+ (description "Tremc is a console client, with a curses interface, for the
Transmission BitTorrent daemon.")
- (home-page "https://github.com/tremc/tremc")
- (license l:gpl3+))))
+ (home-page "https://github.com/tremc/tremc")
+ (license l:gpl3+)))
(define-public transmission-remote-cli
(package
--
2.26.2
L
L
Leo Famulari wrote on 13 Jun 2020 23:16
[PATCH 1/2] gnu: Transmission: Update to 3.0.0.
(address . 41840@debbugs.gnu.org)
6312635e56b6f461b62019cf75cbaff2b6315110.1592082970.git.leo@famulari.name
* gnu/packages/bittorrent.scm (transmission): Update to 3.0.0.
[source]: Remove obsolete patch.
[inputs]: Remove unused inputs inotify-tools, cyrus-sasl, and file.
[license]: Correct the license field.
* gnu/packages/patches/transmission-CVE-2018-10756.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Remove it.
---
gnu/local.mk | 1 -
gnu/packages/bittorrent.scm | 25 +++----
.../patches/transmission-CVE-2018-10756.patch | 71 -------------------
3 files changed, 9 insertions(+), 88 deletions(-)
delete mode 100644 gnu/packages/patches/transmission-CVE-2018-10756.patch

Toggle diff (175 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 583274235b..3b7415b540 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1541,7 +1541,6 @@ dist_patch_DATA = \
%D%/packages/patches/tipp10-fix-compiling.patch \
%D%/packages/patches/tipp10-remove-license-code.patch \
%D%/packages/patches/tk-find-library.patch \
- %D%/packages/patches/transmission-CVE-2018-10756.patch \
%D%/packages/patches/ttf2eot-cstddef.patch \
%D%/packages/patches/ttfautohint-source-date-epoch.patch \
%D%/packages/patches/tomb-fix-errors-on-open.patch \
diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
index 8b041cb3f5..c132aaead6 100644
--- a/gnu/packages/bittorrent.scm
+++ b/gnu/packages/bittorrent.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2016, 2017, 2018, 2019 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Tomáš ?ech <sleep_walker@gnu.org>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -42,7 +42,6 @@
#:use-module (gnu packages crypto)
#:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl)
- #:use-module (gnu packages file)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
@@ -50,7 +49,6 @@
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages libevent)
- #:use-module (gnu packages linux)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages nettle)
#:use-module (gnu packages ncurses)
@@ -67,16 +65,15 @@
(define-public transmission
(package
(name "transmission")
- (version "2.94")
+ (version "3.00")
(source (origin
(method url-fetch)
- (uri (string-append
- "https://github.com/transmission/transmission-releases/raw/"
- "master/transmission-" version ".tar.xz"))
- (patches (search-patches "transmission-CVE-2018-10756.patch"))
+ (uri (string-append "https://github.com/transmission/transmission"
+ "/releases/download/" version "/transmission-"
+ version ".tar.xz"))
(sha256
(base32
- "0zbbj7rlm6m7vb64x68a64cwmijhsrwx9l63hbwqs7zr9742qi1m"))))
+ "1wjmn96zrvmk8j1yz2ysmqd7a2x6ilvnwwapcvfzgxs2wwpnai4i"))))
(build-system glib-or-gtk-build-system)
(outputs '("out" ; library and command-line interface
"gui")) ; graphical user interface
@@ -92,8 +89,7 @@
(gui (assoc-ref outputs "gui")))
(mkdir-p (string-append gui "/bin"))
(rename-file (string-append out "/bin/transmission-gtk")
- (string-append gui
- "/bin/transmission-gtk"))
+ (string-append gui "/bin/transmission-gtk"))
;; Move the '.desktop' and icon files as well.
(mkdir (string-append gui "/share"))
@@ -104,12 +100,9 @@
'("applications" "icons" "pixmaps")))
#t)))))
(inputs
- `(("inotify-tools" ,inotify-tools)
- ("libevent" ,libevent)
+ `(("libevent" ,libevent)
("curl" ,curl)
- ("cyrus-sasl" ,cyrus-sasl)
("openssl" ,openssl)
- ("file" ,file)
("zlib" ,zlib)
("gtk+" ,gtk+)))
(native-inputs
@@ -131,7 +124,7 @@ DHT, µTP, PEX and Magnet Links.")
;; or any future license endorsed by Mnemosyne LLC.
;;
;; A few files files carry an MIT/X11 license header.
- (license l:gpl3+)))
+ (license (list l:gpl2 l:gpl3))))
(define-public libtorrent
(package
diff --git a/gnu/packages/patches/transmission-CVE-2018-10756.patch b/gnu/packages/patches/transmission-CVE-2018-10756.patch
deleted file mode 100644
index f9bdcf60aa..0000000000
--- a/gnu/packages/patches/transmission-CVE-2018-10756.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-Fix CVE-2018-10756:
-
-https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-10756
-
-Patch copied from Fedora:
-
-https://src.fedoraproject.org/rpms/transmission/blob/master/f/2123adf8e5e1c2b48791f9d22fc8c747e974180e.patch
-
---- a/libtransmission/variant.c 2018-05-01 12:21:08.000000000 -0500
-+++ b/libtransmission/variant.c 2020-05-18 10:21:27.554214128 -0500
-@@ -820,7 +820,7 @@
- struct SaveNode
- {
- const tr_variant * v;
-- tr_variant sorted;
-+ tr_variant* sorted;
- size_t childIndex;
- bool isVisited;
- };
-@@ -849,26 +849,33 @@
-
- qsort (tmp, n, sizeof (struct KeyIndex), compareKeyIndex);
-
-- tr_variantInitDict (&node->sorted, n);
-+ node->sorted = tr_new(tr_variant, 1);
-+ tr_variantInitDict (node->sorted, n);
- for (i=0; i<n; ++i)
-- node->sorted.val.l.vals[i] = *tmp[i].val;
-+ node->sorted->val.l.vals[i] = *tmp[i].val;
- node->sorted.val.l.count = n;
-
- tr_free (tmp);
-
-- node->v = &node->sorted;
-+ v = node->sorted;
- }
- else
- {
-- node->v = v;
-+ node->sorted = NULL;
- }
-+
-+ node->v = v;
- }
-
- static void
- nodeDestruct (struct SaveNode * node)
- {
-- if (node->v == &node->sorted)
-- tr_free (node->sorted.val.l.vals);
-+ //TR_ASSERT(node != NULL);
-+ if (node->sorted != NULL)
-+ {
-+ tr_free(node->sorted->val.l.vals);
-+ tr_free(node->sorted);
-+ }
- }
-
- /**
---- a/libtransmission/variant.c 2020-05-18 10:21:49.000000000 -0500
-+++ b/libtransmission/variant.c 2020-05-18 10:24:34.673648865 -0500
-@@ -853,7 +853,7 @@
- tr_variantInitDict (node->sorted, n);
- for (i=0; i<n; ++i)
- node->sorted->val.l.vals[i] = *tmp[i].val;
-- node->sorted.val.l.count = n;
-+ node->sorted->val.l.count = n;
-
- tr_free (tmp);
-
-
--
2.26.2
M
M
Maxim Cournoyer wrote on 14 Jun 2020 20:18
Re: [bug#41840] Transmission 3.00
(name . Leo Famulari)(address . leo@famulari.name)(address . 41840@debbugs.gnu.org)
87imfth5o4.fsf@gmail.com
Hello Leo!

Leo Famulari <leo@famulari.name> writes:

Toggle quote (13 lines)
> These patches update the Transmission bittorrent program to 3.00 and
> also update the helper program tremc so that it keeps working.
>
> I've tested the patches and would push them, but I have a question about
> the license.
>
> Our package has described it as GPL3+, but the COPYING file specifically
> allows GPL2 and GPL3, but there is no "or later" clause. And the source
> file headers match this.
>
> So, I think the license should be a list of GPL2 and GPL3. Is that
> correct?

Their copying file says:

Transmission can be redistributed and/or modified under the terms of
or any future license endorsed by Mnemosyne LLC.

So just based on that file, it looks like GPLv2+ or GPLv3+ could be
used, since they just point to the official license.

The header in source files typically says:


/*
* This file Copyright (C) 2007-2014 Mnemosyne LLC
*
* It may be used under the GNU GPL versions 2 or 3
* or any future license endorsed by Mnemosyne LLC.
*
*/

This tells me (disclaimer: I am not a lawyer) that to use any other
license than GPL version 2 or 3, you'd need the agreement of Mnemosyne
LLC.

I'd say that unless you reach out to them and ask, it's probably safer
to list it as GPL2 and GPL3 only.

My 2 cents.

Maxim
L
L
Leo Famulari wrote on 17 Jun 2020 07:31
(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)(address . 41840@debbugs.gnu.org)
20200617053131.GA9261@jasmine.lan
On Sun, Jun 14, 2020 at 02:18:51PM -0400, Maxim Cournoyer wrote:
Toggle quote (4 lines)
> This tells me (disclaimer: I am not a lawyer) that to use any other
> license than GPL version 2 or 3, you'd need the agreement of Mnemosyne
> LLC.

I also read it that way. Thanks for the review!

Toggle quote (3 lines)
> I'd say that unless you reach out to them and ask, it's probably safer
> to list it as GPL2 and GPL3 only.

Done in 559491ea5b36b89b2a2f9d48dacf6a2d7e219910.

I haven't updated the package yet because it doesn't work reliably for
me — sometimes it can connect to trackers, and sometimes it can't. I
don't know why yet.
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEsFFZSPHn08G5gDigJkb6MLrKfwgFAl7pqrMACgkQJkb6MLrK
fwheBhAAyTa41CKeRF85wXrxt3eS+96KixZwzqZ4lMgg760Smy61liKpORukYi+a
HPTv1D96X+iyYrVmz2+jHNahmo16AWXr5C9kOkPzZim3iRIqLGnMyIMoNHDdt2xn
R+OMlMR77szH8ZIZ65oV1DHj6LsHyPARVPJd47iGxt14y7lmoTIIiTCZhykO0w5N
Yxzk9g4UP8dt3wMlWe7btVl110iViSSpimbc1t1CZqr67VeHUwQ71XmKQOlz4lLk
+3LE8Ia+VydvRLV6XABpE3s13Q2kJj/9l+IZ9qtCKTOyQxeFYB/DctRcHf8TCiES
x4af2qwTUakFNNacmHeHjM1qC1+TUeEWXKx3zhBI+LJhqz98NFknqXwOWHseWzuI
yT0jWwa6ibIm4qSyWcMo1T36SnQXDBm5J0BCw8uBYcvAihNPh4x+cvWiii2nSu8C
Ckl21alwQCfDgaL6FtUD4jBnS5O2w9gKkAPZLpXMzBkpscLH4XdP3CWN0ttVa/6v
3Y40XwklFjVebxXf6cV3JYUh4bUrFvqrajj16NULGT3BLX+Fyo/9bcFLztc7j/MB
UEYgVUMcYBDv6LyeOVSArJ2cxP3xeWkICzR6k1Zml8r1d5uvYaumf7dTsbNSt2cl
up91vdDPmjsATXnRYSEOM9sPBAak0aFOzYDPFtaqzdpkVBE8qDc=
=9AwJ
-----END PGP SIGNATURE-----


L
L
Leo Famulari wrote on 9 Jul 2020 22:50
(address . 41840@debbugs.gnu.org)
20200709205027.GA31779@jasmine.lan
On Wed, Jun 17, 2020 at 01:31:31AM -0400, Leo Famulari wrote:
Toggle quote (4 lines)
> I haven't updated the package yet because it doesn't work reliably for
> me — sometimes it can connect to trackers, and sometimes it can't. I
> don't know why yet.

For some reason, this new version of Transmission fails to find the
X.509 certificate bundle in its default location while using curl.

It works fine when I set, for example:

CURL_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt

I wonder, what's the best way for us to handle this? Our curl package
has a CURL_CA_BUNDLE search path. And some other packages have bits to
make things work.
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEsFFZSPHn08G5gDigJkb6MLrKfwgFAl8Hgw8ACgkQJkb6MLrK
fwjREBAA1U6n7wS0D55dVwMPJVjZ/lzTvaCL/8mWScDWMkBKKxF+mmA4i9SNJLO5
bvBY04AngRkajp/fION8SSkXIRlROq+vHy/3T4TadXSsp56LdKBfeQ/9smxJ5kJU
AaM5QcBmTlzKAisd3rLnuaQ2YU5f+v/aKmT+YcBKhDsMpPL370XsByj+sPTq+zUO
PHKNSynH0xeZuM6NniPPWYSHeJrma5YW9l1QGAtSUkqRBoYjeX0kpvJyN2YJ0DmG
FgeYa4FXbA6E9DV5TR8D6DwGOnxS982ThYmBBVPlrG7KFvK1Y/CDzZaDBkTgqjrp
TZyjKIT3BhlBKMKyFvXxXGHmJ2W+HHwNHnKyFUp7+bOVrkbVWLv7T7ckBfdWm1MY
SdX+FTqEvQPapr1yLcLnoVUXDH4jYaHTS1blmEN8P/IPUpK29Nnpz9dpZjWcg9IH
Iv7oTK7NF7M7bjwsOEm9DspQgzy9mpmcRGDhWqTJ4CJGmhFJJ/DqFdg/28TWWEYu
mfxconunzk3sTtCk7odxhBpBI/VUrOAkFDmqNR4kxxd/x/doq8ytLRY7mgaxUYJL
sFOkH1tCzMj5m3KynRVyRwKB5pDUOBy6BdeOr/g54tw22A/2LDYrKACfUNrNKt9Y
W0Z6P98f/xiSAIB42TDCf9cdkdMO/l30E+PawujGgLDRk0M2VGA=
=dkKe
-----END PGP SIGNATURE-----


M
M
Marius Bakke wrote on 12 Jul 2020 00:53
(name . Leo Famulari)(address . leo@famulari.name)(address . 41840@debbugs.gnu.org)
87a705d5pr.fsf@gnu.org
Leo Famulari <leo@famulari.name> writes:

Toggle quote (16 lines)
> On Wed, Jun 17, 2020 at 01:31:31AM -0400, Leo Famulari wrote:
>> I haven't updated the package yet because it doesn't work reliably for
>> me — sometimes it can connect to trackers, and sometimes it can't. I
>> don't know why yet.
>
> For some reason, this new version of Transmission fails to find the
> X.509 certificate bundle in its default location while using curl.
>
> It works fine when I set, for example:
>
> CURL_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
>
> I wonder, what's the best way for us to handle this? Our curl package
> has a CURL_CA_BUNDLE search path. And some other packages have bits to
> make things work.


I think setting native-search-paths on Transmission as a workaround is
OK for now.
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl8KQtAACgkQoqBt8qM6
VPpfdQf8DExjz5VKvYizsV8orSZkXnVVFeku+rElYjn68OXE53MD4FZOI/6JjcvJ
d0V+F9YqDcDEE7EkvkWcd7KfB9Ya7vigk66eNDPvyG9MJaLuF3Tj6aOkVk5aiLkv
ItuD7CxJ3DdkRFTUWE7rsbGq34OQ/n/xMcvX4Z558hhCiy30EPoF1lZUtrn5c4EB
/yyg5Ak0ROWQva3QBfCLe7Qg4kq45dIljYkJ/8GmTwEYZi55uFxKzGXeZdRdad/j
U8T+ox/1T2eZxkzw0IfBvZZqf7HdLQ5fLnD0sI8UXYKCVje88Cvwt5f+fTJcUwe3
jKLXazWKDR5EOEfzVSeXKwpJMoPnog==
=8d5p
-----END PGP SIGNATURE-----

L
L
Leo Famulari wrote on 15 Jul 2020 21:43
(name . Marius Bakke)(address . marius@gnu.org)(address . 41840-done@debbugs.gnu.org)
20200715194348.GA32625@jasmine.lan
On Sun, Jul 12, 2020 at 12:53:04AM +0200, Marius Bakke wrote:
Toggle quote (10 lines)
> Leo Famulari <leo@famulari.name> writes:
> > It works fine when I set, for example:
> >
> > CURL_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
>
> This is <https://issues.guix.gnu.org/22138>, right?
>
> I think setting native-search-paths on Transmission as a workaround is
> OK for now.

I found that it also honors SSL_CERT_DIR and SSL_CERT_FILE.

Since these variables are handled automatically on Guix System and we
suggest in the manual that foreign distro users set them, I pushed the
Transmission update without setting up any search paths.

Guix profile search paths do not effect the environment of systemd
services, so they would not help the majority of people using
Transmission on foreign distros anyway.
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEsFFZSPHn08G5gDigJkb6MLrKfwgFAl8PXHMACgkQJkb6MLrK
fwgxow/8C7oBlxS6nli7YvBrbV19LLjcWtIm+SmxzUUS/kjQ61hm/0tgy+fopNWn
9RzBkxSVtvO/avJdt1kuNDzn5OdLew7AzjZH//5gfOdLOPWoGxzdD4aeNn1Nw6sX
zFas5h+LXpEp8vcjeKFE9+aqUpW9JNj9lGDB2Zkp+V+9i+C47s0h45GAmtmyBdq4
976IecnQ/LzIDc6NmUPlqLgLrgJ23pY/tJmd3Fa24zVlOOLmFaddSHWMZ0Ycu51u
nQiL9ND37l7uC5PngxElVrF4lzLFj+UUZBzvb4dTFaKPDo6Jkgi7QkMI4eX+mnfi
aRlHJndoEJog4t4Ykd8VodR3hCLXftrsviRBhnAMneAWK4PO/t+kx3CfhxWSkKE7
FMmKii6f19Sx8Z/XcvvpUSEr7zvzTEMQZdnErYyMD6k9g7I/zl5Adcwpw2n9W8bH
LmjybEa6B3IAxmviWlijgm3de7z91fsOaV7bdtuwDVJ8U9b2BzCFaeuduXjaZSrI
rbZUUqmit7PDYzTra73igKhfmBDPANuLrZDDeXwJH9AYmnOuzkpSfAiOfCho/eB+
mJbbJ5lAjKLVX9xppFQ7yGcpw/U5ltjzfLYWmXaiRY90Bbx7gJEXvKZNdhyLrv9B
F4JNYxKxo9WgLyA/1b9IH8220iEmXCR7WYbSx0q4bjHxd4jBY4Y=
=Daeq
-----END PGP SIGNATURE-----


Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 41840@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 41840
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch