[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