That's my blog… Life and Linux

Impacchettare Compiz Fusion GIT con MakeFusionDebs

Make-Compiz-Fusion-ScriptCi siamo! Come avevo anticipato nel post precedente, mi sono messo di buzzo buono, ed ho terminato il lo script dinamico per impacchettare Compiz e Compiz Fusion direttamente da GIT.
Infatti, già quando iniziai ad impacchettare Beryl-SVN, come presupposto iniziale mi scrissi uno script che chiamavo rudimentalmentemakedebs‘ che mi permetteva di fare tutto il lavoro senza troppo sforzo e, sopratutto, senza necessità di una grossa manutenzione
Col breve passaggio di Beryl da SVN a GIT, aggiornai lo script per funzionare anche con il Software di Controllo delle Versioni Distribuito di Torvalds (= git) e con l’arrivo di CompComm (poi Compiz Fusion) l’ho aggiornato ulteriormente…

Il maggior problema di Compiz Fusion è il fatto che non vengono distribuite delle cartelle debian, di default che consentono la realizzazione dei pacchetti, per tanto (com era già avvenuto anche per alcune parti di Beryl e come succede quasi sempre per gli altri pacchetti che produco) le ho dovute fare io, praticamente da 0…
Avendo ricevuto l’accesso in scrittura al GIT di OpenCompositing qualche settimana fa, ho deciso che il nuovo sistema sarebbe stato molto più git-based.

Con un po’ di ritardo, stasera ho inserito in GIT tutte le cartelle debian necessarie alla creazione di pacchetti .deb, quindi dopo diversi aggiornamenti, ho inserito anche il nuovo makefusiondebs che vi permetterà di compilare e pachettizzare tutto!

