[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: