Changes

From Studiosg
Jump to navigationJump to search
no edit summary
Line 16: Line 16:  
* Move each source code archive in its proper directory inside the build tree for example '''tdebase-R14.0.4.tar.bz2''' in ''/usr/src/tde/base/tdebase/''.
 
* Move each source code archive in its proper directory inside the build tree for example '''tdebase-R14.0.4.tar.bz2''' in ''/usr/src/tde/base/tdebase/''.
 
* Update the ''TDE.options'' configuration file setting the target architecture: i486, x86_64 or arm.
 
* Update the ''TDE.options'' configuration file setting the target architecture: i486, x86_64 or arm.
* Run the main script: '''sh''' ''/usr/src/tde/tde_build_script/bin/TDE.SlackBuild'' .
+
* Run the main script: '''sh''' '''/usr/src/tde/tde_build_script/bin/TDE.SlackBuild''' .
 
* Wait for the build procedure to conclude returning message: "'''TDE full build successfully concluded'''".
 
* Wait for the build procedure to conclude returning message: "'''TDE full build successfully concluded'''".
 
For more information please read the articles available in this very web site.
 
For more information please read the articles available in this very web site.
Line 90: Line 90:  
===== Which Ruby Version Is Supported ? =====
 
===== Which Ruby Version Is Supported ? =====
 
The last available Slackware Linux release includes packages for '''Ruby 2.2''' that seem to work perfectly with TDE.
 
The last available Slackware Linux release includes packages for '''Ruby 2.2''' that seem to work perfectly with TDE.
 +
 +
=== Why Are Localization Packages Not Built by the Build Tree ? ===
 +
Building the TDE localization packages requires a lot of time and the saved packages require a lot of disk space. Moreover very few people install 50 different languages on their systems; usually users install the TDE predefined language, English, and their native one. That said the build tree does not build automatically all localization packages to spare time and resources. Build instructions are commented and should be enabled editing the main script: '''/usr/src/tde/tde_build_script/bin/TDE.SlackBuild'''.
 +
 +
=== How Can I Install Localization Packages ? ===
 +
The build tree '''automatically builds and installs''' the localization packages '''when the proper lines of code are enabled''' in the main script: '''/usr/src/tde/tde_build_script/bin/TDE.SlackBuild'''. To enable localization packages building and installing you should:
 +
# Copy source code archives in directory ''/usr/src/tde/base/tde-i18n/''.
 +
# Remove the leading comment in '''line 320''' of the '''/usr/src/tde/tde_build_script/bin/TDE.SlackBuild''' script as in the following example.
 +
<syntaxhighlight lang="bash">
 +
  SOURCE_SUBDIR=\".\"" > ./local.options
 +
      # Build package
 +
  #  bash ./${PKG}.SlackBuild
 +
      if [[ 0 = ${?} ]]; then
 +
</syntaxhighlight>
 +
Edit it into:
 +
<syntaxhighlight lang="bash">
 +
  SOURCE_SUBDIR=\".\"" > ./local.options
 +
      # Build package
 +
      bash ./${PKG}.SlackBuild
 +
      if [[ 0 = ${?} ]]; then
 +
</syntaxhighlight>
 +
 +
=== I Need Only One Localization Package. How Can I Alter the Script to Build Only One ? ===
 +
There are 2 ways to build only one localization package. The first and easier one consists of populating the ''/usr/src/tde/base/tde-i18n/'' directory with but the desired language tarball. The second way consists in editing '''/usr/src/tde/tde_build_script/bin/TDE.SlackBuild''' script and is way trickier.
 +
 +
If you want to permanently update the script just edit the '''for cycle''' responsible for selecting localization tarballs and remove the asterisk character. For example edit line:
 +
<syntaxhighlight lang="bash">
 +
  for LC_PACK_PATH in ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/${PRGNAM}-* ; do
 +
</syntaxhighlight>
 +
changing it into
 +
<syntaxhighlight lang="bash">
 +
  for LC_PACK_PATH in ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/${PRGNAM}-nds ; do
 +
</syntaxhighlight>
 +
this way only the '''tde-i18n-nds''' localization package will be built while every other will be ignored.
 +
 +
If you wish to add a parameter for language selection to the script replace the asterisk character with a new variable. Assign a value to the newly added variable when running the script or add it to the option file. For example suppose to introduce variable '''LOCALE''' as follows:
 +
<syntaxhighlight lang="bash">
 +
  for LC_PACK_PATH in ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/${PRGNAM}-${LOCALE} ; do
 +
