Como crear un repositorio PPA para distribuir tus aplicaciones

Una de las grandes ventajas que nos ofrecen las distribuciones Linux, con independencia de cual sea, son los repositorios. En este artículo, te voy a explicar como crear un repositorio en Launchpad, para que puedas distribuir tus aplicaciones de forma segura entre los usuarios de las mismas.

Si no sabes lo que es un repositorio, indicarte que es un almacén de paquetes. Este repositorio, puede ser local o remoto. Lo mas interesante, son los repositorios remotos públicos. Es lo que viene a ser una tienda de aplicaciones en otros sistemas operativos. Por otro lado, un paquete es un conjunto de archivos que se instalarán en tu equipo.

Los paquetes, no tienen porque ser aplicaciones, pueden ser desde un tema, a un conjunto de iconos, o simplemente documentación. Un paquete no son nada mas que archivos.

¿Que nos aportan los repositorios? Seguridad. Si desarrollas una aplicación, por ejemplo, y la subes a un repositorio público, estará disponible para todo el mundo. Si en un momento determinado alguien informa de un error, lo corriges y lo subes al repositorio, esa actualización estará disponible para todos los usuarios de nuevo. Así, cuando un usuario actualice el sistema, le aparecerá esta actualización, de forma que podrá actualizar y solucionar el problema.

De igual forma, si por ejemplo, creas un paquete de iconos, lo puedes subir a un repositorio en Launchpad . De esta forma, cualquier usuario lo podrá instalar en su equipo. Ahora, si creas una nueva versión de los iconos, lo puedes subir al repositorio. Al subirlo al repositorio, esa actualización estará disponible para los usuarios. De esta manera, todos los usuarios tendrán las últimas versiones de tus paquetes de iconos, los temas, aplicaciones, etc. Pero además, todo esto tiene una seguridad intrínseca, puesto que solo tu puedes subir paquetes al repositorio.

Como crear un repositorio para distribuir tus aplicaciones. Logo.

Crear un repositorio en Launchpad

¿Que es eso de Launchpad?

Launchpad es un plataforma de software colaborativo, que proporciona a los desarrolladores, toda una serie de herramientas que facilitan el desarrollo de proyectos de software, incluida la opción de crear un repositorio. La implementación y producción de aplicaciones, temas, paquetes, etc.

Entre otras herramientas, esta plataforma nos proporciona las siguientes,

  • Seguimiento de errores. El sistema de seguimiento e informe de errores, es realmente sencillo, tanto para los desarrolladores como para los usarios.
  • Hospedaje de código al estilo de GitHub. Inicialmente, utilizaba bazaar como sistema de control de versiones, pero recientemente ha incorporado también git. Precisamente, fue ese momento en el que se mantuvo bazaar como control de versiones, el que me motivó a cambiar a GitHub. Aunque aprovechando que ahora admiten ambos sistemas estoy compartiendo ambos repositorios para aprovechar todas las ventajas que ofrece Launchpad.
  • Sistema de traducciones. Launchpad tiene implementado un sistema para ayudar en la traducción. Es realmente sencillo de utilizar, y facilita enormemente la traducción. Lo cierto es que es un sistema muy sencillo, incluso para realizar tus propias traducciones.
  • Además tienen un sistema de propuesta de ideas para los proyectos. De esta forma, cualquier usuario puede en cualquier momento hacer una aportación en modo de idea a un proyecto determinado. Imaginate el abanico de posibilidades que ofrece, tanto a desarrolladores como a usuarios. Esto en el caso, por ejemplo, de un proyecto de paquete de iconos, te puede llevar a que te propongan iconos para una determinada aplicación, o que crees un conjunto de iconos de otro color…, o lo que sea.
  • Igual que dispone de un sistema de propuestas, también tiene un sistema para resolver cuestiones relativas al proyecto en si. Así por ejemplo, en el caso de que sea una aplicación, puedes preguntar como funciona una determinada característica, o como hacer una determinada acción. De la misma manera, en el caso de que tu proyecto sea un conjunto de iconos, los usuarios pueden preguntarte sobre que significa un determinado icono.
  • Por último, otra de las características que nos ofrece Launchpad es el hospedaje de repositorios personales, es decir crear un repositorio. Es decir, repositorios que has creado tu mismo, para albergar uno o varios paquetes, para que los pueda utilizar cualquier otro usuario. Así, un usuario que quiera instalar ese paquete que tu has creado y tenerlo actualizado, tan solo tendrá que añadir el repositorio.

