Empaquetando en Ubuntu o como ser un MOTU. Parte 1: Comenzando

2008 Agosto 15

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.

6 Responses leave one →
  1. 2008 Agosto 16

    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

  2. 2008 Agosto 16

    Corregido :). Fue un typo. ¡Gracias!

  3. 2008 Agosto 18

    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

  4. 2008 Agosto 27
    David permalink

    Este seria el comando correcto

    $sudo apt-get install devscripts gnupg pbuilder dh-make fakeroot

    Saludos Pablox

  5. 2008 Octubre 5

    cool, me interesa este tema, cuandoviene las siguientes instrucciones? :D

  6. 2008 Octubre 6

    He estado muy ocupado últimamente… espero poder hacerlo pronto!

Leave a Reply

Note: You can use basic XHTML in your comments. Your email address will never be published.

Subscripción al comentario vía RSS

  • Categorías

  • Categoría Nube

    100 Palabras Apple Arch Bueno Malo Freak Conociendo Distros Firefox FLOSS Gnome GNU/Linux Humor Iconos Inspiron 1501 KDE Linux Microsoft Migrando Mi Ubuntu Noticias Nova openSUSE Personal Programación para Newbies Programacion Programas Review Temas Tutoriales Ubuntu Videojuegos Wallpapers
  • ¡Agrega GNU/Linux Atelier a tu lector favorito!

  • Comentarios recientes

    David en Cómo NO ponerse una mascarilla…
    Trece en VLC media player 1.0.0, el rep…
    » VLC media pl… en Lo que trae de Nuevo Gnome Do…
    » VLC media pl… en Firefox 3.5 en español de Chil…
    » VLC media pl… en NetBeans 6.7.
  • Sitios amigos…


    Mac a la chilena


    Planeta Linux Chile
    Este Blog es parte de Planeta Linux Chile.
    Linux Counter
    Use OpenDNS
  • Lo que no te puedes perder...

  • Lo que hemos escrito:

  • PaBLoX on da Web

    View my FriendFeed
    View my FriendFeed
  • Pablo N. Twitter

  • Licencia

    Creative Commons License

    GNU/Linux Atelier por Pablo Olmos de Aguilera Corradini está licenciado bajo una licencia Creative Commons Atribución-Compartir Obras Derivadas Igual 2.0 Chile.
    Esto significa que puedes modificar, realizar obras derivadas e incluso lucrar con el contenido de este blog, siempre y cuando, nos cites como los autores y la obra derivada tenga esta misma licencia.
  •  

    Agosto 2008
    L M X J V S D
    « Jul   Sep »
     123
    45678910
    11121314151617
    18192021222324
    25262728293031
  • Meta