lunes, 25 de febrero de 2013

LAUNCHPAD


Definición:
Launchpad es un sitio web de encuentro y colaboración al más alto nivel de especialistas en el desarrollo de distribuciones y aplicaciones, en particular de software libre. No hay una separación clara entre novatos y expertos, por lo que unos pueden aprender de los otros y viceversa.
En este sitio web los colaboradores de todo el mundo suben sus desarrollos y nuevos módulos. Para acceder al sitio puede diridirse a Launchpad.
Launchpad utiliza el servidor de aplicaciones web gratuito y de codigo abierto Zope.

Componentes:
  • Code: un sitio de alojamiento de código fuente que utiliza el sistema de control de versiones Bazaar.
  • Bugs: un sistema de seguimiento de errores para informar sobre bugs en diferentes distribuciones y productos.
  • Blueprints: un sistema de seguimiento para especificaciones y nuevas funcionalidades.
  • Translations: un sitio para traducir aplicaciones a múltiples idiomas.
  • Answers: un sitio de ayuda para la comunidad.
  • Soyuz: una herramienta para llevar una pequeña parte del mantenimiento de las distribuciones. Abarca el sistema de construcción, el mantenimiento de paquetes y la publicación de archivos.
Launchapad y Bazaar son las herramientas necesarias para colaborar con OpenERP.
Para poder colaborar en cualquier proyecto alojado en Launchpad tendremos que registrarnos en la web de Launchpad. Una vez tengas tu cuenta en launchpad puedes unirte al grupo openerp-community. No es necesario unirse a ningún grupo para descargarte el código, pero si para subir modificaciones.

Creando un repositorio distribuido en launchpad con bazaar

Registro:
Para usar este repositorio antes debemos registrarnos en launchpad desde aqui.

Creación de claves públicas y privadas:
Debemos crearnos una clave PGP ((Pretty Good Privacy; en español significa Privacidad Bastante Buena) y una clave ssh para poder subir los archivos a launchpad usando OpenPGP. 

Procedemos a crear primero la clave pública SSH:
ssh-keygen -t rsa
El anterior comando nos invitará a que le demos una ruta donde guardar las claves RSA, podemos pulsar la tecla ENTER para que las guarde por defecto en ~/.ssh/id_rsa.pub (donde el signo ~ se refiere a nuestro /home/usuario), o en su defecto escribir la ruta completa con el nombre que desee ~/.ssh/launchpad.pub si es que ya tiene una clave ssh creada anteriormente en su computador, luego debemos escribir una clave y repetirla.

Ahora vamos a crear nuestra clave privada GPG RSA:
gpg --gen-key
Se proporcionará un asistente interactivo, lo vamos rellenando.
Please select what kind of key you want:
(1) RSA and RSA (default)
(2) DSA and Elgamal
(3) DSA (sign only)
(4) RSA (sign only)
Your selection? 1
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048) 2048
Requested keysize is 2048 bits
Please specify how long the key should be valid.
0 = key does not expire
<n> = key expires in n days
<n>w = key expires in n weeks
<n>m = key expires in n months
<n>y = key expires in n years
Key is valid for? (0) 365
Key expires at lun 24 feb 2014 23:31:41 ECT
Is this correct? (y/N) y
En este ejemplo se ha elegido un tipo de cifrado RSA con una fortaleza de 2048 bits, lo cual genera una clave más extensa que la de 1024 bits por defecto. He elegido que la clave tenga una fecha de vencimiento hasta dentro de un año, por la razón que es una clave de ejempĺo para este tutorial, pero usted puede elegir que nunca expire.

Ingresar los datos personales requeridos, ingresar una contraseña para proteger la llave secreta y finalmente esperar que acabe el proceso de generación de nuestra clave GPG. La clave se almacena en ~/.gnupg/pubring.gpg

Ahora debemos exportar la clave para que launchpad sepa realmente que somos nosotros, para ello debemos exportarlo a el servidor hkp://keyserver.ubuntu.com ya que es lo que usa launchpad:
gpg --keyserver hkp://keyserver.ubuntu.com --send-keys GPGID

Donde GPGID es el identificador de nuestra clave GPG recien creada y que la podemos sacar con el comando:
gpg --fingerprint

Por ejemplo para la salida siguiente:
pub 2048R/5DD0537A 2012-07-08
Key fingerprint = A287 D78D 745F 8DE1 8626 A752 831D C3C6 5AD0 527A
uid Raul de Amaya (GNU/LINUX) <PEPITO@gmail.com>
sub 2048R/D336AADB 2012-07-08

Debemos exportar el GPGID 5DD0537A con el siguiente comando:
gpg --keyserver hkp://keyserver.ubuntu.com –send-keys 5DD0537A

Una vez creadas las claves ssh y GPG, debemos subirlas a https://launchpad.net/, la clave SSH la podemos añadir desde https://launchpad.net/people/+me/+editsshkeys y la KEY PGP desde https://launchpad.net/people/+me/+editpgpkeys.

Para obtener el contenido de las claves usamos nuestro editor preferido:
Clave ssh:
vim ~/.ssh/id_rsa.pub, copiar todo el contenido y pegarlo en el link arriba mencionado para su registro.
Con esto ya tiene su equipo preparado para subir modificaciones del código.

Clave GPG:
Tomar en cuenta el valor de Key fingerprint, ya que este es requerido en el link correspondiente al momento de registrarlo. Launchpad le enviará un correo el cual tiene que desencriptarlo, para lo cual hay que copiar el contenido del email (desde -----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.10 (GNU/Linux) hasta The Launchpad Team
) a un archivo y guardarlo en algún archivo.
Ejecutar el siguiente comando gpg --decrypt file.txt para lo cual le pedirá la contraseña que ingresó al inicio para proteger la llave secreta, del resultado obtenido dar clic en el link que se genera y aceptar la validación.

Repositorio distribuido Bazaar 
 
Instalamos bzr:
apt-get install bzr 
Ahora para finalizar creamos uno nuevo proyecto y lo subimos usando bzr:
mkdir MiProyecto
cd MiProyecto
bzr launchpad-login user
bzr init
bzr whoami "Your Name <name@example.com>"
bzr commit -m "Iniciando proyecto" --unchanged
bzr push lp:~user/+junk/MiProyecto
Le pedirá que digite la contraseña que ingresó al inicio para proteger la llave secreta.
Recuerda sustituir user es nuestro usuario en launchpad. Con esto ya tendrémos nuestra rama recién creada MiProyecto donde podemos editar y cambiar desde https://code.launchpad.net/people/+me.

Los usuarios que quieran recibir el código tendrán que usar el comando:
bzr branch lp:~user/+junk/MiProyecto

Si añadimos nuevos archivos en nuestro proyecto debemos ejecutar siempre lo siguiente:
cd MiProyecto
bzr add "Nombres de los archivos"
bzr commit -m "Un comentario de los cambios realizados"
bzr push lp:~user/+junk/MiProyecto
Así logramos que se registren los nuevos cambios en launchpad así como las nuevas revisiones.

Para descargarnos codigo del proyecto openerp escribimos el siguiente comando:
bzr branch lp:openerp-spain/6.1 openerp-spain61 

Autor,
Carlos Yumbillo
TRESCLOUD Cía. Ltda.

Mas información www.trescloud.com