Crear un repositorio en Launchpad paso a paso

Voy a partir del caso de que no seas usuario de Launchpad, y te guiaré por los diferentes pasos a realizar hasta que hayas creado tu propio repositorio. Partiendo de crear tu usuario.

Ubuntu One

Inicialmente, Ubuntu One nació como un servicio de alojamiento en la nube. Se trataba de integrar el entorno de escritorio de la distribución Ubuntu con un servicio en la nube, de forma que puedieramos tenerlo todo sincronizado.

A mediados de 2.014 Canonical anunció que abandonaba este servicio de alojamiento.

Ahora Ubuntu One se ha convertido en un interesante sistema de autenticación, un sistema de cuenta única. Se trata de utilizar una única cuenta para acceder a diferentes servicios.

Casi con toda seguridad, que este sistema lo habrás realizado con otras cuentas como Google, Facebook o Twitter.

Crear una cuenta en Ubuntu One

Lo primero que tenemos que hacer es crear nuestra cuenta en Ubuntu One, para ello dirígete a la página de registro de Ubuntu One, facilita tus datos, y confirma esos datos una vez recibas el correo electrónico. También es interesante confirmar tu correo electrónico.

Como crear un repositorio para distribuir tus aplicaciones. Registro.

Completar tu cuenta de Launchpad

Una vez has creado tu cuenta de Ubuntu One, lo siguiente es completar la cuenta de Launchpad. Para eso tendrás que digirte a Launchpad y acceder, haciendo clic en Log in/Register, que se encuentra en la parte superior derecha de la página, utilizando para ello tu recién creada cuenta de Ubuntu One.

Una vez registrado en Launchpad haz clic sobre tu usuario, que de nuevo se encuentra en la parte superior derecha de la página. Una vez dentro de tu usuario, verás algo como lo que se encuentra en la siguiente captura de pantalla,

Como crear un repositorio para distribuir tus aplicaciones. Cuenta.

En esta pantalla podemos cambiar,

  • Los detalles de nuestro usuario haciendo clic en Change details. Esto nos permite modificar el nombre del usuario que se muestra en pantalla, el nick y nuestra imagen.
  • Los iconos que definen nuestro usuario, para lo que debemos hacer clic en Change branding.
  • La contraseña.

Pero sobre todo, lo mas importante y que utilizaremos posteriormente para subir nuestros paquetes a nuestros repositorios es crear las claves SSH.

Crear las claves SSH

Para crear, o mas bien, para subir las claves SSH debemos hacer clic en el botón + que hay próximo a SSH Keys. Una vez pulsado nos abrirá la siguiente página donde debes pegar el contenido de ~/.ssh/id_dsa.pub o ~/.ssh/id_rsa.pub, según tu lo tengas creado.

Como crear un repositorio para distribuir tus aplicaciones. SSH.¿No tienes clave SSH? Sin problema. Tan solo tienes que ejecutar la siguiente orden en un emulador de terminal,

ssh-keygen -t rsa

Tienes que introducir el nombre del archivo donde quieres que se cree, normalmente ~/.ssh/id_rsa, y el te indicará donde guarda la clave pública (tiene extensión .pub). Por ejemplo, yo lo he creado en launchpad y la clava pública está en launchpad.pub. Este último es el que pegaremos en las claves SSH.

Crear un repositorio

Ahora ya tenemos realizados todos los pasos necesarios para crear un repositorio, nuestro propio repositorio, y posteriormente subir paquetes al mismo.

Para crear el repositorio, pulsaremos el enlace que indica Create a new PPA que nos llevará a la siguiente página,

Como crear un repositorio para distribuir tus aplicaciones. PPA.

Aquí debemos rellenar,

  • La dirección url de nuestro repositorio
  • El nombre corto del repositorio
  • Una descripción corta del repositorio

Por ejemplo,

Como crear un repositorio para distribuir tus aplicaciones. PPA Ejemplo.

Una vez introducidos los datos, pulsamos el botón Activate y ya tenemos nuestro primer repositorio creado.

Como crear un repositorio para distribuir tus aplicaciones. PPA Creado.Conclusiones

