jun
02

Creando un paquete debian con epm

11 comentariosEscribir comentario
Durante un tiempo he estado buscando una forma fácil de crear archivos DEB. Todos los tutoriales que había leido eran un poco liosos y tenía que dar muchos pasos. Desde hace unas semanas Esteban se puso en contacto conmigo porque no le funcionaba el script de creación de DVD y finalmente creé DVD-PictureShow para que localizara el error. Ya por fin le funciona y me ha pasado una página donde explica como crear archivos deb con epm de una forma muy fácil.

Yo a continuación voy a explicar como hice para crear un paquete Debian para DVD-PictureShow.

Lo primero instalamos epm, para ello hacemos:
$ sudo apt-get install epm
Luego colocamos nuestro archivo Python en un directorio y creamos un archivo con extensión .dist en él. Yo lo llamé "dvdpictureshow.dist", sólo puede contener letras y número, no puede tener guiones ni nada más. Este archivo es muy importante ya que contiene todos los parámetros para crear el paquete de debian. El contenido de mi archivo fue:
%product DVD-PictureShow
%copyright 2007 by Javier Perez Pacheco
%vendor Javier Perez Pacheco
%description DVD-PictureShow crea un DVD fotografico
%version 0.1
%readme README
%license LICENSE
%requires python
%requires dvdauthor
%requires dvd-slideshow
%requires dvd-slideshow-themes
%requires sox
%requires ffmpeg
%requires mkisofs
%requires mp3info
%requires mjpegtools

f 755 root sys /usr/bin/DVD-PictureShow DVD-PictureShow
Creo que se entiende prefectamente, sólo explicar que cada línea %requires es una dependencia del programa y que la última línea es la acción que vamos a realizar, en nuestro caso copiar el archivo DVD-PictureShow (programa en python) al directorio /usr/bin.

Lo siguiente es crear los archivo README y LICENSE y dentro colocar la información necesaria.

Para finalizar ejecutamos la siguiente línea
$ epm -f deb dvdpictureshow
El último parámetro es el nombre del archivo .dist sin la extensión. Esto nos creará un directorio y dentro el archivo .deb perfectamente creado. El nombre es algo como "dvdpictureshow-0.1-linux-2.6-intel.deb" si queremos que el nombre del archivo no contenga "-linux-2.6-intel" colocaremos en la sentencia anterior el parámetro "-n" así:
$ epm -n -f deb dvdpictureshow
Finalmente nos ha quedado un bonito archivo debian tal como este:


Esteban dice:

Bueno, hasta que se pudo Javier. Como dicen por ahí el que la sigue la consigue. Yo busqué y encontré varios tutoriales, pero era mucha información o no me funcionaban. Hasta que me topé con éste, lo probé y funcionó en menos de 5 minutos.
Ahora Javier lo hispanizo, así que más no se puede pedir.
Si van a comparar la fuente y la página de Javier encontrarán sólo una pequeña diferencia:

$ touch README
$ touch LICENSE

touch sirve para crear un archivo vacío.
Sintaxis: touch nom_archivo.
Yo prefiero hacerlo con el Editor de textos.

Saludos.

Esteban
Valparaíso, Chile
javielinux dice:
Lo único que le falta es poder crear un enlace directo al programa en el menú de Ubuntu/Debian o lo que sea. He estado buscando esa opción pero no la encuentro por ningún lado

a ver si alguien sabe por donde van los tiros

saludos y gracias esteban
César Miguel dice:
Hola Javier, antes que nada me disculpo por estar fuera de tema (OT). Tengo diez años de trabajo gráfico en coreldraw/win desde la versión 4 hasta la 12, ahora que trabajo con Inkscape y recién con Xara Xtreme, no he podido convertir mis archivos CDR a SVG pues el convertidor de corel (no se le puede calificar así) es un desastre.Acabo de encontrar cdr2svg.py by Richard Hughes aquí: y la cuestión es si me podrías ayudar en como usarlo, lo he intentado, mas no le encuentro la cuadratura al circulo.Recibe un cordial saludoCésar Miguel Ugalde
César Miguel Ugalde dice:
Disculpen, algo hice mal con el enlace: http://www.nabble.com/attachment/952693/0/cdr2svg.py.bz2
javielinux dice:
Lo he estado mirando pero no se que el pasa. Hay que ejecutarlo así:

$ p ython cdr2svg.py archivo.cdr

De principio da un error en la línea 87, porque dice que el segundo parámetro debe ser de un tamaño de 4. La línea es esta:

...chunk.data[16:24] ...

yo la he cambiado y he puesto esto:

...chunk.data[16:20] ...

y ya no ha dado el error, pero no sale nada, no me ha creado ningún archivo svg.

No se si te puede orientar

A ver si lo consigues
César Miguel Ugalde dice:
Gracias Javier,escontré este otro enlace con tu ayuda probaré mas tarde. Recibe un cordial saludo
silk scarves dice:
Online shopping for silk scarves Apparel; Silk scarves from our website: Our beautiful silk scarves make a uniqu
gnomo dice:
Imagino que ya habrás dado con la solución, la pongo aquí por si acaso.

En el directorio donde tengas tu "dvdpictureshow.dist", creas un archivo que contenga:

[Desktop Entry]
Version=1.0
Encoding=UTF-8
Name=dvdpictureshow
Comment=Aquí la descripción de dvdpictureshow
Exec=/usr/bin/DVD-PictureShow
Icon=/usr/share/icons/dvdpictureshow.png
Terminal=false
Type=Application
Categories=GNOME;Applications;AudioVideo;
OnlyShowIn=GNOME;
Name[en_US]=DVD-PictureShow

y lo guardas como dvdpictureshow.desktop

Ahora en tu archivo "dvdpictureshow.dist" añades estas líneas:


f 755 root sys /usr/share/icons/dvdpictureshow.png dvdpictureshow.png
f 755 root sys /usr/share/applications/dvdpictureshow.desktop dvdpictureshow.desktop

lo guardas y ya lanzas:

epm -f deb dvdpictureshow

Espero que aún te sirva.

Saludos
SILP dice:
Necesito ayuda para crear un paquete deb, en el quiero poner una carpeta y un archivo.
La carpeta se va a desempacar en /usr/share/backgrounds/
Y el archivo se va a desempacar en /usr/share/gnome-backgrounds-properties/

Mi carpeta se llama Paquete y al desempacar debe de quedar /usr/share/backgrounds/Paquete
Y mi archovo se llama paquete.xml y debe de quedar /usr/share/gnome-backgrounds-properties/paquete.xml

¿Alguien me puede ayudar, a hacer el paquete DEB que me permita hacer eso?
Eduardo Moreno dice:
Saludos:

Gracias a tu tutorial funciona perfectamente la generación del DEB y su instalación, ¡Pero no logro desinstalar.

Ya probé modificando mi código de instalación en base a otros archivos de otros paquetes, pero no me reconoce las ".

¿Alguna idea?
Eduardo Moreno dice:
Saludos:

Ya vi que era, me falto poner doble signo de $ en las variables del Bash.