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.4
          platform.
        
        
          Package Information
        
        
        
          Additional Downloads
        
        
        
          Transmission Dependencies
        
        
          Required
        
        
          cURL-8.15.0
        
        
          Recommended
        
        
          libevent-2.1.12, libpsl-0.21.5
          (to use system libraries instead of bundled ones), and librsvg-2.61.0
        
        
          Recommended (to build a GUI)
        
        
          Gtkmm-4.18.0 or Qt-6.9.2
        
        
          Optional
        
        
          nodejs-22.18.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
        
          Next, adapt two of the third-party modules to changes in CMake 4.0:
        
        sed -e 's/2.8/4.0/' -i third-party/dht/CMakeLists.txt \
                       third-party/libnatpmp/CMakeLists.txt
        
          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.18.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.9.2 is installed.
        
        
          -D ENABLE_GTK=OFF: This switch disables
          building the GTK-4 interface. The default is to build it if
          Gtkmm-4.18.0 is installed.
        
        
          -D ENABLE_WEB=OFF: This switch disables
          building the web client. The default is to build it if nodejs-22.18.0 is installed.
        
        
          -D REBUILD_WEB=ON: This switch forces
          rebuilding the web client. This option needs nodejs-22.18.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
                   |