Changes between Version 1 and Version 2 of recompilar_reconstruir_paquetes_deb_desde_codigos_fuente
- Timestamp:
- Aug 25, 2016, 5:37:06 PM (8 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
recompilar_reconstruir_paquetes_deb_desde_codigos_fuente
v1 v2 1 Recompilar o Reconstruir paquetes Debian (.deb) desde los códigos fuente. 1 == Recompilar o Reconstruir paquetes Debian (.deb) desde los códigos fuente == 2 2 3 3 Es común en el mundo del software libre estudiar el código fuente o corregir código erróneo. Para lograr esto, se necesita descargar el código fuente del programa. 4 4 5 Para este ejemplo trabajaremos con las fuentes de Meld(Es una herramienta que permite al usuario ver los cambios entre, y fusionar, dos archivos, dos directorios, o dos archivos con un ancestro común.)5 Para este ejemplo trabajaremos con las fuentes de {{{Meld}}} (Es una herramienta que permite al usuario ver los cambios entre, y fusionar, dos archivos, dos directorios, o dos archivos con un ancestro común.) 6 6 7 7 Primero creamos un directorio y entramos en el, allí trabajaremos y haremos las pruebas: 8 8 9 {{{ 9 10 $ mkdir tmp && cd tmp 11 }}} 10 12 11 Luego, descargamos las fuentes del paquete Meld. Con las fuentes podemos hacer modificaciones, compilar e instalar el programa y construir o reconstruir un paquete original o con modificaciones.13 Luego, descargamos las fuentes del paquete {{{Meld}}}. Con las fuentes podemos hacer modificaciones, compilar e instalar el programa y construir o reconstruir un paquete original o con modificaciones. 12 14 15 {{{ 13 16 tmp$ apt-get source meld 17 }}} 14 18 15 19 Eso nos descargará los siguientes directorios y ficheros: 16 20 21 {{{ 17 22 meld-3.12.1/ 18 23 meld_3.12.1-2.debian.tar.xz 19 24 meld_3.12.1-2.dsc 20 25 meld_3.12.1.orig.tar.xz 26 }}} 21 27 22 Un paquete fuente generalmente consiste de tres archivos: .dsc, .orig.tar.gz y .debian.tar.gz (o .diff.gz). Ellos permiten la creación de paquetes binarios .deb, partir de los archivos de código fuente del programa, escritos en un lenguaje de programación.28 Un paquete fuente generalmente consiste de tres archivos: {{{.dsc}}}, {{{.orig.tar.gz}}} y {{{.debian.tar.gz}}} (o {{{.diff.gz}}}). Ellos permiten la creación de paquetes binarios {{{.deb}}}, partir de los archivos de código fuente del programa, escritos en un lenguaje de programación. 23 29 24 El fichero .dsc (Debian Source Control) en español: Control de Fuente Debian, es un archivo de texto corto que contiene una cabecera RFC 2822 que describe el paquete fuente e indica qué otros archivos forman parte del mismo, similar a la del fichero control que esta en el directorio raiz en la carpeta debian.30 El fichero {{{.dsc}}} (Debian Source Control) en español: Control de Fuente Debian, es un archivo de texto corto que contiene una cabecera RFC 2822 que describe el paquete fuente e indica qué otros archivos forman parte del mismo, similar a la del fichero {{{control}}} que esta en el directorio raiz en la carpeta {{{debian}}}. 25 31 26 El fichero .dsc es utilizado por dbpkg-source para descomprimir el paquete en el directorio raiz, como descargamos las fuentes con apt-get se nos crea el directorio raíz por defecto, es este caso meld-3.12.1/.32 El fichero {{{.dsc}}} es utilizado por {{{dbpkg-source}}} para descomprimir el paquete en el directorio raiz, como descargamos las fuentes con {{{apt-get}}} se nos crea el directorio raíz por defecto, es este caso {{{meld-3.12.1/}}} 27 33 28 ¿Que es dpkg-source?34 '''¿Que es dpkg-source? 29 35 Es una herramienta de manipulación de paquetes fuente de Debian, empaqueta y desempaqueta los archivos fuente. 30 36 31 Con cada paquete descargado existe un directorio debian/ que contiene los archivos necesarios para crear un paquete .deb, en este caso ese directorio esta dentro de la carpeta meld-3.12.1/que es el directorio raíz de las fuentes.37 Con cada paquete descargado existe un directorio {{{debian/}}} que contiene los archivos necesarios para crear un paquete {{{.deb}}}, en este caso, ese directorio esta dentro de la carpeta {{{meld-3.12.1/}}} que es el directorio raíz de las fuentes. 32 38 33 39 Entramos en el directorio raíz de las fuentes: 34 40 41 {{{ 35 42 temp$ cd meld-3.12.1/ 43 }}} 36 44 37 Ahora ejecutamos el comando que construirá nuestro .deb en el directorio tmp/45 Ahora ejecutamos el comando que construirá nuestro {{{.deb}}} en el directorio {{{tmp/}}} 38 46 47 {{{ 39 48 tmp/meld-3.12.1$ dpkg-buildpackage -rfakeroot 49 }}} 40 50 41 ¿Que es dpkg-buildpackage? Es un programa que automatiza el proceso de construcción de un paquete Debian. 51 '''¿Que es dpkg-buildpackage? 52 Es un programa que automatiza el proceso de construcción de un paquete Debian. 42 53 43 ¿Y fakeroot? Proporciona un entorno de raíz temporal, elimina la necesidad de convertirse en root para la construcción del paquete. 54 '''¿Y fakeroot? 55 Proporciona un entorno de raíz temporal, elimina la necesidad de convertirse en root para la construcción del paquete. 44 56 45 Al final, dentro de nuestro directorio tmp/ tendremos nuestro .deb construido57 Al final, dentro de nuestro directorio {{{tmp/}}} tendremos nuestro {{{.deb}}} construido. 46 58 59 {{{ 47 60 tmp/ 48 61 meld_3.12.1-2_all.deb 62 }}}