Le modifiche rispetto alla versione precedente sono:

  • Autoupdate (lo script si auto-aggiorna all’avvio)
  • Supporto ad un file di configurazione (makefusiondebs-options)
  • Supporto per le patch debian (sistema quilt)
  • Controllo dell’ABIVERSION dei plugin (permette la ricompilazione automatica)
  • La versione di base ora viene letta anche dal configure.ac
  • Supporto per il prefisso delle versioni debian (#:versione)
  • Corretta la rimozione dei suffissi debian alla versione
  • Possibilità di definire il nome delle cartelle in cui salvare i dati
  • Spostamento dei vecchi deb basato anche sul pacchetto sorgente
  • Le cartelle debian utente, ora hanno priorità su quelle scaricate
  • Codice ripulito
  • Altre correzioni sparse che non ricordo 🙂

Per avere tutto questo, dopo che avete ripulito il vostro sistema dalle installazioni di compiz in /usr/local (soprattutto rimuovendo i file /usr/local/lib/pkgconfig/compiz*.pc), vi basterà dare i seguenti comandi:

git-clone git://anongit.opencompositing.org/users/3v1n0/compiz-fusion-debian-builder
cd compiz-fusion-debian-builder
./makefusiondebs

A questo punto lo script tenterà prima di aggiornare sé stesso (ed in caso positivo di riavviarsi), se non impostato diversamente (vedi sotto), e poi scaricare (o aggiornare) tutte le sezioni del GIT definiti (che comprendono sia compiz-fusion-debian che compiz-wrapper – tra l’altro quest’ultimo è stato integrato in questi giorni proprio nei pacchetti di Ubuntu Gutsy!!) nelle opzioni…

Ho parlato di opzioni, sì, perché essendo l’autoaggiornamento basato su GIT, per evitare problemi col passare del tempo, ho deciso di dare la possibilità di definire le proprie impostazioni in un file parallelo, impostato di default a makefusiondebs-options, che potrete editare (mantenendo la sintassi bash) per personalizzare l’impacchettamento (piuttosto che toccando lo script stesso, per cui semmai inviatemi delle patch, ma che è meglio non modificare direttamente!).

Infine, un accenno ai parametri accettati dallo script:

./makefusiondebs                 # esegue tutti i passaggi (aggiorna ed impacchetta)
./makefusiondebs update          # esegue solo l’aggiornamento dei pacchetti
./makefusiondebs build           # impacchetta solo ciò che serve
./makefusiondebs <item>          # impacchetta solo <item> (se necessario)
./makefusiondebs rebuild <item>  # forza la ricompilazione di <item>
./makefusiondebs repack <item>   # forza il rimpacchettamento di <item>

Adesso se non potete o non volete usare i miei deb di Compiz, sarà possibile e molto facile creare pacchetti anche per tutte le distribuzioni (basate su debian) e tutte le architetture; se vi dovesse servire hosting per i vostri pacchetti – per un eventuale repository – contattatemi pure

Maggiori informazioni le troverete sicuramente in questo thread di OpenCompositing.

Bye ^_^ 

Bombardamento Mediatico da Compiz Fusion

Compiz-Fusion_test_logoA quasi una settimana dall’ufficializzazione del repository di Compiz Fusion, sembra proprio che il mondo se ne sia accorto… Infatti, a parte alcuni piccoli problemi riportati (e per lo più corretti) tra i commenti degli articoli di questo blog (dovuti soprattutto a dei bug di GNOME [nel caso dello splash eterno] od alla mancata rimozione di vecchi files [Segmentation fault o decorazioni mancanti]), pare che Fusion stia già conquistando il mondo Ubuntu e non solo…

Grazie a tutti quelli che mi seguono qui e nei forum internazionali, tutta questa foga si è riversata anche su di me e su quanto ho prodotto, venendo citato (ma non sempre linkato :() praticamente in ogni wiki, blog e forum in cui si parli di Ubuntu e Compiz Fusion facendo superare al repository, in poche ore, i 50’000 hit giornalieri (mentre il traffico è ancora lontano al record di 700Gb/mese di Febbraio rimanendo sotto i 400Gb/mese).
Come potete immaginare la cosa mi rende molto felice e non fa altro che stimolarmi a continuare e migliorare questa mia attività (se poi volete fare di più il pulsantino PayPal è tanto che se ne sta, tutto solo, nella sidebar di destra :P).

Tanto per farvi presente cosa intendo e per fissare nel DB dei risultati in un certo senso storici (ottenuti senza che mi impegnassi troppo direttamente nel segnalare la cosa e che hanno messo anche mezzo Tuxfamilyche ringrazio sempre – sotto sforzo), vi elenco i risultati che reputo più importanti:

Mi sembra di non aver dimenticato altro, ma già così mi pare un ottimo risultato… Mi scuso se non elenco tutti gli altri, ma capirete che non è possibile 🙂

Una richiesta che ricevo molto spesso in questi giorni, sono i sorgenti dei pacchetti deb, utili per gli utilizzatori di altre distribuzioni debian-based e/o altre architetture, bene… Nel tempo libero, tra una patch e l’altra, sto ultimando un sistema di impacchettamento dinamico (ossia che si auto-aggiorna da git) che renderà tutto molto semplice per tutti quelli che vogliono farsi dei pacchetti in casa. Ammetto di aver rallentato un po’ il suo sviluppo per dedicarmi ad altre cose, ma spero di terminare il tutto entro pochi giorni

Da CompComm a Compiz Fusion in formato .deb!

Compiz-Fusion-logo-testDopo il fallimentare sondaggio sul futuro nome di CompComm ed i flame che si erano scatenati in Mailing list per defnire quali nomi dovesero essere usati e chi li dovesse votare (e in che modo), immaginavo di dover continuare per (molte) altre settimane a dover buttare degli archivi .tar.gz nella cartella compiz-compcomm-name-in-progress della sezione xtra-debs del mio repository per tuti quegli impavidi che nei vari forum facevano di tutto per l’ultima versione del plugin firepaint 😀 e degli altri plugin rilasciati dai ragazzi di OpenCompositing, fin’ora innominabili.

E invece… Beh, finalmente quei ragazzacci si sono messi daccordo ed hanno annunciato il nuovo nome in Compiz Fusion! Personalmente non mi dispiace, ma considerando quanto l’abbiamo atteso mi andava bene (quasi) qualsiasi cosa… 😀

Ma veniamo al dunque, come promesso, non appena ci sarebbe stato il nuovo nome, i pacchetti sarebbero finiti nel repository ed infatti dopo aver messo il mio repostory Compiz-GIT e (opzionale) CompizConfig per installare i plugin che una volta erano di beryl e che adesso saranno di fusion, date il seguente comando:

sudo apt-get install compiz-fusion-*

Con il comando indicato verranno installati (ad oggi) i seguenti pacchetti:

  • compiz-fusion-plugins-main – contiene i pacchetti sviluppati attivamente
  • compiz-fusion-plugins-extra – contiene i pacchetti di minore importanza (come funzionalità)
  • compiz-fusion-plugins-unsupported – contiene i pacchetti fatti (in passato) da autori esterni agli sviluppatori ufficiali e quindi non più sviluppati attivamente.
  • compiz-fusion-plugins-unofficial – contiene i pacchetti non ufficiali e pertanto non supportati

Per adesso i plugin disponibili sono: animation, expo, imgjpeg, neg, opacify, put, resizeinfo, ring, scaleaddon, snap, text, thumbnail, vpswitch, wall, winrules, addhelper, bench, crashhandler, cubereflex, extrawm, fadedesktop, firepaint, group, mblur, reflex, showdesktop, splash, trailfocus, fakeargb, snow, tile.
Presto ne arriveranno anche altri, come widget, mousegesture, flash, screensaver (presenti ora nel pacchetto unofficial)…
Mentre vi consiglio di vedere questo video per godervi tutte le funzionalità.

Per gli sviluppi futuri e ulteriori news (di poco conto), vi consiglio di seguire questo thread "ufficiale".

Nel frattempo, se ci sapete fare con inkscape, e pennelli virtuali, potete partecipare all’Artwork Contest che sta già sta dando i suoi frutti come avrete visto in cima a questo post ;).

Configurare Compiz in scioltezza con CompizConfig!

CompizConfig LogoCome preannunciatovi nel post precedente, parliamo un po’ di nuovi sistemi di configurazione per Compiz sorti all’ombra di OpenCompositing.org… Come saprete compiz, fin dagli esordi, funzionava sfruttando il sistema di configurazione principe di GNOME: GConf, e questo elemento fu uno dei principali motivi di proteste da parte della comunità (spcialmente, quella non-gnome, ovviamente) e quindi della nascita di progetti paralleli (fork) quali compiz-quinn, prima e Beryl poi.

Con un certo ritardo (si sa, DavidR non è per i workaround… :P) fu stravolto il sistema utilizzato  fin dagli esordi, inserendo la possibilità di usare plugin diversi per il salvataggio delle opzioni e Mike mikedee Dransfield creò un plugin "ini" che permette il salvataggio della configurazione in dei files (ciascuno per plugin) in ~/.compiz/options. Tuttavia, il ritardo dell’aggiornamento rispetto a Beryl che già aveva i suoi configuratori ed il sistema poco friendly di gestione non resero questo cambiamento troppo apprezzato…

Tutto il resto è storia recente, con il porting da libberylsettings (il fiore all’occhiello di Beryl) a libccs adesso rinominata in libcompizconfig di cui ho spiegato il suo funzionamento in questo articolo che è fondamentalmente sempre valido a parte il fatto che la libreria ha cambiato nome e che adesso il backend gconf usa gli stessi parametri del plugin standard di compiz (per il plugin ini verrà fatta la stessa cosa presto).

Nonostante i flames che ci sono stati nella Mailing list di CompComm riguardo l’approccio usato da questo sistema (alcuni validi, altri un po’ meno) portati avanti più che altro da mikedee e RYX (entrambi "ex" compiz-extra), la discussione è proseguita con un ritmo serrato e attualmente pare essersi placata sia perché si è deciso di mantenere una linea che rimanga sempre fedele ai plugin standard di configurazione di Compiz, sia perché fino ad oggi non esiste sistema migliore che permetta sia la configurazione, che la gestione dei conflitti sia in modalità online, che offline (ossia, con sia con compiz avviato che no).

Andiamo quindi ad installare CompizConfig; prerequisito a tutto ciò è l’installazione di Compiz-git dal mio repostory eyecandy (come era stato indicato anche tra i commenti del primpo post su CompComm), dopo di che vi basterà fare:

sudo apt-get install compizconfig-settings-manager

Questo, fondamentalmente, farà tutto il necessario per avere le librerie libcompizconfig, il plugin ccp (che funge da tramite per compiz) ed il configuratore CompizConfig Settings Manager (e relative librerie in python), tuttavia sappiate che per aver un sistema funzionante usando la configuazione di CompizConfig, vi basterebbe il solo pacchetto compizconfig-plugin libcompizconfig0 (ma ovviamente sareste senza interfacce).
Altri pacchetti che definirei opzionali, sono:

libcompizconfig-backend-gconf    # backend per salvare i dati attraverso gconf (GNOME)
libcompizconfig-backend-kconfig  # backend per salvare i dati attraverso kconfig (KDE)
python-compizconfig              # bindings in python per l’accesso a libcompizconfig
compizconfig-settings-legacy     # settings manager "obsoleto" scritto in C e GTK+

Per usare compiz con questo sistema di configurazione, se usate i miei pacchetti o il mio wrapper (per come è stato impostato quest’ultimo), vi basta dare il classico comando

compiz –replace                 # corrisponde a dare ‘compiz –replace ccp’

Presupponendo che avrete installato il settings manager principale, ecco cosa vi apparirà lanciando ccsm:

CompizConfig Settings Manager
CompizConfig Settings Manager – Compiz Configurator

Ci tengo a sottolineare, di nuovo, che tutto questo è indipendente dall’uso o meno dei plugin di Compiz Fusion (ex CompComm).

A presto! 

Ubuntu Compiz-GIT Repository

Compiz GIT RepositoryHo aspettato qualche giorno per ufficializzare questa notizia, che seppur fosse ormai nota nei forum internazionali e nazionali, ho preferito non annunciare qui finché tutto non fosse funzionante al meglio e compatibile con i pacchetti che saranno presenti in Ubuntu Gutsy
Adesso, però posso dirlo a chiare lettere: Compiz – git è stato aggiunto al mio repository eyecandy!

Siccome, come è ben noto, David Raveman (DavidR) e gli sviluppatori che gli sono più vicini sono sempre molto cauti nel modificare il codice del core e dei plugin di base, posso dirvi senza problemi che queste build, seppur siano compilate con codice in fase di sviluppo, sono e (presumo) saranno sempre stabili e funzionanti.

Per aggiungere il repository alla vostra lista, editate – con permessi di amministrazione (sudo) – il file /etc/apt/sources.list, aggiungendovi quanto segue [EDIT qua per AMD-64]:

# Treviño’s Ubuntu Deisty EyeCandy Repository (GPG key: 81836EBF)
# Many eyecandy 3D apps: Beryl, Compiz, Fusion, AWN and kiba-dock
# built using latest available (working) sources from git/svn/cvs…
deb http://download.tuxfamily.org/3v1deb feisty eyecandy
deb-src http://download.tuxfamily.org/3v1deb feisty eyecandy

 Se non l’avete già fatto, date la fiducia alla mia chiave GPG pubblica con:

wget http://download.tuxfamily.org/3v1deb/DD800CD9.gpg -O- | sudo apt-key add –

Quindi potete aggiornare il vostro sistema stando attenti che i pacchetti compiz, compiz-core, compiz-plugins e libdecoration0 (e relativi) vengano aggiornati/installati (ci sta che la prima volta ci voglia un sudo apt-get dist-upgrade).
Per gli utenti GNOME ricordo di installare anche il pacchetto compiz-gnome, mentre per quelli KDE il pacchetto compiz-kde; gli altri (Xfce & co.), invece dovranno installare un decorator alternativo (come emerald) se non vogliono installarsi dipendenze collegate ad altri desktop (in attesa che la mia patch venga accettata :P).

A questo punto non vi resta che avviare Compiz, e nella maggior parte dei casi il basterà il comando (che potrete aggiungere tra i programmi da avviare all’inizio della sessione):

compiz –replace

Tuttavia, per poter avviare Compiz correttamente in qualsiasi configurazione hardware/software supportata ho inserito un wrapper (basato principalmente sul codice del compiz-manager di Kristian Lyngstøl) in /usr/bin/compiz che di fatto esegue il binario vero e proprio (/usr/bin/compiz.real) con le impostazioni più adatte alla vostra situazione. Questo script, nominato Compiz-Wrapper (che è disponibile nel git di opencompositing.org cui ho avuto accesso qualche giorno fa) oltre a quanto fa in automatico, permette sia di passare i parametri "standard" di Compiz (che ottenete con compiz –help), sia alcune operazioni avanzate che potete vedere usando il comando

compiz -h

Ulteriori esempi del suo uso li potete trovare in questo thread; è tutto piuttosto semplice per l’uso normale, ma permette anche operazioni più avanzate :)…

