#### Beyond Linux® From Scratch (System V Edition) - Version 12.3

### Chapter 41. Other X-based Programs

- Prev

  Tigervnc-1.15.0

- Next

  xarchiver-0.5.4.23

- Up
- Home

# Transmission-4.0.6

## Introduction to Transmission

Transmission is a cross-platform, open source BitTorrent client. This is useful for downloading large files (such as Linux ISOs) and reduces the need for the distributors to provide server bandwidth.

This package is known to build and work properly using an LFS 12.3 platform.

### Package Information

- Download (HTTP): https://github.com/transmission/transmission/releases/download/4.0.6/transmission-4.0.6.tar.xz

- Download MD5 sum: 8132b9f012b8e6309911c80ee9fd00f7

- Download size: 11 MB

- Estimated disk space required: 226 MB (with both GUI interfaces)

- Estimated build time: 2.3 SBU (with both GUI interfaces; using parallelism=4)

### Additional Downloads

- Required patch: https://www.linuxfromscratch.org/patches/blfs/12.3/transmission-4.0.6-build_fix-1.patch

### Transmission Dependencies

#### Required

cURL-8.12.1

#### Recommended

libevent-2.1.12, libpsl-0.21.5 (to use system libraries instead of bundled ones), and librsvg-2.59.2

#### Recommended (to build a GUI)

Gtkmm-4.16.0 or Qt-6.8.2

#### Optional

nodejs-22.14.0 (for building the web client, not needed at run time), appindicator, dht, libb64, libdeflate, libnatpmp, libutp, and miniupnp

Editor Notes: https://wiki.linuxfromscratch.org/blfs/wiki/transmission

## Installation of Transmission

First, fix a build failure due to incorrect statements in CMakeLists.txt:

    patch -Np1 -i ../transmission-4.0.6-build_fix-1.patch

Install Transmission by running the following commands:

    mkdir build &&
    cd    build &&

    cmake -D CMAKE_INSTALL_PREFIX=/usr \
          -D CMAKE_BUILD_TYPE=Release  \
          -D CMAKE_INSTALL_DOCDIR=/usr/share/doc/transmission-4.0.6 \
          .. &&

    make

Now, as the `root` user:

    make install

Next, if the Gtkmm-4.16.0 dependency was installed, create transmission.png from the SVG file. As the `root` user:

    rsvg-convert                                               \
       /usr/share/icons/hicolor/scalable/apps/transmission.svg \
       -o /usr/share/pixmaps/transmission.png

## Command Explanations

`-D ENABLE_QT=OFF`: This switch disables building the Qt interface. The default is to build it if Qt-6.8.2 is installed.

`-D ENABLE_GTK=OFF`: This switch disables building the GTK-4 interface. The default is to build it if Gtkmm-4.16.0 is installed.

`-D ENABLE_WEB=OFF`: This switch disables building the web client. The default is to build it if nodejs-22.14.0 is installed.

`-D REBUILD_WEB=ON`: This switch forces rebuilding the web client. This option needs nodejs-22.14.0 to be installed as well as an internet connection. The default is to not rebuild the client.

## Contents

Installed Programs: transmission-create, transmission-daemon, transmission-edit, transmission-gtk, transmission-qt, transmission-remote, and transmission-show
Installed Libraries: None
Installed Directory: /usr/share/transmission (contains the web client) and /usr/share/doc/transmission-4.0.6

### Short Descriptions

transmission-create | is a command line tool used to create .torrent files
transmission-daemon | is a daemon-based Transmission session that can be controlled via RPC commands from Transmission's web interface or transmission-remote
transmission-edit | is a command line tool to modify .torrent files' announce URLs
transmission-gtk | is a GTK+ bittorrent client
transmission-qt | is a Qt-based bittorrent client
transmission-remote | is a remote control utility for transmission-daemon and transmission
transmission-show | is a command line tool to display bittorrent .torrent file metadata

- Prev

  Tigervnc-1.15.0

- Next

  xarchiver-0.5.4.23

- Up
- Home