Script para debianizar los paquetes de instalación de OpenOffice.org 2.0 beta


Actualizado 20/07/05

Las versiones de desarrollo de OpenOffice.org 2.0 (numeradas como 1.9.xx) se distribuyen en paquetes RPM, lo que obliga a usuarios de distribuciones basadas en Debian a debianizar los paquetes mediante alien.

El problema viene cuando deseamos instalar la localización en otro idioma, pues el RMP correspondiente viene incrustado dentro de un script autoinstalable.

Veamos como hacerlo…

Actualización:
Lo que sigue fue válido hasta la versión 1.9.99. A partir de la versión 1.9.100, al cambiar el número de versión dejó de funcionar.
En la lista de discuss_es de OOo, Héctor Andrés Rompato nos da la solución para versiones recientes:

OK, me corrijo, he podido instalar la versión en español del beta 109 en Debian, ¿cómo?:
bajé el script desde http://oootranslation.services.openoffice.org/pub/OpenOffice.org/680m109/
ejecuté el siguiente comando:
tail -n +159 OOo_1.9.109_LinuxIntel_langpack_es.sh > spanish.tar.gz
extraje los 3 rpm (sí, se producen 3 rpm)
ejecuté alien -k ….

Queda dicho…
🙂
…………………………………………………

La solución pasa por extraer el RPM del autoinstalable para poder debianizarlo e instalarlo.
La estructura del fichero es como sigue:

#!/bin/sh
(…)
código de desempaquetado e instalación del rpm
(…)
exit 0
(código del rpm)

Como véis, se trata simplemente de eliminar todas las líneas del archivo hasta la que pone exit 0.
Sin embargo, cada dos semanas se publica una nueva revisión del programa que no garantiza que lo que nos ha funcionado en esta versión sirva para las posteriores, o incluso que sirva para otros lenguajes a parte del español (con el cual he hecho las pruebas).
Por eso he pensado en crear un script para automatizar en lo posible esta tarea. Como no soy experto en bash, he tenido que hacer algunas consultas a la lista de correo de Bulma, pero creo que el invento ya funciona.
El script, que he denominado debianiza_oo_lang y al que pasaremos como argumento el nombre del paquete de localizacion, es como sigue…

#!/bin/bash
# debianiza_oo_lang
# extraer el RPM de los paquetes de localizacion de lenguajes de OOo 2.0 beta

# crea nombre del fichero de salida
# esto deberá modificarse si en versiones futuras se varia la estructura del
# nombre del script; en la version 1.9.79 es:
# OOo_1.9.m79_native_LinuxIntel_langpack_es.sh

language=`echo $1 | cut -c40-41`
version=`echo $1 | cut -c5-7`
revision=`echo $1 | cut -c10-11`
of=openofficeorg-$language-$version.$revision-1.i586.rpm

# determina el numero de lineas del archivo
lintotal=`wc -l $1 | cut -f1 -d\ `

# numero de linia del fin del script
linfinal=`grep -an ‘exit 0’ $1 | cut -f1 -d:`

# lineas a extraer
linextrae=$[$lintotal – $linfinal + 1]

# extraigo las últimas $linextrae lineas, creando el rpm
tail -n $linextrae $1 > $of

Ya está listo, tan sólo debemos ejecutar

$ debianiza_oo_lang OOo_1.9.m79_native_LinuxIntel_langpack_es.sh (o el nombre del paquete de localización de que se trate)
El rpm resultante ya lo podemos debianizar e instalar con dpkg. Podemos incluir esto en nuestro script anterior añadiendo las líneas:

# debianiza el paquete con alien
sudo alien -k $of

# instala con dpkg
sudo dpkg -i –force-overwrite *.deb

Agradeceré que lo probéis con otras localizaciones distintas de la española y en futuras versiones para comprobar su correcta funcionalidad.
Estoy seguro de que alguien con dominio de las expresiones regulares podría escribir algo parecido en una sola línea pero no es ese mi caso, y creo que, de esta manera, será de más fácil comprensión para cualquier profano. 😉

Este post ha sido traido de forma automatica desde https://web.archive.org/web/20140625063149/http:/bulma.net/body.phtml?nIdNoticia=2154 por un robot nigromante, si crees que puede mejorarse, por favor, contactanos.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.