44,866 bytes added
, 18:16, 27 September 2018
{{header_it|title=Installazione di TDE 14.0.4 su Slackware e SlackwareArm Linux 14.2| keyword={{Template:keyword_it_tde}}| description=Installazione di Trinity Desktop Environment su Slackware e SlckwareArm Linux 14.2 | link_page=en/Trinity_desktop_environment_14.0.5}}
== '''TDE 14.0.5''' ==
Lo scorso 18 Agosto del 2018 dopo quasi due anni di lavoro è stato ufficializzato il rilascio della '''versione 14.0.5 di Trinity Desktop Environment''': un ambiente grafico che supporta il sistema operativo '''Linux''' e parzialmente '''FreeBSD'''. Si tratta di un rilascio finalizzato alla correzione dei bachi scoperti nella versione precedente, ma gli sviluppatori hanno comunque incluso numerose migliorie sia al sistema di base che ai programmi a corredo. Per un elenco esaustivo delle modifiche e delle integrazioni si rimanda alle [https://wiki.trinitydesktop.org/Release_Notes_For_R14.0.5 note del rilascio] (in inglese).
'''TDE''' è un ambiente grafico maturo e leggero se paragonato ai mostri avidi di risorse che vagano famelici nel panorama delle interfacce grafiche disponibili per Linux e per gli altri sistemi operativi della famiglia UNIX. TDE rappresenta una '''interfaccia grafica ideale per macchine dotate di risorse limitate''' ad esempio le schede della famiglia [https://www.raspberrypi.org Raspberry Pi] ed i relativi cloni / concorrenti che negli ultimi anni hanno invaso il mercato con modelli e dispositivi diversi. La versione 14.0.5 prosegue l'obiettivo dichiarato di eliminare quante più imperfezioni ed errori possibile e dimostra la dedizione degli sviluppatori al progetto ed alle richieste dell'utenza. Seguo lo sviluppo di Trinity Desktop Environment da diversi anni e sono soddisfatto della qualità dei rilasci e dal rapporto funzionalità prestazioni fornito dall'ambiente. Negli anni scorsi lo ho installato ed usato proficuamente su alcune schede Raspberry Pi 2 e 3 oltre che su personal computer standard.
=== TDE e Supporto per Slackware Linux ===
'''TDE ha sempre fornito un supporto minimo per Slackware Linux''': la distribuzione che installo abitualmente sulle mie macchine. I pacchetti ufficiali distribuiti e le istruzioni per installare l'ambiente reperibili nella [https://wiki.trinitydesktop.org/SlackwareInstall pagina dedicata] sono vecchi di anni e ormai inutili. Volendo usufruire di una versione aggiornata di TDE, qualche anno fa mi sono deciso a scrivere una serie di '''script SlackBuild per compilare l'intero ambiente'''. Non sono l'unico che ha avuto un'idea simile. Esiste un [https://github.com/Ray-V/tde-slackbuilds progetto su GitHub] avente lo scopo di fornire script di compilazione di TDE aggiornati per l'ultima versione di Slackware. Gli script sono manutenuti regolarmente e '''prelevano il codice sorgente dal repository GitHub di TDE'''. Il vantaggio di tale approccio consiste nel compilare sempre l'ultima versione disponibile del codice. Lo svantaggio consiste invece nel dover clonare l'intero repository occupando conseguentemente molto spazio disco con versioni di file obsolete ed inutili oltre a dilatare in maniera consistente il tempo necessario a scaricare l'ambiente. Lavorando con macchine aventi scarso spazio disco ho sempre preferito usare i miei script, che utilizzano come punto di partenza gli archivi del codice sorgente di un singolo rilascio invece che l'intero repository GitHub. Recentemente ho '''testato gli script con la versione 14.0.5 di TDE'''.
Nel seguito dell'articolo illusterò come utilizzare gli script per '''ottenere pacchetti installabili della versione 14.0.5 del Trinity Desktop Environment'''. La distribuzione di riferimento sarà '''Slackware 14.2''', ultima versione ufficiale al momento di scrivere queste righe, aggiornata con tutte le patch rilasciate dalla data del primo rilascio. La procedura descritta è stata testata per ambienti '''Amd64/X86_64''', '''Arm''' e '''i486/i586'''.
== Compilazione di '''Trinity Desktop Environment su Slackware 14.2''' ==
Il primo passo per ottenere pacchetti installabili su Slackware Linux consiste nel procurarsi il codice sorgente. Scartando il repository GitHub per i motivi elencati in precedenza è possibile scaricare archivi compressi del codice sorgente al seguente [http://mirror.ppa.trinitydesktop.org/trinity/releases/R14.0.5/downloads.html URL]. In fondo alla pagina web sono elencati alcuni collegamenti che consentono di scaricare archivi '''tar''' di dimensioni ragguardevoli contenenti il codice sorgente di:
* [http://mirror.ppa.trinitydesktop.org/trinity/releases/R14.0.5/R14.0.5-core.tar Tutti i pacchetti indispensabili].
* [http://mirror.ppa.trinitydesktop.org/trinity/releases/R14.0.5/R14.0.5-noncore.tar Tutti i pacchetti opzionali].
* [http://mirror.ppa.trinitydesktop.org/trinity/releases/R14.0.5/R14.0.5-complete.tar Tutto il progetto] ossia l'unione di tutti i pacchetti indispensabili ed opzionali.
Se non ci fossero problemi di banda si consiglia di scaricare il codice sorgente di tutti i pacchetti, in caso di ristrettezze si consiglia invece di limitarsi al primo archivio. Potrebbe essere necessario apportare alcune modifiche allo script principale di compilazione, ma il risultato consisterà comunque in un ambiente funzionante anche se privo di alcune estensioni.
=== Dipendenze di TDE ===
Per poter compilare ed installare TDE bisogna verificare che siano stati precedentemente installati alcuni pacchetti da cui l'ambiente grafico dipende per funzionare correttamente. Una di tali dipendenze è '''libart''': una '''libreria per la grafica 2-D ad alte prestazioni''' usata in passato sia da '''KDE''' che da '''GNOME''', due ambienti grafici per UNIX, ma il cui sviluppo è stato discontinuo o nullo negli ultimi anni. La libreria necessitava di correzioni ed aggiornamenti ed essendo venuto a mancare il supporto da parte degli sviluppatori originali è stata adottata dal progetto TDE ed '''inclusa tra i prerequisiti'''. Slackware 14.2 include l'ultima versione di libart rilasciata prima dell'inclusione in TDE: '''libart 2.3.21''' priva degli ultimi aggiornamenti. Linux e gli altri sistemi della famiglia UNIX consentono di installare molteplici versioni di una medesima libreria, approccio che avevo seguito in occasione del rilascio di TDE 14.0.4 per timore che insorgessero incompatibilità tra '''libart 14.0.4''' e gli altri pacchetti di Slackware. In occasione dell'aggiornamento al rilascio 14.0.5 ho invece '''rimosso la libreria libart 2.3.21 sostituendola con libart 14.0.5'''. Dopo alcune settimane d'uso '''non ho notato controindicazioni'''. Chi volesse installare un'unica versione della libreria è perciò invitato ad usare libart 14.0.5 dato che la stessa è più aggiornata del rilascio incluso in Slackware 14.2. Chi usasse una versione multi-libreria di Slackware dovrà compilare sia la versione a 64 bit della libreria che quella a 32. Il pacchetto a 32 bit dovrà poi essere convertito in una pacchetto di compatibilità multi-libreria mediante il comando:
'''convertpkg-compat32''' ''-i'' libart-lgpl-R14.0.5-i486-1sg.txz ''-d'' /tmp
Il pacchetto ottenuto dovrà poi essere installato usando il comando:
'''installpkg''' /tmp/libart-compat32-lgpl-R14.0.5-x86_64-1sgcompat32.txz
Un'altra '''dipendenza richiesta''' dal Trinity Desktop Environment è la libreria '''imlib''', che consente di manipolare e disegnare velocemente su schermo immagini salvate in formati standard. Imlib deve essere installata per compilare '''tdegraphics''' ed ottenere un pacchetto funzionante. Trattandosi di una libreria parecchio datata, progettata per la versione 1 di GTK e GNOME, '''imlib è stata rimossa dall'elenco di pacchetti ufficiali di Slackware 14.2''' e deve pertanto essere compilata ed installata espressamente a partire dal codice sorgente. La libreria è fortunatamente supportata dal progetto [http://www.slackbuilds.org/ SlackBuilds.org] che mette a disposizione degli utenti script SlackBuild di compilazione per moltissimi programmi e librerie non inclusi ufficialmente nei rilasci di Slackware Linux. Le istruzioni per compilare ed installare imlib sono reperibili in un mio [[trinity_desktop_environment_14.0.4_raspberry_pi_3#Novità_Introdotte_tra_le_Dipendenze |precedente articolo]]. Le informazioni ivi contenute sono valide tuttora.
=== Supporto Java ===
Il Trinity Desktop Environment è sviluppato in C++, ma supporta altri linguaggi di programmazione. Nel caso in cui si desiderasse sviluppare programmi integrati in TDE utilizzando '''Java''' è necessario compilare il pacchetto '''tdebindings''' abilitando il supporto per tale linguaggio. A tal fine bisogna installare una '''macchina virtuale Java''' o ancora meglio il '''JDK''' (Java Development Kit). È relativamente facile reperire una macchina virtuale per ambienti Amd64 o i486, più difficoltoso reperirne una per architettura Arm. Rimando ad un mio [[trinity_desktop_environment_14.0.4_raspberry_pi_3#TDEBINDINGS |precedente articolo]] in cui proponevo alcune soluzioni possibili. L'articolo tratta la versione 14.0.4 di TDE, ma le considerazioni contenute sono valide anche per la versione 14.0.5.
=== Il Build Tree ===
Il termine Build Tree identifica l''''insieme degli script di compilazione''' per il Trinity Desktop Environment e consiste in '''uno script principale''' di controllo e numerosi '''altri dedicati ai singoli pacchetti''' costituenti TDE. Il compito dello script principale consiste nel leggere un file di configurazione, che imposta le variabili di ambiente usate per identificare l'architettura e passare i coretti parametri al compilatore, e di richiamare gli script specifici nell'ordine corretto per produrre tutti i pacchetti di installazione senza incorrere in errori. Il file di configurazione è centralizzato in modo da garantire la consistenza dell'intero ambiente grafico. Per ogni pacchetto esiste una directory dedicata al cui interno si trovano lo '''script SlackBuild''' di compilazione, l'archivio compresso contenente '''il codice sorgente''', eventuali '''patch''', un file '''slack-desc''' contenente la descrizione e le finalità del pacchetto ed infine un file chiamato '''local.options''' contenente opzioni specifiche per il singolo pacchetto. '''Le opzioni contenute nel file local.options sovrascrivono quelle generali del build tree'''. I file local.options sono solitamente vuoti, ma possono essere popolati all'occorrenza con le opzioni desiderate.
Il build tree distribuito 20 mesi fa per la versione 14.0.4 del Trinity Desktop Environment '''funziona perfettamente per la versione 14.0.5''': non è una sorpresa dato che si tratta di un rilascio incrementale che apporta modifiche e corregge errori senza aggiungere nuove dipendenze. Una versione aggiornata del build tree è reperibile al seguente [http://www.giustetti.net/resource/slackbuild/tde/1405/tde_build_tree_sg-14.0.5.tar.bz2 indirizzo]. Di seguito sono descritte le modifiche apportate rispetto alla versione precedente.
=== Aggiornamenti al Build Tree ===
Tutti gli script SlackBuild sono stati aggiornati sostituendo la vecchia versione 14.0.4 con la nuova: 14.0.5:
<syntaxhighlight lang="bash">
SRCVER=${SRCVER:-"R14.0.5"}
</syntaxhighlight>
La stessa modifica è stata apportata nel file TDE.options contenente le opzioni dell'intero ambiente grafico. Inoltre sono stati inclusi 3 file '''TDE.options''' di esempio. Uno per ogni architettura supportata:
* '''TDE.options.arm''': Architettura Arm.
* '''TDE.options.i486''': Intel a 32 bit e compatibili.
* '''TDE.options.x86_64''': Amd a 64 bit e compatibili.
Segue l'elenco rappresentato ad albero dei file inclusi:
.
|-- <font color="red">TDE.options.arm</font>
|-- <font color="red">TDE.options.i486</font>
|-- <font color="red">TDE.options.x86_64</font>
|-- base
| |-- tde-i18n
| | |-- local.options
| | |-- slack-desc
| | | |-- slack-desc.tde-i18n-af
| | | |-- slack-desc.tde-i18n-ar
| | | |-- slack-desc.tde-i18n-az
| | | |-- slack-desc.tde-i18n-be
| | | |-- slack-desc.tde-i18n-bg
| | | |-- slack-desc.tde-i18n-bn
| | | |-- slack-desc.tde-i18n-br
| | | |-- slack-desc.tde-i18n-bs
| | | |-- slack-desc.tde-i18n-ca
| | | |-- slack-desc.tde-i18n-cs
| | | |-- slack-desc.tde-i18n-csb
| | | |-- slack-desc.tde-i18n-cy
| | | |-- slack-desc.tde-i18n-da
| | | |-- slack-desc.tde-i18n-de
| | | |-- slack-desc.tde-i18n-el
| | | |-- slack-desc.tde-i18n-en_GB
| | | |-- slack-desc.tde-i18n-eo
| | | |-- slack-desc.tde-i18n-es
| | | |-- slack-desc.tde-i18n-et
| | | |-- slack-desc.tde-i18n-eu
| | | |-- slack-desc.tde-i18n-fa
| | | |-- slack-desc.tde-i18n-fi
| | | |-- slack-desc.tde-i18n-fr
| | | |-- slack-desc.tde-i18n-fy
| | | |-- slack-desc.tde-i18n-ga
| | | |-- slack-desc.tde-i18n-gl
| | | |-- slack-desc.tde-i18n-he
| | | |-- slack-desc.tde-i18n-hi
| | | |-- slack-desc.tde-i18n-hr
| | | |-- slack-desc.tde-i18n-hsb
| | | |-- slack-desc.tde-i18n-hu
| | | |-- slack-desc.tde-i18n-id
| | | |-- slack-desc.tde-i18n-is
| | | |-- slack-desc.tde-i18n-it
| | | |-- slack-desc.tde-i18n-ja
| | | |-- slack-desc.tde-i18n-kk
| | | |-- slack-desc.tde-i18n-km
| | | |-- slack-desc.tde-i18n-ko
| | | |-- slack-desc.tde-i18n-ku
| | | |-- slack-desc.tde-i18n-lt
| | | |-- slack-desc.tde-i18n-lv
| | | |-- slack-desc.tde-i18n-mi
| | | |-- slack-desc.tde-i18n-mk
| | | |-- slack-desc.tde-i18n-mn
| | | |-- slack-desc.tde-i18n-ms
| | | |-- slack-desc.tde-i18n-mt
| | | |-- slack-desc.tde-i18n-nb
| | | |-- slack-desc.tde-i18n-nds
| | | |-- slack-desc.tde-i18n-nl
| | | |-- slack-desc.tde-i18n-nn
| | | |-- slack-desc.tde-i18n-nso
| | | |-- slack-desc.tde-i18n-oc
| | | |-- slack-desc.tde-i18n-pa
| | | |-- slack-desc.tde-i18n-pl
| | | |-- slack-desc.tde-i18n-pt
| | | |-- slack-desc.tde-i18n-pt_BR
| | | |-- slack-desc.tde-i18n-ro
| | | |-- slack-desc.tde-i18n-ru
| | | |-- slack-desc.tde-i18n-rw
| | | |-- slack-desc.tde-i18n-se
| | | |-- slack-desc.tde-i18n-sk
| | | |-- slack-desc.tde-i18n-sl
| | | |-- slack-desc.tde-i18n-sr
| | | |-- slack-desc.tde-i18n-sr@Latn
| | | |-- slack-desc.tde-i18n-ss
| | | |-- slack-desc.tde-i18n-sv
| | | |-- slack-desc.tde-i18n-ta
| | | |-- slack-desc.tde-i18n-te
| | | |-- slack-desc.tde-i18n-tg
| | | |-- slack-desc.tde-i18n-th
| | | |-- slack-desc.tde-i18n-tr
| | | |-- slack-desc.tde-i18n-uk
| | | |-- slack-desc.tde-i18n-uz
| | | |-- slack-desc.tde-i18n-uz@cyrillic
| | | |-- slack-desc.tde-i18n-ven
| | | |-- slack-desc.tde-i18n-vi
| | | |-- slack-desc.tde-i18n-wa
| | | |-- slack-desc.tde-i18n-xh
| | | |-- slack-desc.tde-i18n-zh_CN
| | | |-- slack-desc.tde-i18n-zh_TW
| | | `-- slack-desc.tde-i18n-zu
| | `-- tde-i18n.SlackBuild
| |-- tdeaccessibility
| | |-- local.options
| | |-- ltmain_version_update.patch
| | |-- slack-desc
| | `-- tdeaccessibility.SlackBuild
| |-- tdeaddons
| | |-- local.options
| | |-- ltmain_version_update.patch
| | |-- slack-desc
| | `-- tdeaddons.SlackBuild
| |-- tdeadmin
| | |-- local.options
| | |-- ltmain_version_update.patch
| | |-- slack-desc
| | `-- tdeadmin.SlackBuild
| |-- tdeartwork
| | |-- local.options
| | |-- slack-desc
| | `-- tdeartwork.SlackBuild
| |-- tdebase
| | |-- FBSlackware
| | | |-- Preview.png
| | | |-- Theme.rc
| | | |-- splash_active_bar.png
| | | |-- splash_bottom.png
| | | |-- splash_inactive_bar.png
| | | `-- splash_top.png
| | |-- config
| | | |-- Xsession
| | | |-- Xsession.orig
| | | |-- backgroundrc
| | | |-- kdeglobals
| | | |-- kdesktop.kcfg
| | | |-- kickerSettings.kcfg
| | | |-- klaunch.kcfg
| | | |-- konsole.desktop
| | | |-- konsole.desktop.orig
| | | |-- konsolerc
| | | |-- migratekde3
| | | `-- starttde-14.0.5
| | |-- doinst.sh
| | |-- local.options
| | |-- profile.d
| | | |-- trinity.csh
| | | `-- trinity.sh
| | |-- rc.4
| | |-- slack-desc
| | |-- tdebase.SlackBuild
| | |-- trinity.desktop
| | `-- xinit
| | |-- xinitrc.trinity
| | `-- xwmconfig
| |-- tdebindings
| | |-- local.options
| | |-- ltmain_version_update.patch
| | |-- slack-desc
| | `-- tdebindings.SlackBuild
| |-- tdeedu
| | |-- local.options
| | |-- ltmain_version_update.patch
| | |-- slack-desc
| | `-- tdeedu.SlackBuild
| |-- tdegames
| | |-- local.options
| | |-- ltmain_version_update.patch
| | |-- slack-desc
| | `-- tdegames.SlackBuild
| |-- tdegraphics
| | |-- local.options
| | |-- slack-desc
| | `-- tdegraphics.SlackBuild
| |-- tdelibs
| | |-- local.options
| | |-- slack-desc
| | `-- tdelibs.SlackBuild
| |-- tdemultimedia
| | |-- local.options
| | |-- ltmain_version_update.patch
| | |-- slack-desc
| | `-- tdemultimedia.SlackBuild
| |-- tdenetwork
| | |-- local.options
| | |-- slack-desc
| | `-- tdenetwork.SlackBuild
| |-- tdepim
| | |-- local.options
| | |-- slack-desc
| | `-- tdepim.SlackBuild
| |-- tdesdk
| | |-- local.options
| | |-- slack-desc
| | `-- tdesdk.SlackBuild
| |-- tdetoys
| | |-- local.options
| | |-- slack-desc
| | `-- tdetoys.SlackBuild
| |-- tdeutils
| | |-- local.options
| | |-- slack-desc
| | `-- tdeutils.SlackBuild
| |-- tdevelop
| | |-- local.options
| | |-- slack-desc
| | `-- tdevelop.SlackBuild
| `-- tdewebdev
| |-- doinst.sh
| |-- local.options
| |-- ltmain_version_update.patch
| |-- slack-desc
| `-- tdewebdev.SlackBuild
|-- library
| |-- kipi-plugins
| | |-- kipi-plugins.SlackBuild
| | |-- local.options
| | |-- ltmain_version_update.patch
| | `-- slack-desc
| |-- libkdcraw
| | |-- libkdcraw.SlackBuild
| | |-- local.options
| | |-- ltmain_version_update.patch
| | `-- slack-desc
| |-- libkexiv2
| | |-- libkexiv2.SlackBuild
| | |-- local.options
| | |-- ltmain_version_update.patch
| | `-- slack-desc
| |-- libkipi
| | |-- libkipi.SlackBuild
| | |-- local.options
| | |-- ltmain_version_update.patch
| | `-- slack-desc
| |-- libksquirrel
| | |-- libksquirrel.SlackBuild
| | |-- local.options
| | |-- ltmain_version_update.patch
| | `-- slack-desc
| |-- libtdeldap
| | |-- libtdeldap.SlackBuild
| | |-- local.options
| | |-- ltmain_version_update.patch
| | `-- slack-desc
| |-- libtqt-perl
| | |-- libtqt-perl.SlackBuild
| | |-- local.options
| | |-- ltmain_version_update.patch
| | `-- slack-desc
| |-- mlt
| | |-- local.options
| | |-- mlt.SlackBuild
| | |-- slack-desc
| | |-- sox_configure.patch
| | `-- sox_makefile.patch
| |-- mlt++
| | |-- local.options
| | |-- mlt++.SlackBuild
| | `-- slack-desc
| |-- pytdeextensions
| | |-- local.options
| | |-- pytdeextensions.SlackBuild
| | `-- slack-desc
| `-- python-trinity
| |-- local.options
| |-- python-trinity.SlackBuild
| `-- slack-desc
|-- prerequisite
| |-- arts
| | |-- arts.SlackBuild
| | |-- doinst.sh
| | |-- local.options
| | `-- slack-desc
| |-- avahi-tqt
| | |-- avahi-tqt.SlackBuild
| | |-- local.options
| | `-- slack-desc
| |-- dbus-1-tqt
| | |-- dbus-1-tqt.SlackBuild
| | |-- local.options
| | `-- slack-desc
| |-- dbus-tqt
| | |-- dbus-tqt.SlackBuild
| | |-- local.options
| | `-- slack-desc
| |-- libart-lgpl
| | |-- libart-lgpl.SlackBuild
| | |-- local.options
| | `-- slack-desc
| |-- libcaldav
| | |-- libcaldav.SlackBuild
| | |-- local.options
| | `-- slack-desc
| |-- libcarddav
| | |-- libcarddav.SlackBuild
| | |-- local.options
| | `-- slack-desc
| |-- python-tqt
| | |-- local.options
| | |-- python-tqt.SlackBuild
| | `-- slack-desc
| |-- sip4-tqt
| | |-- local.options
| | |-- sip4-tqt.SlackBuild
| | `-- slack-desc
| |-- tqca
| | |-- local.options
| | |-- slack-desc
| | `-- tqca.SlackBuild
| |-- tqca-tls
| | |-- local.options
| | |-- slack-desc
| | `-- tqca-tls.SlackBuild
| |-- tqscintilla
| | |-- local.options
| | |-- qscintilla.patch
| | |-- slack-desc
| | `-- tqscintilla.SlackBuild
| |-- tqt3
| | |-- doinst.sh
| | |-- local.options
| | |-- profile.d
| | | |-- tqt3.csh
| | | `-- tqt3.sh
| | |-- slack-desc
| | `-- tqt3.SlackBuild
| `-- tqtinterface
| |-- local.options
| |-- slack-desc
| `-- tqtinterface.SlackBuild
`-- tde_build_script
|-- bin
| `-- TDE.SlackBuild
`-- etc
|-- tde.dep
|-- tde_build.conf
|-- tde_pkg_application.lst
|-- tde_pkg_base.lst
|-- tde_pkg_library.lst
`-- tde_pkg_prerequisite.lst
L'elenco include tutti i pacchetti delle sotto-categorie '''base''', '''librerie''' e '''prerequisiti'''. Nessuno della sotto-categoria '''applicazioni''' che raggruppa tutti i programmi addizionali e le espansioni opzionali di TDE.
=== Compilazione dei Pacchetti ===
Il primo passo da eseguire consiste nel '''rimuovere eventuali versioni precedentemente installate dei pacchetti''' di TDE dalla macchina designata. Il build tree installa le nuove versioni durante la compilazione, ma non rimuove preventivamente i pacchetti installati. L'utenza dovrà procedre manualmente prima di avviare la compilazione oppure ad installazione avvenuta usando il comando '''removepkg'''. Per rimuovere ad esempio tutti i pacchetti della versione 14.0.4 di TDE si può ricorrere al comando:
'''removepkg''' /var/log/packages/*R14.0.4*
Per aggiornare una macchina è sempre consigliabile '''partire da una situazione pulita''' rimuovendo preventivamente i pacchetti prima di avviare la compilazione dell'ambiente grafico.
Una volta rimossi i pacchetti installati è necessario scaricare il build tree e decomprimere l'archivio in una diretory locale come ''/tmp'' oppure ''/usr/src/tde-14.0.5'' ottenendo l'alberatura di directory ed i file elencati in precedenza. Scaricare quindi l'archivio o gli archivi contenenti il codice sorgente e distribuirli nell'albero delle directory in modo che ogni cartella contenga il codice sorgente e lo script SlackBuild per il pacchetto desiderato:
.
|-- TDE.options.arm
|-- TDE.options.i486
|-- TDE.options.x86_64
|-- base
| |-- tde-i18n
| | |-- local.options
| | |-- slack-desc
| | | |-- slack-desc.tde-i18n-af
| | | |-- slack-desc.tde-i18n-ar
| | | |-- slack-desc.tde-i18n-az
| | | |-- slack-desc.tde-i18n-be
| | | |-- slack-desc.tde-i18n-bg
| | | |-- slack-desc.tde-i18n-bn
| | | |-- slack-desc.tde-i18n-br
| | | |-- slack-desc.tde-i18n-bs
| | | |-- slack-desc.tde-i18n-ca
| | | |-- slack-desc.tde-i18n-cs
| | | |-- slack-desc.tde-i18n-csb
| | | |-- slack-desc.tde-i18n-cy
| | | |-- slack-desc.tde-i18n-da
| | | |-- slack-desc.tde-i18n-de
| | | |-- slack-desc.tde-i18n-el
| | | |-- slack-desc.tde-i18n-en_GB
| | | |-- slack-desc.tde-i18n-eo
| | | |-- slack-desc.tde-i18n-es
| | | |-- slack-desc.tde-i18n-et
| | | |-- slack-desc.tde-i18n-eu
| | | |-- slack-desc.tde-i18n-fa
| | | |-- slack-desc.tde-i18n-fi
| | | |-- slack-desc.tde-i18n-fr
| | | |-- slack-desc.tde-i18n-fy
| | | |-- slack-desc.tde-i18n-ga
| | | |-- slack-desc.tde-i18n-gl
| | | |-- slack-desc.tde-i18n-he
| | | |-- slack-desc.tde-i18n-hi
| | | |-- slack-desc.tde-i18n-hr
| | | |-- slack-desc.tde-i18n-hsb
| | | |-- slack-desc.tde-i18n-hu
| | | |-- slack-desc.tde-i18n-id
| | | |-- slack-desc.tde-i18n-is
| | | |-- slack-desc.tde-i18n-it
| | | |-- slack-desc.tde-i18n-ja
| | | |-- slack-desc.tde-i18n-kk
| | | |-- slack-desc.tde-i18n-km
| | | |-- slack-desc.tde-i18n-ko
| | | |-- slack-desc.tde-i18n-ku
| | | |-- slack-desc.tde-i18n-lt
| | | |-- slack-desc.tde-i18n-lv
| | | |-- slack-desc.tde-i18n-mi
| | | |-- slack-desc.tde-i18n-mk
| | | |-- slack-desc.tde-i18n-mn
| | | |-- slack-desc.tde-i18n-ms
| | | |-- slack-desc.tde-i18n-mt
| | | |-- slack-desc.tde-i18n-nb
| | | |-- slack-desc.tde-i18n-nds
| | | |-- slack-desc.tde-i18n-nl
| | | |-- slack-desc.tde-i18n-nn
| | | |-- slack-desc.tde-i18n-nso
| | | |-- slack-desc.tde-i18n-oc
| | | |-- slack-desc.tde-i18n-pa
| | | |-- slack-desc.tde-i18n-pl
| | | |-- slack-desc.tde-i18n-pt
| | | |-- slack-desc.tde-i18n-pt_BR
| | | |-- slack-desc.tde-i18n-ro
| | | |-- slack-desc.tde-i18n-ru
| | | |-- slack-desc.tde-i18n-rw
| | | |-- slack-desc.tde-i18n-se
| | | |-- slack-desc.tde-i18n-sk
| | | |-- slack-desc.tde-i18n-sl
| | | |-- slack-desc.tde-i18n-sr
| | | |-- slack-desc.tde-i18n-sr@Latn
| | | |-- slack-desc.tde-i18n-ss
| | | |-- slack-desc.tde-i18n-sv
| | | |-- slack-desc.tde-i18n-ta
| | | |-- slack-desc.tde-i18n-te
| | | |-- slack-desc.tde-i18n-tg
| | | |-- slack-desc.tde-i18n-th
| | | |-- slack-desc.tde-i18n-tr
| | | |-- slack-desc.tde-i18n-uk
| | | |-- slack-desc.tde-i18n-uz
| | | |-- slack-desc.tde-i18n-uz@cyrillic
| | | |-- slack-desc.tde-i18n-ven
| | | |-- slack-desc.tde-i18n-vi
| | | |-- slack-desc.tde-i18n-wa
| | | |-- slack-desc.tde-i18n-xh
| | | |-- slack-desc.tde-i18n-zh_CN
| | | |-- slack-desc.tde-i18n-zh_TW
| | | `-- slack-desc.tde-i18n-zu
| | |-- <font color="red">tde-i18n-R14.0.5.tar.bz2</font>
| | `-- tde-i18n.SlackBuild
| |-- tdeaccessibility
| | |-- local.options
| | |-- ltmain_version_update.patch
| | |-- slack-desc
| | |-- <font color="red">tdeaccessibility-R14.0.5.tar.bz2</font>
| | `-- tdeaccessibility.SlackBuild
| |-- tdeaddons
| | |-- local.options
| | |-- ltmain_version_update.patch
| | |-- slack-desc
| | |-- <font color="red">tdeaddons-R14.0.5.tar.bz2</font>
| | `-- tdeaddons.SlackBuild
| |-- tdeadmin
| | |-- local.options
| | |-- ltmain_version_update.patch
| | |-- slack-desc
| | |-- <font color="red">tdeadmin-R14.0.5.tar.bz2</font>
| | `-- tdeadmin.SlackBuild
| |-- tdeartwork
| | |-- local.options
| | |-- slack-desc
| | |-- <font color="red">tdeartwork-R14.0.5.tar.bz2</font>
| | `-- tdeartwork.SlackBuild
| |-- tdebase
| | |-- FBSlackware
| | | |-- Preview.png
| | | |-- Theme.rc
| | | |-- splash_active_bar.png
| | | |-- splash_bottom.png
| | | |-- splash_inactive_bar.png
| | | `-- splash_top.png
| | |-- config
| | | |-- Xsession
| | | |-- Xsession.orig
| | | |-- backgroundrc
| | | |-- kdeglobals
| | | |-- kdesktop.kcfg
| | | |-- kickerSettings.kcfg
| | | |-- klaunch.kcfg
| | | |-- konsole.desktop
| | | |-- konsole.desktop.orig
| | | |-- konsolerc
| | | |-- migratekde3
| | | `-- starttde-14.0.5
| | |-- doinst.sh
| | |-- local.options
| | |-- profile.d
| | | |-- trinity.csh
| | | `-- trinity.sh
| | |-- rc.4
| | |-- slack-desc
| | |-- <font color="red">tdebase-R14.0.5.tar.bz2</font>
| | |-- tdebase.SlackBuild
| | |-- trinity.desktop
| | `-- xinit
| | |-- xinitrc.trinity
| | `-- xwmconfig
| |-- tdebindings
| | |-- local.options
| | |-- ltmain_version_update.patch
| | |-- slack-desc
| | |-- <font color="red">tdebindings-R14.0.5.tar.bz2</font>
| | `-- tdebindings.SlackBuild
| |-- tdeedu
| | |-- local.options
| | |-- ltmain_version_update.patch
| | |-- slack-desc
| | |-- <font color="red">tdeedu-R14.0.5.tar.bz2</font>
| | `-- tdeedu.SlackBuild
| |-- tdegames
| | |-- local.options
| | |-- ltmain_version_update.patch
| | |-- slack-desc
| | |-- <font color="red">tdegames-R14.0.5.tar.bz2</font>
| | `-- tdegames.SlackBuild
| |-- tdegraphics
| | |-- local.options
| | |-- slack-desc
| | |-- <font color="red">tdegraphics-R14.0.5.tar.bz2</font>
| | `-- tdegraphics.SlackBuild
| |-- tdelibs
| | |-- local.options
| | |-- slack-desc
| | |-- <font color="red">tdelibs-R14.0.5.tar.bz2</font>
| | `-- tdelibs.SlackBuild
| |-- tdemultimedia
| | |-- local.options
| | |-- ltmain_version_update.patch
| | |-- slack-desc
| | |-- <font color="red">tdemultimedia-R14.0.5.tar.bz2</font>
| | `-- tdemultimedia.SlackBuild
| |-- tdenetwork
| | |-- local.options
| | |-- slack-desc
| | |-- <font color="red">tdenetwork-R14.0.5.tar.bz2</font>
| | `-- tdenetwork.SlackBuild
| |-- tdepim
| | |-- local.options
| | |-- slack-desc
| | |-- <font color="red">tdepim-R14.0.5.tar.bz2</font>
| | `-- tdepim.SlackBuild
| |-- tdesdk
| | |-- local.options
| | |-- slack-desc
| | |-- <font color="red">tdesdk-R14.0.5.tar.bz2</font>
| | `-- tdesdk.SlackBuild
| |-- tdetoys
| | |-- local.options
| | |-- slack-desc
| | |-- <font color="red">tdetoys-R14.0.5.tar.bz2</font>
| | `-- tdetoys.SlackBuild
| |-- tdeutils
| | |-- local.options
| | |-- slack-desc
| | |-- <font color="red">tdeutils-R14.0.5.tar.bz2</font>
| | `-- tdeutils.SlackBuild
| |-- tdevelop
| | |-- local.options
| | |-- slack-desc
| | |-- <font color="red">tdevelop-R14.0.5.tar.bz2</font>
| | `-- tdevelop.SlackBuild
| `-- tdewebdev
| |-- doinst.sh
| |-- local.options
| |-- ltmain_version_update.patch
| |-- slack-desc
| |-- <font color="red">tdewebdev-R14.0.5.tar.bz2</font>
| `-- tdewebdev.SlackBuild
|-- library
| |-- kipi-plugins
| | |-- <font color="red">kipi-plugins-R14.0.5.tar.bz2</font>
| | |-- kipi-plugins.SlackBuild
| | |-- local.options
| | |-- ltmain_version_update.patch
| | `-- slack-desc
| |-- libkdcraw
| | |-- <font color="red">libkdcraw-R14.0.5.tar.bz2</font>
| | |-- libkdcraw.SlackBuild
| | |-- local.options
| | |-- ltmain_version_update.patch
| | `-- slack-desc
| |-- libkexiv2
| | |-- <font color="red">libkexiv2-R14.0.5.tar.bz2</font>
| | |-- libkexiv2.SlackBuild
| | |-- local.options
| | |-- ltmain_version_update.patch
| | `-- slack-desc
| |-- libkipi
| | |-- <font color="red">libkipi-R14.0.5.tar.bz2</font>
| | |-- libkipi.SlackBuild
| | |-- local.options
| | |-- ltmain_version_update.patch
| | `-- slack-desc
| |-- libksquirrel
| | |-- <font color="red">libksquirrel-R14.0.5.tar.bz2</font>
| | |-- libksquirrel.SlackBuild
| | |-- local.options
| | |-- ltmain_version_update.patch
| | `-- slack-desc
| |-- libtdeldap
| | |-- <font color="red">libtdeldap-R14.0.5.tar.bz2</font>
| | |-- libtdeldap.SlackBuild
| | |-- local.options
| | |-- ltmain_version_update.patch
| | `-- slack-desc
| |-- libtqt-perl
| | |-- <font color="red">libtqt-perl-R14.0.5.tar.bz2</font>
| | |-- libtqt-perl.SlackBuild
| | |-- local.options
| | |-- ltmain_version_update.patch
| | `-- slack-desc
| |-- mlt
| | |-- local.options
| | |-- <font color="red">mlt-R14.0.5.tar.bz2</font>
| | |-- mlt.SlackBuild
| | |-- slack-desc
| | |-- sox_configure.patch
| | `-- sox_makefile.patch
| |-- mlt++
| | |-- local.options
| | |-- <font color="red">mlt++-R14.0.5.tar.bz2</font>
| | |-- mlt++.SlackBuild
| | `-- slack-desc
| |-- pytdeextensions
| | |-- local.options
| | |-- <font color="red">pytdeextensions-R14.0.5.tar.bz2</font>
| | |-- pytdeextensions.SlackBuild
| | `-- slack-desc
| `-- python-trinity
| |-- local.options
| |-- <font color="red">python-trinity-R14.0.5.tar.bz2</font>
| |-- python-trinity.SlackBuild
| `-- slack-desc
|-- prerequisite
| |-- arts
| | |-- <font color="red">arts-R14.0.5.tar.bz2</font>
| | |-- arts.SlackBuild
| | |-- doinst.sh
| | |-- local.options
| | `-- slack-desc
| |-- avahi-tqt
| | |-- <font color="red">avahi-tqt-R14.0.5.tar.bz2</font>
| | |-- avahi-tqt.SlackBuild
| | |-- local.options
| | `-- slack-desc
| |-- dbus-1-tqt
| | |-- <font color="red">dbus-1-tqt-R14.0.5.tar.bz2</font>
| | |-- dbus-1-tqt.SlackBuild
| | |-- local.options
| | `-- slack-desc
| |-- dbus-tqt
| | |-- <font color="red">dbus-tqt-R14.0.5.tar.bz2</font>
| | |-- dbus-tqt.SlackBuild
| | |-- local.options
| | `-- slack-desc
| |-- libart-lgpl
| | |-- <font color="red">libart-lgpl-R14.0.5.tar.bz2</font>
| | |-- libart-lgpl.SlackBuild
| | |-- local.options
| | `-- slack-desc
| |-- libcaldav
| | |-- <font color="red">libcaldav-R14.0.5.tar.bz2</font>
| | |-- libcaldav.SlackBuild
| | |-- local.options
| | `-- slack-desc
| |-- libcarddav
| | |-- <font color="red">libcarddav-R14.0.5.tar.bz2</font>
| | |-- libcarddav.SlackBuild
| | |-- local.options
| | `-- slack-desc
| |-- python-tqt
| | |-- local.options
| | |-- <font color="red">python-tqt-R14.0.5.tar.bz2</font>
| | |-- python-tqt.SlackBuild
| | `-- slack-desc
| |-- sip4-tqt
| | |-- local.options
| | |-- <font color="red">sip4-tqt-R14.0.5.tar.bz2</font>
| | |-- sip4-tqt.SlackBuild
| | `-- slack-desc
| |-- tqca
| | |-- local.options
| | |-- slack-desc
| | |-- <font color="red">tqca-R14.0.5.tar.bz2</font>
| | `-- tqca.SlackBuild
| |-- tqca-tls
| | |-- local.options
| | |-- slack-desc
| | |-- <font color="red">tqca-tls-R14.0.5.tar.bz2</font>
| | `-- tqca-tls.SlackBuild
| |-- tqscintilla
| | |-- local.options
| | |-- qscintilla.patch
| | |-- slack-desc
| | |-- <font color="red">tqscintilla-R14.0.5.tar.bz2</font>
| | `-- tqscintilla.SlackBuild
| |-- tqt3
| | |-- doinst.sh
| | |-- local.options
| | |-- profile.d
| | | |-- tqt3.csh
| | | `-- tqt3.sh
| | |-- slack-desc
| | |-- <font color="red">tqt3-R14.0.5.tar.bz2</font>
| | `-- tqt3.SlackBuild
| `-- tqtinterface
| |-- local.options
| |-- slack-desc
| |-- <font color="red">tqtinterface-R14.0.5.tar.bz2</font>
| `-- tqtinterface.SlackBuild
`-- tde_build_script
|-- bin
| `-- TDE.SlackBuild
`-- etc
|-- tde.dep
|-- tde_build.conf
|-- tde_pkg_application.lst
|-- tde_pkg_base.lst
|-- tde_pkg_library.lst
`-- tde_pkg_prerequisite.lst
Il passo successivo consiste nell''''impostazione delle opzioni per l'architettura''' per cui si desideri produrre i pacchetti del Trinity Desktop Environment. Come anticipato in uno dei paragrafi precedenti il build tree supporta 3 architetture e dalla versione 14.0.5 include un file di esempio per ognuna di esse. Lo script principale: '''./tde_build_script/bin/TDE.SlackBuild cerca sempre un file chiamato TDE.options''' e non trovandolo esce rendendo un messaggio di errore. Per impostare il file di opzioni corretto è sufficiente rinominare o copiare uno dei file di esempio rimuovendo il suffisso relativo all'architettua. Si supponga di voler compilare TDE su di un Rasperry Pi 3 cioè un'architettura Arm il file da copiare nella directory principale del build tree è
'''cp''' ./TDE.options.arm ./TDE.options
Una volta impostato il file di configurazione corretto è finalmente possibile avviare la compilazione dei pacchetti lanciando lo script:
'''cd''' ./tde_build_script/bin
'''sh''' ./TDE.SlackBuild
Lo script si occuperà di leggere il file delle opzioni ed impostare le variabili di ambiente, richiamare nell'ordine corretto gli script di compilazione dei singoli pacchetti, salvare gli stessi ed i file di log prodotti nella directory ''/tmp/'' ed infine di installarli tutti. Quando lo script avrà concluso il suo lavoro l'ambiente grafico sarà immediatamente disponibile e potrà essere aperto da terminale lanciando il comando '''startde'''.
=== Personalizzazione degli Script ===
Non tutti i pacchetti inclusi tra i prerequisiti o le librerie sono indispensabili. La mancata installazione di alcuni comporta l'indisponibilità di alcune funzioni o di alcuni programmi. Altri invece come le librerie '''mlt''' e '''mlt++''' sono pressochè inutili e saranno probabilmente rimossi in uno dei futuri rilasci del Trinity Desktop Environment. È possibile modificare lo script principale del build tree escludendo i pacchetti indesiderati. Per farlo è necessario modificare le righe:
<syntaxhighlight lang="bash">
PKG_LIST_PRE01="tqt3 tqtinterface arts dbus-tqt dbus-1-tqt tqca tqca-tls libart-lgpl libcaldav libcarddav sip4-tqt"
PKG_LIST_PRE02="tqscintilla python-tqt"
PKG_LIST_BASE01="tdelibs tdebase"
PKG_LIST_LIB_PYTHON="python-trinity pytdeextensions"
PKG_LIST_BASE02="tdebindings tdeaccessibility tdeutils tdemultimedia tdenetwork tdeadmin tdeartwork tdegames tdetoys \
tdeedu tdegraphics tdepim tdesdk tdevelop tdeaddons tdewebdev"
PKG_LIST_LIB="mlt mlt++ libtqt-perl libtdeldap libkexiv2 libkdcraw libkipi libksquirrel kipi-plugins"
</syntaxhighlight>
Per escludere le sopracitate librerie mlt ad esempio è necessario modificare l'impostazione della variabile '''PKG_LIST_LIB''' come segue:
<syntaxhighlight lang="bash">
PKG_LIST_PRE01="tqt3 tqtinterface arts dbus-tqt dbus-1-tqt tqca tqca-tls libart-lgpl libcaldav libcarddav sip4-tqt"
PKG_LIST_PRE02="tqscintilla python-tqt"
PKG_LIST_BASE01="tdelibs tdebase"
PKG_LIST_LIB_PYTHON="python-trinity pytdeextensions"
PKG_LIST_BASE02="tdebindings tdeaccessibility tdeutils tdemultimedia tdenetwork tdeadmin tdeartwork tdegames tdetoys \
tdeedu tdegraphics tdepim tdesdk tdevelop tdeaddons tdewebdev"
PKG_LIST_LIB="libtqt-perl libtdeldap libkexiv2 libkdcraw libkipi libksquirrel kipi-plugins"
</syntaxhighlight>
I pacchetti relativi verranno ignorati durante la compilazione dell'ambiente grafico. Per disabilitare il supporto al linguaggio Python le righe dovranno essere modificate come segue:
<syntaxhighlight lang="bash">
PKG_LIST_PRE01="tqt3 tqtinterface arts dbus-tqt dbus-1-tqt tqca tqca-tls libart-lgpl libcaldav libcarddav sip4-tqt"
PKG_LIST_PRE02=""
PKG_LIST_BASE01="tdelibs tdebase"
PKG_LIST_LIB_PYTHON=""
PKG_LIST_BASE02="tdebindings tdeaccessibility tdeutils tdemultimedia tdenetwork tdeadmin tdeartwork tdegames tdetoys \
tdeedu tdegraphics tdepim tdesdk tdevelop tdeaddons tdewebdev"
PKG_LIST_LIB="mlt mlt++ libtqt-perl libtdeldap libkexiv2 libkdcraw libkipi libksquirrel kipi-plugins"
</syntaxhighlight>
Di conseguenza non sarà possibile scrivere programmi integrati in TDE con il linguaggio Python.
=== Localizzazione di TDE ===
La lingua ufficiale supportata dal Trinity Desktop Environment è l'inglese. Esistono localizzazioni in una cinquantina di altre lingue tra cui l'italiano, il francese, il tedesco e lo spagnolo per citarne alcune. L'elenco completo dei pacchetti di localizzazione è reperibile nella sotto-directory ''./base/tde-i18n'' del progetto. Il codice sorgente corrispondente è distribuito in un unico archivio di circa 250 MByte di dimensione. Il build tree contiene le istruzioni necessarie a compilare tutti i pacchetti di localizzazione, ma le stese sono commentate per i seguenti motivi:
* La compilazione dei pacchetti di localizzazione richiede una quantità sproporzionata di spazio disco: circa 2 Gbyte per i file temporanei.
* Compilare i pacchetti di localizzazione richiede più tempo che tutto il resto del Trinity Desktop Environement complessivamente.
* Installare i pacchetti di localizzazione per tutte le lingue occupa inutilmente molto spazio disco e mal si adatta a macchine con scarse risorse.
Non utilizzando localizzazioni diverse dall'inglese ho commentato la riga che avvia la produzione dei pacchetti di localizzazione. Chi fosse interessato a localizzare TDE dovrà modificare lo script '''./tde_build_tree/tde_build_script/bin/TDE.SlackBuild''' rimuovendo il commento dalla riga 324. Da:
<syntaxhighlight lang="bash">
# bash ./${PKG}.SlackBuild
</syntaxhighlight>
a:
<syntaxhighlight lang="bash">
bash ./${PKG}.SlackBuild
</syntaxhighlight>
I pacchetti di localizzazione verranno compilati dopo i pacchetti base e prima delle librerie opzionali.
== Conclusioni ==
Il presente articolo descrive il contenuto ed il funzionamento degli script SlackBuild per compilare Trinity Desktop Environment su Slackware Linux 14.2. Il "build tree" è stato aggiornato per la versione 14.0.5 di TDE rilasciata recentemente ed è stato testato con successo su architetture Amd / Intel a 32 e 64 bit e su architetture Arm quali Raspberry Pi 2 e 3. Sono stati forniti alcuni brevi cenni su come configurare e personalizzare gli script e le istruzioni per compilare i pacchetti opzionali di localizzazione. È infine stato fornito un [http://www.giustetti.net/resource/slackbuild/tde/1405/tde_build_tree_sg-14.0.5.tar.bz2 URL] da cui scaricare l'archivio compresso contente gli script di compilazione utilizzati nella speranza che possano essere utili ad altri appassionati di Linux, di Slackware ed ovviamente di TDE. Una galleria di immagini del Trinity Desktop Environment in funzione su diverse piattaforme è disponibile al seguente [[trinity_desktop_environment_galleria |indirizzo]].
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]
* [http://www.trinitydesktop.org Home page del progetto TDE (En)]
----
{{footer_it | link_page=en/Trinity_desktop_environment_14.0.5}}