21,667 bytes added
, 14:43, 14 June 2022
{{header_it|title=Installazione di TDE 14.0.12 su Slackware / SlackwareArm Linux 15.0 | keyword={{Template:keyword_it_tde}} | description=Installazione di Trinity Desktop Environment 14.0.12 su Slackware / SlckwareArm Linux 15.0 | link_page=en/Trinity_desktop_environment_14.0.12 }}
== '''TDE 14.0.11 / 14.0.12 su Slackware 15.0''' ==
Gli ultimi mesi si sono rivelati ricchi di novità per gli utenti di '''TDE''' e di '''Slackware Linux'''. L'ambiente grafico ha rilasciato ben due nuove versioni di debug del ramo 14.0 stabile nel giro di pochi mesi, ma la novità più eclatante consiste nel rilascio ufficiale di '''Slackware 15.0''', a conclusione di un periodo di sviluppo durato oltre cinque anni. Entrambi i rilasci includono molte novità, correzioni di errori, aggiunta di librerie e programmi e altri piccoli cambiamenti. Per un elenco delle modifiche apportate al '''Trinity Desktop Environment''' si rimanda alle rispettive note di rilascio (in inglese):
* [https://wiki.trinitydesktop.org/Release_Notes_For_R14.0.11 Note del rilascio della versione 14.0.11].
* [https://wiki.trinitydesktop.org/Release_Notes_For_R14.0.12 Note del rilascio della versione 14.0.12].
Oppure ai rispettivi registri dei cambiamenti introdotti (sempre in inglese):
* [https://wiki.trinitydesktop.org/Changelog_For_R14.0.11 Elenco completo delle modifiche incluse nella versione 14.0.11].
* [https://wiki.trinitydesktop.org/Changelog_For_R14.0.12 Elenco completo delle modifiche incluse nella versione 14.0.12].
L'aspetto forse più interessante per gli sviluppatori consiste nell'adozione di '''C++ 11''' come '''versione minima supportata''' del linguaggio di programmazione, a partire da TDE 14.0.12. Le notivà più importanti introdotte in Slackware 15.0 sono riportate nell'[http://www.slackware.com/announce/15.0.php annuncio ufficiale] (in inglese) e nelle [http://www.slackware.com/releasenotes/15.0.php note del rilascio] (sempre in inglese). Informazioni di dettaglio sono reperibili sul [http://www.slackware.com sito del progetto].
=== Cosa Cambia ===
Per quanto riguarda Slackware, le modifiche sono molte e impattano praticamente ogni aspetto del sistema. Tutti gli strumenti richiesti per compilare e far girare TDE sono presenti nel sistema base per cui l'ambiente grafico non è impattato dalle modifiche introdotte nel sistema operativo. I rilasci 11 e 12 di TDE consistono in versioni di debug, non introducono pertanto stravolgimenti nell'ambiente grafico, ma piuttosto correzioni e piccole modifiche atte ad ammodernare il progetto senza causare rotture con il passato. Nel seguito dell'articolo verranno descritte '''le novità introdotte in TDE 14.0.11 e 14.0.12'''. Le due versioni verranno trattate assieme perchè, complice l'accavallamento dei rilasci: TDE 14.0.11, Slackware 15.0, TDE 14.0.12, non è stato possibile mantenerle separate a meno di non ritardare notevolmente l'introduzione di '''Trinity Desktop Environment 14.0.12'''.
=== Akode ===
L'elenco dei documenti da copiare nella directory ''/usr/doc/akode-trinity-14.0.11'' è stato aggiornato. Si tratta di una modifica minore che previene la generazione di un errore durante la preparazione del pacchetto del programma, ma non tocca in alcun modo il programma stesso.
=== Cmake ===
Il progetto Trinity Desktop Environment include un certo numero di macro e script condivisi per CMake, il sistema di compilazione automatica principale. Il codice è condiviso dalla quasi totalità dei pacchetti in cui è articolato il progetto. Nelle versioni precedenti a 14.0.11, le macro venivano di volta in volta copiate nel codice sorgente di ogni pacchetto in occasione dei rilasci. Essendo tali parti di codice molto stabili e richiedendo poca manutenzione, la prassi è stata abbandonata con TDE 14.0.11 ed è stato introdotto un '''nuovo pacchetto''' dedicato. Il pacchetto '''cmake''' deve essere preparato ed installato prima di tutti gli altri in quanto contiene dipendenze necessarie per compilarli correttamente. Gli script per pacchettizzare cmake sono stati aggiunti nella sezione '''prerequisite''' del build tree:
├── prerequisite
│ ├── akode
│ │ ├── akode.SlackBuild
│ │ ├── local.options
│ │ └── slack-desc
...
│ ├── '''cmake'''
│ │ '''├── cmake.SlackBuild'''
│ │ '''├── local.options'''
│ │ '''└── slack-desc'''
│ ├── dbus-1-tqt
...
Ed è stata aggiornato l'elenco dei prerequisiti nello script principale: '''TDE.SlackBuild''' come segue:
<syntaxhighlight lang="bash">
PKG_LIST_PRE01="cmake akode libr tqt3 tqtinterface arts dbus-tqt dbus-1-tqt tqca libart-lgpl libcaldav libcarddav sip4-tqt"
</syntaxhighlight>
Le istruzioni per compilare l'intero Trinity Desktop Environment non mutano rispetto al passato. Lanciando lo script principale, dopo aver distribuito gli archivi contenenti il codice sorgente nelle cartelle preposte, la procedura terrà automaticamente conto del nuovo pacchetto introdotto.
=== Libkdcraw ===
Uno degli obiettivi del Trinity Desktop Environment dichiarati fin dalla nascita consiste nell''''adozione del sistema di compilazione CMake'''. La migrazione dei pacchetti da '''AutoTools''' a '''CMake''' è stata portata avanti con costanza nel corso degli anni e ormai pochissimi utilizzano ancora '''AutoTools'''. Uno degli ultimi, la libreria '''libkdcraw''', è stato convertito in occasione del rilascio 14.0.12 di TDE. Lo script SlackBuild di compilazione è stato aggiornato di conseguenza eliminando ogni riferimento ad '''AutoTools''' ed impostando le seguenti opzioni di compilazione:
<syntaxhighlight lang="bash">
cmake ${TMP}/tmp-${PRGNAM}/${DIR_SRC} \
-DCMAKE_C_FLAGS:STRING="${SLKCFLAGS}" \
-DCMAKE_CXX_FLAGS:STRING="${SLKCFLAGS} $DEBUG_CMAKE_OPT" \
-DCMAKE_INSTALL_PREFIX=${PREFIX} \
-DCONFIG_INSTALL_DIR=${SYSCONFDIR} \
-DSYSCONF_INSTALL_DIR=${SYSCONFDIR} \
-DXDG_MENU_INSTALL_DIR="/etc/xdg/menus" \
-DCMAKE_BUILD_TYPE="RelWithDebInfo" \
-DCMAKE_VERBOSE_MAKEFILE="ON" \
-DCMAKE_SKIP_RPATH="OFF" \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DMAN_INSTALL_DIR=${MANDIR} \
-DBUILD_ALL="ON" \
-DWITH_ALL_OPTIONS="ON" \
2>&1 | tee -a ${OUTPUT}/${PRGNAM}_configure.log
</syntaxhighlight>
Dato che la migrazione è stata eseguita per TDE 14.0.12, chi desiderasse compilare la versione 14.0.11 di libkdcraw ha due opzioni:
# Utilizzare lo script contenuto nel build tree della versione 14.0.12 sperando che CMake fosse già supportato.
# Utilizzare lo script contenuto nel build tree della [http://www.giustetti.net/resource/slackbuild/tde/14010/tde_build_tree_sg-14.0.10.tar.bz2 versione 14.0.10], disponibile nelle pagine di questo stesso sito.
=== Libexiv2 ===
L'elenco dei documenti da copiare nella directory ''/usr/doc/libexiv2-trinity-14.0.11'' è stato aggiornato. Si tratta di una modifica minore che previene la generazione di un errore durante la preparazione del pacchetto, ma non tocca in alcun modo la libreria.
=== Libtdeldap ===
L'elenco dei documenti da copiare nella directory ''/usr/doc/libtdeldap-trinity-14.0.11'' è stato aggiornato. Si tratta di una modifica minore che previene la generazione di un errore durante la preparazione del pacchetto, ma non tocca in alcun modo la libreria.
=== Polkit-tqt ===
Nel rilascio 14.0.12 è stato introdotto un '''nuovo pacchetto''': '''polkit-tqt'''. Una libreria che consente agli sviluppatori di TDE di sfruttare la '''API PolicyKit'''. Polkit-tqt richiede che sia installato un ambiente grafico minimo per compilare. Gli script per pacchettizzare polkit-tqt sono stati aggiunti nella sezione '''prerequisite''' del build tree:
├── prerequisite
│ ├── akode
│ │ ├── akode.SlackBuild
│ │ ├── local.options
│ │ └── slack-desc
...
│ ├── '''polkit-tqt'''
│ ├── '''local.options'''
│ │ '''├── local.options'''
│ │ '''├── polkit-tqt.SlackBuild'''
│ │ '''└── slack-desc'''
│ ├── python-tqt
...
Il nuovo pacchetto sfrutta '''CMake''' come sistema di compilazione. Nello script SlackBuild preposto sono stati impostati valori ed opzioni predefiniti, compatibili con il resto dei pacchetti dell'ambiente grafico, per ragioni di omogeneità:
<syntaxhighlight lang="bash">
cmake ${TMP}/tmp-${PRGNAM}/${DIR_SRC} \
-DCMAKE_C_FLAGS:STRING="${SLKCFLAGS}" \
-DCMAKE_CXX_FLAGS:STRING="${SLKCFLAGS} $DEBUG_CMAKE_OPT" \
-DCMAKE_INSTALL_PREFIX=${PREFIX} \
-DCMAKE_INSTALL_DIR="${PREFIX}/bin" \
-DCMAKE_SKIP_RPATH="OFF" \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DMAN_INSTALL_DIR=${MANDIR} \
-DSYSCONF_INSTALL_DIR=${SYSCONFDIR} \
-DBUILD_ALL=ON \
-DWITH_ALL_OPTIONS="ON" \
2>&1 | tee ${OUTPUT}/${PRGNAM}_configure.log
</syntaxhighlight>
Per risolvere la dipendenza costituita da TDE, la compilazione di polkit-tqt è stata subordinata all'installazione dei pacchetti '''tdelibs''' e '''tdebase''', accorpando il pacchetto al secondo elenco di prerequisiti:
<syntaxhighlight lang="bash">
PKG_LIST_PRE02="tqscintilla python-tqt polkit-tqt"
</syntaxhighlight>
Sfruttando il nuovo ordine, la procedura di compilazione terrà conto del pacchetto introdotto automaticamente, senza richiedere modifiche o azioni manuali.
Polkit-tqt è stato introdotto nella versione 14.0.12 del Trinity Desktop Environment. Chi desiderasse compilare i pacchetti della versione 14.0.11 con i gli script contenuti nel build tree deve perciò rimuoverlo dall'elenco modificando la riga precedente in:
<syntaxhighlight lang="bash">
PKG_LIST_PRE02="tqscintilla python-tqt"
</syntaxhighlight>
per non incorrere in un errore causato dalla mancanza delle directory, delle risorse e degli script corrispondenti.
=== Tdeaccessibility ===
L'ordine di compilazione dei pacchetti base di TDE è stato aggiornato spostando '''tdeaccessibility''' dopo '''tdemultimedia''' per evitare un errore durante la compilazione del pacchetto. Con il vecchio ordine, il compilatore segnalava la mancanza di alcuni file header. Una nuova dipendenza introdotta a partire dalla versione 14.0.11 del Trinity Desktop Environment. Per aggirare il problema, è stato imposto il nuovo ordine:
<syntaxhighlight lang="bash">
PKG_LIST_BASE02="tdebindings tdeutils tdemultimedia tdeaccessibility tdenetwork tdeadmin tdeartwork tdegames tdetoys tdeedu
tdegraphics tdepim tdesdk tdevelop tdeaddons tdewebdev"
</syntaxhighlight>
Non è richiesta alcuna azione da parte di chi compila i pacchetti.
=== Tdebase ===
Il pacchetto '''tdebase''' ha subito alcune modifiche rispetto al passato. È stato aggiornato uno script incluso al suo interno: '''xwmconfig''' per sincronizzarlo con la versione più recente, inclusa in Slackware 15.0. Lo script è stato adattato all'uso con il Trinity Desktop Environment, aggiungendo il codice necessario per far comparire un riga relativa all'ambiente grafico quando si invoca il programma di configurazione '''pkgtool''':
<syntaxhighlight lang="bash">
# Add Trinity:
if [ -r /etc/X11/xinit/xinitrc.trinity ]; then
echo "\"xinitrc.trinity\" \"TDE: Trinity Desktop Environment\" \\" >> $TMP/tmpscript.sh
fi
</syntaxhighlight>
Ed un'altra:
<syntaxhighlight lang="bash">
-a ! "$file" = "xinitrc.trinity" -a ! "$file" = "xinitrc.trinity" \
</syntaxhighlight>
per '''evitare che la riga di selezione compaia due volte''', un inconveniente che ha afflitto i miei pacchetti per parecchie versioni e che è stato definitivamente risolto.
Lo script '''rc.4''' è stato sostituito da '''rc.4.local''', per allinearsi alla nuova consuetudine introdotta in Slackware Linux 15.0. Lo script '''rc.4''' incluso nella distribuzione chiama automaticamente '''rc.4.local''' se lo stesso esiste ed è eseguibile. Il vantaggio di questa scelta consiste nel disaccoppiare eventuali personalizzazioni dagli script predefiniti. Ciò evita che le personalizzazioni vadano automaticamente perse eseguendo un aggiornamento del sistema operativo. Chiunque volesse usare '''tdm''', il login manager grafico di TDE, dovrà:
# Rinominare il file ''rc.4.local.new'', installato nella directory ''/etc/rc.d/'' , in ''rc.4.local''.
# Assegnare privilegi di esecuzione al file ottenuto con il comando:
<syntaxhighlight lang="bash">
chmod a+x /etc/rc.d/rc.4.local
</syntaxhighlight>
Per ultimo è stato abilitato il supporto per '''PAM'''. Si tratta di una aggiunta impossibile in passato, dato che Pluggable Authentication Modules non erano inclusi nelle versioni passate di Slackware, ma finalmente possibile con la 15.0. Il comando di configurazione completo per il pacchetto è riportato di seguito:
<syntaxhighlight lang="bash">
cmake ${TMP}/tmp-${PRGNAM}/${DIR_SRC} \
-DCMAKE_C_FLAGS:STRING="${SLKCFLAGS}" \
-DCMAKE_CXX_FLAGS:STRING="${SLKCFLAGS} $DEBUG_CMAKE_OPT" \
-DCMAKE_INSTALL_PREFIX=${PREFIX} \
-DCMAKE_SKIP_RPATH="OFF" \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DMAN_INSTALL_DIR=${MANDIR} \
-DSYSCONF_INSTALL_DIR=${SYSCONFDIR} \
-DBUILD_CRASHTEST=ON \
-DWITH_ARTS=ON \
-DWITH_HAL=OFF \
-DWITH_LDAP=ON \
-DWITH_LIBRAW1394=ON \
-DWITH_OPENEXR=ON \
-DWITH_PAM=ON \
-DWITH_GCC_VISIBILITY=OFF \
-DWITH_SAMBA=ON \
-DWITH_SASL=ON \
-DWITH_SHADOW=ON \
-DWITH_TDEHWLIB=ON \
-DWITH_USBIDS="/usr/share/hwdata/usb.ids" \
-DWITH_XCOMPOSITE=ON \
-DWITH_XCURSOR=ON \
-DWITH_XDAMAGE=ON \
-DWITH_XDMCP=ON \
-DWITH_XEXT=ON \
-DWITH_XFIXES=ON \
-DWITH_XINERAMA=ON \
-DWITH_XRANDR=ON \
-DWITH_XRENDER=ON \
-DWITH_XTEST=ON \
-DBUILD_ALL=ON \
2>&1 | tee ${OUTPUT}/${PRGNAM}_configure.log
</syntaxhighlight>
=== Tdenetwork ===
Una nuova dipendenza è stata introdotta con la versione 14.0.11 di TDE al codice sorgente di '''tdenetwork''', che contiene alcuni strumenti utili per configurare una rete e monitorarne il traffico. La dipendenza in questione è [http://www.openslp.org '''OpenSLP''']: una implementazione libera del protocollo di localizzazione dei servizi del '''Internet Engineering Task Force (IETF)'''. Slackware Linux non include un pacchetto ufficiale per '''OpenSLP'''. Dato che preferisco non aggiungere dipendenze che richiedano di compilare pacchetti opzionali, ho preferito disabilitare '''OpenSLP''' aggiungendo l'opzione ''-DWITH_SLP=OFF'' al comando di configurazione. Il comando modificato risulta essere:
<syntaxhighlight lang="bash">
# Configure the package
cmake ${TMP}/tmp-${PRGNAM}/${DIR_SRC} \
-DCMAKE_C_FLAGS:STRING="${SLKCFLAGS}" \
-DCMAKE_CXX_FLAGS:STRING="${SLKCFLAGS} $DEBUG_CMAKE_OPT" \
-DCMAKE_INSTALL_PREFIX=${PREFIX} \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DMAN_INSTALL_DIR=${MANDIR} \
-DSYSCONF_INSTALL_DIR=${SYSCONFDIR} \
-DWITH_SLP=OFF \
-DBUILD_ALL=ON \
2>&1 | tee ${OUTPUT}/${PRGNAM}_configure.log
</syntaxhighlight>
Chi desiderasse '''includere il supporto per OpenSLP in tdenetwork''' dovrà:
* Compilare ed installare un pacchetto per '''OpenSLP'''.
* Modificare lo script '''tdenetwork.SlackBuild''' rimuovendo la riga segnalata più sopra.
* Ricompilare ed installare il pacchetto tdenetwork.
=== Tqca-tls ===
La libreria '''tqca-tls''' contiene estensioni della API '''tqca''', che aggiunge funzioni crittografiche e di hash al Trinity Desktop Environment. Le due librerie erano in passato gestite come pacchetti distinti, ma sono state definitivamente fuse in una unica con il rilascio 14.0.11 di TDE. Gli script di compilazione sono stati aggiornati di conseguenza e tutto ciò che riguarda '''tqca-tls come pacchetto a se stante è stato definitivamente rimosso''' e non ne compare più traccia nel build tree. A seguito della rimozione, lo script principale, '''TDE.SlackBuild''', è stato aggiornato eliminando ogni riferimento al pacchetto:
<syntaxhighlight lang="bash">
PKG_LIST_PRE01="cmake akode libr tqt3 tqtinterface arts dbus-tqt dbus-1-tqt tqca libart-lgpl libcaldav libcarddav sip4-tqt"
</syntaxhighlight>
=== Tqscintilla ===
Un altro pacchetto migrato da '''AutoTools''' a '''CMake''' con il rilascio 14.0.12 di TDE è '''tqscintilla''': un controllo utilizzato per scrivere elaboratori di testo in TQt. La sostituzione del sistema di compilazione ha reso obsoleta la patch necessaria per assegnare la directory di installazione corretta con '''AutoTools''', semplificando di conseguenza lo script SlackBuild. Oltre ai soliti accorgimenti, lo script è stato aggiornato introducendo le seguenti opzioni di compilazione:
<syntaxhighlight lang="bash">
cmake ${TMP}/tmp-${PRGNAM}/${DIR_SRC} \
-DCMAKE_C_FLAGS:STRING="${SLKCFLAGS}" \
-DCMAKE_CXX_FLAGS:STRING="${SLKCFLAGS} $DEBUG_CMAKE_OPT" \
-DCMAKE_INSTALL_PREFIX=${PREFIX} \
-DCMAKE_SKIP_RPATH="OFF" \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DMAN_INSTALL_DIR=${MANDIR} \
-DSYSCONF_INSTALL_DIR=${SYSCONFDIR} \
-DBUILD_ALL="ON" \
2>&1 | tee -a ${OUTPUT}/${PRGNAM}_configure.log
</syntaxhighlight>
Chi volesse compilare '''tqscintilla''' per la versione 14.0.11 del Trinity Desktop Environment è pregato di utilizzare lo script distribuito per [http://www.giustetti.net/resource/slackbuild/tde/14010/tde_build_tree_sg-14.0.10.tar.bz2 versione 14.0.10], disponibile nelle pagine di questo stesso sito.
== IL BUILD TREE ==
Riporto un collegamento da cui scaricare tutti gli script di compilazione organizzati in un comodo archivio compresso: [http://www.giustetti.net/resource/slackbuild/tde/14012/tde_build_tree_sg-14.0.12.tar.bz2 tde_build_tree_sg-14.0.12.tar.bz2]. Per usare il build tree seguire le seguenti brevi istruzioni:
* Scaricare e decomprimere l'archivio.
* Distribuire il codice sorgente, organizzato in tanti archivi compressi, nelle opportune directory. Un archivio avente estensione '''tar.xz''' per ogni directory.
* Entrare nel '''runlevel 3'''.
<syntaxhighlight lang="bash">
init 3
</syntaxhighlight>
* Rimuovere tutti i pacchetti di TDE installati. Nel caso dei pacchetti della versione 14.0.10 ad esempio:
<syntaxhighlight lang="bash">
removepkg /var/log/packages/*14.0.10*
</syntaxhighlight>
* Rimuovere eventuali script di configurazione dimenticati dal comando '''removepkg'''.
<syntaxhighlight lang="bash">
rm /etc/profile.d/tqt3.*
rm /etc/profile.d/trinity.*
</syntaxhighlight>
* Eseguire il logout e quindi autenticarsi nuovamente per assicurarsi che tutti i riferimenti a TDE vengano cancellati.
* Se si desiderasse preparare anche tutti i pacchetti di localizzazione, modificare lo script principale '''tde_build_script/bin/TDE.SlackBuild''' cambiando le righe
<syntaxhighlight lang="bash">
# Build package
# bash ./${PKG}.SlackBuild
</syntaxhighlight>
in
<syntaxhighlight lang="bash">
# Build package
bash ./${PKG}.SlackBuild
</syntaxhighlight>
* Impostare le opzioni di configurazione per la piattaforma utilizzata.
<syntaxhighlight lang="bash">
rm TDE.options
ln -s TDE.options.i486 TDE.options
</syntaxhighlight>
Per la piattaforma Intel a 32 bit, ad esempio.
* Spostarsi nella cartella ''tde_build_script/bin'' e lanciare lo script '''TDE.SlackBuild'''.
<syntaxhighlight lang="bash">
cd ./tde_build_script/bin
sh ./TDE.SlackBuild
</syntaxhighlight>
* Attendere pazientemente che lo script termini di girare. Saranno necessarie molte ore per compilare il Trinity Desktop Environment ed un periodo circa doppio se si compilano anche i file di localizzazione. Lo script provvederà a compilare ed installare automaticamente tutti i pacchetti dell'ambiente.
* Rimuovere eventuali pacchetti superflui o indesiderati.
== CONCLUSIONI ==
Sono state illustrate le modifiche introdotte nella versione 14.0.11 e 14.0.12 del '''Trinity Desktop Environment'''. Gli script di compilazione aggiornati e testati sono stati raccolti in un unico archivio in modo da facilitarne la fruizione. Per istruzioni dettagliate circa l'uso degli script si rimanda agli altri articoli reperibili nel sito. '''Tutti i test di compilazione, installazione, configurazione e successivo uso sono stati condotti su di un Desktop su cui gira una versione di Slackware Linux 15.0 per piattaforma Amd a 64 e 32 bit'''. In conclusione i consueti ringraziamenti agli sviluppatori di '''Slackware Linux''' e del '''Trinity Desktop Environment''' per l'impegno e gli sforzi compiuti.
Per commenti, consigli, domande inviate una e-mail all'indirizzo ''studiosg [chiocciola] giustetti [punto] net''.
Link esterni
----
* [https://www.raspberrypi.org Home page della fondazione Raspberry Pi (En)]
* [https://it.wikipedia.org/wiki/Raspberry_Pi La pagina di Wikipedia dedicata al Raspberry Pi]
* [http://www.slackware.com Home page di Slackware (En)]
* [http://arm.slackware.com Slackware Linux per piattaforma ARM]
* [https://sarpi.fatdog.eu/ Supporto Slackware non ufficiale per i Raspberry Pi]
* [http://www.trinitydesktop.org Home page del progetto TDE (En)]
* [http://ftp.fau.de/trinity/releases/R14.0.12/downloads.html La pagina da cui scaricare il codice sorgente di TDE]
----
{{footer_it | link_page=en/Trinity_desktop_environment_14.0.12}}