Suscribirse al Feed
27Oct

Crear paquete DEB para programas en Python

He leído bastante información acerca de cómo debianizar paquetes de software, pero en la mayoría de los casos se parte de el hecho de tener un programa en C/C++, en donde es necesario preocuparse por las tareas de compilación.

Y puesto que no he visto ningún tutorial en español, he decidido escribir algo al respecto de la manera más clara posible. ¡Manos a la obra!

0. Preparativos

Lo único que necesitas son dos herramientas: dpkg-dev y dh-make, las cuales puedes instalar ejecutando este comando:

apt-get install dpkg-dev dh-make

Ten en cuenta que en éste ejemplo vamos a empaquetar un programa simple llamado "pngcrushgtk", y que debes cambiar todo lo que aparece con ése nombre con el nombre de tu programa.

1. Creando un espacio de trabajo

Puesto que mientras estemos realizando el empaquetado se van a crear varios archivos, lo ideal es tener un espacio de trabajo (una carpeta) totalmente vacío al comenzar. Así que crearemos una carpeta llamada sandbox, en donde realizaremos todo cómodamente:

$ mkdir sandbox
$ cd sandbox

Dentro, debemos crear una carpeta cuyo nombre sea del tipo: nombreprograma-version:

$ mkdir pngcrushgtk-0.2

En la cual debemos copiar una versión empaquetada de nuestro programa dentro de un .tar.gz. Si aún no lo tienes, puedes hacer lo siguiente:

$ cd /ruta/de/tu/programa
$ tar cfzv pngcrushgtk-0.2.tar.gz *
$ cp pngcrushgtk-0.2.tar.gz /ruta/sandbox/pngcrushgtk-0.2/
$ cd /ruta/sandbox/pngcrushgtk-0.2/
Nota: recuerda que debes poner el nombre de tu programa en vez de "pngcrushgtk".

2. Debianizando nuestro paquete

Para ello utilizaremos el comando dh_make de la siguiente forma:

$ dh_make -e cristian@elhacker.net -f pngcrushgtk-0.2.tar.gz -c GPL

Type of package: single binary, multiple binary, library, kernel module or cdbs?
[s/m/l/k/b] sMaintainer name : cristian
Email-Address : cristian@elhacker.net
Date : Sat, 18 Oct 2008 11:15:08 -0500
Package Name : pngcrushgtk
Version : 0.2
License : gpl
Using dpatch : no
Type of Package : Single
Hit <enter> to confirm:
Currently there is no top level Makefile. This may require additional tuning.
Done. Please edit the files in the debian/ subdirectory now. You should also
check that the pngcrushgtk Makefiles install into $DESTDIR and not in / .

Nos preguntará qué tipo de paquete estamos creando, y seleccionamos "s" (simple). Permíteme explicarte cada parámetro:

  • -e cristian@elhacker.net, indicamos el correo electrónico del autor del programa
  • -f pngcrushgtk.tar-0.2.gz, indicamos el paquete comprimido que contiene nuestro programa
  • -c GPL, indicamos el tipo de licencia de nuestro programa

Luego de ejecutar el comando se habrá creado una carpeta llamada debian dentro de pngcrushgtk-0.2; y un archivo llamado pngcrushgtk_0.2.orig.tar.gz dentro de la carpeta sandbox, el cual debes eliminar.

Continúa leyendo en la siguiente página, en donde comenzamos con la configuración del paquete...

1 2 3 4 5 6
26Oct

Solucionar problema de reemplazo de comillas en Wordpress

En esta entrada voy a explicarles un truco simple para solucionar problema de reemplazo de comillas, guiones, y algunos otros caracteres en Wordpress.

La cosa es que por defecto Wordpress reemplaza algunos caracteres por otros en las entradas, lo cual hace que, por ejemplo, cuando pongas código fuente no se muestre bien, lo cual implica que los usuarios tienen que cambiarlo a mano.

La cosa es muy fácil... abres el archivo index.php de tu plantilla, y en la parte superior pones lo siguiente:


remove_filter('the_content', 'wptexturize');

Su función es más que obvia: elminina el filtro de caracteres especiales que Wordpress hace al contenido de las entradas. Por supuesto puedes aplicarlo a otro tipo de contenidos:


remove_filter('the_title', 'wptexturize'); //para el título
remove_filter('single_post_title', 'wptexturize'); //para el título de posts simples
remove_filter('comment_text', 'wptexturize');  //para comentarios
remove_filter('the_excerpt', 'wptexturize');  //para extractos

Es la manera más fácil que encontré de hacerlo.

25Oct

Bonus: efectos con ffmpeg y el uso de hooks

Me comentaba Daniel de http://danubuntu.wordpress.com/ (bueno, la verdad no se si se llama Daniel, pero supongo), en un comentario a cerca de cómo sobreponer una imagen solo por unos segundos. Yo le respondí que ya había escrito sobre el tema en una de las entradas que he publicado sobre hooks, pero parece que entre tanta edición había quitado esa parte.

Así que le(s) dejo el comando con el que se puede hacer esto.

Sobreponiendo texto o imágenes durante algunos segundos

ffmpeg -i entrada.avi -vhook 'vhook/imlib2.so -t texto_y_texto -A max(0,255-exp(N/47))' salida.avi

Lo que hace esto es, en realidad, quitarle el color al texto (recuerda que también se puede con imágenes), después de pasados unos segundos.

25Oct

Rock al parque 2008

