Changes

Aggiunto pagina relativa a TDE 14.0.9
{{header_it|title=Installazione di TDE 14.0.9 Slackware / SlackwareArm Linux 14.2 Current| keyword={{Template:keyword_it_tde}}| description=Installazione di Trinity Desktop Environment 14.0.9 su Slackware / SlckwareArm Linux 14.2 Current | link_page=en/Trinity_desktop_environment_14.0.9}}

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

Lo scorso primo di Novembre il progetto '''Trinity Desktop Environment''' ha rilasciato una versione di manutenzione, numerata 14.0.9, per il ramo stabile dell'ambiente desktop. La nuova versione introduce la correzione dei bachi segnalati dal precedente rilascio di Aprile, nuovi temi grafici, nuove applicazioni, la rimozione di codice ormai obsoleto dai pacchetti ed altro ancora. Per un elenco completo delle modifiche si consiglia di consultare le [https://wiki.trinitydesktop.org/Release_Notes_For_R14.0.9 note del rilascio] (in inglese) oppure [https://wiki.trinitydesktop.org/Changelog_For_R14.0.9 l'elenco completo delle modifiche] (in inglese). Come spesso accade, l'introduzione di nuove funzionalità e di nuovo codice richiede di aggiornare la procedura di compilazione dell'ambiente. Nel proseguo dell'articolo verranno esposte le modifiche introdotto per poter compilare l'intero ambiente su Slackware Linux. Per gli impazienti, a fondo pagina è reperibile un collegamento da cui scaricare l'archivio contenente gli script di compilazione. Sempre a fondo pagina è reperibile il collegamento alla pagina di download del progetto da cui sarà possibile scaricare il codice sorgente.

