Mostrando entradas con la etiqueta lliurex. Mostrar todas las entradas
Mostrando entradas con la etiqueta lliurex. Mostrar todas las entradas

miércoles, 9 de mayo de 2012

Salt, libreoffice y ubuntu 12.04

He comprobado que con windows ya no hay problema para instalar salt4 (hay una nueva versión de marzo del 2012) con libreoffice versión 3.5.3. Simplemente he instalado libreoffice, el paquete de ayuda, después salt y funciona perfectamente.

De modo que vamos a intentar que nos funcione en linux, en concreto en Ubuntu 12.04 con libreoffice 3.5.2 instalado. (Al final del documento tendréis los enlaces a los ficheros modificados por mi directamente para no tener que hacer todos los pasos).
Ojo, solo funciona en sistemas de 32 bits, al final de artículo tenéis más información al respecto.
Ojo2, para desinstalar el paquete salt-ooo-addons hay problemas, te recomiendo que leas el artículo completo antes de hacer nada. Aunque es muy largo, gran parte del texto son las respuestas de los comandos que se "leen" muy rápido. Para facilitar la lectura los comando están en negrita como suelo hacer siempre en los artículos.
Actualización (16/05/2012): Solucionado el problema de la desinstalación, mirar al final del documento.
 
Para descargar el paquete debian con las extensiones: salt-ooo-addons.deb

Resumen de comandos necesarios para hacer la instalación sin más:
# wget http://www.cefe.gva.es/polin/docs/salt4U.zip
# unzip salt4U.zip

# dpkg -i salt-common_4.2.2_all.deb
# dpkg -i salt-data_4.2.0+201200312.1_all.deb 
# dpkg -i salt-server_4.2.2_i386.deb 
# dpkg -i salt-ooo-addons_4.2.3_i386.deb
# dpkg -i salt-help_4.2.2_all.deb 
# dpkg -i salt_4.2.2_all.deb 

Vamos a verlo en detalle...

Descargamos y descomprimimos la nueva versión de Salt:
# wget http://www.cefe.gva.es/polin/docs/salt4U.zip
# unzip salt4U.zip
Archive: salt4U.zip
inflating: nou_salt_20120312/INSTRUCCIONS.txt
inflating: nou_salt_20120312/munta_el_salt.sh
inflating: nou_salt_20120312/salt_4.2.2_all.deb
inflating: nou_salt_20120312/salt-common_4.2.2_all.deb
inflating: nou_salt_20120312/salt-data_4.2.0+201200312.1_all.deb
inflating: nou_salt_20120312/salt-help_4.2.2_all.deb
inflating: nou_salt_20120312/salt-ooo-addons_4.2.3_i386.deb
inflating: nou_salt_20120312/salt-server_4.2.2_i386.deb

Como podéis ver del nombre de la carpeta es de donde he sacado la fecha de la nueva versión de Salt.

Disponemos del lanzador munta_el_salt.sh par instalarlo directamente pero no funciona, nos fallará al instalar salt-ooo-addons, además depende de que utilices el gestor de paquetes de gnome, para los usuarios que preferimos kde también es un problema. Pero si nos proporciona información para saber que tenemos que hacer:
$ cat munta_el_salt.sh
#!/bin/bash

function error {
   zenity --error --title="Salt 4" --text="S'ha produït un error en instal·lar el paquet \n $1"
   exit 1
}

if [ $UID -ne 0 ]; then
        exec $(gksu $0 $@)
else
   gdebi-gtk --non-interactive --auto-close salt-common_4.2.2_all.deb || error "salt-common_4.2.2_all.deb"
   gdebi-gtk --non-interactive --auto-close salt-data_4.2.0+201200312.1_all.deb || error "salt-data_4.2.0+201200312.1_all.deb"                                         
   gdebi-gtk --non-interactive --auto-close salt-server_4.2.2_i386.deb || error "salt-server_4.2.2_i386.deb"                                                           
   gdebi-gtk --non-interactive --auto-close salt-ooo-addons_4.2.3_i386.deb || error "salt-ooo-addons_4.2.3_i386.deb"                                                   
   gdebi-gtk --non-interactive --auto-close salt-help_4.2.2_all.deb || error "salt-help_4.2.2_all.deb"                                                                 
   gdebi-gtk --non-interactive --auto-close salt_4.2.2_all.deb || error "salt_4.2.2_all.deb"
   zenity --info --title="Salt 4" --text="La instal·lació del Salt ha finalitzat correctament."