El próximo sábado, 1 de noviembre, se dará inicio al que es considerado el festival gratuito y al aire libre más grande de América Latina. Dicho evento se lleva a cabo en la ciudad de Bogotá, Colombia, y cuenta con la presencia de 52 bandas de distintos géneros (Metal, Rock, Funk, etc.), que durante tres días nos deleitarán los oídos a más de 300.000 rockeros.

Por supuesto, como vengo haciéndolo desde hace 5 años, este año asistiré a los tres días, y desde aquí los invito a particten en este brutal evento, que se lleva a cabo desde hace más de doce años.

Tal vez me encuentre con algún amigo blogger... o eso espero. Por último, les dejo con la programación del primer día, puesto que es el que más disfruto por ser el día del Metal:

Escenario plaza Escenario Lago
1:00 P.M. THUNDERBLAST  
1:50 P.M. ANDRES OSORIO'S BAND 1:55 P.M. DEEPTRIP
2:40 P.M. ENTROPIA 2:45 P.M. LOATHSOME FAITH
3:30 P.M. KRONOS (Cali) 3:45 P.M. NO IMPORTA (Barranquilla)
4:30 P.M. AWAKEN 4:45 P.M. HEARTLESS
5:30 P.M. ETHEREAL 5:45 P.M. MUSCARIA (Ecuador)
6:35 P.M. PARADISE LOST (Inglaterra) 6:55 P.M. FRACTAL FLESH
7:50 P.M. MASACRE (Medellín) 7:55 P.M. KOYI K UTHO (Bogotá)
9:05 P.M. CARCASS (Inglaterra) 9:05 P.M. RATOS DE PORAO (Brasil)
     

Para más información acerca del evento visiten la página oficial.

24Oct

Efectos avanzados con hooks con ffmpeg [4ra parte]

Como hemos visto en otras entradas relacionadas con ffmpeg, esta herramienta es bastante útil para realizar una gran cantidad de tareas de edición de video. Sin embargo, aparte de simplemente convertir video o extraer audio, existen otros usos avanzados con el que podemos crear algunos efectos interesantes. En esta entrada aprenderemos a usar algunos de ellos, todos en un solo ejemplo.

Continuando con un ejemplo de otra entrada, en donde poníamos en cámara lenta un video, vamos a agregar un par de efectos. Lo primero será crear una cortina que cubra el video, y posteriormente un par de imágenes moviéndose que simularán un par de luces.

Primer ejemplo - Crear un video estático a partir de una imagen con ffmpeg

Lo primero es crear un video en donde tengamos las cortinas estáticas. Así, usando ésta imagen, el comando sería el siguiente:

ffmpeg -loop_input -i cortina.jpg -t 10 cortina.mpg

Esto creará un video con una imagen estática. La opción -loop_input es imprescindible puesto que el archivo de entrada es una simple imagen, es decir, solo un frame, y por tanto es necesario repetirlo durante el video. La opción -t indica a ffmpeg que el video durará 10 segundos. Leer el resto de la entrada...

23Oct

Sobreponer imagen o texto en movimiento [ffmpeg] - Uso de hooks [3ra parte]

Ahora que conocemos las variables que podemos usar con la librería imlib2, vamos con dos ejemplos simples en el que vamos a sobreponer una imagen en movimiento y luego un crear un efecto de "créditos" con archivo de texto.

Ejemplo 1 - Imagen en movimiento

En este sencillo ejemplo se insertará una imagen realizando una trayectoría lineal a través del video. El comando es el siguiente:

ffmpeg -i entrada.avi -vhook '/usr/lib/vhook/imlib2.so -x 10+0.5*N -y 20+0.5*N -i tux.png' salida.mpg

Explicación...

En este comando usamos las variables que se explican en la entrada pasada:

  • -vhook, activamos el uso de los hooks
  • /usr/lib/vhook/imlib2.so, indica que usaremos la librería imlib2
  • -x 10+0.5*N y -y 20+0.5*N, representa la coordenada de la imagen en cada frame. Recordemos que N es igual al número del frame actual. Por tanto, a medida que N va incrementando, las coordenadas X y Y también. Esto hace que la imagen se mueva en diagonal desde la esquina superior izquiera, hacia la esquina inferior derecha.
  • -i tux.png, es la imagen a utilizar

Ejemplo 2 - Texto en movimiento [tipo créditos]

En el siguiente ejemplo usamos imlib2 para leer un archivo de texto y mostrar su contenido en forma de créditos; el comando es:

ffmpeg -i entrada.avi -vhook '/usr/lib/vhook/imlib2.so -F /var/lib/defoma/gs.d/dirs/fonts/Purisa.ttf/10 -x 100 -y -1.0*N -f creditos.txt' salida.mpg

Explicación...

  • -vhook, activamos el uso de los hooks
  • /usr/lib/vhook/imlib2.so, indica que usaremos la librería imlib2
  • -F /var/lib/defoma/gs.d/dirs/fonts/Purisa.ttf/10, indica que usaremos el tipo de letra Purisa a tamaño 10
  • -x 100 y -y -1.0*N, representa la coordenada del texto en cada frame. Recordemos que N es igual al número del frame actual. Como puedes ver el valor de X es siempre constante, puesto que no queremos que se mueva hacia los lados. Por otro lado, Y varía cada vez que pasemos al siguiente frame, o sea que, a medida que N va incrementando, las coordenadas Y también.
    En este ejemplo los créditos se mueven de abajo hacia arriba. Si quisieramos invertir dicho movimiento, bastaría con poner el parámetro de -y en positivo.
  • -f creditos.txt, es el archivo de texto que contiene los créditos
© 2007 - 2008 Dezinerfolio. Todos los derechos reservados.
Powered by Wordpress. Entradas RSS