En/Trinity desktop environment 14.0.9

From Studiosg
Revision as of 20:01, 9 January 2021 by Wikiuser (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Welcome to Simone Giustetti's wiki pages.


Languages: English - Italiano


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 release notes or the 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 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:

   DOCS="AUTHORS ChangeLog COPYING NEWS README TODO"

was updated with the following:

   DOCS="AUTHORS ChangeLog COPYING INSTALL README TODO"

The updated script works flawlessly.

Libcarddav

Libcarddav update mirrors its "twin" package libcaldav one. The script line:

   DOCS="AUTHORS ChangeLog COPYING NEWS README TODO"

was too updated with:

   DOCS="AUTHORS ChangeLog COPYING INSTALL README TODO"

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:

   # Patch the admin/ltmain.sh script in order to solve a version mismatch.
   patch -p0 -i ${SRCDIR}/ltmain_version_update.patch

was commented:

   # Patch the admin/ltmain.sh script in order to solve a version mismatch.
   # patch -p0 -i ${SRCDIR}/ltmain_version_update.patch

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:

   # Patch the admin/ltmain.sh script in order to solve a version mismatch.
   patch -p0 -i ${SRCDIR}/ltmain_version_update.patch

was commented:

   # Patch the admin/ltmain.sh script in order to solve a version mismatch.
   # patch -p0 -i ${SRCDIR}/ltmain_version_update.patch

Waiting to be permanently removed with next TDE release.

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

Script line:

   DOCS="AUTHORS ChangeLog COPYING INSTALL NEWS README TODO"

was updated in:

   DOCS="AUTHORS COPYING INSTALL README"

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:

   # tqca-tls uses variable INSTALL_ROOT in place of DESTDIR
   make install INSTALL_ROOT=${PKG} 2>&1 | tee ${OUTPUT}/${PRGNAM}_install.log

were replaced with:

   make install DESTDIR=${PKG} 2>&1 | tee ${OUTPUT}/${PRGNAM}_install.log

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: 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






Languages: English - Italiano