=== Cosa Cambia ===
Per una volta i cambiamenti principali non riguardano tanto '''TDE''' quanto gli aggiornamenti introdotti nella versione di Slackware Linux. Trattandosi di un ramo di sviluppo, l'elenco dei pacchetti inclusi in 14.2 current viene cambiato molto di frequente, generando delle incompatibilità a ritroso. La modifica macroscopica introdotta più di recente consiste nel passaggio dalla versione '''2.23''' di '''Glibc''', la '''libreria C''' essenziale per il sistema operativo, alla recente '''2.26'''.

==== Glibc 2.26 ====
'''La libreria C è la base di tutto il software compilato''', pertanto ogni differenza tra versioni ha ripercussioni sull'intero sistema. Con il rilascio 2.26 le funzioni relative al servizio '''ypbind''' o ''NIS''' sono state rimosse dalla libreria principale e spostate in librerie dedicate. NIS è un servizio di identificazione centralizzato che consente di condividere utenze, directory, file ed altre informazioni attraverso più computer in una rete. TDE si lega a tale servizio pertanto è necessario installare alcune librerie addizionali sia per compilare la nuova versione che per far funzionare versioni già installate. Le librerie menzionate sono:
* '''libnsl'''.
* '''rpcsvc-proto'''.
* '''yptools'''.
L'ultima delle tre include il grosso del codice rimosso dalla libreria Glibc mentre la prima contiene il client pubblico del NIS. Infine '''rpcsvc-proto''' contiene '''rpcgen''' ed altri file non inclusi in '''libtirpc''', necessari per creare i file header e compilare il codice sorgente del Trnity Desktop Environment. Al momento di scrivere queste righe è possibile installare le dipendenze elencate collegandosi al server come '''root''' e digitando i comandi:
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

==== Altre Dipendenze ====
Un altro pacchetto introdotto in Slackware e di conseguenza in SlackwareArm current è '''lz4''' che contiene il necessario per comprimere e decomprimere file usando l'omonimo algoritmo di compressione senza perdita molto veloce ed efficiente. Una volta procuratisi il pacchetto è possibile installarlo lanciando come '''root''' il comando:
root@system:~# '''installpkg''' lz4-1.9.3-arm-1.txz

La libreria installata è necessaria per decomprimere gli archivi contenenti il codice sorgente.

Non sono state introdotte ulteriori nuove dipendenze. Si rammenta di installare [http://www.slackbuilds.org/repository/14.2/libraries/imlib/ '''imlib'''] prima di avviare la compilazione dei pacchetti onde evitare un errore al momento di configurare '''tdegraphics''':
root@system:~# '''installpkg''' imlib-1.9.15-arm-1_SBo.txz

==== Akode ====
Nessun aggiornamento di rilievo. Ho incluso nel file '''slack-desc''' la descrizione del pacchetto che avevo dimenticato durante i precedenti rilasci.

==== Libcaldav ====
L'elenco dei file di documentazione è stato aggiornato sostituendo il file '''NEWS''' ad '''INSTALL''' in modo da adeguare la lista ai file esistenti. La differenza causava un errore durante la preparazione del pacchetto di installazione con conseguente fallimento dell'intera procedura.

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

&egrave; stata aggiornata come segue:
<syntaxhighlight lang="bash">
DOCS="AUTHORS ChangeLog COPYING INSTALL README TODO"
</syntaxhighlight>

La nuova versione dello script compila senza problemi.

==== Libcarddav ====
Le modifiche a '''libcarddav''' riflettono quelle al pacchetto "gemello" '''libcaldav'''. Anche in questo caso la riga:
<syntaxhighlight lang="bash">
DOCS="AUTHORS ChangeLog COPYING NEWS README TODO"
</syntaxhighlight>

&egrave; stata modificata in:
<syntaxhighlight lang="bash">
DOCS="AUTHORS ChangeLog COPYING INSTALL README TODO"
</syntaxhighlight>

Per evitare un fastidioso errore che causava il fallimento della procedura di compilazione durante la copia dei documenti nella directory di destinazione.

==== Libkexiv2 ====
La prima vera modifica incontrata consiste nella rimozione della patch relativa a '''ltmain.sh'''. Il Trinity Desktop Environment sembra aver allineato il proprio codice sorgente ad una versione recente di '''libtool''' per cui la correzione &egrave; superflua.

La riga
<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>

&egrave; stata commentata:
<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>

Conto di rimuovere definitivamente la riga in occasione del prossimo rilascio.

==== Libtdeldap ====
Anche '''libtdeldap''' richiamava la patch relativa a '''ltmain.sh''' per ovviare alla diversa versione di '''libtool''' installata ed anche in questo caso la relativa riga:
<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>

&egrave; stata commentata:
<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>

In attesa della definitiva rimozione con il prossimo rilascio di TDE.

&Egrave; stato inoltre aggiornato l'elenco dei documenti inclusi nella documentazione del pacchetto rimuovendo '''ChangeLog''', '''NEWS''' e '''TODO'''.

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

&egrave; stata aggiornata come segue:
<syntaxhighlight lang="bash">
DOCS="AUTHORS COPYING INSTALL README"
</syntaxhighlight>

A seguito delle modifiche il pacchetto compila senza problemi.

==== Tqca-tls ====
Per ultimo il pacchetto '''tqca-tls''' &egrave; stato configurato per usare '''cmake''' invece che '''autotools''' ed &egrave; andato ad ingrossare le file dei pacchetti che sfruttano il nuovo sistema di compilazione. In occasione della modifica la variabile '''DESTDIR''' ha rimpiazzato '''INSTALL_ROOT''', che era una particolarit&agrave; del solo pacchetto '''tqca-tls''', allineandosi al resto dell'ambiente grafico.

Le seguenti righe:
<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>

sono state sostituite da:
<syntaxhighlight lang="bash">
make install DESTDIR=${PKG} 2>&1 | tee ${OUTPUT}/${PRGNAM}_install.log
</syntaxhighlight>

Lo script cos&igrave; modificato produce un pacchetto perfettamente funzionante.


== IL BUILD TREE ==

Come anticipato ad inizio articolo, riporto un collegamento da cui scaricare tutti gli script di compilazione organizzati in un comodo archivio compresso: [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]. Una volta scaricato e decompresso il build tree, bisogna distribuire gli archivi costituenti il codice sorgente del progetto nelle opportune directory ed infine avviare la compilazione del progetto lanciando lo script principale '''TDE.SlackBuild'''. &Egrave; consigliabile rimuovere eventuali versioni di '''TDE''' presenti sulla macchina onde evitare conflitti durante la preparazione dei nuovi pacchetti.


== CONCLUSIONI ==

Sono state illustrate le modifiche introdotte nell'ultima versione disponibile 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 '''Raspberry Pi modello 4 su cui gira una versione di Slackware Linux per piattaforma ARM'''. In conclusione i consueti ringraziamenti agli sviluppatori 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.9/downloads.html La pagina da cui scaricare il codice sorgente di TDE]

----

{{footer_it | link_page=en/Trinity_desktop_environment_14.0.9}}