Gente,
Aqui les paso un HOWTO que me habian enviado sobre como se hace para crear
paquetes DEBs a partir de lso archivos que uno baja de la seccion "source"
de Debian. Usos de este procedimiento:
1.- Si tienen una maquina en Slink, pero quieren utilizar un paquete que
esta en potato sin cambiar la version de Debian, podrian compilarlo para
Slink. [Esto porque las versiones de libc6 y otros paquetes importantes
cambiaron entre Debian 2.1 y 2.2.]
2.- Si quieren usar en Debian-Sparc o en alguna de las otras arquitecturas
un paquete que se encuentra en Debian-i386, deben compilarlo para esa
arquitectura.
La posibilidad de hacer estas cosas facilmente demuestra la robustez y
eficiencia del sistema de administracion de paquetes de Debian.
----- Forwarded message from Alexis Maldonado <[EMAIL PROTECTED]> -----
Date: Wed, 4 Aug 1999 20:18:06 -0600
From: Alexis Maldonado <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Subject: [[EMAIL PROTECTED]: deb-src-howto]
X-Mailer: Mutt 0.95.3i
Organization: Disenos y Montajes S.A., San Jose, Costa Rica
X-UIDL: 630ab53bfbc46cb022dfbd385af30f62
----- Forwarded message from Ricardo Villalba <[EMAIL PROTECTED]> -----
From: "Ricardo Villalba" <[EMAIL PROTECTED]>
To: "Lista Debian" <[EMAIL PROTECTED]>
Subject: deb-src-howto
Date: Tue, 3 Aug 1999 20:32:53 +0200
X-Mailing-List: <[EMAIL PROTECTED]> archive/latest/7981
Aqu� va otro howto. Antes de nada aclarar� que lo pongo aqu� simplemente
como preview, por si alguien quiere realizar alguna aclaraci�n, y porque no
ocupa mucho (por supuesto no me atrever�a a enviar un texto de 70 Kb ni
nada parecido).
Si creeis que es interesante, no os preocupeis que ya lo enviar� a insflug o
donde sea necesario.
El siguiente documento va sobre como crear paquetes deb a partir de las
fuentes de debian. S� que se ha hablado recientemente de este tema en
es.comp.os.linux.misc, simplemente hago una recopilaci�n y quiz�s doy unos
detalles m�s.
Como compilar fuentes preparadas para Debian
Ricardo Villalba, rvm @ linuxfan.com
3 de agosto de 1999
En este documento va sobre c�mo crear paquetes deb a partir de las
fuentes de los ftps de debian.
______________________________________________________________________
�ndice general
1. Introducci�n
2. Dependencias
3. Un consejillo antes de empezar
4. Bajando las fuentes
5. Descomprimir las fuentes
6. Compilando
7. Posibles problemas
7.1 Un ejemplo
7.2 M�s all�
8. Coming up next
______________________________________________________________________
1. Introducci�n
Muchos de nosotros nos habremos dado cuenta que la mayor�a de los
paquetes de la debian potato dependen de la nueva librer�a glib2.1.
Si no queremos actualizar todav�a a dicha librer�a no nos quedar� m�s
remedio que compilar aquellos paquetes de potato que queramos usar en
Slink (o Hamm).
Afortunadamente la creaci�n de paquetes deb a partir de las fuentes no
es una tarea muy complicada.
Antes de continuar debo decir que mi �nica experiencia en este tema ha
sido con los paquetes apt y leafnode. Puede que otros paquetes den m�s
problemas.
2. Dependencias
En los ftps de debian hay una serie de ficheros Packages.gz, en cada
directorio main, contrib, non-free, etc. hay uno. Estos paquetes creo
que los utiliza el instalador apt para conocer las dependencias, pero
ya que son simples ficheros de texto los podemos bajar ya sea
simplemente para consultar qu� paquetes nuevos hay, o si pensamos
actualizar un programa saber qu� dependencias tiene, y cuantos
paquetes tendremos qu� descargar o si por otra parte nos compensa m�s
bajarnos el c�digo fuente.
3. Un consejillo antes de empezar
Parece ser que para compilar algunos paquetes es necesario tener
instalado el debhelper >= 2.0. En el momento de escribir esto en
potato est� la versi�n 2.0.20 y se puede instalar directamente en la
Slink sin necesidad de compilarlo (tampoco depende de ning�n otro
paquete de potato), as� que aconsejo que te lo bajes y lo instales.
4. Bajando las fuentes
Las fuentes de los paquetes para debian suelen ocupar 3 ficheros:
paquete.orig.tar.gz
Es el paquete original sin haber sufrido ninguna modificaci�n
por parte de los mantenedores de debian.
paquete.diff.gz
Contiene las modificaciones realizadas por los mantenedores de
debian.
paquete.dsc
Parece que es un fichero de control que adem�s est� firmado con
PGP.
As� si queremos compilar el leafnode nos bajaremos estos tres
ficheros:
� leafnode_1.9.4.orig.tar.gz
� leafnode_1.9.4-4.diff.gz
� leafnode_1.9.4-4.dsc
Nota: algunos paquetes expresamente creados para la debian no tienen
el fichero *.diff.gz, as� por ejemplo el paquete apt lo forman los
ficheros apt_0.3.11.tar.gz y apt_0.3.11.dsc.
5. Descomprimir las fuentes
Para descomprimir las fuentes teclearemos la orden dpkg-source -x
paquete.dsc, por ejemplo:
dpkg-source -x leafnode_1.9.4-4.dsc
En este ejemplo las fuentes se habr�n extraidos en el directorio
leafnode-1.9.4.
6. Compilando
Algunas etapas de la creaci�n del paquete requieren que se realicen
como root. Si no quieres hacerlo como root te recomiendo que instales
el paquete fakeroot (no es necesario configurar nada).
Para compilar el paquete lo primero que hemos de hacer es situarnos en
el directorio donde se han descomprimido las fuentes.
Que yo sepa hay tres comandos que permiten compilar y crear el paquete
deb listo para instalar (tendr�s que elegir uno, yo recomiendo el
primero):
debian/rules binary
Al ejecutar este comando se compilar�n las fuentes y acto
seguido se generar� el paquete deb en el directorio padre. Si
no quieres hacerlo como root, puedes invocarlo as�:
fakeroot debian/rules binary
build
(Nota: este comando no lo he probado.) Seg�n el manual si se
invoca sin par�metros equivale a dpkg-buildpackage. Si se le
a�ade el par�metro binary entonces ser�a equivalente a
debian/rules binary. Para poder ejecutarlo sin necesidad de ser
root podr�as hacerlo as� (repito que no lo he probado):
fakeroot build binary
dpkg-buildpackage
Resumiendo, al ejecutar este comando se realizan estos cuatro
pasos:
� make clean. Borra cualquier resto de una posible compilaci�n
anterior (ficheros *.o, ejecutables, etc).
� Empaqueta las fuentes. En el directorio padre se crean los
ficheros *.orig.tar.gz, *.diff.gz y *.dsc
� Realiza la compilaci�n en s�.
� Empaqueta los binarios en un fichero *.deb.
Este comando est� bien para cuando estamos realizando una
modificando a un paquete o el programa en cuesti�n es nuestro,
pero no creo que sea la mejor opci�n para el caso que nos
interesa. De todos modos comentar� que una posible invocaci�n de
este comando podr�a ser as�:
dpkg-buildpackage -rfakeroot -us -uc
La opci�n -rfakeroot es para poder empaquetarlo como usuario
normal, y las opciones -us -uc son para no tener que firmarlo.
7. Posibles problemas
Por supuesto, durante la compilaci�n pueden surgir problemas. La mayor
parte de estos problemas son porque no tenemos instalado alg�n paquete
necesario.
�Y c�mo podemos saber qu� paquete(s) tenemos que instalar? Es
importante conocer la lista de dependencias antes de empezar a
compilar, ya que nos puede ser de mucha ayuda para saber los paquetes
que hemos de instalar.
Por ejemplo, si un programa depende de la librer�a xpm4g, pues
l�gicamente tendremos que instalar el paquete xpm4g pero tambi�n el
xpm4g-dev.
Por norma general, se puede decir que si un programa depende de la
librer�a x para poder compilarlo deberemos instalar tambi�n el x-dev.
Para conocer las dependencias podemos echar mano del fichero
Packages.gz que he comentado previamente.
7.1. Un ejemplo
Como ejemplo, dir� como hice para compilar el paquete leafnode_1.9.4.
Este paquete depende de dos paquetes que ni siquiera existen en Slink:
logrotate y libpcre2.
Por tanto habr� que compilarlos e instalarlos primero, aunque se da la
circunstancia de que logrotate depende de otro paquete que tampoco
est� en Slink, el libpopt0, por tanto este es el que habr� que
compilar en primer lugar.
Si miramos la descripci�n de libopt0 en el Packages.gz veremos que las
fuentes de esta paquete est�n en un paquete llamado popt. De igual
modo las fuentes de libpcre2 est�n en pcre2.
Una vez compilado el paquete popt obtendremos los paquetes
libpopt0_1.3-4_i386.deb y libpopt-dev_1.3-4_i386.deb que instalaremos.
Ahora ya podemos compilar los paquetes logrotate y pcre2, e instalar
todos los paquetes que se generen, despu�s de lo cual por fin podremos
compilar el leafnode.
7.2. M�s all�
Como te habr�s dado cuenta, averiguar la lista de los paquetes que
hemos de bajar, el orden en el que hemos de compilarlos, etc. si bien
no es muy complicado s� que nos puede quitar bastante tiempo.
Pues bien, seg�n explicaba Benjam�n Albi�ana P�rez (que parece que de
esto sabe mucho, a ver si conseguimos que nos cuente todo lo que sabe)
en un reciente mensaje en es.comp.os.linux.misc nos dec�a que
simplemente tecleando la orden apt-get source paquete --compile el apt
nos bajar�a todos los paquetes necesarios y los compilar�a. Todav�a
no lo he probado, pero estoy deseando hacerlo.
Eso s�, el apt que se incluye en Slink no vale, hay que bajarse el apt
de potato y compilarlo, o m�s f�cil bajarte de mi web la versi�n
0.3.11 que compil� para Slink: http://members.xoom.com/rvmsoft/linux/.
8. Coming up next
Lo mismo pero para paquetes rpm.
(No os preocupeis que �ste no lo enviar� a la lista)
Ricardo Villalba
[EMAIL PROTECTED]
[EMAIL PROTECTED]
http://members.xoom.com/rvmsoft
http://rvmsoft.findhere.com
--
Unsubscribe? mail -s unsubscribe [EMAIL PROTECTED] <
/dev/null
----- End forwarded message -----
--
______________________________________________
DYMSA - Disenos y Montajes S.A.
Tel. +(506) 227-5616 Fax. +(506) 227-5257
e-mail: [EMAIL PROTECTED]
PO Box: Apdo 171-2010 Zapote
San Jose, Costa Rica
Address: 500 mts Sur de Rotonda de Zapote
Edificio DYMSA
San Jose, Costa Rica
Central America
______________________________________________
----- End forwarded message -----
--
*************************************
Juan Ignacio Del Valle Gamboa
[EMAIL PROTECTED]
http://www2.fing.ucr.ac.cr/~juanvale
*************************************
--
�Desea desuscribirse? Escriba a [EMAIL PROTECTED] con
el tema "unsubscribe".
Como crear DEBs a partir de las fuentes de Debian ...
Juan Ignacio Del Valle Gamboa Tue, 21 Mar 2000 03:42:11 -0800
