Changes

From Studiosg
Jump to navigationJump to search
Added page about TDE 14.0.9 and its building scripts
{{header_en|title=Installing TDE 14.0.9 on SlackwareArm Linux 14.2 Current| keyword={{Template:keyword_en_tde}}| description=Building, installing and configuring working TDE 14.0.9 packages on Slackware Linux 14.2 Current | link_page=trinity_desktop_environment_14.0.9}}

== '''TDE 14.0.9''' ==

Last 1st November the '''Trinity Desktop Environment''' project developers released a new maintenance release, numbered 14.0.9, of the desktop environment stable branch. The latest version includes patches for the bugs that emerged since the previous April release, new themes, some new apps, the removal of some old and no more maintained code form packages and more. For a full list of changes you are recommended to consult the [https://wiki.trinitydesktop.org/Release_Notes_For_R14.0.9 release notes] or the [https://wiki.trinitydesktop.org/Changelog_For_R14.0.9 full list of introduced changes]. A new release often introduces changes and new source code forcing to update the software build procedure; 14.0.9 is no exception to the rule. In the following article I'll discuss the changes introduced enabling everyone wishing to, to build working packages of the desktop environment for Slackware Linux. For the impatient, a link is available at the bottom of the page from which to download the archive containing all of the build scripts. At the bottom of the page you can find the link to the project download page including links to the source code.

=== What Changed ===
For once a great amount of changes are not directly related to '''TDE''', but were introduced in Slackware Linux instead. Being a development release, packages included in 14.2 current are prone to frequent updates resulting in backward incompatibilities with previous releases. The macroscopic change this time consists of the update of the '''Glibc''' library, the '''C library''' is a fundamental part of pretty much any operating system, from version '''2.23''' to newer '''2.26'''.

==== Glibc 2.26 ====
'''The C library is the founding piece for all of the compiled software''', change it and the whole system will be affected. With release 2.26 all of the functions related to the '''ypbind''' or ''NIS''' service were removed from the main library and included into dedicated ones. The NIS service provides centralized user authentication and directory and file sharing through many computers in a local network. TDE leans to NIS for some of its functionality thus some additional libraries are required to both build the new release and to keep running older, previously installed, ones. The aforementioned package list consists of:
* '''libnsl'''.
* '''rpcsvc-proto'''.
* '''yptools'''.
The last listed package includes the bulk of the code removed from Glibc while the first one includes the NIS public client. Finally '''rpcsvc-proto''' includes '''rpcgen''' and other files missing from '''libtirpc''', required to create header files and build the Trinity Desktop Environment source code. At the time of writing you can install all of the listed dependencies connecting to the server as user '''root''' and typing the following commands:
root@system:~# '''installpkg''' libnsl-1.3.0-arm-1.txz
root@system:~# '''installpkg''' yptools-4.2.3-arm-1.txz
root@system:~# '''installpkg''' rpcsvc-proto-1.4.2-arm-1.txz

==== Other Dependencies ====
'''Lz4''' is another package introduced in Slackware and consequently in SlackwareArm current. It includes programs needed to compress and decompress files using the lossless, fast and efficient compression algorithm sharing the same name. After you managed to find a copy of the package, install it running as '''root''' command:
root@system:~# '''installpkg''' lz4-1.9.3-arm-1.txz

This will install a library required to decompress the archive files containing the source code.

No more new dependencies were introduced. I'd like to remember to install [http://www.slackbuilds.org/repository/14.2/libraries/imlib/ '''imlib'''] before you try to build TDE packages to avoid an error and resulting failure while configuring '''tdegraphics''':
root@system:~# '''installpkg''' imlib-1.9.15-arm-1_SBo.txz

==== Akode ====
Nothing new here. I just added a package description in the '''slack-desc''' file which was missing since the package was firstly included two releases ago.

==== Libcaldav ====
The documentation file list was updated replacing '''INSTALL''' with '''NEWS''' in order to match the list to existing files. The mismatch raised an error while building the package and resulted in a failure of the whole build.

Script line:
<syntaxhighlight lang="bash">
DOCS="AUTHORS ChangeLog COPYING NEWS README TODO"
</syntaxhighlight>

was updated with the following:
<syntaxhighlight lang="bash">
DOCS="AUTHORS ChangeLog COPYING INSTALL README TODO"
</syntaxhighlight>

The updated script works flawlessly.

==== Libcarddav ====
'''Libcarddav''' update mirrors its "twin" package '''libcaldav''' one. The script line:
<syntaxhighlight lang="bash">
DOCS="AUTHORS ChangeLog COPYING NEWS README TODO"
</syntaxhighlight>

was too updated with:
<syntaxhighlight lang="bash">
DOCS="AUTHORS ChangeLog COPYING INSTALL README TODO"
</syntaxhighlight>

To avoid an annoying error causing the build procedure to fail while copying documents to their target directory.

==== Libkexiv2 ====
The first real change I encountered is removing any mention of the '' 'ltmain.sh' '' patch from '''libkexiv2'''. It seems the Trinity Desktop Environment finally aligned its source code to a recent version of '''libtool''' thus making the patch redundant.

Script line:
<syntaxhighlight lang="bash">
# Patch the admin/ltmain.sh script in order to solve a version mismatch.
patch -p0 -i ${SRCDIR}/ltmain_version_update.patch
</syntaxhighlight>

was commented:
<syntaxhighlight lang="bash">
# Patch the admin/ltmain.sh script in order to solve a version mismatch.
# patch -p0 -i ${SRCDIR}/ltmain_version_update.patch
</syntaxhighlight>

I plan to permanently remove the line with the next release.

==== Libtdeldap ====
'''Libtdeldap''' used to requir the '''ltmain.sh''' patch too to correct the '''libtool''' version mismatch and again script line:
<syntaxhighlight lang="bash">
# Patch the admin/ltmain.sh script in order to solve a version mismatch.
patch -p0 -i ${SRCDIR}/ltmain_version_update.patch
</syntaxhighlight>

was commented:
<syntaxhighlight lang="bash">
# Patch the admin/ltmain.sh script in order to solve a version mismatch.
# patch -p0 -i ${SRCDIR}/ltmain_version_update.patch
</syntaxhighlight>

Waiting to be permanently removed with next TDE release.

The documentation file list was updated as well removing '''ChangeLog''', '''NEWS''' and '''TODO'''.

Script line:
<syntaxhighlight lang="bash">
DOCS="AUTHORS ChangeLog COPYING INSTALL NEWS README TODO"
</syntaxhighlight>

was updated in:
<syntaxhighlight lang="bash">
DOCS="AUTHORS COPYING INSTALL README"
</syntaxhighlight>

After the updates, the package will build flawlessly.

==== Tqca-tls ====
Last but not least the '''tqca-tls''' package was reconfigured to use '''cmake''' instead of '''autotools''' and went to increase the number of packages recurring to the new build system. With the occasion the '''DESTDIR''' variable replaced '''INSTALL_ROOT''', that was used by '''tqca-tls''' alone, thus aligning with the rest of the graphical environment.

The following script lines:
<syntaxhighlight lang="bash">
# tqca-tls uses variable INSTALL_ROOT in place of DESTDIR
make install INSTALL_ROOT=${PKG} 2>&1 | tee ${OUTPUT}/${PRGNAM}_install.log
</syntaxhighlight>

were replaced with:
<syntaxhighlight lang="bash">
make install DESTDIR=${PKG} 2>&1 | tee ${OUTPUT}/${PRGNAM}_install.log
</syntaxhighlight>

The updated script can now build a perfectly working package.


== UPDATED BUILD TREE ==

Here is the link pointing to the build scripts packaged into a conveniently compressed archive: [http://www.giustetti.net/resource/slackbuild/tde/1409/tde_build_tree_sg-14.0.9.tar.bz2 tde_build_tree_sg-14.0.9.tar.bz2]. Download and decompress it, copy the source archives to the target directories bearing the same name then run the '''TDE.SlackBuild''' script to start building the desktop environment from scratch. I strongly suggest removing any installed version of '''TDE''' to avoid conflicts when building new packages.


== CONCLUSIONS ==

This paper provides a summary for some updates introduced in the '''Trinity Desktop Environment''' latest release. The build scripts were updated, tested and collected in a compressed archive in order to ease their adoption and use. For more in depth instructions on the use of the scripts, please refer to the other articles available in this web site. Compiling, installing, configuration and testing were preformed on a '''Raspberry Pi model 4 which runs a version of Slackware Linux for the ARM platform'''. In conclusion, the usual tanks to the '''Trinity Desktop Environment''' developers and maintainers for their hard work and passion.


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


External links
----

* [https://www.raspberrypi.org Raspberry Pi foundation home page]
* [https://it.wikipedia.org/wiki/Raspberry_Pi Raspberry Pi page in Wikipedia]
* [http://www.slackware.com Slackware home page]
* [http://arm.slackware.com Slackware Linux for the ARM architecture]
* [https://sarpi.fatdog.eu/ Unofficial Support page for Slackware and Raspberry Pi]
* [http://www.trinitydesktop.org TDE home page]
* [http://ftp.fau.de/trinity/releases/R14.0.9/downloads.html TDE download links]


----

{{footer_en | link_page=trinity_desktop_environment_14.0.9}}

Navigation menu