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".

Responder a