fi

exit 0

En negrita vemos la secuencia de instalación de los paquetes:

$ cd nou_salt_20120312/$ sudo dpkg -i salt-common_4.2.2_all.deb
[sudo] password for ruben:
Seleccionando paquete salt-common previamente no seleccionado
(Leyendo la base de datos ... 431421 ficheros o directorios instalados actualmente.)
Desempaquetando salt-common (de salt-common_4.2.2_all.deb) ...
Configurando salt-common (4.2.2) ...
$ sudo dpkg -i salt-data_4.2.0+201200312.1_all.deb
Seleccionando paquete salt-data previamente no seleccionado
(Leyendo la base de datos ... 431426 ficheros o directorios instalados actualmente.)
Desempaquetando salt-data (de salt-data_4.2.0+201200312.1_all.deb) ...
Configurando salt-data (4.2.0+201200312.1) ...
$ sudo dpkg -i salt-server_4.2.2_i386.deb
Seleccionando paquete salt-server previamente no seleccionado
(Leyendo la base de datos ... 431480 ficheros o directorios instalados actualmente.)                                                                                   
Desempaquetando salt-server (de salt-server_4.2.2_i386.deb) ...                                                                                                        
Configurando salt-server (4.2.2) ...                                                                                                                                   
update-rc.d: warning: /etc/init.d/salt-server missing LSB information                                                                                                  
update-rc.d: see
 System start/stop links for /etc/init.d/salt-server already exist.