Per quanto riguarda la configurazione di Compiz, installando solo quanto sopra indicato (ossia solo pacchetti provenienti dagli sviluppatori di freedesktop.org) e lanciando compiz con il "comando di base", vi consentirà di usare la piattaforma gconf a quanti hanno installato compiz-gnome (sempre se non definite altro da riga di comando…), mentre semplici files di testo (usando plugin ini) per tutti gli altri e tutto questo non è sicuramente il massimo dal punto di vista della configurabilità da parte dell’utente (entrambi i sistemi sono tutt’altro che friendly da settare), ma per fortuna c’è altro…

Notate che a volte, le vostre vecchie configurazioni o vecchi plugin salvati nel profilo in $HOME possono dare fastidio, quindi eseguite i comandi seguenti per le operazioni indicate a fianco:

rm -rf ~/.gconf/apps/compiz    # rimuove le impostazioni di compiz salvate da gconf
rm -rf ~/.compiz/options      
# rimuove le impostazioni salvate dal plugin ini
rm -rf ~/.compiz/{metadata,plugins}
# rimuove i vecchi plugin installati
rm -f /usr/local/bin/compiz   
# rimuove eventuali vecchi script di avvio
rm -rf /usr/local/lib/{compiz,libdecoration}*
# rimuove i vecchi plugin e librerie

