[Gfoss] GRASS GIS 6.4.2 released

Francesco P. Lovergine frankie a debian.org
Ven 24 Feb 2012 14:25:31 CET


On Fri, Feb 24, 2012 at 11:47:50AM +0100, Paolo Cavallini wrote:
> Il 24/02/2012 11:37, Sandro Santilli ha scritto:
> >Gia'.. qual'e' l'interfaccia di GRASS ?
> >E' possibile versionarla in qualche modo ?
> Non credo che questo aiuterebbe, nel caso specifico. I problemi
> sorti finora sono soprattutto:
> - cambiamenti nei nomi delle opzioni

Su quello ritengo che il team di GRASS possa fare una cosa molto semplice:
considerare la cmdline alla stregua di una libreria e stabile on best effort. 
E seguire quindi le stesso politiche che si usano nelle librerie per dichiarare una
versione e un support level. Introducendo peraltro una versione
di interfaccia 'alla libtool' a quel punto per la riga di comando, plain and clean.
(che non ha a che vedere con la versione del programma...)

Quando si aggiungono nuovi comandi o nuovi parametri (con default sensati) 
non ci sono problemi, l'interfaccia resta almeno compatibile. 
Se si cominciano a cambiare parametri per tipologia, cambiar nomi dei 
parametri o nomi dei comandi, è chiaro che il tutto va dichiarato
annunciando una nuova versione. Ovviamente se si cambia la versione
a gogo' per - diciamo - pigrizia mentale, il sistema non porta molto 
lontano. Ma se si ritiene che la riga di comando sia una API verso
il mondo (poveri scripters compresi...)  immagino che certe modifiche
sarebbero fatte assai meno 'allegramente', diciamo.

Facciamo un esempio: il comando r.ciccio da sempre usa come parametro
'map=<stringa>'. Un bel giorno si decide di uniformarlo all'andazzo
generale e 'map' diventa 'input'. Il vecchio nome viene rifiutato
come errore. Tipico caso di un approccio errato: l'approccio corretto
e' AGGIUNGERE in alternativa a 'map' il parametro 'input'. 
Il primo approccio puo' anche andare bene, ma se si cambiano TUTTI 
i comandi all'unisono e si incrementa la versione in modo non compatibile 
(nello specifico CURRENT++ REVISION=0 AGE=0, per chi parla libtool ;-))
annunciandolo al mondo.

Tutto ciò sarebbe sotto completa responsabilità/decisione del 
team di GRASS. E' chiaro che se poi viene annunciato nel 
changelog cosa viene aggiunto o modificato a livello 
di command line sarebbe anche più carino, ma mi rendo 
conto che è più laborioso.

-- 
Francesco P. Lovergine


Maggiori informazioni sulla lista Gfoss