</syntaxhighlight>
 +
then add the following lines somewhere at the beginning of the script:
 +
<syntaxhighlight lang="bash">
 +
  LOCALE=${1}
 +
  # Check for command line parameter.
 +
  if [[ -z ${LOCALE} ]]; then
 +
      echo "(EE) missing locale."
 +
      exit -1
 +
  fi
 +
</syntaxhighlight>
 +
The '''LOCALE''' variable is assigned the first parameter passed to the '''/usr/src/tde/tde_build_script/bin/TDE.SlackBuild''' script.
 +
To build the '''tde-i18n-nds''' package, for example, you should invoke the script as follows:
 +
  '''sh''' '''/usr/src/tde/tde_build_script/bin/TDE.SlackBuild''' tde-i18n-nds
 +
 +
=== Where Is TDE Installed ? ===
 +
All packages making up TDE are configured to install in directory ''/opt/trinity'' in order to ensure a pacific coexistence of TDE and KDE.
 +
 +
=== Can I Change the Installation Directory ? ===
 +
Of course. Please edit the configuration file ''TDE.options'' and change the '''PREFIX''' value. For example to install TDE in directory ''/usr/bin'' set the following value for '''PREFIX''':
 +
<syntaxhighlight lang="bash">
 +
  PREFIX="/usr/bin"
 +
</syntaxhighlight>
 +
 +
=== How Much Disk Space TDE Requires ? ===
 +
The base packages, the prerequisites and the extension libraries add up to:
 +
* '''700 Mb''' for the 32 bit version.
 +
* '''750 Mb''' for the 64 bit version.
 +
Localization packages and applications are excluded.
 +
 +
=== Where Is TDE built ? ===
 +
The build tree scripts all write temporary files in directory ''/tmp/build/'' while the installation packages are saved in directory ''/tmp/''.
 +
 +
=== How Much Storage Building TDE Requires ? ===
 +
The base environment requires more or less '''1 Gb''' of storage for temporary files written by some of the largest packages while building. Add '''300 Mb''' to store the output packages. Localization packages require a lot disk space more. The one time I built them all it used '''4 Gb''' of free space in directory ''/tmp''. Sadly I cannot provide you data regarding the applications and extensions because I never tried to build them all.
 +
 +
=== Why Is Directory ''/tmp/build/'' Always Empty ? ===
 +
Temporary files are deleted every time a package finishes building in order to save disk space otherwise the 1 Gb value suggested above will not suffice.
 +
 +
=== In Which Order Should I Build TDE Packages ? ===
 +
