Posts Tagged ‘ Bash

Compilare E17 da SVN su Archlinux

Un piccolo script molto comodo che ho scritto insieme a furester, per compilare E17 scaricando i sorgenti da SVN. Lo script utilizza il sistema di porting di Archlinux ed ha alcuni piccoli accorgimenti che permettono di ricompilare solo i pacchetti che hanno subito modifiche.

Non è pienamente testato, potrebbe contenere diversi bug, diverse funzionalità sono ancora da implementare, ma chi volesse provarlo può scaricarlo da questo link:

http://fabiofalcinelli.it/files/archE17svn.sh

Potete testarlo, modificarlo redistribuirlo sotto i termini della licenza GPL.

Installazione

Per usare lo script è sufficiente copiarlo in una qualsiasi directory. Di default lo script creerà una cartella archE17svn nella home dell’utente che lo esegue ed esegurà tutte le operazioni al suo interno.

Configurazione

Lo script accetta i seguenti parametri:
-r popola un repository per pacman (non ancora implementato)
-f forza la ricompilazione di tutti i pacchetti
-R reinstalla la snapshot precompilata presente in community
-d compila con simboli di debug
-o=name1,name2,… checkout e compilazione dei soli pacchetti elencati
-w=dir cambia la directory di lavoro (il default è ~/archE17svn)
-h stampa a video il messaggio di aiuto

Una volta compilato, potrete usare e17… Di seguito un piccolo screenshot :)

e17 and wallpaper module

e17 and wallpaper module

L’immagine mostra il modulo wallapaper che permette la configurazione dello sfondo del window manager. La cosa veramente interessante del modulo è l’ordinamento in scala cromatica delle immagini: ho sempre pensato che ordinare le immagini in base al nome (quindi in ordine alfabetico) non abbia molto senso e questo modulo ne è la prova.

Per vedere il modulo in azione, potete visualizzare il video al link sottostante

http://www.rasterman.com/files/wp2.avi

Alla prossima!

Aggiungere il timestamp ad ogni riga in output

Eccomi di ritorno! È passato un po’ di tempo dall’ultimo post, un po’ per impegni vari, un po’ per pigrizia ed un po’ per i tempi di attivazione del dominio (fabiofalcinelli.it). Come va? Come state? :)

Vi descrivo di cosa avevo bisogno e di come ho risolto. Supponiamo di avere un programma che generi output, ma che questo output sia sprovvisto di timestamp. Se il programma deve essere eseguito ad intervalli regolari diventa un po’ difficile capire cosa sta succedendo analizzandone l’output che ne è stato eventualmente redirezionato su un file.

Se invece di redirezionarlo direttamente al file, lo diamo prima in pasto ad awk sarà però possibile aggiungere, per ogni riga, il timestamp di generazione della riga stessa. Ecco di seguito come, utilizzando il tool svnsync come esempio:

svnsync synchronize svn://127.0.0.1:8081 | nawk '{
"date \"+%a %b %d %Y %H:%M:%S -\"" |
getline systemDate;
close ("date \"+%a %b %d %Y %H:%M:%S -\"") ;
print systemDate, $O;
}'
>> svnsync.log

In realtà ho utilizzato nawk la cui implementazione supporta alcune funzionalità in più. Non ci dovrebbero essere problemi usando la stessa procedura con gawk.

Come al solito, spero che possa essere d’aiuto a qualcuno facendogli risparmiare qualche minuto del suo tempo :)