Pacchetti Slackware
Porteus è costruita su Slackware 14.1 e quindi, potenzialmente, può sfruttare tutti i pacchetti già precompilati per Slackware. Tramite i comandi tgz2xzm e txz2xzm è possibile, infatti, convertire i pacchetti Slackware in moduli Porteus. Ma attenzione perchè nella realizzazione di queste conversioni occorre sempre tenere conto delle dipendenze che non è detto che si trovino automaticamente risolte e quindi ci vuole un po' di abilità nella gestione di queste operazioni.
Per prima cosa occorre conoscere alcune fonti (repository) da cui prelevare i pacchetti Slackware precompilati per la versione 14.1, eccone alcune:
I formati presenti in queste fonti possono essere o il classico .tgz o il più moderno e compatto .txz. In entrambi i casi Porteus fornisce il comando adatto per effettuarne la conversione in moduli .xzm.
Il procedimento è abbastanza semplice, una volta scaricato il pacchetto slack1.tgz o slack2.txz, con uno dei due comandi si ottiene il corrispondente modulo:
Esempio di costruzione di un modulo con dipendenze
Parent Directory celestia-1.6.1-i486-2_fs.dep 19-Jul-2014 08:14 13 celestia-1.6.1-i486-2_fs.lst 19-Jul-2014 08:14 60K celestia-1.6.1-i486-2_fs.meta 19-Jul-2014 08:14 539 celestia-1.6.1-i486-2_fs.tgz 19-Jul-2014 08:15 38M celestia-1.6.1-i486-2_fs.tgz.md5 19-Jul-2014 08:14 63 celestia-1.6.1-i486-2_fs.txt 19-Jul-2014 08:14 279
E facciamo attenzione alla presenza del file .dep oltre che al file .tgz che dobbiamo scaricare. Il file .dep, di appena 13 byte, contiene i nomi di 2 dipendenze: lua e gtkglext. Quindi anche questi 2 pacchetti dovranno essere inseriti nel nostro modulo definitivo. Allora ci organizziamo preparando una cartella di lavoro vuota, che chiamiamo work, nella quale andremo a depositare il file celestia-1.6.1-i486-2_fs.tgz appena scaricato.
Quindi eseguiamo i 3 comandi:
celestia: error while loading shared libraries: libgtkglext-x11-1.0.so.0: cannot open shared object file: No such file or directory
che ci ricorda la mancanza di una delle dipendenze, come visto all'interno del file .dep in precedenza.
Prima di procedere oltre per risolvere la situazione è opportuno fare una puntualizzazione:
Benche sia possibile avviare un applicativo tramite il menù ed il mouse, nelle fasi di debug è molto più utile avviare i programmi da terminale in modo da potere leggere i messaggi di un eventuale malfunzionamento.
A questo punto, fatta una breve ricerca nello stesso sito appena utilizzato, ci prepariamo a scaricare il pacchetto .tgz collegandoci a
http://porteus-apps.org/slackware/slackware-14.1/slackware/libraries/gtkglext/
Parent Directory - gtkglext-1.2.0-i486-3_fs.dep 19-Jul-2014 09:57 14 gtkglext-1.2.0-i486-3_fs.lst 19-Jul-2014 09:57 8.7K gtkglext-1.2.0-i486-3_fs.meta 19-Jul-2014 09:57 671 gtkglext-1.2.0-i486-3_fs.tgz 19-Jul-2014 09:57 289K gtkglext-1.2.0-i486-3_fs.tgz.md5 19-Jul-2014 09:57 63 gtkglext-1.2.0-i486-3_fs.txt 19-Jul-2014 09:57 424
Anche questa volta il file .dep ci avverte di un'altra dipendenza: pangox-compat, per fortuna l'ultima, oltre lua già vista in precedenza. Quindi scarichiamo nella cartella work il file
gtkglext-1.2.0-i486-3_fs.tgz
ed i file:
pangox-compat-0.0.2-i486-1_fs.tgz
lua-5.1.5-i486-1_fs.tgz
prelevati, rispettivamente, da:
http://porteus-apps.org/slackware/slackware-14.1/slackware/libraries/pangox-compat/
http://porteus-apps.org/slackware/slackware-14.1/slackware/development/lua/
dopo aver verificato attentamente che nessuno dei due ha dipendenze da soddisfare.
A questo punto convertiamo i 3 file .tgz in altrettanti file .xzm:
Visto che in precedenza abbiamo attivato celestia per testarlo, procediamo adesso ad attivare anche i 3 moduli, appena costruiti, con:
I libri che recensiva li leggeva soltanto in seguito. Cosi' sapeva gia' quello che ne pensava.
Elias Canetti