viernes, 28 de abril de 2023

Ampliando RetroMultiInstaller: estructura interna (I)

RetroMultiInstaller es una colección de scripts que facilitan la instalación de programas en distros GNU/Linux de la familia Debian, éste va a ser el primero de varios artículos en el que vamos a aprender a ampliar esta aplicación para que instale también los programas que necesitemos y que aún no estén incluidos, incluso me podéis sugerir la inclusión de scripts de interés adjuntándolos junto a una descripción en la sección de issues.

El primer paso para conocer una nueva herramienta es saber algo de su estructura interna y eso es lo que vamos a tratar de ver hoy, RetroMultiInstaler está pensado para que podamos ver y entender que hacen los scripts aunque seamos novatos en el uso de los mismos, tratando que el código sea claro y comprensible.

Requisitos preliminares

Para usar RetroMultiInstaler necesitamos dos cosas:

También necesitaremos el paquete dialog para que pinte los menús, pero el propio script nos pedirá instalarlo en su primera ejecución si no está presente.


Descarga y actualización

Ya podemos descargar el script con toda su estructura con el comando:

git clone https://gitlab.com/cpcbegin/retromultiinstaller

Si ya lo tenemos descargado podemos actualizarlo a la última versión con el comando:

git pull

La actualización es fundamental antes de cambiar algo en el script.


Estructura interna

Estos son los archivos y carpetas principales que cuelgan de la carpeta que contiene el script

  • retroinstaller.sh: script principal con el que ejecutamos la herramienta.
  • opt: carpeta donde se generan los archivos y carpetas , todos los scripts se ejecutan desde esta ubicación y por tanto todas las rutas relativas deben componerse como si estuviéramos en este directorio. También es conveniente excluirlo del contol de git
  • commonscripts: scripts que se usan en varios sitios.
  • installers: contiene los scripts de instalación.
  • menus: contiene los archivos con los menús, el principal es main.txt que llama al resto de menús ya que se pueden llamar unos a otros. Cada línea contiene una etiqueta índice un espacio y una descripción, dentro de la descripción puede haber espacios pero deben ser espacios duros.
  • resources: diversos recursos incluidos en el script.
  • shotcuts: archivos a copiar en la estructura del sistema.
  • warning: archivos con texto de aviso al finalizar la instalación.
  • README.md: Información sobre el software que se puede instalar.
La etiqueta índice del menú debe coinidir con el prefijo del script de instalación, cuyo nombre será indice_installer.sh
También es conveniente que se use en el nombre del resto de archivos del script para mantener la coherencia y facilitar el mantenimiento.   

No hay comentarios:

Publicar un comentario