Primero le doy las gracias a los colegas que han publicado el método de actualización que consiste en crear un repositorio.
Ahora bien, en mi caso no logre hacerlo andar, y por eso he desarrollado un método mas simple y que es muy eficaz. Lo explico:
Herramientas necesarias:
1- tener un espacio en un servidor como por ejemplo GODADDY, (es el que uso)
2- tener instalado Filezilla
3- tener instalado Gdebi con GTK. Si lo instalas con KDE debes cambiar la sintaxis a llamarlo
4- tener instalado ftp. (FTP clients collection)
5- tener en tu directorio personal (o sea, /home/usuario) los siguientes archivos:
- versionlocal.txt
- versionftp.txt
- descarga_versionftp.sh
- descarga_software.sh
6- el gestor de actualizaciones hecho en gambas.
En que consiste:
Esta solución consiste en almacenar tu software en un servidor de Internet para que los usuarios de tu software actualicen fácilmente a la versión mas resiente.
Detalles del proceso:
1- el gestor de actualizaciones hecho en gambas2 descarga desde el servidor el fichero llamado versionftp.txt mediante la ejecución del script descarga_versionftp.sh
2- el gestor de actualizaciones hecho en gambas2 lee el fichero versionlocal.txt y el fichero versionftp.txt ya descargado. Se realiza una comparación de su contenido. Estos contienen nombres de versiones de tu software, los cuales lo obtuviste desde el generador de paquetes de gambas.
3- si el resultado de la lectura da como resultado que los nombres son iguales el proceso se cancela informado al usuario que la versión en FTP es igual a la local.
4- si de lo contrario las versiones son diferentes se procede a ejecutar el script descarga_software.sh
5- al concluir la descarga (la cual pronostique en 3 minutos según el tamaño de mi software y la velocidad de conexión de mis clientes) el gestor de actualizaciones hecho en gambas2 ejecuta Gdebi con el paquete de software nuevo para realizar la actualización.
Nota: Gdebi machaca la versión del software anterior e instala la versión nueva.
Implantar la solución:
0- carga en tu servidor FTP (usando FILEZILLA u otro software a fines) los archivos versionftp.txt y el paquete .DEB generado en gambas. El archivo versionftp.txt debe contener el nombre del archivo Debian (tu software) con todo y su extencion .deb. En este ejemplo se ha creado un directorio llamado mysoftware/comerciales.
1- agrega los archivos del punto 5 a tu directorio personal local
2- edita el archivo versionlocal.txt con un nombre de una versión diferente al contenido en el servidor FTP
3- debes editar los archivos descarga_versionftp.sh y descarga_software.sh
a) descarga_versionftp.sh
1 #!/bin/bash
2 ftp -inv 192.xxx.xxx.xxx<<FINFTP
3 user usuariftp passwordusuarioftp
4 binary
5 lcd /home/$USER
6 cd /mysoftware/comerciales
7 get versionftp.txt
8 bye
9 FINFTP
Cambios a aplicar
LINEA 2: agrega la dirección IP de tu servidor
LINEA 3: el comando user debe permanecer. Escribe el nombre de usuario ftp, luego un espacio y finalmente la contraseña del usuario FTP.
b) descarga_software.sh
1 #!/bin/bash
2 ftp -inv 192.xxx.xxx.xxx<<FINFTP
3 user usuariftp passwordusuarioftp
4 binary
5 lcd /home/$USER
6 cd /mysoftware/comerciales
7 mget *.deb
8 bye
9 FINFTP
4- Realiza los mismos cambios en el segundo script.
Ejecución:
Ejecute el gestor de actualizaciones hecho en gambas2 y espere que se abra Gdebi para proceder con la instalación de su nueva versión de software.
Conclusiones
1- los archivos de actualización deberían estar dentro de una carpeta oculta, esto implicaría modificar la dirección en los script .sh y en el código fuente del gestor hecho en gambas2.
2- siempre se espera que se realicen múltiples actualizaciones por lo cual seria bueno que se agregara al script la función de eliminar las versiones anteriores del software.
3- en mi caso mis programas contabilidad y finanzas usan bases de datos en mysql, y si en alguna versión nueva agrego una tabla, campo o un indice, etc. este actualizador no me ayudaría lo suficiente. Hay que agregar la función de actualizaciones a DB.
4- La seguridad del repositorio no es superior a la que ofrece la solución que incluye la generación de llaves publicas, pero si es buena o excelente según el servidor que elijas, si usa SSL, la estructura de tu contraseña, etc.
5- Los usuarios de Fedora y derivados deben cambiar .deb por .rpm, y usar otro gestor de paquetes en lugar de Gdebi.
Espero les sea de ayuda. Gracias.
actualizador_soft_gambas.zip | ||
Descripción: | fuente del proyecto y archivos necesarios para la instalación. | Descargar |
Nombre del archivo: | actualizador_soft_gambas.zip | |
Tamaño: | 71.54 KB | |
Descargado: | 37 veces |
actualizador_soft_gambas.zip | ||
Descripción: | fuente del proyecto y archivos necesarios para la instalación. | Descargar |
Nombre del archivo: | actualizador_soft_gambas.zip | |
Tamaño: | 71.54 KB | |
Descargado: | 37 veces |
actualizador_soft_gambas.zip | ||
Descripción: | fuente del proyecto y archivos necesarios para la instalación. | Descargar |
Nombre del archivo: | actualizador_soft_gambas.zip | |
Tamaño: | 71.54 KB | |
Descargado: | 37 veces |