In questo post non ho voluto menzionare in modo esplicito sistemi che, suppongo, diventeranno lo standard per configurare Compiz, ma siccome per adesso non fanno parte del progetto ufficiale (e penso rimarranno sempre un’ala esterna) ho preferito indicare qui solo come ottenere la vostra copia "pura" di compiz 😉

PS: Se avete qualsiasi problema di avvio di Compiz, incollatemi, col pastebin, l’output restituito da compiz –replace -v

ADSL a Castel San Niccolò (AR) – Finalmente è REALTÀ!

DSLaMInterrompo la nuova pausa di riflessione del blog per una di quelle notizie, che seppur interessino davvero poche persone, rappresentano per il sottoscritto una vera e propria liberazione da quel bollino da "digital-diviso" che ormai avevo addosso da quando la “mitica” BB·B arrivò in Italia…

Infatti, dopo la lettera della Telcom Italia ricevuta dal mio comune nel Febbraio di quest’anno in cui si rendeva nota la pianificazione del servizio ADSL per il I semestre del 2007, e l’ufficializzazione nel sito wholesale di Telecom Italia avvenuta i primi di Maggio (che io ho scoperto 😛 e di cui ha riportato la notizia mio cugino AleXit) in cui – cripticamente – si parlava del 31 Giugno, e ancora, dopo che la centrale principale di Prato di Strada – situata accanto a casa mia (anzi, in un certo modo è casa mia visto che lo stabile è di proprietà di mia nonna) – è stata “assalita” senza interruzione da Omini Telecom per tutto il mese: quest’oggi, dopo che un primo controllo di routine fatto nel primo pomeriggio aveva avuto esito negativo, AleXit mi ha avvertito che qualcosa era cambiato, ed ecco cosa:

