Re: Crear paquetes .deb de lenguajes interpretados (PHP)
El lun, 18-06-2007 a las 12:12 -0500, cj.oak escribió:
> Tengo un programa que he ha desarrollado completamente en PHP, tanto
> para uso WEB como en consola (ncurses) y nos gustaría generar el
> apquete .deb para facilitar su instalación, borrado, actualización ,
> etc. de ese programa; pero hasta el momento los howto y documentación
> que he encontrado hacen referencia a crear paquetes binarios y no en
> espcial de una serie de scripts. Estos archivos de php tienen una
> estructura ya establecida por nosotros que queremos conserver en el
> arbol de directorios, además se tienen que hacer una serie de pasos
> con bases de datos y otras configuraciones que nos gustaría
> automatizar para evitar olvidos.
>
> ¿ALguien sabe de algún documento que haga referencia a crear ese
> paquetes .deb de script y no únicamente de binarios?
>
>
> Cualqueir comentario u orientación me ayudaria mucho, gracias y
> continuo en mi busqueda...
>
>
> Saludos
>
> Juan Carlos
Fijate como están construidos los paquetes debian que no distribuyan
binarios. Coje el fuente de cualquiera y lo verás.
Lo primero es que generes el source y el dsc, para ello necesitas
dh_make:
dh_make -e tu.dirección@de.correo -f ../foo-0.0.01.tar.gz
Esto te va a generar todo lo necesario, dentro del directorio debian, y
el .orig y luego el dsc y todo. Puedes borrar todos los .ex (example) e
ir mirando/editando los ficheros que quedan.
Yo me suelo hacer un Makefile, que en vez de compilar, en la llamada
"install" copie los ficheros a su destino real dentro de $DESTDIR/
p.ej.
Tienes pones los ficheros así:
foo
|-docs
| |-1.txt
| |-2.txt
| |-3.txt
|
|-Makefile
Luego en el Makefile, tienes que poner:
install:
cp -a docs/* $(DESTDIR)/usr/share/doc/foo/
El directorio de destino, lo tendrías que crear, poniendo una linea en
el ./debian/dirs
Entre otras cosas (siempre conviene poner un clean: y un build: en el
Makefile, para respetar el formato de debian/rules
En el objetivo build: puedes poner: echo "Nada que hacer" y ya está.
Si lo que vas a instalar son ejecutables (que no binarios), en vez de
usar cp, deberías usar install (como pone en el manual que te pego
abajo) y si es un programa/comando/orden, deberían llevar página man.
Como último consejo, si quieres hacerlo bien, se recomienda crear el
paquete con debuild (misma sintáxis que dpkg), teniendo instalado
lintian y linda, que te van a ayudar a ver que errores tiene tu paquete
al construirlo (incluso errores de gramática en las descripciones :)
Para más referencias:
http://www.debian.org/doc/manuals/maint-guide/index.es.html
Saludos
Reply to: