[Jderobot-dev] Crear paquetes debian

Eduardo Perdices eperdices en gsyc.es
Mar Nov 27 23:54:16 CET 2012


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 <javascript:;>
>     http://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/20121127/8598bad9/attachment-0001.htm 


More information about the Jde-developers mailing list