Llevaba días esperando la aparición de Plasma Active One porque la preview me había gustado bastante y por fin he podido probarla.
Después de ver de un modo general como funciona OBS intentaremos mostrar ahora el caso práctico de creación de RPMs para varias distribuciones.
Imaginemos que nuestra aplicación consta de un archivo binario y de un .desktop, es un caso sencillo ya que no contamos con archivos de traducción. Lo que tenemos que montar es un archivo de descripción .spec y un .tar.gz de nuestro código fuente.
Leer más: Creando binarios para linux con Open Suse Build Service. II Paquetes rpm
Hoy, dos años después, he vuelto a llenarme del rojo barro de La Calderona.
Ha sido un día de perros, la humedad de la niebla me empapaba poco a poco y se hacia más densa conforme ascendía hasta el punto de que, a unos cuatro km de la cima de Rebalsadores, empezaron a caer gotas de agua del centro exacto de la visera de mi casco, mientras por las mangas de mi chaqueta se deslizaba el agua hacia mis guantes convirtiéndolos en esponjas. El ambiente parecía el propio de la lluvia pero no caía nada.
Todo daba igual. No había nadie a la vista, sólo yo en medio de una pista de tierra rojiza por caminos que no recordaba siguiendo mi GPS. Niebla, niebla y cada vez más niebla. Nunca me había resultado tan inútil cargar con una cámara de fotos,no habría ocasión para utilizarla.
Cuando los usuarios tienen la razón
Hace unos días recibí un mail de un usuario de Kdropbox diciendo que el comportamiento de la aplicación al hacer clic sobre el icono de la bandeja de sistema no era el habitual en KDE. Según me contaba al hacer clic se abría la ventana por tanto al volver a hacerlo debería cerrarse.
Es curioso pero tantos años usando este escritorio y no me había fijado. Lo comprobé y es cierto que no todos los programas lo cumplen, pero aquellos que se distribuyen con KDE sí. Kdropbox abría (y la versión estable la abre aún en el momento de escribir esto) una ventana de un navegador de archivos (dolphin o konqueror) cada vez que se hacía clic en el icono, por lo que era una buena manera de lanzar rápidamente 377 navegadores de archivos, dependiendo de la velocidad de nuestra mano :D
En todo caso terminaba siendo una cuestión de usabilidad y el usuario tenía razón así que había que cambiarlo. Sin embargo había un problema bastante importante en todo esto: hacer un control de ese tipo en una ventana propia de la aplicación hubiera sido relativamente sencillo, pero ¿que pasa si lo que hemos lanzado es un proceso independiente? Bueno, una solución podría ser la primera que se me ocurrió: lanzar el proceso, guardarme el pid y matarlo con el segundo clic. Error, Dolphin no se lanza como instancia nueva si ya está corriendo, o sea que si ya hay una ventana de Dolphin abierta cuando hacemos clic en el icono no tendremos un pid independiente y lo que es peor, matar ese proceso terminaría con todas las ventanas del gestor de archivos que tuviera abiertas el usuario.
Hay que reconocerlo: crear archivos ditribuibles para Linux es un auténtico infierno. Además, como no, seremos víctimas de una nueva lucha de estándares rpm vs deb. Esto hace que sea bastante tentador distribuir simplemente el código fuente y desear suerte a los usuarios con la compilación, aunque de esta manera no llegaremos a los menos aventajados. También es cierto que distribuyendo el fuente no tardarán en aparecer voluntarios que crearán paquetes para determinadas distribuciones pero de esa manera perderemos el control de nuestro software. De modo que, si queremos enfrentarnos a este problema, parece que sólo hay unas pocas soluciones: o bien encontrar un software que nos cree un instalable independiente de la distribución o tratar de llegar a la máxima cantidad de usuarios creando rpms y debs para las mayores distribuciones. Este artículo se centrará en el segundo enfoque.
Leer más: Creando binarios para linux con Open Suse Build Service