News,Development Resources,Featured Content

receive news by mail:

Loading SpatialBundles Download list...

[The Road To...] Lunedi 28 Aprile 2008 03:34 A.M.



Questo fine settimana lungo l'ho dedicato principalente a due attività:
1) Km e Km di mountain bike qui intorno i castelli romani
2) Avanzamento dei lavori sui SpatialBundles con finalmente la versione 0.9.x dalla quale si atterra direttamente alla 1.0 usando la numerazione di wine ovvero 0.9.x con x intero senza limiti mentre prima x era intero massimo 9 dopodiche si avanzava alla versione successiva.
Attualmente sto debuggando la versione 0.9.9 in quanto per qualche malinteso non si avvia più l'applicazione incorporata dalla tray.
Il problema è legato all'unset di alcune variabili di ambiente.
Ne approfitto per lavorare sul pacchetto ioAmuleAdunanzaFlamingo1.2 la quale versione funziona trasparentemente su Ubuntu Gutsy Gibbon 7.10, Ubuntu Hardy Heron 8.04 e Debian Lenny, mi ero ripromesso di lavorare anche sulla Xandros versione eeePC e lo faccio appena ho tempo di settare una chroot dedicata.
Il settaggio di una chroot Xandros verrà prodotta in questo modo:
• Memoria USB da 8GB (SD HC con adatttore USB)
• Installazione da DVD sulla memoria SD via USB
• Copia immagine dell'installazione su disco rigido
• Esecuzione di uno script che automaticamente monta l'immagine rw in loopback binding di /dev /proc nell'immagine montata e poi chroot.
In questo modo cerco di massimizzare la trasportabilità del chroot tra macchine differenti in quanto manipolo un singolo file (due con lo script di inizializzazione), controllo dello spazio occupato in quanto una volta saturata l'immagine disco ho una barriera per non saturare inconsapevolmente il disco che lo ospita (problema che mi si ripresenta spesso agendo indiscriminatamente con apt-get install o apt-get build-dep nelle chroot).

SpatialFactory0.9.9 presenta ora un codice nettamente ripulito.
Ora è possibile passare i classici parametri a linea di comando che questi verranno trasparentemente passati al binario dell'applicazione ospite.
passando l'opzione --help risponde l'help del Bundle se si passa l'opzione --help-all risponde l'help degli eseguibili binari
A titolo di esempio:

ioAmuleAdunanzaFlamingo1.2-WxGTK2.8.7-Ubuntu7.10 --help
########################################################################################
## Infodomestic Objects http://www.infodomestic.com/ forge.objects@infodomestic.com ########################################################################################
## Luca Cappelletti (C) 1995 - 2008 Released under GNU/GPL (www.gnu.org) #
## luca dot cappelletti at gmail dot com
##########################################################################
Usage: ioAmuleAdunanzaFlamingo1.2-WxGTK2.8.7-Ubuntu7.10 [OPTION]...

Defaults for the options are specified in brackets.

Configuration:
-h, --help display this help and exit
-hh, --help-all display all options you can pass directly to the binary
-r, --reset, --restart reset and restart the main application program
-f, --free free the cache and clean the memory stopping running processes

Mentre se passo il parametro --help-all (funziona solo con lo SpatialBundle in cache e quindi dopo averlo eseguito la prima volta) ritorna:

amule --help:
Usage: amule [-v] [-h] [-i] [-geometry ] [-d] [-o] [-r]
-v, --version Displays the current version number.
-h, --help Displays this information.
-i, --enable-stdin Does not disable stdin.
-geometry: Sets the geometry of the app.
uses the same format as standard X11 apps:
[=][{xX}][{+-}{+-}]
-d, --disable-fatal Does not handle fatal exception.
-o, --log-stdout Print log messages to stdout.
-r, --reset-config Resets config to default values.

ed2k --help:
aMule ED2k link parser v1.1.1

Usage:
--help Prints this help.
--version Displays version info.

ed2k://|file| Causes the file to be queued for download.
ed2k://|server| Causes the server to be listed or updated.
ed2k://|serverlist| Causes aMule to update the current serverlist.

