sábado, 20 de septiembre de 2008

Queremos Software Libre!

Sip, tal como lo dice el titulo de esta entrada: Queremos Software Libre :)

Ese es el nombre de una iniciativa que esta empeñada en recolectar firmas de personas particulares como también de Grupos de personas, para que de una vez por todas se use Software Libre en los establecimientos tanto publicas como administrativas del Gobierno Vasco. Su manifiesto:


Las personas y colectivos abajo firmantes manifestamos que queremos usar Software Libre (por ejemplo GNU/Linux, Firefox, OpenOffice...):

1. Porque el Software Libre es una herramienta de transformación social que fomenta la igualdad, la participación y la solidaridad y nos ayuda a crear un mundo más justo.
2. Porque promueve el desarrollo humano, la sociedad del conocimiento y la innovación tecnológica, favoreciendo el acceso de todas las personas a las Nuevas Tecnologías.
3. Porque se fundamenta en compartir el conocimiento, es económicamente más rentable (sus licencias son gratuitas) y fomenta el empleo a nivel local.
4. Porque es libre (cualquiera lo puede utilizar y mejorar) y hace uso de estándares públicos y de formatos abiertos.
5. Porque posibilita la independencia tecnológica y, al contrario que el software privativo, evita estar atados a las decisiones que tome ninguna empresa (por ejemplo, Microsoft).

Por todo ello, solicitamos al Gobierno Vasco y demás Administraciones Públicas Vascas:

1. Promover y fomentar activamente el uso del Software Libre en todas las relaciones de las personas con la Administración.
2. Implantar el uso generalizado del Software Libre en todos los organismos públicos y en todas las esferas de la actividad ciudadana.
3. Invertir el presupuesto público costeado por los impuestos de todas y todos en desarrollar el Software Libre para beneficio de la comunidad.
4. Divulgar en la sociedad el significado del Software Libre, así como difundir sus múltiples ventajas y beneficios.
5. Formar a todas las personas en el uso de programas libres, especialmente durante su formación escolar.
6. Impulsar el empleo local y la independencia tecnológica, colaborando activamente con la comunidad de usuarios y empresas locales en el desarrollo del Software Libre.
7. Informar de forma activa y transparente sobre las acciones realizadas en esta materia y sobre las asignaciones presupuestarias relacionadas con las Nuevas Tecnologías.



Un esfuerzo muy digno... y como ya bien saben en Tutos Libres también Queremos Software Libre!!




Si bien no es una iniciativa internacional merece mucho ser promocionada, creo que deberíamos hacer algo así cada uno en nuestros países. Bien por uds señores Vascos, vamos a estar atentos.


Mucho Éxito para Uds Compañeros!

Mas informacion: Pag del Proyecto

sábado, 13 de septiembre de 2008

VRMS

Bueno en tutoslibres no debe hacer falta esta herramienta. vrms es el acronimo de Virtual Richard M. Stallman y el comando para ejecutar la herramienta que nos dicta en una terminal que tan "libre" es tu "Debian based system", es decir, que apliciones de las que tienes instaladas son libres o propietarias, dandote un porcetaje de libertad (o esclavitud). Es como pepe grillo para pinocho, solo que este de software libre y dentro de tu computadora.

El programa en Internet:
http://packages.debian.org/stable/admin/vrms

Bueno el procedimiento para instalarlo es el tradicional:
sudo apt-get install vrms

Y correrlo es mas simple, claro todo desde la terminal:
vrms

Resultado en mi Ubuntu Hardy: 17 non-free packages, 1.0% of 1689 installed packages.
Muchos plugins y esas cosas (trato de condesciendiente conmigo mismo, juar juar)...

