En/trinity desktop environment

Revision as of 13:59, 7 February 2014 by Wikiuser (talk | contribs)

Welcome to Simone Giustetti's wiki pages.


Languages: English - Italiano



Trinity Desktop Environment

The Trinity Desktop Environment is a project born forking the KDE 3.5.10 source base. The project aims to keep the KDE 3.x branch alive resolving bugs and adding functionality and support for modern hardware. The first official release was 3.5.11 dated 29th April 2010. In the 3 years since, others followed with a yearly release cycle culminating in the last available one: 3.5.13.2 dated July 2013. Since day one the Trinity project provides binary packages for some Linux distributions: Debian and Ubuntu which were joined by Fedora and Red Hat in later releases. Some other distributions and operating systems are supported via a mix of source code packages and build instructions provided through the project web pages. In the following paper I'll try to provide an overview of the Trinity Desktop Environment support for recent Slackware releases.

TDE and Slackware

I have a really critical opinion about KDE 4 that strengthened over time, therefore I followed the Trinity project with anticipation from its birth. I never had the opportunity to install the desktop environment on a production machine because the Slackware support somewhat lacked and always seemed late when compared to other distributions:

  • The downloadable binary packages available from the project web site were historically never built against the "current" Slackware release, but usually for an earlier, sometimes obsolete one.
  • The provided build scripts are hard to read and worse to update. It seems impossible to obtain a clean build out of downloaded source packages of an official release. Scripts stubbornly try to download source code from the Git repository refusing to read locally installed archives in spite of environment variables assigned values. Moreover the total script count is high as a lot of optional libraries and applications are included; libraries and applications I won't use anyway.

I lost faith in KDE developers who seem more eager to get in the smart pone / tablet business rather than develop for the old desktop PC and I still miss some features of KDE 3 that never made it to 4.x branch therefore I decided to give Trinity a try compiling my own packages.

Packages from Unofficial Repositories

Compiling TDE for the current Slackware release, 14.0 at the time of writing, out of source packages is not an original idea. A quick search in the web returned some links to unofficial packages and repositories:

  • The Indiana Non-Profit Information Technology Organization web site hosts packages for the 3.5.13 TDE release. Packages are built against a 64 bit multilib Slackware 13.37. They were rejected not being the latest Slackware release nor TDE one. Packages are meant to be a KDE 4 replacement: it is not possible to install both desktop environments on the same machine. /usr was chosen as root path for the installation as a consequence files from one environment will overwrite files from the other.
  • Lazy Tux web site hosts packages for both a 32 bit and a 64 bit release of Trinity 14.0.0, the development an test release. The environment is packaged for Slackware 14.0, but still a development release not a final build. Again the /usr path was configured as root directory making TDE 3 and KDE 4 coexistence impossible. Packages are configured for the Nvidia video driver. Maybe too many dependencies are required .

Installing unofficial packages was not an option. I went for building packages from source following some sane guide lines in order to get binaries usable by users other than me.


Building TDE

While building TDE I tried to follow the documentation available in the project wiki. The guides don't seem up to date; some changes to the procedure were necessary here and there.

Guide Lines

The adopted guide lines follow:

  1. Ignore the Trinity provided build kit for Slackware in favor of the old official slackbuild scripts for KDE 3. Use those as a base providing updates and patches when needed.
  2. Build the base environment only. Do not consider all optional libraries and binaries.
  3. Build a working 32 bit release for Intel / AMD compatible architecture initially then go on with a 64 bit release and finally a multilib one.
  4. Include options to compile for architectures other than Intel / AMD in the slackbuild scrips from the very start. This will hopefully ease the porting work.
  5. Configure /opt/trinity as base directory for packages in order for TDE 3 to coexist with KDE 4 on the very same machine.


Packages are divided into three macro groups: prerequisites, base packages and applications. Below You'll find the package list ordered by the build sequence. Notes, slackbuilds and additional build instructions are available in the specific page for each package.

Prerequisites

The group include base libraries used throughout the desktop environment by applications. All packages here grouped do not use the automake utility to compile: they were migrated to cmake. The slackbuild scripts for kDE 3 were written for automake and were thus updated accordingly.

The build order followed is:

Base Packages

Once all packages included in the "Prerequisites" set are built and installed it is possible to go on with the TDE core packages. Packages including all the base subsystems and the applications of the desktop environment. The TDE project divides the "Base Packages" into two subsets:

  1. Required: All packages TDE cannot work without.
  2. Recommended: Packages adding some functionality or service not critical to the environment.

Below I'll work with the Required packages only, leaving the Recommended ones for the future.


  • tdemultimedia WIP !!!
  • tdenetwork
  • tdeadmin
  • tdeartwork
  • tdegames
  • tdetoys
  • tdeedu
  • tdegraphics
  • tdepim
  • tdesdk
  • tdevelop
  • tdeaddons

Applications

For any feedback, questions, errors and such, please e-mail me at studiosg [at] giustetti [dot] net


External links



Languages: English - Italiano