#### Beyond Linux® From Scratch (System V Edition) - Version r12.2-875

### Chapter 41. Other X-based Programs

- Prev

  Tigervnc-1.14.1

- 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.

### Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

### 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/svn/transmission-4.0.6-build_fix-1.patch

### Transmission Dependencies

#### Required

cURL-8.11.0

#### Recommended

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

#### Recommended (to build a GUI)

Gtkmm-4.16.0 or Qt-6.8.1

#### Optional

nodejs-22.12.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, create transmission.png from the SVG file:

    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.1 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.12.0 is installed.

`-D REBUILD_WEB=ON`: This switch forces rebuilding the web client. This option needs nodejs-22.12.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.14.1

- Next

  xarchiver-0.5.4.23

- Up
- Home