Ya has visto lo sencillo que es crear un repositorio, tu propio repositorio, para distribuir tus propios paquetes, ya sean aplicaciones, temas, conjuntos de iconos, documentación, o lo que quieras o necesites.

En el siguiente artículo de esta serie te contaré como tienes que organizar los archivos, para poder subirlos fácilmente a tu repositorio…

5 comentarios en “Como crear un repositorio PPA para distribuir tus aplicaciones

  1. Buen artículo pero hay que tomarlo con pinzas. Varias razones: buena parte de la inestabilidad de los diferentes sistemas operativos reside justamente en la incrustación desaforada de repositorios de toda índole, aún cuando la paquetería ofrecida ya es encontrada en un repositorio OFICIAL de su respectivo desarrollador. Luego la gente se va lanza en ristre hacia la distribución a la que considerarían culpable de su inestabilidad.

    La posibilidad de darle autonomía a cualquiera para abrir un repositorio sin ser desarrollador o creador de aplicaciones es un peligro latente y justo ahora es un problema que salió de control. La gran mayoría de repositorios pertenecen a empaquetadores voluntarios que poco o nada tienen que ver con las aplicaciones ofrecidas.

    Esto va a levantar ampollas: el grave problema del repositorio AUR de ArchLinux por citar un ejemplo. Es común encontrar dos y tres versiones de un mismo paquete y la única forma que tiene un usuario común y silvestre para proceder a instalar es guiarse por la cantidad de votos y esto no es seguridad de nada. Muchos empaquetadores son anónimos y sin relación alguna con la aplicación oficial, son voluntarios que saben manejar la terminal y precompilan los PKGBUILD para que el usuario haga el resto con su respectivo Pacman a través de Yaourt. Si el paquete presenta problemas proceden al siguiente en votación. Muchos paquetes oficiales son «tuneados» al parecer caprichoso de su empaquetador y eso me deja una profunda desconfianza así se pueda verificar el código fuente.

    El más delicado problema que presenta Arch y sus derivadas es la inmensa e innecesaria capa de intermediarios empaquetadores entre el paquete oficial (su desarrollador) y el usuario final.

    Esto en mi humilde opinión es una irresponsabilidad. Es como si en la PlayStore o AppStore para el caso de los smartphones se encontraran dos y tres aplicaciones para un mismo Banco, una oficial y las demás de gente X ofreciendo entrar a hacer las mismas operaciones que la aplicación oficial. De seguro el Staff de abogados de ese banco demandaría a los clones por estafa intencional a sus tarjetahabientes y pedirían a los titulares de esos repositorios la dada de baja inmediata. En GNU/Linux esto no es tan así por tres motivos: uno, las aplicaciones son de genérica productividad en escritorio sin mayor importancia, dos, quien se atreva a publicar debe atenerse a las licencias de Software Libre y tres, no hay quien tenga pantalones y carácter para poner reglas claras y estrictas a estas parrandas desquiciadas que son los repositorios comunitarios.

    Son muchos los usuarios experimentados encontrados en las wikis internacionales de Arch, Manjaro o Antergos quejarse de esto mismo y tratan de no tirar ese repositorio AUR y más bien hacer el trabajo de compilar e instalar sus propios paquetes desde la fuente. Esto desde luego para cristiano de a pie es poco probable así unos digan que es pan caliente en panadería por la mañana.

    En Launchpad la cosa es peor, se pueden encontrar decenas de repositorios con diferentes versiones de un mismo paquete. Allá si que no hay control de nada. Me atrevo a decir que un tercio de repositorios reposados aquí están obsoletos y desactualizados por que no hay un motor de filtrado a aquellos con más de un año de inactividad. Todavía se puede ver en su página a Exaile (muy famoso reproductor de música) y a estos se les olvidó que dejó de soportar .deb hace más de dos años, y ni escribir de Gnome-Do (genial lanzador de aplicaciones) pero abandonado hace más de ocho años. Todos estos ofrecidos en su pagina principal.

    En lo personal sólo instalo paquetes oficiales de repositorios oficiales y si requiriera funcionalidades particulares de una aplicación o busco un paquete no encontrado pues busco el respectivo Launchpad oficial. Huyo de repositorios que parecen plazas de mercado. O instalo el .deb directamente de la página oficial de la aplicación, muchos instalan de una vez su propio repositorio que sólo alberga ese paquete en específico, como es el caso de Skype, Mega, Google Chrome entre otros.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *