Changes

226 bytes added ,  14:05, 21 March 2022
no edit summary
Line 1: Line 1: −
Welcome to Simone Giustetti's wiki pages.
+
{{header_en|title=Building Ktorrent for TDE| keyword={{Template:keyword_en_tde}}| description=Building, installing and configuring a working Ktorrent package for TDE and Slackware Linux | link_page=TDE_ktorrent}}
 
  −
 
  −
Languages: '''English''' - [http://www.giustetti.net/wiki/index.php?title=TDE_ktorrent Italiano]
  −
 
  −
----
      
== KTORRENT ==
 
== KTORRENT ==
[[En/trinity_desktop_environment#Applications]]
+
[[En/trinity_desktop_environment#Applications | TDE - Applications]]
    
'''Ktorrent''' is a '''BitTorrent''' client for the '''Trinity Desktop Environment'''. It enables users to download files through the BitTorrent protocol, frequently used by Linux distributions to share ISO images of their install media. '''Ktorrent''' can download many files at once, configure bandwidth utilization limiting the whole client or specific torrents, manage a download queue, block or filter peers and much more. The program is features rich and can be further enhanced installing plug-ins. The release used in this paper is the '''TEDE''' compatible one. '''Ktorrent was successfully ported to KDE release 4''': to use Ktorrent 4 specific features, please refer to the official [http://ktorrent.pwsp.net home page].
 
'''Ktorrent''' is a '''BitTorrent''' client for the '''Trinity Desktop Environment'''. It enables users to download files through the BitTorrent protocol, frequently used by Linux distributions to share ISO images of their install media. '''Ktorrent''' can download many files at once, configure bandwidth utilization limiting the whole client or specific torrents, manage a download queue, block or filter peers and much more. The program is features rich and can be further enhanced installing plug-ins. The release used in this paper is the '''TEDE''' compatible one. '''Ktorrent was successfully ported to KDE release 4''': to use Ktorrent 4 specific features, please refer to the official [http://ktorrent.pwsp.net home page].
 +
    
== Ktorrent and Slackware ==
 
== Ktorrent and Slackware ==
    
'''A Ktorrent official package has been part of Slackware for many releases''', usually included in the KDE release 3 or 4 directory. The official SlackBuild script was used as an example to write one suitable for the 3.5.13.2 release of TDE. The project rules and conventions were strictly followed:
 
'''A Ktorrent official package has been part of Slackware for many releases''', usually included in the KDE release 3 or 4 directory. The official SlackBuild script was used as an example to write one suitable for the 3.5.13.2 release of TDE. The project rules and conventions were strictly followed:
* Directory '''/opt/trinity''' was set as package root directory.
+
* Directory ''/opt/trinity'' was set as package root directory.
 
* Some missing makefiles were created running the '''make''' command from inside the main directory of the code extracted from the source archive.
 
* Some missing makefiles were created running the '''make''' command from inside the main directory of the code extracted from the source archive.
 
* The source code '''was patched''' in order to '''solve a version mismatch issue with libtool''': the source code was configured for release 2.2.6, but 2.4.2 is installed along Slackware 14.0.
 
* The source code '''was patched''' in order to '''solve a version mismatch issue with libtool''': the source code was configured for release 2.2.6, but 2.4.2 is installed along Slackware 14.0.
Line 22: Line 18:     
Some configuration scripts required by the build procedure are missing from the source tarball. We create the makefiles using the make command:
 
Some configuration scripts required by the build procedure are missing from the source tarball. We create the makefiles using the make command:
 +
<syntaxhighlight lang="bash">
 
   # Prepare the package for building (Create the configure script).
 
   # Prepare the package for building (Create the configure script).
 
   echo "(II) admin makefile run here" >> ${OUTPUT}/${PRGNAM}_configure.log
 
   echo "(II) admin makefile run here" >> ${OUTPUT}/${PRGNAM}_configure.log
 
   make -f admin/Makefile.common \
 
   make -f admin/Makefile.common \
 
       2>&1 | tee -a ${OUTPUT}/${PRGNAM}_configure.log
 
       2>&1 | tee -a ${OUTPUT}/${PRGNAM}_configure.log
 +
</syntaxhighlight>
 
A patch is needed to solve a '''libtool''' package version mismatch conflict:  
 
A patch is needed to solve a '''libtool''' package version mismatch conflict:  
 +
<syntaxhighlight lang="bash">
 
   # Patch the admin/ltmain.sh script in order to solve a version mismatch.
 
   # Patch the admin/ltmain.sh script in order to solve a version mismatch.
 
   patch -p0 -i ${SRCDIR}/ltmain_version_update.patch
 
   patch -p0 -i ${SRCDIR}/ltmain_version_update.patch
 +
</syntaxhighlight>
 
'''The script specifically sets Qt libraries paths''' in order for other scripts to find them at build time:  
 
'''The script specifically sets Qt libraries paths''' in order for other scripts to find them at build time:  
 +
<syntaxhighlight lang="bash">
 
   # Add temporary paths to handle new libraries during build
 
   # Add temporary paths to handle new libraries during build
 
   export QTDIR=/opt/trinity
 
   export QTDIR=/opt/trinity
Line 36: Line 37:  
   export LD_LIBRARY_PATH=/usr/lib${LIBDIRSUFFIX}:/opt/trinity/lib${LIBDIRSUFFIX}
 
   export LD_LIBRARY_PATH=/usr/lib${LIBDIRSUFFIX}:/opt/trinity/lib${LIBDIRSUFFIX}
 
   export PKG_CONFIG_PATH=:/usr/lib${LIBDIRSUFFIX}/pkgconfig:/opt/trinity/lib${LIBDIRSUFFIX}/pkgconfig:$PKG_CONFIG_PATH
 
   export PKG_CONFIG_PATH=:/usr/lib${LIBDIRSUFFIX}/pkgconfig:/opt/trinity/lib${LIBDIRSUFFIX}/pkgconfig:$PKG_CONFIG_PATH
 +
</syntaxhighlight>
 
Finally the script runs the '''./configure''' command to configure source code in accordance to the destination environment:
 
Finally the script runs the '''./configure''' command to configure source code in accordance to the destination environment:
 +
<syntaxhighlight lang="bash">
 
   # Configure the package
 
   # Configure the package
 
   LDFLAGS="${SLKLDFLAGS}" \
 
   LDFLAGS="${SLKLDFLAGS}" \
Line 51: Line 54:  
   --disable-rpath \
 
   --disable-rpath \
 
       2>&1 | tee -a ${OUTPUT}/${PRGNAM}_configure.log
 
       2>&1 | tee -a ${OUTPUT}/${PRGNAM}_configure.log
 +
</syntaxhighlight>
 
Once the configuration successfully concludes, the script runs the make command then goes on with packaging the software.
 
Once the configuration successfully concludes, the script runs the make command then goes on with packaging the software.
   Line 60: Line 64:     
External Links
 
External Links
 +
 
----
 
----
 +
 
* [http://www.trinitydesktop.org/wiki/bin/view/Developers/HowToBuild TDE build guide]
 
* [http://www.trinitydesktop.org/wiki/bin/view/Developers/HowToBuild TDE build guide]
 
* [http://ktorrent.pwsp.net Ktorrent home page]
 
* [http://ktorrent.pwsp.net Ktorrent home page]
Line 69: Line 75:  
----
 
----
   −
Languages: '''English''' - [http://www.giustetti.net/wiki/index.php?title=TDE_ktorrent Italiano]
+
{{footer_en | link_page=TDE_ktorrent}}