Wenas chavales, a ver si alguien que haya creado paquetes debian me puede echar un cable. Es mi primer paquete .deb que creo y ando un poco perdido
.
Vereis, el paquete simplemente debería de instalar (copiar) un script en la carpeta /usr/bin y luego añadir unas entradas a lo que sería el "registro" de linux, utilizando el comando gconftool-2.
Os cuento un poco por encima el motivo: tenemos una aplicación local llamada Access Grid para (entre otras cosas) multiconferencia, donde tu le dices una dirección de una Sala, se conecta a dicha dirección y te encuentras a la peña allí conectada.
Entonces, por otro lado, tenemos una página web y pretendemos poner varios enlaces sobre un conjunto de salas de reuniones que tenemos, con la intención de que al hacer click en ellas se ejecute automáticamente la aplicación y se conecte.
Sabía que una página web no puede (no debe) ejecutar aplicaciones en el cliente, así que decidí crearme un manejador de protocolo (como el ed2k, el del spotify, etc, en inglés es url-handler no sé si en español se dice así :S) llamado "agrid". Así, el usuario "daría permiso" a que se le ejecute la aplicación y, en nuestra página web, poniendo agrid:url-sala se consigue ejecutar la aplicación en el cliente.
En Windows no he tenido problemas, ya que he hecho algún que otro instalador y se ha añadido las entradas en el registro sin problemas, pero en Linux es la primera vez que hago un .deb y tengo problemas. Así por encima, he creado una carpeta "deb" y dentro tengo:
/deb/usr/bin/script.sh
/deb/DEBIAN/control
/deb/DEBIAN/postinst
Con la idea de que, por un lado, me copie el fichero a la carpeta /usr/bin y, por otro, me ejecute el script de post-instalación, que, lo que debería de hacer, es ejecutar las órdenes de gconftool-2 para añadir las entradas al registro.
El fichero me lo copia bien e incluso el instalador me dice que se ha hecho todo correctamente, sin embargo, el script postinst no hace lo que quiero. Este es su contenido:
#!/bin/bash
gconftool-2 --set --type=string /desktop/gnome/url-handlers/agrid/command '/usr/bin/agLauncher.sh %s'
gconftool-2 --set --type=boolean /desktop/gnome/url-handlers/agrid/enabled true
gconftool-2 --set --type=boolean /desktop/gnome/url-handlers/agrid/needs_terminal false
Sin embargo, después de ejecutar el .deb, me voy a gconf-editor y me encuentro únicamente la entrada /desktop/gnome/url-handlers/agrid/command '/usr/bin/agLauncher.sh %S' , además de que %S me aparece en mayúsculas.
Así que, está claro, que algo estoy haciendo mal en dicho script
, no sé si tiene una sintaxis especial o algo. Por eso os pido ayuda sobre ésto.
Gracias de todos modos por zamparos mi tocho xD.
saludos!