Compilando o cliente torrent Transmission-GTK no Linux Mint 18

0

Como faço para compilar transmission-gtk torrent client a partir do código-fonte nos sistemas baseados no Linux Mint 18 ou geralmente no Ubuntu 16.04?

Supondo que eu queira:

  1. Remova a versão original do pacote.
  2. Substitua, mantendo as configurações originais, item da área de trabalho, etc.
por Vlastimil 16.12.2016 / 11:51

1 resposta

0

Neste procedimento de compilação, deixe claro que está escrito para a versão atual de hoje 2.92, e para sistemas baseados no Ubuntu 16.04 como o Linux Mint 18. Este guia pode ser um pouco diferente em versões posteriores de sistemas e / ou Transmissão.

  1. Vá para a página oficial; sobre protocolo seguro, atualmente a página oficial não redireciona para HTTPS; você pode usar o link abaixo para acessar a página da web:

    link

  2. Navegue até a seção Código-fonte e baixe a atual; usa o repositório GitHub; se você estiver no CLI, você pode usar este método direto:

    wget --continue https://github.com/transmission/transmission-releases/raw/master/transmission-2.92.tar.xz
    
  3. Verifique as combinações de hash SHA-256; está escrito na página de download oficial; para a versão 2.92, aplica-se o seguinte:

    sha256sum --binary transmission-2.92.tar.xz
    
    3a8d045c306ad9acb7bf81126939b9594553a388482efa0ec1bfb67b22acd35f
    
  4. Extraia o arquivo:

    tar -xJvf transmission-2.92.tar.xz
    
  5. Vá para o diretório de extração:

    cd transmission-2.92/
    
  6. Agora, precisamos instalar as dependências de construção para transmission-gtk :

    sudo apt-get build-dep transmission-gtk
    
  7. Vamos garantir que todos os pré-requisitos estejam instalados, de acordo com esta página do GitHub :

    sudo apt-get install build-essential automake autoconf libtool pkg-config intltool libcurl4-openssl-dev libglib2.0-dev libevent-dev libminiupnpc-dev libappindicator-dev
    

    Note que devo ter removido libminiupnpc5 , já que libminiupnpc-dev o substitui.

  8. Execute o script de configuração:

    ./configure
    

    Os seguintes argumentos opcionais podem ser passados para o script de configuração (copiado e colado do script de configuração):

    Optional Features:
    --disable-option-checking  ignore unrecognized --enable/--with options
    --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
    --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
    --enable-silent-rules   less verbose build output (undo: "make V=1")
    --disable-silent-rules  verbose build output (undo: "make V=0")
    --enable-shared[=PKGS]  build shared libraries [default=yes]
    --enable-static[=PKGS]  build static libraries [default=yes]
    --enable-fast-install[=PKGS]
                            optimize for fast installation [default=yes]
    --enable-dependency-tracking
                            do not reject slow dependency extractors
    --disable-dependency-tracking
                            speeds up one-time build
    --disable-libtool-lock  avoid locking (might break parallel builds)
    --disable-largefile     omit support for large files
    --enable-external-dht   Use system external-dht
    --enable-external-b64   Use system libb64
    --enable-utp            build µTP support
    --enable-external-natpmp
                            Use system external-natpmp
    --enable-nls            enable native language support
    --disable-nls           do not use Native Language Support
    --enable-lightweight    optimize libtransmission for low-resource systems:
                            smaller cache size, prefer unencrypted peer
                            connections, etc.
    --enable-cli            build command-line client
    --enable-mac            build Mac client
    --enable-daemon         build daemon
    
    Optional Packages:
    --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
    --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
    --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
                      both]
    --with-aix-soname=aix|svr4|both
                            shared library versioning (aka "SONAME") variant to
                            provide on AIX, [default=aix].
    --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
    --with-sysroot[=DIR]    Search for dependent libraries within DIR (or the
                            compiler's sysroot if not specified).
    --with-crypto=PKG       Use specified crypto library: auto (default),
                            openssl, cyassl, polarssl
    --with-inotify          Enable inotify support (default=auto)
    --with-kqueue           Enable kqueue support (default=auto)
    --with-systemd-daemon   Add support for systemd startup notification
                            (default is autodetected)
    --with-gtk              with Gtk
    
  9. Verifique se a saída do script de configuração corresponde ao seguinte (se é isso que você quer):

    Configuration:
    
       Source code location:                              .
       Compiler:                                          g++
    
       Build libtransmission:                             yes
          * optimized for low-resource systems:           no
          * µTP enabled:                                  yes
          * crypto library:                               openssl
    
       Build Command-Line client:                         no
    
       Build GTK+ client:                                 yes
          * libappindicator for an Ubuntu-style tray:     yes
    
       Build Daemon:                                      yes
    
       Build Mac client:                                  no
    

    Se não houver nada errado, você pode continuar, caso contrário, você precisará solucionar o problema.

  10. Compile o programa, isso pode demorar um pouco:

    make
    

    Se a compilação for bem-sucedida, você poderá continuar, caso contrário, será necessário solucionar o problema.

  11. Antes de instalá-lo, você provavelmente desejará remover a versão estável mais antiga que você pode ter instalado do repositório, mas há uma hachura: você provavelmente desejará manter suas configurações e, em caso afirmativo, localizar o arquivo de configurações :

    locate transmission/settings.json
    
  12. Suponhamos que esteja no seu diretório pessoal ~/.config/ . Faça um backup em algum lugar, por exemplo no seu diretório pessoal:

    cp ~/.config/transmission/settings.json ~/
    
  13. Agora remova a versão original do pacote:

    sudo apt-get purge transmission-gtk transmission-common
    
  14. Instale seu cliente transmission-gtk compilado:

    sudo make install
    
  15. Apesar de não ter o cliente transmission-gtk iniciado , você pode mover seu arquivo de configurações, ou melhor, primeiro examinar as diferenças e decidir se apenas sobrescrevê-lo seria OK ou não:

    mv ~/settings.json ~/.config/transmission/settings.json
    
  16. Finalmente, suponha que você deseja um item da área de trabalho, copie-o e marque-o como executável:

    cp ~/Downloads/transmission-2.92/gtk/transmission-gtk.desktop ~/Desktop/
    
    chmod a+x ~/Desktop/transmission-gtk.desktop
    
  17. Da mesma forma, você pode criar um item de menu, basta adicionar sudo e não se incomodar com o bit de execução:

    sudo cp ~/Downloads/transmission-2.92/gtk/transmission-gtk.desktop /usr/share/applications/
    
por 16.12.2016 / 11:51