Come vedete in sequenza elenca diligentemente gli help dei singoli binari con bit eseguibile prensenti nell'applicazione incorporata.
E' un processo creato automaticamente durante il build del bundle.

Qualsiasi parametro non contemplato nell'elenco dei vari help standard verrà passato direttamente al binario principale dell'applicazione (in questo caso 'amule')
Per evitare errori inaspettati è sempre meglio passare i parametri tra virgolette "" in questo modo anche errori di parsing del codice possono essere raggirati.
E' mia intenzione fare in modo che l'utilizzatore abbia carta bianca nel passare parametri arbitrari ai multipli binari eseguibili presenti nell'eventuale applicazione ospite (ad esempio aMule ha due binari uno è 'amule' l'altro è 'ed2k'), penso ad applicazioni del calibro di KOffice dove la cartella degli eseguibili presenta tutti i binari di applicazioni variegate come KWord KChart i quali meritano un eventuale trattamento dedicato.

Ho cambiato il tema per le applicazioni GTK vestendo ora Murrine che fortunatamente è anche standard in Ubuntu 8.04. La versione del tema è la compact che riduce lo spreco dello spazio del monitor cosi da massimizzare l'usabilità nei sistemi UMPC tipo eeePC con schermo max 10 pollici a 1024x768.

Dal punto di vista dello sviluppatore ora lo SpatialBuilder 0.9.9 capisce se si sta lavorando in un terminale/screen o dal desktop e si comporta di conseguenza per il feedback.
Nel secondo caso fornisce il feedback da una console xterm che verrà automaticamente chiusa al termine del build.Dopo questa fase viene eseguito il file manager del sistema host per puntare al pacchetto costruito.E' in grado di manovrare GNOME Nautilus, KDE Konqueror, KDE Dolphin, ROX Filer, XFCE Thunar, nel caso usa come fault-back una session xterm puntata alla cartella di build dalla quale è possibile operare il test o le classiche manipolazioni sui file.
Essendo il build basato su servo-terminale è possibile costruirci intorno sistemi automatizzati per build multipli.

Arrivare alla 1.0 significa fornire agli sviluppatori, manutentori, packagers uno strumento integrato semplice che permette, basandosi su elementari poche regole, di costruire uno SpatialBundle da poter distribuire a tutti liberando l'utilizzatore finale dall'egemonia centralista dei package manager catalog based di qualsiasi titolo (esempio: apt,rpm,yum.PackageKit,pkgsrc, etc. etc.).
Con gli SpatialBundle finalmente il catalogo sarà solo un servizio a valore aggiunto e non una necessità intrinseca alla struttura come lo è oggi (usare i deb al di fuori della gestione di apt è da folli).
SpatialBundle si vuol inserire senza sostituire ma integrandosi nell'ecosistema della distribuzione del software e più in generale di dati a qualsiasi titolo (anche fosse un semplice film).
In futuro sarà possibile ad esempio distribuire un film incorporato in uno SpatialBundle con un player dedicato e fare in modo ad esempio che sia visualizzabile anche su macchine che non possono avere installato un player per motivi di licenza o altro.
L'utilizzatore in questo caso si limita a ricevere il file e cliccarci sopra ed il film viene eseguito in visione.
Sono le 4.50 direi che posso andare a sdraiarmi che alle 6.45 mi devo preparare per andare al lavoro...
Chiudo la sessione "Macinacodice" aperta giovedi sera...
per ora è tutto a presto :)
Luca Cappelletti
http://developer.infodomestic.com
luca dot cappelletti at gmail dot com (Mail, GTalk e MSN)
luca dot cappelletti (Skype quando mi ricordo di accenderlo)

Etichette

Latest Releases

Starred items

Flash On The Air

Subscribe to Mailinglist

Panel

.

HCCard OpenID ClaimID

Contact Infodomestic | Terms of Use | Privacy Policy

Copyright © 1994-2011 Infodomestic.com All rights reserved.