From d93cd5103708f1e3e73be155c7307fcc9fb6a51e Mon Sep 17 00:00:00 2001 From: Vadim Troshchinskiy Date: Wed, 6 Nov 2024 14:28:03 +0100 Subject: [PATCH] Improve gitlib instructions --- gitlib/README.md | 49 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 25 deletions(-) diff --git a/gitlib/README.md b/gitlib/README.md index 0e6ea48..d24b2e2 100644 --- a/gitlib/README.md +++ b/gitlib/README.md @@ -6,44 +6,47 @@ de comandos para pruebas. Contiene las funciones de gestión de git, y la parte de línea de comandos permite ejecutarlas sin necesitar escribir un programa que use la librería. -# Instalación de dependencias para python +## Requisitos + +La gitlib esta diseñada para funcionar dentro de un entorno opengnsys existente. Invoca algunos de los comandos de opengnsys internamente, y lee los parámetros pasados al kernel en el oglive. + +Por lo tanto, no va a funcionar correctamente fuera de un entorno oglive. + +## Instalación de dependencias para python La conversion del código a Python 3 requiere actualmente los paquetes especificados en `requirements.txt` Para instalar dependencias de python se usa el modulo venv (https://docs.python.org/3/library/venv.html) que instala todas las dependencias en un entorno independiente del sistema. +**Nota:** Ubuntu 24.04 tiene la mayoría de las dependencias necesarias como paquetes, pero no hay paquete de `blkid`, por lo cual es necesario usar pip y un virtualenv. + +Ejecutar: + + sudo apt install -y python3 libarchive-dev libblkid-dev pkg-config libacl1-dev + python3 -m venv venvog + . venvog/bin/activate + python3 -m pip install --upgrade pip + pip3 install -r requirements.txt + # Uso - -## Distribuciones antiguas (18.04) - - sudo apt install -y python3 libarchive-dev libblkid-dev pkg-config libacl1-dev - python3.8 -m venv venvog - . venvog/bin/activate - python3.8 -m pip install --upgrade pip - pip3 install -r requirements.txt - Ejecutar con: - ./gitlib.py + # . venvog/bin/activate + # ./gitlib.py En modo de linea de comando, hay ayuda que se puede ver con: ./gitlib.py --help -Los comandos que comienzan por `--test` existen para hacer pruebas internas, y existen temporalmente para probar partes especificas del código. Es posible que necesiten condiciones especificas para funcionar, y van a eliminarse al completarse el desarrollo. +**Nota:** Ejecutar como usuario `root`, ya que `sudo` borra los cambios a las variables de entorno realizadas por venv. El resultado probable es un error de falta de módulos de Python, o un fallo del programa por usar dependencias demasiado antiguas. -## Uso - -**Nota:** Preferiblemente ejecutar como `root`, ya que `sudo` borra los cambios a las variables de entorno realizadas por venv. El resultado probable es un error de falta de módulos de Python, o un fallo del programa por usar dependencias demasiado antiguas. - - # . venv/bin/activate - # ./gitlib.py +**Nota:** Los comandos que comienzan por `--test` existen para hacer pruebas internas, y existen temporalmente para probar partes especificas del código. Es posible que necesiten condiciones especificas para funcionar, y van a eliminarse al completarse el desarrollo. -### Inicializar un repositorio: +## Inicializar un repositorio: ./gitlib.py --init-repo-from /dev/sda2 --repo linux @@ -54,7 +57,7 @@ Esto inicializa el repositorio 'linux' con el contenido /mnt/sda2. El repositorio de sube al ogrepository, que se obtiene del parámetro de arranque pasado al kernel. -### Clonar un repositorio: +## Clonar un repositorio: ./gitlib.py --clone-repo-to /dev/sda2 --boot-device /dev/sda --repo linux @@ -76,8 +79,7 @@ Esto clona un repositorio del ogrepository. El destino es un dispositivo físico Windows usa una estructura llamada BCD (https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/bcd-system-store-settings-for-uefi?view=windows-11) para almacenar la configuración de arranque. -La estructura puede variar dependiendo en que maquina se despliegue, por esto gitlib soporta almacenar internamente -multiples versiones del BCD, y elegir el correspondiente a una maquina especifica. +La estructura puede variar dependiendo en que maquina se despliegue, por esto gitlib soporta almacenar internamente multiples versiones del BCD, y elegir el correspondiente a una maquina especifica. @@ -93,9 +95,6 @@ Se puede generar documentación de Python con una utilidad como pdoc3 (hay multi # Funcionamiento -## Requisitos - -La gitlib esta diseñada para funcionar dentro de un entorno opengnsys existente. Invoca algunos de los comandos de opengnsys internamente, y lee los parámetros pasados al kernel en el oglive. ## Metadatos