Starting SaltServer: sltsrv.
Procesando disparadores para ureadahead ...
Procesando disparadores para man-db ...
$ sudo dpkg -i salt-ooo-addons_4.2.3_i386.deb
Seleccionando paquete salt-ooo-addons previamente no seleccionado
(Leyendo la base de datos ... 431512 ficheros o directorios instalados actualmente.)
Desempaquetando salt-ooo-addons (de salt-ooo-addons_4.2.3_i386.deb) ...
dpkg: problemas de dependencias impiden la configuración de salt-ooo-addons:
 salt-ooo-addons depende de openoffice.org-writer; sin embargo:
  El paquete `openoffice.org-writer' no está instalado.
dpkg: error al procesar salt-ooo-addons (--install):
 problemas de dependencias - se deja sin configurar
Se encontraron errores al procesar:
 salt-ooo-addons
Como podéis ver tenemos problemas para instalar este paquete. De modo que lo llevamos a una carpeta aparte para poder trabajar con su contenido:
$ mkdir modificados
$ cd modificados
$ mv ../salt-ooo-addons_4.2.3_i386.deb .
$ ar x salt-ooo-addons_4.2.3_i386.deb
$ ll
total 112
-rw-r--r-- 1 ruben ruben 1359 may 8 02:49 control.tar.gz
-rw-r--r-- 1 ruben ruben 50911 may 8 02:49 data.tar.gz
-rw-r--r-- 1 ruben ruben 4 may 8 02:49 debian-binary
-rw-rw-r-- 1 ruben ruben 52464 mar 9 10:25 salt-ooo-addons_4.2.3_i386.deb
$ tar xvzf control.tar.gz
./
./control
./prerm
./md5sums
./postinst
$ ll
total 128
-rw-r--r-- 1 ruben ruben 753 mar 9 10:25 control
-rw-r--r-- 1 ruben ruben 1359 may 8 02:49 control.tar.gz
-rw-r--r-- 1 ruben ruben 50911 may 8 02:49 data.tar.gz
-rw-r--r-- 1 ruben ruben 4 may 8 02:49 debian-binary
-rw-r--r-- 1 ruben ruben 293 mar 9 10:25 md5sums
-rwxr-xr-x 1 ruben ruben 1136 mar 9 10:25 postinst*
-rwxr-xr-x 1 ruben ruben 1009 mar 9 10:25 prerm*
-rw-rw-r-- 1 ruben ruben 52464 mar 9 10:25 salt-ooo-addons_4.2.3_i386.deb

Vamos a editar el fichero control que incluye que las dependencias necesarias para poder instalar este paquete (el error que nos daba más arriba es que no teníamos instalado el paquete openoffice-writer), de modo que cambiamos la línea Depends:
Depends: libreoffice-writer, salt-server
Editamos también los ficheros prerm y postinst, estos ficheros utilizan la utilidad unopkg pero la ruta a la que intentan acceder es de openoffice y no de libreoffice, así que hacemos los siguientes cambios:

En el fichero prerm:
case "$1" in
    remove|upgrade|deconfigure)
        /usr/lib/openoffice/program/unopkg remove -v --shared salt.zip
        /usr/lib/openoffice/program/unopkg remove -v --shared saltutil.zip
Lo cambiamos por:
case "$1" in
    remove|upgrade|deconfigure)
        /usr/lib/libreoffice/program/unopkg remove -v --shared salt.zip
        /usr/lib/libreoffice/program/unopkg remove -v --shared saltutil.zip
En el fichero postinst:
case "$1" in
    configure)
        /usr/lib/openoffice/program/unopkg add -v --shared /usr/share/salt-ooo-addons/salt.zip
        /usr/lib/openoffice/program/unopkg add -v --shared /usr/share/salt-ooo-addons/saltutil.zip
    ;;
Lo cambiamos por:
case "$1" in
    configure)
        /usr/lib/libreoffice/program/unopkg add -v --shared /usr/share/salt-ooo-addons/salt.zip
        /usr/lib/libreoffice/program/unopkg add -v --shared /usr/share/salt-ooo-addons/saltutil.zip
    ;;
 Hemos terminado con la parte referente a control.tar.gz así que "reconstruimos" esta parte:
$ tar cvzf control.tar.gz control prerm md5sums postinst
control
prerm
md5sums
postinst

$ rm control prerm md5sums postinst
$ ar r salt-ooo-addons_4.2.3_i386.deb control.tar.gz
Continuemos con data.tar.gz:
$ tar xvzf data.tar.gz
./
./usr/
./usr/share/
./usr/share/doc/
./usr/share/doc/salt-ooo-addons/
./usr/share/doc/salt-ooo-addons/copyright
./usr/share/doc/salt-ooo-addons/changelog.gz
./usr/share/salt-ooo-addons/
./usr/share/salt-ooo-addons/salt.zip
./usr/share/salt-ooo-addons/saltutil.zip
$ cd usr/share/salt-ooo-addons/
$ ll
total 56
-rw-r--r-- 1 ruben ruben 14415 mar  9 10:25 saltutil.zip
-rw-r--r-- 1 ruben ruben 38815 mar  9 10:25 salt.zip
$ unzip salt.zip
Archive:  salt.zip
  inflating: addon.xcu              
  inflating: ferram_ajuda_16.bmp    
  inflating: ferram_ajuda_26.bmp    
  inflating: ferram_config_16.bmp   
  inflating: ferram_config_26.bmp   
  inflating: ferram_corregir_16.bmp 
  inflating: ferram_corregir_26.bmp 
  inflating: ferram_revisar_16.bmp  
  inflating: ferram_revisar_26.bmp  
  inflating: ferram_stop_16.bmp     
  inflating: ferram_stop_26.bmp     
  inflating: ferram_traduir_16.bmp  
  inflating: ferram_traduir_26.bmp  
  inflating: ferram_traduir_i_16.bmp 
  inflating: ferram_traduir_i_26.bmp 
  inflating: sltooo.py              
Editamos addon.xcu:
$ nano addon.xcu
Cambiamos oor:node por:
oor:component-data
 Además gracias la comentario de Paco de un artículo anterior vamos a cambiar la codificación, de este modo solucionaremos el error: "Cannot convert to UTF-8".
$ iconv -f iso-8859-15 -t utf-8 addon.xcu > addon.xcu.utf8
$ mv addon.xcu.utf8 addon.xcu
$ iconv -f iso-8859-15 -t utf-8 sltooo.py > sltooo.py.utf8
$ mv sltooo.py.utf8 sltooo.py
$ zip -r salt.zip addon.xcu sltooo.py
$ rm addon.xcu ferram_* sltooo.py
Tenemos que repetir el mismo proceso para saltutil.zip y hacer exactamente los mismos cambios, la única diferencia es que el fichero sltooo.py en este caso es sltuooo.py

Tras estos cambios reconstruimos el paquete debian con todos los cambios:
$ cd ../../..
$ rm data.tar.gz
$ tar cvzf data.tar.gz usr/
usr/
usr/share/
usr/share/doc/
usr/share/doc/salt-ooo-addons/
usr/share/doc/salt-ooo-addons/copyright
usr/share/doc/salt-ooo-addons/changelog.gz
usr/share/salt-ooo-addons/
usr/share/salt-ooo-addons/salt.zip
usr/share/salt-ooo-addons/saltutil.zip
$ ll
total 116
-rw-r--r-- 1 ruben ruben  1378 may  8 02:57 control.tar.gz
-rw-rw-r-- 1 ruben ruben 50924 may  8 03:37 data.tar.gz
-rw-r--r-- 1 ruben ruben     4 may  8 02:49 debian-binary
-rw-rw-r-- 1 ruben ruben 52482 may  8 03:01 salt-ooo-addons_4.2.3_i386.deb
drwxr-xr-x 3 ruben ruben  4096 mar  9 10:25 usr/
Ojo3: Mucho cuidado con el siguiente comando, sino estás en el sitio y estás ejecutando estos comandos como root puedes corroper tu sistema:
$ rm -rf usr/
$ ar r salt-ooo-addons_4.2.3_i386.deb data.tar.gz
Terminamos la instalación:
$ sudo dpkg -i salt-ooo-addons_4.2.3_i386.deb
[sudo] password for ruben:
(Leyendo la base de datos ... 431518 ficheros o directorios instalados actualmente.)
Preparando para reemplazar salt-ooo-addons 4.2.3 (usando salt-ooo-addons_4.2.3_i386.deb) ...
Desempaquetando el reemplazo de salt-ooo-addons ...
Configurando salt-ooo-addons (4.2.3) ...
Synchronizing repository for shared extensions

Synchronizing repository for bundled extensions
 
  Enabling: Script provider for Python
   Enabling: components.rdb

unopkg done.
Synchronizing repository for shared extensions

 Synchronizing repository for bundled extensions

  Enabling: salt.zip
   Enabling: addon.xcu

unopkg done.

$ sudo dpkg -i salt-help_4.2.2_all.deb
[sudo] password for ruben:
Seleccionando paquete salt-help previamente no seleccionado
(Leyendo la base de datos ... 431518 ficheros o directorios instalados actualmente.)
Desempaquetando salt-help (de salt-help_4.2.2_all.deb) ...
Configurando salt-help (4.2.2) ...

$ sudo dpkg -i salt_4.2.2_all.deb
Seleccionando paquete salt previamente no seleccionado
(Leyendo la base de datos ... 433239 ficheros o directorios instalados actualmente.)
Desempaquetando salt (de salt_4.2.2_all.deb) ...
Configurando salt (4.2.2) ...
 

Accedemos a libreoffice y comprobamos el administrador de extensiones.


Como podemos comprobar no aparecen las extensiones, así que el modo shared no funciona muy fino, no hay problema las añadimos, pulsamos sobre Añadir y vamos al directorio: /usr/share/salt-ooo-addons:


Repetimos el proceso para salt.zip primero y después para saltultil.zip y veremos que ya nos aparecen en el administrador de extensiones:


Cerramos libreoffice y al volverlo a abrir vemos que disponemos de la funcionalidad completa:



Otros problemas:

1. La eliminación del paquete salt-ooo-addons:

Hay problemas al intentar desinstalar este paquete, nos aparece el siguiente error:
ERROR: Error while adding: vnd.sun.star.expand:$UNO_SHARED_PACKAGES_CACHE/uno_packages/ludpt97i.tmp_/salt.zip
       Cause: (com.sun.star.lang.IllegalArgumentException) { { Message = "Cannot detect media-type: file:///var/spool/libreoffice/uno_packages/cache/uno_packages/ludpt97i.tmp_/salt.zip", Context = (com.sun.star.uno.XInterface) @9db7080 }, ArgumentPosition = (short) -1 }

unopkg failed.
No he conseguido solucionarlo de una forma "elegante".
Lo que he hecho ha sido volver a editar el fichero prerm del control.tar.gz para comentar las líneas que borran las extensiones (así es como lo tenéis para descargar en este artículo):
$ nano prerm
case "$1" in
    remove|upgrade|deconfigure)
#        /usr/lib/libreoffice/program/unopkg remove -v --shared salt.zip
#        /usr/lib/libreoffice/program/unopkg remove -v --shared saltutil.zip
Y los borramos manualmente:
# ll /var/spool/libreoffice/uno_packages/cache/uno_packages/ -R
/var/spool/libreoffice/uno_packages/cache/uno_packages/:
total 8
-rw------- 1 root root    0 may  9 14:25 ludr1mw8.tmp
drwxr-xr-x 3 root root 4096 may  9 14:25 ludr1mw8.tmp_/
-rw------- 1 root root    0 may  9 14:25 ludr1pp4.tmp
drwxr-xr-x 3 root root 4096 may  9 14:25 ludr1pp4.tmp_/

/var/spool/libreoffice/uno_packages/cache/uno_packages/ludr1mw8.tmp_:
total 8
drwxr-xr-x 2 root root 4096 may  9 14:25 salt.zip/
-rw-r--r-- 1 root root   18 may  9 14:25 salt.zipproperties

/var/spool/libreoffice/uno_packages/cache/uno_packages/ludr1pp4.tmp_:
total 8
drwxr-xr-x 2 root root 4096 may  9 14:25 saltutil.zip/
-rw-r--r-- 1 root root   18 may  9 14:25 saltutil.zipproperties
Cuidado porque podrías tener algo más en ese directorio, sino teneís nada más:
# rm -rf /var/spool/libreoffice/uno_packages/cache/uno_packages/*
Sino borrar el fichero .tmp y su directorio asociado que os aparezca a cada uno.

Ya había dicho que no era muy elegante ;-)

2. Solo funciona en sistemas de 32 bits, olvidaros de sistemas de 64 bits sin los fuentes. En sistemas de 64 bits da el siguiente error:
$ sudo dpkg -i salt-common_4.2.2_all.deb
[sudo] password for ruben:
Seleccionando paquete salt-common previamente no seleccionado
(Leyendo la base de datos ... 184992 ficheros o directorios instalados actualmente.)
Desempaquetando salt-common (de salt-common_4.2.2_all.deb) ...
Configurando salt-common (4.2.2) ...
ruben@cpv1174:~/salt/nou_salt_20120312$ sudo dpkg -i salt-data_4.2.0+201200312.1_all.deb
Seleccionando paquete salt-data previamente no seleccionado
(Leyendo la base de datos ... 184999 ficheros o directorios instalados actualmente.)
Desempaquetando salt-data (de salt-data_4.2.0+201200312.1_all.deb) ...
Configurando salt-data (4.2.0+201200312.1) ...
ruben@cpv1174:~/salt/nou_salt_20120312$ sudo dpkg -i salt-server_4.2.2_i386.deb
Seleccionando paquete salt-server:i386 previamente no seleccionado
(Leyendo la base de datos ... 185053 ficheros o directorios instalados actualmente.)
Desempaquetando salt-server:i386 (de salt-server_4.2.2_i386.deb) ...
dpkg: problemas de dependencias impiden la configuración de salt-server:i386:
 salt-server:i386 depende de python (>= 2.5).
 salt-server:i386 depende de salt-common.
 salt-server:i386 depende de salt-data.
dpkg: error al procesar salt-server:i386 (--install):
 problemas de dependencias - se deja sin configurar
Procesando disparadores para ureadahead ...
ureadahead will be reprofiled on next reboot
Procesando disparadores para man-db ...
Se encontraron errores al procesar:
 salt-server:i386
 Eliminando del fichero control las dependencias para probar:
$ sudo dpkg -i salt-server_4.2.2_i386.deb
(Leyendo la base de datos ... 185086 ficheros o directorios instalados actualmente.)
Preparando para reemplazar salt-server:i386 4.2.2 (usando salt-server_4.2.2_i386.deb) ...
Desempaquetando el reemplazo de salt-server:i386 ...
Configurando salt-server:i386 (4.2.2) ...
update-rc.d: warning: /etc/init.d/salt-server missing LSB information
update-rc.d: see
 Adding system startup for /etc/init.d/salt-server ...
   /etc/rc1.d/K00salt-server -> ../init.d/salt-server
   /etc/rc6.d/K00salt-server -> ../init.d/salt-server
   /etc/rc1.d/S20salt-server -> ../init.d/salt-server
   /etc/rc2.d/S20salt-server -> ../init.d/salt-server
   /etc/rc3.d/S20salt-server -> ../init.d/salt-server
   /etc/rc4.d/S20salt-server -> ../init.d/salt-server
   /etc/rc5.d/S20salt-server -> ../init.d/salt-server
Starting SaltServer: sltsrv.
Traceback (most recent call last):
  File "/usr/bin/sltsrv", line 40, in
    import sltgl
  File "/usr/share/salt-server/sltgl.py", line 241, in
    import sltgen
ImportError: /usr/lib/sltgen.so: wrong ELF class: ELFCLASS32
Procesando disparadores para ureadahead ...
Procesando disparadores para man-db ...

Vamos que ocurre lo normal, quizás se pueda hacer algo utilizando la librería ia32-libs, pero sin los fuentes es poco probable que se pueda hacer algo con librerías que ya han sido compiladas ;-)
Algo más de información sobre le soporte multiarch en debian: http://wiki.debian.org/Multiarch/Implementation

3. Problemas que puedes tener si te pones a hacer tus propias pruebas:
No consigues abrir libreoffice. Después de varias pruebas se queda deteriorado y no puedes ni abrirlo, con mensajes como (ejecutando desde terminal para poder verlos):
$ soffice
terminate called after throwing an instance of 'com::sun::star::uno::RuntimeException'
Borramos las configuración específica  del usuario:
$ rm -rf ~/.config/libreoffice
Si aún así no te funciona podemos purgar la instalación de libreoffice y volver a instalar:
$ aptitude purge libreoffice-base-core libreoffice-core
$ aptitude install libreoffice
4. Si el paquete salt-ooo-addons se queda en un estado inestable y no consigues elimiarlo porque dice que necesita una reinstalación:
# dpkg -r --force-remove-reinstreq salt-ooo-addonsdpkg: aviso: sobreseyendo el problema porque está activa la opción --force:

 El paquete está en un estado muy malo e inconsistente - debe reinstalarlo
 antes de intentar desinstalarlo.
(Leyendo la base de datos ... 431516 ficheros o directorios instalados actualmente.)
Desinstalando salt-ooo-addons ...
5. Comandos útiles.
Para las pruebas con las extensiones no vale la pena estar instalando y desinstalando paquetes directamente utilizamos comandos:
# /usr/lib/libreoffice/program/unopkg add -v --shared /usr/share/salt-ooo-addons/salt.zip
# /usr/lib/libreoffice/program/unopkg remove -v --shared /usr/share/salt-ooo-addons/salt.zip
 # /usr/lib/libreoffice/program/unopkg list --shared
All deployed shared extensions:

Identifier: org.openoffice.legacy.salt.zip
  URL: vnd.sun.star.expand:$UNO_SHARED_PACKAGES_CACHE/uno_packages/lucfzww3.tmp_/salt.zip
  is registered: yes
  Media-Type: application/vnd.sun.star.legacy-package-bundle
  Description:
  bundled Packages: {
      URL: vnd.sun.star.expand:$UNO_SHARED_PACKAGES_CACHE/uno_packages/lucfzww3.tmp_/salt.zip/addon.xcu
      is registered: yes
      Media-Type: application/vnd.sun.star.configuration-data
      Description:

      URL: vnd.sun.star.expand:$UNO_SHARED_PACKAGES_CACHE/uno_packages/lucfzww3.tmp_/salt.zip/sltooo.py
      is registered: yes
      Media-Type: application/vnd.sun.star.uno-component;type=Python
      Description:

  }

Identifier: org.openoffice.legacy.saltutil.zip
  URL: vnd.sun.star.expand:$UNO_SHARED_PACKAGES_CACHE/uno_packages/lucfzzp5.tmp_/saltutil.zip
  is registered: yes
  Media-Type: application/vnd.sun.star.legacy-package-bundle
  Description:
  bundled Packages: {
      URL: vnd.sun.star.expand:$UNO_SHARED_PACKAGES_CACHE/uno_packages/lucfzzp5.tmp_/saltutil.zip/sltuooo.py
      is registered: yes
      Media-Type: application/vnd.sun.star.uno-component;type=Python
      Description:

      URL: vnd.sun.star.expand:$UNO_SHARED_PACKAGES_CACHE/uno_packages/lucfzzp5.tmp_/saltutil.zip/addon.xcu
      is registered: yes
      Media-Type: application/vnd.sun.star.configuration-data
      Description:

  }
Y para rematar si queremos ver una traza:
# strace /usr/lib/libreoffice/program/unopkg remove -v --shared -f saltutil.zip


readlink("/usr/lib/libreoffice/ure-link", "../ure", 4095) = 6
lstat64("/usr/lib/ure", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/usr/lib", {st_mode=S_IFDIR|0755, st_size=122880, ...}) = 0
lstat64("/usr/lib/ure", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/usr/lib/ure/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/usr/lib", {st_mode=S_IFDIR|0755, st_size=122880, ...}) = 0
lstat64("/usr/lib/ure", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/usr/lib/ure/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/usr/lib/ure/lib/libuno_cppu.so.3", {st_mode=S_IFREG|0644, st_size=227236, ...}) = 0
gettimeofday({1336505315, 837259}, NULL) = 0
write(2, "\nERROR: Error while adding: vnd."..., 115
ERROR: Error while adding: vnd.sun.star.expand:$UNO_SHARED_PACKAGES_CACHE/uno_packages/lucfzzp5.tmp_/saltutil.zip
) = 115
write(2, "       Cause: (com.sun.star.lang"..., 275       Cause: (com.sun.star.lang.IllegalArgumentException) { { Message = "Cannot detect media-type: file:///var/spool/libreoffice/uno_packages/cache/uno_packages/lucfzzp5.tmp_/saltutil.zip", Context = (com.sun.star.uno.XInterface) @9ff38b8 }, ArgumentPosition = (short) -1 }
) = 275
close(10)                               = 0
munmap(0xb11b6000, 192512)              = 0
write(2, "\nunopkg failed.\n", 16
unopkg failed.
)      = 16


¿Por cierto alguien por ahí con lliurex y que me diga si le funciona? ;-)



Actualización (16/05/2012): He estado mirando el estado de salt en lliurex y tienen solucionado el problema del borrado como podemos ver aquí.
De modo que he cambiado los scripts postinst y prerm para que utilicen su solución para el borrado que es lo mismo que hacíamos manualmente en la explicación de este artículo pero de forma automática.
Añadimos esta sección de código a los scripts:

postinst:
clean_old_salts()
{
    FILES_TO_FURGATE="salt.zip saltutil.zip"
    DIRECTORY_IS="/var/spool/libreoffice/uno_packages/cache/uno_packages/"
   
    # Workaround to solve some upgrade problems
    # test if directory exists and contains some files.
   
    if [ -d "$DIRECTORY_IS"    ] ; then

        # If the files and directory exists:
        for f in $FILES_TO_FURGATE ; do
                AUX=$(find $DIRECTORY_IS -xtype d -name "$f")
            if [ -n "$AUX" ] ; then
                    DIRTY_FILE="$(dirname "$AUX" | sed "s%_$%%")"
                    rm -rf "$DIRTY_FILE" "$(dirname "$AUX"/)"
            fi
                echo "$f is cleaning"
        done
    fi
}


case "$1" in
    configure)
    clean_old_salts
    /usr/lib/libreoffice/program/unopkg add -v --shared /usr/share/salt-ooo-addons/salt.zip
    /usr/lib/libreoffice/program/unopkg add -v --shared /usr/share/salt-ooo-addons/saltutil.zip
    ;;
    abort-remove)
    clean_old_salts
    ;;
prerm:
clean_old_salts()
{
    FILES_TO_FURGATE="salt.zip saltutil.zip"
    DIRECTORY_IS="/var/spool/libreoffice/uno_packages/cache/uno_packages/"
   
    # Workaround to solve some upgrade problems
    # test if directory exists and contains some files.
   
    if [ -d "$DIRECTORY_IS"    ] ; then

        # If the files and directory exists:
        for f in $FILES_TO_FURGATE ; do
                AUX=$(find $DIRECTORY_IS -xtype d -name "$f")
            if [ -n "$AUX" ] ; then
                    DIRTY_FILE="$(dirname "$AUX" | sed "s%_$%%")"
                    rm -rf "$DIRTY_FILE" "$(dirname "$AUX"/)"
            fi
                echo "$f is cleaning"
        done
    fi
}

case "$1" in
    remove|upgrade|deconfigure)
    clean_old_salts
#    /usr/lib/libreoffice/program/unopkg remove -v --shared salt.zip
#    /usr/lib/libreoffice/program/unopkg remove -v --shared saltutil.zip
    ;;

Por lo que he visto de lliurex en la próxima versión funcionará con lliurex como podemos ver en el fichero control cambia la dependencia de openoffice a libreoffice:

Depends: salt-server, libreoffice-common

Al desacargar el fichero salt-ooo-addons.deb desde este enlace o el del inicio del artículo ya tenéis actualizados estos cambios.


miércoles, 17 de noviembre de 2010

Congreso de Software Libre de la Comunidad Valencia

Los días 11 y 12 de Noviembre estuve en la celebración del IV Congreso de Software Libre de la Comunidad Valenciana en la Ciudad Politécnica de la Innovación (CPI).
Durante el congreso se presentó la nueva versión de la distribución GNU/Linux LliureX 10.09 basada en Ubuntu Lucid Lynx 10.04 LTS. Al ser LTS tendrá actualizaciones durante más tiempo y se solventarán algunos problemas que se daban por el salto de versiones (Ubuntu tiene periodicidad bianual mientras que Lliurex saca una versión al año).
Pudimos ver las diferentes versiones: Modelo de aula (centro), Escritorio, Infantil, Aula de Música, Versión ligera o Lite y Biblioteca.
Los manuales para está versión todavía no están disponibles pero comentaron que lo estarían en un par de semanas.

Creo que se ha trabajado mucho en la distribución, también en sus diferentes "sabores" y me gustaron las nuevas características como el centro del control y el modelo de centro educativo inteligente.

Respecto al evento en si mismo decir que me dejo una sensación agridulce con sus cosas buenas y malas e incluso alguna (una en concreto) hasta preocupante.
Contento por el hecho de que la Consellería de educación, pese a la situación económica, haya llevado a cabo el evento y no se contagiase de la actitud de otras administraciones de la geografía española. Esto son iniciativas y no centros de investigación de multinacionales con ocho trabajadores.
Pude comprobar en algunas charlas el excelente compromiso por parte de parte de la administración local valenciana con el software libre.
Hubo mucha gente, como tenía que ser ya que había 700 inscritos. Por lo que el interés en el evento ha sido elevadísimo.
El personal estaba muy descontento por el problema del aforo en muchas charlas, mucha gente de pie o sentada en el suelo y mucha gente sin poder entrar. No es necesario disponer de equipos para hacer un taller si en una hora solo da tiempo de hacer una presentación.
Seis charlas en paralelo son excesivas, me quede con ganas de estar en muchas más.
El aforo y las instalaciones dejaron mucho que desear, no creo que la CPI sea el lugar idóneo para un evento multitudinario de este estilo.

¿Cómo, a estas alturas, se puede realizar un evento de estas características y no proporcionar WIFI para los asistentes?, esto lo convierte en un acto anclado en el pasado y no en un acto 2.0 donde prima la difusión y la comunicación participativa de los propios asistentes.
No existió la interesante interacción de los participante mediante el hashtag de twitter del evento debido a la falta de vías de comunicación.

Por las preguntas del personal asistente y las continuas interrupciones se desprendiá la sensación de descontento de quienes conviven con la implantación en los centros a diario. Desde fuera solo decir que ya me gustaría que existiesen iniciativas similares para muchas administraciones y un apoyo tan decidido.
Supongo que el descontento tienen más que ver con una asistencia técnica y una formación escasa.

Preocupante: los comentarios y la actitud del representante de Cenatic en una de sus charlas, me quede con la impresión de que nos toman por tontos y los que llevamos mucho más tiempo que ellos en esto del software libre... cuesta un poco más camelarnos o confundirnos.
Por una lado, ¿software de fuentes abiertas?, que pese a que se la traducción de "open source" no significa lo mismo y algunos lo sabemos pese a que en cada frase remarque el "software de fuentes abiertas", que me den el código para "verlo" no me sirve de nada por si solo.
Mareando la perdiz con las licencias y queriendo hacer complicado lo simple... es que liberar software es complicado, bueno en parte es cierto, pero si soy una administración pública, saco un concurso y establezco que el software que van a crear o van a utilizar tiene que ser software libre ya se preocuparán las empresas que quieran participar de que así sea: definitivamente sencillo.
En fin, si son los que tienen que potenciar el software libre a nivel estatal, miedo me da.

Mark Shuttleworth, simplemente: realista e inspirador.