[Jderobot-dev] Crear paquetes debian
Mikel Gonzalez Baile
m.gonzalezbai en gmail.com
Mie Nov 28 00:20:27 CET 2012
Hola Edu,
muchas gracias por ese recurso, ahora mismo muchas cosas no las entiendo
bien, pero conforme avance seguro que como gu�a de "pasos a seguir" me
viene genial.
Hasta ahora he conseguido crear peque�os paquetes, y crear un paquete de
jderobot-5.1 con todas las fuentes (componentes, librer�as, interfaces,
...) que se encuentran en el directorio "trunk/" del repositorio, claro,
partiendo de un PC que ya tiene instalado todas las dependencias necesarias
(gearbox, ice, etc, etc) previamente. Ahora me surge la duda sobre qu� m�s
debe contener un paquete, es decir, si yo a alguien le digo que se instale
todo lo necesario para que JDErobot funcione y le paso mi paquete generado
supongo que deber�a funcionarle.
Entonces, mi duda ser�a, qu� debe contener el paquete jderobot?, por
ejemplo, en la versi�n que hiciste, si mal no recuerdo el simulador Gazebo
se instalaba con el propio paquete. Otras dependencias, como son ICE,
gearbox, etc, etc. tambi�n debo incluirlas en el paquete? o esto deber�a
instalarlo el usuario a mano antes de instalar el paquete?
Un saludo y gracias!!!
Mikel.
2012/11/27 Eduardo Perdices <eperdices en gsyc.es>
> Hola,
>
> yo hice los paquetes de la 5.0 y tengo un archivo donde fui apuntando todo
> lo que hice, te copio todo lo que tengo:
>
>
> #Descargamos gearbox 9.11:
>
> http://sourceforge.net/projects/gearbox/files/gearbox/9.11/gearbox-9.11.tar.gz/download
>
>
>
> #Instalamos paquetes b�sicos:
> sudo aptitude install build-essential file patch perl python autoconf
> automake autotools-dev dh-make debhelper devscripts fakeroot gnupg gfortran
> gpc xutils-dev lintian pbuilder patchutils quilt git
>
>
>
> Configuramos .bashrc:
> #Debian
> DEBEMAIL=xxx en gsyc.es
> DEBFULLNAME="Nombre Apellido"
> export DEBEMAIL DEBFULLNAME
>
>
>
> #Copiamos el c�digo fuente en $HOME/paquete/paquete-version
> mkdir ~/gearbox
> cd ~/gearbox
> cp /../gearbox-9.11.tar.gz .
> tar -zxvf gearbox-9.11.tar.gz
>
>
>
> #Iniciamos creaci�n del paquete
> cd ~/gearbox/gearbox-9.11/
> dh_make -f ../gearbox-9.11.tar.gz #Seleccionamos single binary (s)
> #Con esto se crear� el directorio debian, si ya existiese antes ejecutar
> dh_make con la opci�n --addmissing
>
>
>
> #Archivos dentro de la carpeta debian
> #Control
> Modificamos Section (extra), Homepage, Description, y Build-depends si es
> necesario.
> Tambi�n escribimos dos veces lo de Package, ..., Description para tener un
> binario normal y un -dev
> Si queremos saber las dependencias de un binario probar con:
> objdump -p /usr/bin/nombre_paquete | grep NEEDED
>
> #Copyright
> Rellenamos los datos que falten (si queremos)
>
> #Changelog
> Para documentar los cambios realizados
>
> #Rules
> Script que sirve como Makefile, se puede dejar por defecto
> O copiar el creado por defecto cambiando el configure
>
> #Directorios
> Directorios que se necesitan y se van a crear en debian/tmp
> Necesitamos uno por cada paquete
> touch gearbox.dirs
> touch gearbox-dev.dirs
> Si se crea un �nico archivo 'dirs' s�lo se aplica al primer binario
>
> #Archivos install
> Archivos que hay que copiar al hacer el install, es como si delante de la
> instrucci�n hiciesemos un cp
> Uno para cada paquete
> touch gearbox.install
> touch gearbox-dev.install
>
> #Postrm y posinst
> Archivos que se ejecutan tras la instalaci�n y el borrado
> Usamos los de por defecto
> Renombramos los archivos postrm.ex y posinst.ex
> mv postrm.ex postrm
> mv postinst.ex postinst
>
>
>
> #Construcci�n del paquete
> cd ~/gearbox/gearbox-9.11/
> dpkg-buildpackage
> Esto crear� en ./.. los .deb y varios archivos m�s para recuperar las
> fuentes
>
>
>
>
> #Para recuperar todos el workspace a partir del paquete ya creado
> Necesitamos los archivos paquete.orig.tar.gz paquete.diff.gz y paquete.dsc
> Lo recuperamos ejecutando:
> dpkg-source -x gearbox_9.11-1.dsc
>
>
>
> #Creaci�n chroot
> sudo aptitude install debootstrap schroot
> #Creamos el archivo:
> sudo editor /etc/schroot/chroot.d/lucid-i386
> #Con el texto:
> [lucid-i386]
> description=Ubuntu 10.04 Lucid for i386
> directory=/srv/chroot/lucid-i386
> #personality=linux32
> root-users=robotica
> type=directory
> users=robotica
> #Descargamos sistema base
> sudo mkdir -p /srv/chroot/lucid-i386
> sudo debootstrap --variant=buildd --arch i386 lucid
> /srv/chroot/lucid-i386/ http://archive.ubuntu.com/ubuntu/
> #Comprobamos que ha funcionado
> schroot -l #deber�a aparecer lucid-i386
> sudo schroot -c lucid-i386 -u root
>
>
>
> #Para saber la versi�n de un paquete del que dependa
> aptitude show paquete
>
>
>
> #Subirlos al servidor
> Entramos en jderobot.org con usuario robotica
>
> Los paquetes est�n en /var/www/apt/dists/lucid/jderobot/binary-i386
> Las fuentes est�n en /var/www/apt/dists/source
> #scp */*.deb robotica en jderobot.org:debs-lucid
> #scp */*.gz */*.dsc */*.changes robotica en jderobot.org:src
> #sudo cp *.deb /var/www/apt/dists/lucid/jderobot/binary-i386/
> #sudo cp *.gz *.dsc *.changes /var/www/apt/dists/source
> Una vez copiados ejecutamos sudo /var/www/apt/actualiza_repo.sh
>
>
>
>
> #Para cambiar la versi�n, modificar en debian/changelog el nombre del
> paquete
>
> Saludos.
>
> El 27/11/12 22:16, Mikel Gonzalez Baile escribi�:
>
> Hola �scar,
>
> estoy empezando a crear mis primeros paquetes con dpkg, hab�a le�do
> sobre checkinstall pero creo que dpkg es m�s completo (corr�geme si me
> equivoco), y de momento estoy probando con cosas sencillas, agregando poco
> a poco m�s complejidad (cabeceras, librer�as, dependencias...) y
> adapt�ndolo al CMake, que es la herramienta que utiliza JDErobot.
>
> Lo que s� tengo dudas, es en c�mo hacer que si por ejemplo tu paquete
> necesita de otros para su instalaci�n, instalar todos �stos previamente de
> forma autom�tica, pero bueno, ir� investigando y comentando por aqu�.
>
> Un saludo y gracias.
>
> Mikel.
>
> On Tuesday, 27 November 2012, Oscar Garcia wrote:
>
>> El 27/11/12 17:46, Mikel Gonzalez Baile escribi�:
>> > este mensaje va dirigido para Rober y Edu ya que me ha comentado Jos�
>> > Mar�a que fueron los que crearon los paquetes de JDErobot 4.3, pero si
>> > alguien m�s controla del tema y puede echarme un cable, genial :-).La
>> > ayuda que solicito es b�sicamente si dispon�is de los recursos
>> > (manuales, tutoriales, ...) que utilizasteis, alg�n tipo de consejo o
>> > apunte que os sirvi� en su d�a para facilitar la tarea, o algo similar.
>>
>>
>> Buenas tardes.
>>
>> Yo hasta ahora he creado mis paquetes deb con checkinstall y
>> posteriormente, con dpkg, los he desempaquetado (-x), retocado y vuelto
>> a empaquetar (-b). Por ahora no he creado nunca un post-script ni nada
>> similar, pero ser�an muy �tiles, por ejemplo, para crear los enlaces
>> simb�licos de python-mt-2.x, agregar LD_LIBRARY_PATH en
>> /etc/environment, etc...
>>
>> Espero que te sea de utilidad.
>>
>> PD: No s� si guardo a�n algunos paquetes generados para x86 (32 bits),
>> pero tengo algunos generados recientemente para ARM (armv7) que podr�an
>> ser �tiles para m�viles android o raspberries, s�lo quedar�a retocarlos
>> y volverlos a empaquetar. Av�same cuando tengas los tuyos creados y
>> trato de modificar los manifiestos para que sean iguales que los tuyos.
>> _______________________________________________
>> Jde-developers mailing list
>> Jde-developers en gsyc.es
>> http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>>
>
>
> _______________________________________________
> Jde-developers mailing listJde-developers en gsyc.eshttp://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>
>
>
> _______________________________________________
> Jde-developers mailing list
> Jde-developers en gsyc.es
> http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>
>
------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://gsyc.escet.urjc.es/pipermail/jde-developers/attachments/20121128/65a60031/attachment.htm
More information about the Jde-developers
mailing list