Ci sono volte che si vorrebbe mandare tutto a quel paese. Per installare KDE occorre ricordarsi di aggiornare le librerie collegate e le rispettive dipendenze. Che magari sono diverse da quelle necessarie per Gnome e via così. Tutto questo, però, è ora un ricordo del passato: basta installare Upi-src , l’installer universale di pacchetti realizzato da un team di sviluppatori italiani, per entrare in nuova era in cui i programmi funzionano sempre tutti, e le dipendenze sono solo un brutto ricordo.
“Sono uno slackwariano – racconta a Punto Informatico Ettore Di Giacinto , ideatore del progetto Upi-src – e mi sono sempre ritrovato con il problema dei pacchetti per la mia distribuzione: l’unico sistema che esisteva era il port di APT get , ma ogni volta finiva che non c’era mai il pacchetto che mi serviva o che ci volevano due o tre ore per riuscire a compilare tutte le dipendenze prima di poter passare al programma principale”.
La cosa, spiega Ettore, era seccante: all’inizio ci si passa sopra per via dell’entusiasmo, ma pian piano diventa stancante: “Mi sono detto: sarebbe comodo realizzare un sistema migliore per la gestione dei pacchetti, magari sfruttando le repository Debian dove ci sono tutti i sorgenti. Già che c’ero, ho pensato di farlo per tutti i sistemi operativi”.
Upi-src, infatti, funziona su qualsiasi OS del ceppo *nix . Gli utenti di una qualunque distribuzione Linux, di BSD, di Solaris, di HP-UX o di AIX, non hanno problemi ad utilizzarlo: “In teoria funziona pure su Mac OS X, visto che è un derivato di BSD, mancano solo Perl e Cpan e funziona tutto alla perfezione – chiarisce Di Giacinto – Ha qualche limite su BeOS, che richiede una repository a parte per i suoi sorgenti, ma ci stiamo lavorando”.
Tutto ciò è possibile grazie al meccanismo di funzionamento: Upi-src non scarica un binario precompilato, bensì scarica un sorgente e avvia la compilazione . Il programma, inoltre, per garantire la massima compatibilità è scritto in Perl : “È flessibile, multipiattaforma, si trova ovunque – spiega Ettore – Perl è presente in tutte le distro linux, su BSD basta un comando per installarlo e anche su Mac la procedura non è complicata”.
Il tutto risulta comodo: basta scrivere una riga sulla linea di comando per avere la certezza che entro qualche minuto sarà tutto funzionante. “È qualcosa di simile ad Emerge, il sistema presente sulla distro Gentoo – racconta Di Giacinto – ma sfrutta una concezione diversa. Upi-src è più veloce di Emerge, perché per l’indicizzazione ho usato un semplice file: trovo che così sia più semplice da manutenere”.
Strada facendo, Di Giacinto è anche riuscito a risolvere un problema storico di APT get: il cosiddetto RPM hell , vale a dire la situazione di stallo nella quale il sistema finisce a causa delle dipendenze incrociate tra i pacchetti: “Non sapevo neppure esistesse questo tipo di errore, ma mi ci ero ritrovato davanti ed ero andato in paranoia: poi mi è venuta l’illuminazione ma non avevo un computer davanti. Ho scritto tutto su un foglietto e il giorno dopo ho sistemato il programma: bastava una semplice eccezione da gestire per scavalcare il loop”.
Con Upi-src, inoltre, si scavalca anche il problema delle versioni delle librerie necessarie: tutto quello che serve viene scaricato e compilato, senza che si verifichino interferenze tra diversi pacchetti installati in momenti differenti.
“Il nostro attuale problema è la repository” confessa Ettore. Il codice è stato scritto in massima parte e funziona abbastanza bene, ma costruire un archivio di migliaia di pacchetti non è facile: “All’inizio mi ero appoggiato a Debian, ma in quel caso ci sono molti sorgenti che funzionano solo su quella distro perché sono stati adattati, mentre a volte mancano del tutto. Al momento lavoriamo ad una repository tutta nostra, e cerchiamo collaboratori che ci diano una mano a sviluppare il progetto”.
A lavorare al progetto, per il momento, sono in cinque . Oltre ad Ettore c’è il suo amico e vicino di casa Francesco Ferretti , poi c’è il programmatore Luca Scianna conosciuto in rete, così come quell’ Alessio Porcacchia che è una vecchia conoscenza dei lettori di PI. Infine c’è Mauro Fava che si occupa del betatesting. Ma Upi-src ha anche bisogno di utenti finali: “Abbiamo un sistema di segnalazione che ci avvisa via email quando c’è qualcosa che non va, se c’è un programma che non completa la compilazione: più beta tester ci sono – conclude Ettore – e più il tutto funzionerà meglio, perché potremo intervenire a sanare i problemi”.
a cura di Luca Annunziata