TDE developers suggested build order is available on-line in the [https://wiki.trinitydesktop.org/How_to_Build_TDE_Core_Modules#Suggested_Build_Order project wiki pages]. The order used by the build tree is:
 +
* '''Prerequisites'''
 +
** tqt3
 +
** tqtinterface
 +
** arts
 +
** dbus-tqt
 +
** dbus-1-tqt
 +
** tqca
 +
** tqca-tls
 +
** libart-lgpl
 +
** libcaldav
 +
** libcarddav
 +
** sip4-tqt
 +
* '''Base Packages'''
 +
** tdelibs
 +
** tdebase
 +
* '''Python Prerequisites'''
 +
** tqscintilla
 +
** python-tqt
 +
* '''Python Libraries'''
 +
** python-trinity
 +
** pytdeextensions
 +
* '''Base environment'''
 +
** tdebindings
 +
** tdeaccessibility
 +
** tdeutils
 +
** tdemultimedia
 +
** tdenetwork
 +
** tdeadmin
 +
** tdeartwork
 +
** tdegames
 +
** tdetoys
 +
** tdeedu
 +
** tdegraphics
 +
** tdepim
 +
** tdesdk
 +
** tdevelop
 +
** tdeaddons
 +
** tdewebdev
 +
* '''Localization packages''' (When enabled)
 +
* '''Optional libraries'''
 +
** mlt
 +
** mlt++
 +
** libtqt-perl
 +
** libtdeldap
 +
** libkexiv2
 +
** libkdcraw
 +
** libkipi
 +
** libksquirrel
 +
** kipi-plugins
 +
 +
=== The Script builds All of TDE Packages ? ===
 +
Yes, almost all.
 +
 +
=== The Script builds All of TDE Prerequisites ? ===
 +
All except '''avahi-tqt''', that was excluded because Slackware does not ship a package for '''avahi'''.
 +
 +
=== The Script builds All of TDE Base Packages ? ===
 +
Yes, all.
 +
 +
=== The Script builds All of TDE Optional Libraries and Enhancements ? ===
 +
Yes, all.
 +
 +
=== The Script builds Any of the TDE Applications ? ===
 +
No, no application. TDE includes a lot of applications, but I use almost no one so I never tried to build them all.
 +
 +
=== Did You Ever Try to Build Any of the Applications ? ===
 +
I managed to build '''k3b''', '''krename''' and '''ktorrent''' in the past, but I can not provide up to date instructions about them.
 +
 +
=== Where Are Packages Saved ? ===
 +
Once built, packages are saved into the ''/tmp'' directory.
 +
 +
=== How Can I Obtain a List of Installed Packages ? ===
 +
TDE Packages are managed as any other package through the '''pkgtools''' suite in Slackware. To obtain a list of installed packages run command:
 +
  '''ls''' ''-la'' /var/log/packages/*
 +
 +
To filter TDE packages from the full list use the '''grep''' command with a target value to match. All of TDE 14.0.4 packages contain the "R14" string for example. The command used to output a list of TDE installed packages is:
 +
  '''ls''' ''-la'' /var/log/packages/* | '''grep''' R14
 +
 +
Alternatively you can read the package names listed into the '''TDE.SlackBuild''' script and search them one by one.
 +
 +
=== Can I Build Packages without Installing Them ? ===
 +
It is not possible because of missing dependencies. All of the TDE base packages require '''tqt''', '''tdebase''' and '''tdelibs'''. Moreover many of the base packages require other ones to be successfully built.
 +
 +
=== How Can I Build One Package Only ? ===
 +
Please read the answer to the previous question. You might want to recompile a package without having to re-install the entire environment. If this were the case, '''you can manually run the SlackBuild build script for a package'''. If you wish to rebuild the '''tdeadmin''' package for example:
 +
* Move to the directory where the SlackBuild script and the source code archive are located.
 +
  '''cd''' /usr/src/tde-14.0.4/base/tdeadmin/
 +
* Check for the presence of the source code archive.
 +
  '''ls''' ''-la''
 +
  total 1652
 +
  drwxr-xr-x  2 root root    4096 Sep 26 13:52 ./
 +
  drwxr-xr-x 22 root root    4096 Dec 14  2016 ../
 +
  -rw-r--r--  1 root root      64 Sep 26 18:28 local.options
 +
  -rw-r-----  1 root root    581 Aug 12mm  2016 ltmain_version_update.patch
 +
  -rw-r-----  1 root root    612 Aug 12  2016 slack-desc
 +
  '''-rw-r--r--  1 root root 1656957 Nov  7  2016 tdeadmin-R14.0.4.tar.bz2'''
 +
  -rwxr-----  1 root root  10797 Dec 14  2016 tdeadmin.SlackBuild*
 +
* Run the build script:
 +
  '''sh''' ./tdeadmin.SlackBuild
 +
 +
=== Can TDE Work in a Multi-Lib Environment ? ===
 +
I built TDE for both Slackware64 and Slackware64 multi-lib in the past. Once installed the 64 bit TDE version works flawlessly.
 +
 +
=== What About TDE Performances ? ===
 +
Excellent. It works perfectly with both dated hardware and ARM processors. Definitely more lightweight than KDE 4 and later KDE releases. An excellent desktop environment.
 +
 +
=== Can I Install TDE on Slackware Current ? ===
 +
I never tried to install TDE on the development (current) branch of Slackware. In the past I received negative feedback from other users who have tried. The reported problems seemed to be tied to '''tdebase''' ie to the entire TDE. The error messages seemed more incompatibility issues with C++ 11 than real mistakes in the TDE code base, but I never gave the topic much attention.
 +
 +
=== What Can I Do When Problems Arise ? ===
 +
When the compilation procedure exits with errors, '''you have to diagnose the cause'''. There is no standard methodology I'm aware of in such cases. You have to proceed by trial and with some luck you'll find the source of the problem. Some knowledge of C, C++, gcc, g++ and of the make command and MakeFile file format will help.
 +
 +
What i usually do is:
 +
* Understand which package generated errors and caused the build script to fail.
 +
* Read the log files available in the ''/tmp'' directory.
 +
: There are up to 4 log files for each package:
 +
:* <package>_configure.log: Includes the output from the configure command run before code compilation starts.
 +
:* <package>_make.log: Includes the compiler output.
 +
:* <package>_install.log: Includes the output of the install script that copies built files to the destination directory before packaging them.
 +
:* <package>_makepkg.log: Includes the output of the package generation commands.
 +
: Files are listed in the order they are written by the build procedure.
 +
* Read the last log file available starting from the end and come backward searching for errors.
 +
: Failure is usually a consequence of:
 +
:* A missing dependency or a mismatch in package version.
 +
:* Compiler errors.
 +
: The former can be dealt with quite easily installing the missing packages or replacing the installed ones with different versions then running the SlackBuild script again.
 +
: The latter is more tricky and requires some programming knowledge. You have to figure out which step of the compilation raised the error then navigate the ''/tmp/build/tmp-<package>/'' directory looking for the directory where source code and MakeFiles are located. Once found, locate the specific file that raised the error and try to correct it. I managed to find and solve issues in the past, but a successful outcome is not granted. I can only wish you the best of luck.
 +
 +
=== Who Can I Refer to to Report Issues or to Ask for Help ? ===
 +
I'll suggest the TDE developers. Their contacts are available in the following [https://www.trinitydesktop.org/support.php Web Page]. You can of course ask me, but please keep in mind that:
 +
* I'm mot part of the TDE development team, just an user and as such I do not know much more than you do.
 +
* It is a hobby, not my actual work. My response times are slow.
 +
 +
=== I Solved a Problem. Would some Notes Help You ? ===
 +
That would surely help the TDE developers a lot to close bugs and enhance the desktop environment. Please contact them. Their contacts are available in the following [https://www.trinitydesktop.org/support.php Web Page].
 +
 +
=== After I Solved an Issue How Can I Execute a Partial Build ? ===
 +
After solving an issue you must restart the build script for it to build and install the TDE packages. Sadly the script '''starts over every time'''. That's a waste especially when the procedure fails in its final stages. Building only the missing packages would be a much better option.
 +
 +
You have to edit the '''TDE.SlackBuild''' script to build only a subset of the packages. Set alternative values for the '''PKG_LIST_PRE01''', '''PKG_LIST_PRE02''', '''PKG_LIST_BASE01''', '''PKG_LIST_LIB_PYTHON''', '''PKG_LIST_BASE02''' and '''PKG_LIST_LIB''' variables. For example, if the error was generated by '''tdebindings''' and you only wanted to compile that package and the ones following in the list, the following values should be assigned to variables:
 +
<syntaxhighlight lang="bash">
 +
  PKG_LIST_PRE01=""
 +
  PKG_LIST_PRE02=""
 +
  PKG_LIST_BASE01=""
 +
  PKG_LIST_LIB_PYTHON=""
 +
  PKG_LIST_BASE02="tdebindings tdeaccessibility tdeutils tdemultimedia tdenetwork tdeadmin tdeartwork tdegames tdetoys tdeedu
 +
      tdegraphics tdepim tdesdk tdevelop tdeaddons tdewebdev"
 +
  PKG_LIST_LIB="mlt mlt++ libtqt-perl libtdeldap libkexiv2 libkdcraw libkipi libksquirrel kipi-plugins"
 +
</syntaxhighlight>
 +
If instead you wanted to build packages starting with '''tdeartwork''' and on:
 +
<syntaxhighlight lang="bash">
 +
  PKG_LIST_PRE01=""
 +
  PKG_LIST_PRE02=""
 +
  PKG_LIST_BASE01=""
 +
  PKG_LIST_LIB_PYTHON=""
 +
  PKG_LIST_BASE02="tdeartwork tdegames tdetoys tdeedu tdegraphics tdepim tdesdk tdevelop tdeaddons tdewebdev"
 +
  PKG_LIST_LIB="mlt mlt++ libtqt-perl libtdeldap libkexiv2 libkdcraw libkipi libksquirrel kipi-plugins"
 +
</syntaxhighlight>
 +
 +
I'll suggest checking which packages are present on the system before editing the '''TDE.SlackBuild''' script . Forget a package and issues could arise while building the following ones.
 +
 +
=== How Can I Set TDE as the Default Desktop Environment ? ===
 +
This has not much to do with the build tree anyway you have to run the Slackware configuration tool: '''pkgtool'''.
 +
* Select the '''Setup''' option.
 +
[[File:Pkgtool-01.jpg|pkgtool - Setup]]
 +
* Scroll the menu down until reaching the '''xwmconfig''' option.
 +
[[File:Pkgtool-02.jpg|pkgtool - xwmconfig]]
 +
* Select TDE in the list of available desktop environments.
 +
[[File:Pkgtool-03.jpg|pkgtool - TDE]]
 +
* Close the X window session and restart the graphical interface.
     

Navigation menu