Statistics
| Revision:

svn-gvsig-desktop / tags / extI18n-0.1.0-1045_8 / install / instalador-gvSIG-mac / HOWTO-UPDATER,EXTS.txt @ 43249

History | View | Annotate | Download (4.53 KB)

1 12501 mija
2 16940 mijail
TENGO QUE GENERAR UN INSTALADOR DE UNA EXTENSI?N PARA GVSIG-MAC. COMO LO HAGO?
3
No hay un build.xml para ello, ya que no tendria sentido (el proceso es corto y habria que hacer cosas a mano de todas formas).
4
1.- Preparar los ficheros en su arbol de directorios, siendo el directorio de andami.jar el "raiz".
5
Por ejemplo, supongamos una extensi?n que vaya a proveer estos ficheros a un gvSIG ya instalado:
6 19279 mijail
gvSIGbin/andami.jar
7
gvSIGbin/gvSIG/extensiones/nuevoFichero1
8
gvSIGbin/NuevoDirectorio1/nuevoFichero2
9
NativeLibs/nuevalib
10 16940 mijail
2.- Hacer una copia de actualizador.app con un nuevo nombre (p. ej., "instalador de extension piloto de redes.app")
11
3.- Asegurarse de que tras la copia, los ficheros en <nuevo nombre>.app/Contents/MacOS/ tienen permisos de ejecuci?n. Una copia normal hecha con Ant suele perderlos!
12 19279 mijail
4.- Copiar el arbol de directorios del paso 1 a <nuevo nombre>.app/Contents/Resources/updates/<gvSIGbin|NativeLibs>. Solo funcionar?n esos 2 directorios.
13 16940 mijail
5.- Revisar <nuevo nombre>.app/Contents/Resources/configfile para asegurarse de que las opciones configurables
14
son correctas. Contiene ejemplos.
15
6.- Opcional: se puede a?adir un fichero Info.plist en <nuevo nombre>.app/Contents/Resources/updates/ si se quiere
16
substituir el original del gvSIG instalado (para cambiar paths, par?ms de arranque de la JVM, etc)
17
7.- Comprimir <nuevo nombre>.app en un ZIP y distribuir.
18 12501 mija
19 16940 mijail
-------------------------------------------------------------------
20
EXPLICACIONES:
21 12501 mija
22
ACTUALIZACIONES, INSTALACIONES PARCIALES:
23
(y en general, para meter ficheros en un gvSIG ya instalado)
24
Para eso est? "actualizador.app". Es un bundle-aplicacion creado con AppleScript. Su prop?sito es copiar el contenido de uno de sus directorios internos al lugar adecuado de un bundle gvSIG.
25
Hay que poner en actualizador.app/Contents/Resources/updates/gvSIGbin/ el ?rbol de directorios de la actualizaci?n a instalar. Esos ficheros y directorios substituir?n a los que se encuentren en el gvSIG instalado, bas?ndose en la correspondencia entre el directorio mencionado y el directorio base del gvSIG ya existente en el mac del usuario (es decir, el directorio que contiene andami.jar; concretamente ser?a gvSIG.app/Contents/Resources/Java/).
26 19279 mijail
Por ejemplo: si ponemos en actualizador.app/Contents/Resources/updates/ los siguientes ficheros:
27
gvSIGbin/andami.jar
28
gvSIGbin/gvSIG/extensiones/nuevoFichero1
29
gvSIGbin/NuevoDirectorio1/nuevoFichero2
30
NativeLibs/nuevalib
31 12501 mija
32 19279 mijail
Al usar ese actualizador, el gvSIG actualizado habr? recibido el andami.jar nuevo, habr? a?adido nuevoFichero1 a gvSIG/extensiones/, habr? creado en el nivel de andami.jar el directorio NuevoDirectorio1 con nuevoFichero2 dentro, y habr? a?adido en el directorio de NativeLibs la nueva librer?a.
33
Ojo: s?lo se usar?n esos dos directorios: ..../updates/gvSIGbin y .../updates/NativeLibs
34 12501 mija
35
El fichero actualizador.app/Contents/Resources/configfile permite configurar algunas cosas del actualizador:
36 16940 mijail
--nombre que se pondr? a los bundles actualizados (opcional; se aplica al bundle autoinstalador y/o bundle sencillo de gvSIG);
37 19028 mijail
--numero de version del bundle que se pide al usuario (opcional; solo se usa como cadena que se mostrar? junto a un mensaje localizado del estilo de "Por favor, seleccione gvSIG versi?n...");
38 12501 mija
--MD5 de andami.jar de el/los gvSIG actualizables (opcional; permite limitar la instalaci?n a una versi?n definida de gvSIG)
39 16940 mijail
--sufijo a agregar al nombre de los bundles actualizados (opcional; util para que un "gvSIG" pase a llamarse "gvSIG SEXTANTE", p. ej.)
40 19028 mijail
--lista de ficheros a borrar
41 12501 mija
Hay ejemplos y comentarios dentro del propio fichero configfile.
42
43
Si el actualizador encuentra un fichero actualizador.app/Contents/Resources/updates/Info.plist, lo pondr? en el lugar adecuado del bundle del gvSIG actualizado. Ser? ?til por ejemplo para cambiar el classpath de un nuevo gvSIG, su nombre tal como lo usa OS X, la versi?n de Java requerida, etc.
44
45 16940 mijail
El actualizador copia los ficheros a su destino sobreescribiendo lo que encuentre. Los directorios son creados si no existen en destino; si existen, los ficheros que contiene son a?adidos. Es decir, un directorio existente con 10 ficheros no ser? machacado por un directorio con un s?lo fichero, sino que ser? a?adido. (este es el comportamiento intuitivamente esperable de un actualizador)
46 12501 mija
47 19279 mijail
La opci?n de borrar acepta rutas relativas (que son relativas al directorio Resources del bundle interior). Es decir, las siguientes rutas son correctas: "Java/andami.jar" y "NativeLibs/libjgdal.jnilib".
48
Tambi?n acepta rutas absolutas, pero no deber?an usarse generalmente (ya que ni sabemos en qu? parte del filesystem puede estar el bundle de gvSIG).