No soy desarrollador de Ubuntu, con suerte puedo compilar mis aplicaciones (rara vez, ya que prefiero los binarios). Pero el tema de empaquetamiento siempre me ha resultado interesante.
¿Cuántas veces nos hemos encontrado con una aplicación que no está en los repositorios de Ubuntu y sólo disponemos del código fuente?
Siempre pienso lo útil que sería que pudiera transformarlo en un .deb
para instalarlo fácilmente. Ahí es donde entra los MOTU, personas que se encargan de mantener distintos paquetes de los repositorios Universe y Multiverse para que siempre dispongamos de sus últimas actualizaciones :).
Como me gusta aprender, estoy comenzando a leer sobre el empaquetamiento para Ubuntu y me estoy guiando por unos videos disponibles en Youtube. Hay 4 en inglés y sólo uno en español así que a medida que los vaya viendo voy a hacer una traducción libre y las iré posteando acá. Es bastante más fácil poder leer que adelantar y retroceder para leer los comandos.
La primera parte (Learning MOTU: Getting Started) está en español e inglés, así que puedo que esta primera parte no sea del todo útil. Bueno, basta de hablar y pongámonos manos a la obra…
Introducción
Primero hablaremos sobre el empaquetamiento, esto es el proceso de transformar el código fuente, sin importar el lenguage en el que esté escrito aplicando sólo una construcción y transformarlo en un paquete binario.
Lo primero que haremos será configurar nuestro entorno de desarrollo, para ello instalaremos algunos paquetes, crearemos nuestra llave GPG e instalaremos pbuilder, una herramienta para empaquetar.
Instalando paquetes
Instalaremos:
devscripts
build-essential
gnupg
pbuilder
dh-make
~$ sudo apt-get install debscripts build-essential gpg pbuilder dh_make fakeroot debhelper gnupg dh-make
Configurando entorno
Ahora configuraremos un par de variables que utilizaremos todo el tiempo, el nombre y dirección de correo. Para ello editaremos el fichero .bashrc
de tu directorio home con cualquier editor y al final agregamos:
export DEBFULLNAME="nombre" export DEBEMAIL="nombre@isp.com"
Guardado el archivo, cargamos el fichero para que acepte las variables:
~$ source .bashrc
La llave GPG
La idea de esto, es que podamos probar que es efectivamente nuestro trabajo y nadie lo ha alterado en el camino. Puedes leer un poco más aquí, pero en general basta con ejecutar el siguiente comando y aceptar las opciones por defecto:
~$ gpg --gen-key
Luego de preguntar por algunos datos como nombre, correo electrónico y password necesitará un poco de entropía, es decir, que tu equipo tenga actividad por lo que mientras termina configuraremos pbuilder
. Un dato importante, para que tu llave sirva (y puedas utilizarla en otras cosas más adelante) es necesario que guardes
Pbuilder
La idea de esta aplicación es que cuando le digamos que vamos a compilar el código fuente se encargará de utilizar un pequeño entorno que imitará los equipos e instalará las dependencias. Las dependencias son los paquetes que son necesarios para que el paquete en cuestión pueda ser construido exitosamente. Lo primero que haremos será decirle a pbuilder para que secciones de los repositorios de Ubuntu se utilizará (en resumen, todos). Para ello con cualquier editor de texto creamos un fichero llamado .pbuilderrc con el siguiente contenido:
COMPONENTS="main restricted universe multiverse"
… y lo guardamos en nuestra carpeta home
.
Ahora lo echamos a andar:
~$ sudo pbuilder create
Tomará un poco de tiempo y cuando termine estaremos listos para comenzar…
Aclaro nuevamente que no sólo estoy transcribiendo el tutorial original, no me manejo mucho en el tema y no soy para nada un MOTU.
Muy bien!, solo una aclaracion el paquete se llama “devscripts” no debscripts puede ser confuso por la extension de los paquetes pero se refiere a dev de developer :D
slds
Me gustaMe gusta
Corregido :). Fue un typo. ¡Gracias!
Me gustaMe gusta
Holap:
Lo que me gustaría saber para empezar es cómo “empaquetar” el famoso programa de Lenguaje C “Hola Mundo”… conoces algún tutorial?
Saludooos :P
Me gustaMe gusta
Este seria el comando correcto
$sudo apt-get install devscripts gnupg pbuilder dh-make fakeroot
Saludos Pablox
Me gustaMe gusta
cool, me interesa este tema, cuandoviene las siguientes instrucciones? :D
Me gustaMe gusta
He estado muy ocupado últimamente… espero poder hacerlo pronto!
Me gustaMe gusta