Transmission released new version 2.93 already, while I still could not find the upgraded version in the SynoCommunity repository.
The current 2.92 version has one issue on my system that it causes memory leak and will be killed finally by the kernel, so I have to create a job to check the memory usage and restart it automatically.
I want to upgrade to this new version as 2.92 was released several years ago, and also hope to get better performance, so I decided to build the package by myself.
I spent almost one night to finish this task, so I think such experience maybe could be helpful in the future or for other people, so I reinstalled the development environment just now and will redo all the steps.
Below three web pages gave me much help:
       Building-Transmission
       Developers HOW TO
       Setup Development Environment
First, I selected the last stable Debian as the primary development system, and just installed the base packages and the SSH server.
Then, run below commands to install all the needed packages:
dpkg --add-architecture i386 apt-get install ca-certificates libcurl4-openssl-dev libssl-dev pkg-config build-essential checkinstall lib32z1 lib32ncurses5 curl imagemagick libpoco-dev git
Clone the SynoCommunity repository and modify the needed files:
root@debian:~# git clone https://github.com/SynoCommunity/spksrc.git Cloning into 'spksrc'... remote: Counting objects: 27294, done. remote: Total 27294 (delta 0), reused 0 (delta 0), pack-reused 27293 Receiving objects: 100% (27294/27294), 11.19 MiB | 4.62 MiB/s, done. Resolving deltas: 100% (14423/14423), done. root@debian:~# cd spksrc/ root@debian:~/spksrc# make setup Creating local configuration "local.mk"... Setting default toolchain version to DSM-5.2 root@debian:~/spksrc# vi cross/ Display all 259 possibilities? (y or n) root@debian:~/spksrc# vi cross/transmission/Makefile -->Update the PKG_VERS to 2.93 root@debian:~/spksrc# vi spk/transmission/Makefile -->Update the SPK_VERS to 2.93, SPK_REV to 13 and the CHANGELOG to 'Update Transmission to 2.93' root@debian:~/spksrc# wget https://github.com/transmission/transmission-releases/raw/master/transmission-2.93.tar.xz root@debian:~/spksrc# sha1sum transmission-2.93.tar.xz 0445b6649110ceffe0126b28ebba0b051a1b8d71 transmission-2.93.tar.xz root@debian:~/spksrc# sha256sum transmission-2.93.tar.xz 8815920e0a4499bcdadbbe89a4115092dab42ce5199f71ff9a926cfd12b9b90b transmission-2.93.tar.xz root@debian:~/spksrc# md5sum transmission-2.93.tar.xz a1b8113ebc3402787312ecb443d9d3c1 transmission-2.93.tar.xz root@debian:~/spksrc# vi cross/transmission/digests root@debian:~/spksrc# cat cross/transmission/digests transmission-2.93.tar.xz SHA1 0445b6649110ceffe0126b28ebba0b051a1b8d71 transmission-2.93.tar.xz SHA256 8815920e0a4499bcdadbbe89a4115092dab42ce5199f71ff9a926cfd12b9b90b transmission-2.93.tar.xz MD5 a1b8113ebc3402787312ecb443d9d3c1
Now check your system architecture on this page:
Architecture per Synology modelAnd you can find all supported architectures and versions from below command:
root@debian:~/spksrc# ls toolchains syno-88f6281-4.3 syno-armada370-4.3 syno-armada38x-6.0.2 syno-avoton-6.1 syno-bromolow-6.0.2 syno-comcerto2k-6.0.2 syno-grantley-6.1 syno-ppc853x-5.2 syno-x64-5.2 syno-88f6281-5.0 syno-armada370-5.0 syno-armada38x-6.1 syno-braswell-5.2 syno-bromolow-6.1 syno-comcerto2k-6.1 syno-hi3535-6.1 syno-ppc854x-4.0 syno-x64-6.0.2 syno-88f6281-5.1 syno-armada370-5.1 syno-armadaxp-4.3 syno-braswell-6.0.2 syno-cedarview-4.3 syno-denverton-6.1 syno-kvmx64-6.1 syno-qoriq-4.3 syno-x64-6.1 syno-88f6281-5.2 syno-armada370-5.2 syno-armadaxp-5.0 syno-braswell-6.1 syno-cedarview-5.0 syno-dockerx64-6.1 syno-monaco-5.2 syno-qoriq-5.0 syno-x86-4.3 syno-88f6281-6.0.2 syno-armada370-6.0.2 syno-armadaxp-5.1 syno-broadwell-6.0.2 syno-cedarview-5.1 syno-evansport-4.3 syno-monaco-6.0.2 syno-qoriq-5.1 syno-x86-5.0 syno-88f6281-6.1 syno-armada370-6.1 syno-armadaxp-5.2 syno-broadwell-6.1 syno-cedarview-5.2 syno-evansport-5.0 syno-monaco-6.1 syno-qoriq-5.2 syno-x86-5.1 syno-alpine-5.1 syno-armada375-5.1 syno-armadaxp-6.0.2 syno-broadwellnk-6.2 syno-cedarview-6.0.2 syno-evansport-5.1 syno-powerpc-4.0 syno-qoriq-6.0.2 syno-x86-5.2 syno-alpine-5.2 syno-armada375-5.2 syno-armadaxp-6.1 syno-bromolow-4.3 syno-cedarview-6.1 syno-evansport-5.2 syno-ppc824x-4.2 syno-qoriq-6.1 syno-x86-6.0.2 syno-alpine-6.0.2 syno-armada375-6.0.2 syno-avoton-5.1 syno-bromolow-5.0 syno-comcerto2k-5.0 syno-evansport-6.0.2 syno-ppc853x-4.3 syno-rtd1296-6.1 syno-x86-6.1 syno-alpine-6.1 syno-armada375-6.1 syno-avoton-5.2 syno-bromolow-5.1 syno-comcerto2k-5.1 syno-evansport-6.1 syno-ppc853x-5.0 syno-x64-5.0 syno-apollolake-6.1 syno-armada38x-5.2 syno-avoton-6.0.2 syno-bromolow-5.2 syno-comcerto2k-5.2 syno-grantley-6.0.2 syno-ppc853x-5.1 syno-x64-5.1
For DSM 5.2 and DS3615xs(bromolow), just need to run below commands:
cd spk/transmission make arch-bromolow-5.2
And then will find the compiled package in the folder:
root@debian:~/spksrc/spk/transmission# ls ../../packages/ transmission_bromolow-5.2_2.93-13.spk
To get the package for DS3617xs(broadwell) on DSM 6.1, run below commands:
root@debian:~/spksrc/spk/transmission# make clean rm -fr work work-* root@debian:~/spksrc/spk/transmission# make arch-broadwell-6.1 ....................... root@debian:~/spksrc/spk/transmission# ls ../../packages/ transmission_broadwell-6.1_2.93-13.spk transmission_bromolow-5.2_2.93-13.spk
Then change the 'Trust Level' and you can install the package manually.