ADSL attivabile a Castel San Niccolò (AR)

Come potete vedere, dopo anni di niet, adesso il semaforo di toscanini è finalmente verde!

Potrete sicuramente (o forse no?!) immaginare la gioia che una notizia del genere possa suscitare in uno smanettone informatico 😛 che ha fatto della Rete la sua seconda casa, vissuto fino a 21 anni senza banda larga (ormai dovrebbe essere un diritto costituzionale :D)…
Magari avrei sentito la necessità di una connessione broadband più qualche anno fa (ai tempi del Liceo…) visto che ora sto poco in casa e non abuso troppo della banda, ma vi assicuro che fin’ora la mia vita informatica non è stata sempre in discesa…

Nel mio caso, è apparso anche il messaggio «Servizio disponibile con intervento tecnico preventivo» visto che attualmente ho in casa una linea ISDN che dovrà essere rimossa, ma su questo e sui miei trascorsi telematici vi farò sapere in futuro…

Attualmente il servizio è disponibile per le numerazioni 570xxx, 572xxx e 550xxx (già disponibile da tempo essendo gestiti dalla centrale di Borgo alla Collina), mentre non è ancora disponibile per le numerazioni 555xxx (della centrale di Cetica, la cui attivazione è prevista sempre per fine giugno).

Ora, non mi resta che decidere quale servizio acquistare, siccome ho un vecchio contratto flat (dialup) con Tiscali di cui non avevo potuto ancora chiedere la disdetta, per evitare di pagare altri mesi inutilmente pensavo di usare quello, però posso avere al massimo una 4Mb. Altrimenti, c’è sempre la cara Mamma Telecom con cui, vista la distanza dalla centrale, non dovrei avere problemi ad avere una bella 20Mb, ma non so bene come funzioni… Quindi fatemi sapere!

PS: Ovviamente, io e alex abbiamo messo l’annuncio su www.comune.castel-san-niccolo.ar.it 😉