El software de OpenDomo, al igual que en el resto de distribuciones basadas en Linux, se gestiona mediante paquetes de distribución. Estos paquetes son archivos tar.gz y pueden descargarse de los repositorios OpenDomo.
La distribución incluye los scripts pkg_add y pkg_del para instalar y desinstalar manualmente estos paquetes desde la línea de comandos, aunque el método recomendado seré a través de la interfaz convencional (por ejemplo web), empleando los repositorios oficiales de OpenDomo.
Nomenclatura
nombre-build.distro.arch.tar.gz
El nombre del paquete deberá constar solamente de caracteres en minúscula y números. No se permiten mayúsculas ni caracteres no alfabéticos (signos de puntuación, espacios) y el uso del guión bajo "_" quedará restringido para definir complementos de paquetes (ver siguiente apartado).
En nuestro caso en "distro" pondremos "od", de OpenDomo. Así los diferenciamos de paquetes que podemos usar de otras distribuciones. No es un campo obligatorio.
"build" será la fecha de empaquetado, con el formato YYYYMMDD (año, mes y día, sin guiones ni espacios).
En el caso de los paquetes basados en scripts, "arch" se corresponderá a "noarch", puesto que no han sido compilados para una determinada arquitectura. Para los basados en arquitectura Intel x86, el código es "x86", y así para el resto de plataformas.
Complementos de paquetes
Los paquetes podrán ir complementados por funcionalidades extra que no tendrían razón de existir sin el paquete principal. Para ello añadiremos al nombre un sufijo (después del caracter "_") que lo identificará.
A modo de ejemplo:
- pkgmanager-20080505.od.arch.tar.gz
- pkgmanager_es-20080505.od.arch.tar.gz (paquete de idioma complementario en castellano)
- pkgmanager_en-20080505.od.arch.tar.gz (paquete de idioma complementario en inglés)
- odcgi-20080522.od.arch.tar.gz
- odcgi_es-20080522.od.arch.tar.gz
- odcgi_tbig-20080522.od.arch.tar.gz (paquete complementario vara fuentes extra-grandes)
Creación del paquete
A continuación hay un breve ejemplo de como debe prepararse el paquete:
$ mkdir microperl-5.8.8.od.x86
$ mkdir microperl-5.8.8.od.x86/usr
$ mkdir microperl-5.8.8.od.x86/usr/bin
$ cp perl-5.8.8/microperl? microperl-5.8.8.od.x86/usr/bin/
$ cd microperl-5.8.8.od.x86/
$ tar cvfz ../microperl-20080508.od.x86.tar.gz *
Es posible que para completar la instalación de un paquete sea necesario realizar algunas operaciones después de la descompresión. En ese caso añadiremos un script /var/pkg/[nombre paquete]_install.sh que lo haga. En esta ubicación añadiremos también un archivo "[nombre paquete]_uninstall.sh" que realice una limpia desinstalación.
Requisitos de validez de los paquetes
Los paquetes de instalación OpenDomo deberán cumplir los siguientes requisitos:
- El formato de archivo es empaquetado tar con compresión gzip (extensión tar.gz o tgz)
- El paquete está preparado para ser descomprimido en la raíz (las rutas que contiene son absolutas)
- El nombre de archivo deberá cumplir la estructura especificada en el apartado Nomenclatura.
- Si el paquete requiere un archivo de configuración en /etc/, se proporcionará tal archivo dentro del paquete, pero con una segunda extensión ".orig", de forma que al actualizar los programas, no se pierda una configuración que podría haber sido modificada por el usuario. Otro mecanismo aceptado es generar tal archivo de configuración desde los propios scripts del paquete, en caso que éste no exista.
- Deberá respetarse la estructura de directorios y su funcionalidad: configuraciones en /etc/opendomo, PIDs en /var/run, archivos de registro en /var/log/, binarios en /usr/local/bin y /usr/local/sbin, scripts compatibles OpenDomo en /usr/local/opendomo/services/..., archivos temporales en /tmp/, archivos de escritura frecuente en /var/, ...
- Los archivos tienen los permisos, propietarios y grupos adecuados: controlar permisos de ejecución, grupos válidos y demás.
- Deberá indicarse claramente qué dependencias tiene cada paquete, ya sea en el README incorporado como en el repositorio.
- Si el paquete contiene archivos binarios, éstos deberán ser compilados con la librería uClibc, que es la empleada en OpenDomo.
Es aconsejable que se eviten los scripts de instalación siempre que sea posible. Si no lo es deberá incorporarse también el correspondiente script de desinstalación.
Actualización de paquetes
La actualización de paquetes se realiza del siguiente modo:
- La distro incorpora una lista de repositorios
- El script de instalación se descarga una lista de paquetes de cada repositorio. En esta lista aparecen todos los paquetes, versiones y compilaciones distintas que el repositorio contiene.
- El script une todas las listas, las ordena alfabéticamente y elimina duplicados.
- Se filtra la lista dejando solamente los paquetes que incluyan como arquitectura "noarch" y la correspondiente a la plataforma donde se ejecute
- Con la lista restante, comprobamos por cada paquete si éste ha sido ya instalado
- En caso afirmativo comprobamos si la versión disponible es superior a la instalada
- Si la segunda comprobación también es afirmativa, descargaremos el paquete y se procederá a instalarlo
Recent comments
4 hours 10 min ago
4 hours 16 min ago
4 hours 52 min ago
12 hours 15 min ago
23 hours 5 min ago
1 day 7 hours ago
1 day 18 hours ago
1 day 22 hours ago
2 days 6 hours ago
2 days 12 hours ago