Creo que Stallman me miria con desprecio :(.

Al menos te enteras de que borrar o en mi caso hablar de un 99% de libertad, pero la libertad es completa ¿o no? (caramba pepe grillo tendre que hacerte mas caso, juar juar).

Saludos.

lunes, 8 de septiembre de 2008

Crea tus propios paquetes: Checkinstall

Checkinstall es una aplicación desarrollada por Felipe Eduardo Sánchez Díaz Durán en 2002. La idea de este programita es facilitar la administración de nuestros sistemas. ¿Y como es que pretende lograr esto? La respuesta es sencilla, supongamos que alguna vez queremos o tenemos que instalar en nuestro sistema una aplicación que no esta empaquetada para nuestra distro o bien que necesitamos que este compilada a nuestra medida entonces la única alternativa es compilarla desde su tarball presentándonos dos posibilidades:

  • Compilar con el clásico configure && make && make install.
  • Empaquetarlo e instalarlo con su correspondiente instalador

La primera opción nos presenta problemas en el caso de querer desinstalar la aplicación y ni hablar si necesitamos upgradear. Por otro lado, empaquetar las aplicaciones no siempre es tarea sencilla, ya vimos que en Slackware es algo trivial, pero en otras distros ya significa liarnos más... Entonces es en este momento que aparece Checkinstall.

Esta herramienta nos permite crear paquetes TGZ, RPM y DEB a partir del tarball, con la consecuencia de que vamos a poder instalar el paquete con su correspondiente comando mágico y lo que es aun mejor, llegado el momento de querer eliminar la aplicación desinstalarla con su otra desinstaladora palabra mágica :)


Un Ejemplo Práctico

Siempre he creido que la mejor forma de hablar de algo es a través de un ejemplo práctico, así que eso vamos a hacer ahora, vamos a crear un rpm para OpenSuSE 11.0.

Los que conozcan y usen el visualizador de imagenes GpicView sabrán que se vuelve muy entrañable, ya que consume muy pocos recursos y es muy rápido, además de hacer simplemente lo que uno espera o sea ver una imagen :) . El caso es que estaba en mi Xfce de OpenSuSE 11.0 y no encontré ese programa en los repositorios que tengo agregado a Yast, cosa que me entristecio en un principio pero como dicen a rey muerto rey puesto... así que qué mejor oportunidad para crear nuestro propio paquete de GpicView. :)

Para comenzar instalamos checkinstall. En la actualidad esta en los repos de todas las grandes distros, asi que es cosa de buscarlo no mas. Como estoi trabajando con SuSE, me bastó con agregar los repositorios de la comunidad y dar un

# yast -i checkinstall

Ya instalado checkinstall, nos hacemos del tarball de la aplicacion a empaquetar. Yo bajé GpicView desde SourceForge ---> GpicView

Desempaquetamos y ejecutamos el configure y el make como siempre:

# tar xvf gpicview-0.1.9.tar.gz
# cd xvf gpicview-0.1.9/
# ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --mandir=/usr/man

No olvidar nunca ver la ayuda que nos da ./configure --help. Ya pasado esta etapa sin errores ejecutamos:

# make

Y acá es donde usamos Checkinstall (obviamente despues de haber pasado sin errores el make).

# checkinstall -h

Para ver la ayuda.
checkinstall 1.6.1, Copyright 2002 Felipe Eduardo Sanchez Diaz Duran
This software is released under the GNU GPL.

Usage: checkinstall [options] [command [command arguments]]
Options:
*Package type selection*
-t,--type= Choose packaging system
-S Build a Slackware package
-R Build a RPM package
-D Build a Debian package
*Install options*

La ayuda ya nos dice que es muy sencillo de usar.

# checkinstall
checkinstall 1.6.1, Copyright 2002 Felipe Eduardo Sanchez Diaz Duran
This software is released under the GNU GPL.


The package documentation directory ./doc-pak does not exist.
Should I create a default set of package docs? [y]:
## ENTER ##

Preparando la documentación del paquete...OK

Por favor escribe una descripción para el paquete.
End your description with an empty line or EOF.
>>
Y ahora nos toca escribir una pequeña descripción de la aplicacion que vamos a empaquetar, no andaba muy inspirado así que escribi esto :p

>> GpicViewer es un visualizador de imagenes desarrollado en GTK+ :)
## ENTER ##
## ENTER ##

Y ya esta... ahora nos va a mostar un resumen con la opción de cambiar lo que no nos guste:

**************************************
**** RPM package creation selected ***
**************************************

This package will be built according to these values:

1 - Summary: [ GpicViewer es un visualizador de imagenes desarrollado en GTK+ :) ]
2 - Name: [ gpicview ]
3 - Version: [ 0.1.9 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ Applications/System ]
7 - Architecture: [ i386 ]
8 - Source location: [ gpicview-0.1.9 ]
9 - Alternate source location: [ ]
10 - Requires: [ ]
11 - Provides: [ gpicview ]

Introduce un número para cambiar algún dato u oprime ENTER para continuar:
Esto no merece explicación o si? O_o

Installing with make install...

========================= Installation results ===========================
Making install in src
make[1]: se ingresa al directorio `/home/cristian/gpicview-0.1.9/src'
make[2]: se ingresa al directorio `/home/cristian/gpicview-0.1.9/src'
test -z "/usr/bin" || /bin/mkdir -p "/usr/bin"
/bin/sh ../libtool --mode=install /usr/bin/install -c 'gpicview' '/usr/bin/gpicview'
/usr/bin/install -c gpicview /usr/bin/gpicview
make[2]: No se hace nada para `install-data-am'.
make[2]: se sale del directorio `/home/cristian/gpicview-0.1.9/src'
make[1]: se sale del directorio `/home/cristian/gpicview-0.1.9/src'
Making install in po
make[1]: se ingresa al directorio `/home/cristian/gpicview-0.1.9/po'
if test -r ".././mkinstalldirs"; then \
.././mkinstalldirs /usr/share; \
else \
/bin/sh ../mkinstalldirs /usr/share; \
.....
....
...
..
.
.
Y si todo salió bien nos va a mostrar el siempre lindo mensaje de exito!! :-D

======================== Installation successful ==========================

Copying documentation directory...
./
./COPYING
./NEWS
./ChangeLog
./TODO
./README
./INSTALL
./AUTHORS

Copiando los archivos al directorio temporal...OK

Comprimiendo las páginas de manual...OK

Creando la lista de archivos...OK

Creando paquete RPM...OK

NOTE: The package will not be installed

Borrando directorios temporales...OK

Borrando el directorio doc-pak...OK

Borrando el directorio temporal...OK


**********************************************************************

Done. The new package has been saved to

/usr/src/packages/RPMS/i386/gpicview-0.1.9-1.i386.rpm
You can install it in your system anytime using:

rpm -i gpicview-0.1.9-1.i386.rpm

**********************************************************************

Y ya esta... nos avisa donde esta guardado el paquete que acabamos de crear y como instalarlo:

# rpm -i /usr/src/packages/RPMS/i386/gpicview-0.1.9-1.i386.rpm


Como se puede ver checkinstall reemplaza a make install, makepkg y el make clean, ya que nos libra de los archivos innecesarios de la compilación. También es posible configurarlo para que al terminar de crear el paquete lo instale automagicamente, pero no lo recomiendo, es mejor que nosotros nos hagamos cargo de esas cosas.

Otras consideraciones:

  • Para los que usamos Slackware el comando es # checkinstall --fstrans=no
  • Por un tema de permisos siempre trabajo todo desde root, pero no es estrictamente necesario, por lo menos no hasta que queramos crear e instalar el paquete.
  • Lei en un foro ubuntero que checkinstall cuando le creaba paquetes DEB a veces tenia dificultades con los permisos, no me consta, pero da una posible solución (que no me gusta para nada!!) # chmod 755 / [Este es un ejemplo de porque es mejor trabajar todo como root :) ]
Y por último la fotito, para que vean que sí funciona xD