docs: add bootstrap order and Forgejo export details
- Record ADR-05 detailing the topological sorting and cyclic group resolution. - Update package compilation guide with instructions for running the bootstrap daemon and the Forgejo package exporter. - Log agent progress in the project journal. Co-developed-by: Gemini AI <renich+gemini@woralelandia.com> Signed-off-by: Rénich Bon Ćirić <renich@woralelandia.com>
This commit is contained in:
parent
7ab7d80bd2
commit
06e8edfc4f
5 changed files with 156 additions and 0 deletions
|
|
@ -78,3 +78,43 @@ Si has importado paquetes base nuevos o modificado las prioridades de los reposi
|
|||
.. code-block:: bash
|
||||
|
||||
koji regen-repo --make-task mxos0-build
|
||||
|
||||
Bootstrap de la Distribución (BaseOS)
|
||||
=====================================
|
||||
|
||||
Para construir todos los paquetes base (BaseOS) de la distribución MxOS de forma ordenada, hemos calculado las dependencias en un contenedor de CentOS Stream 10 (usando la API de DNF para realizar un ordenamiento topológico y resolver ciclos mediante componentes fuertemente conectados).
|
||||
|
||||
El orden resultante contiene 480 paquetes únicos y está guardado en el Koji Hub en ``/root/bootstrap_order.txt``.
|
||||
|
||||
Para ejecutar la compilación de bootstrap de forma continua y concurrente (por defecto con un límite de 10 compilaciones simultáneas), se utiliza el script daemon ``/root/bootstrap-baseos.py``. Este lee la lista ordenada, añade los paquetes no registrados a Koji y lanza las tareas de compilación de forma iterativa:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# Ejecutar el daemon en segundo plano para iniciar el bootstrap
|
||||
nohup python3 /root/bootstrap-baseos.py > /var/log/bootstrap-baseos.log 2>&1 &
|
||||
|
||||
Puedes supervisar el progreso de las tareas leyendo su archivo de bitácora o listando las tareas de Koji:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
tail -f /var/log/bootstrap-baseos.log
|
||||
koji list-tasks --mine
|
||||
|
||||
Exportación de Paquetes al Registro Forgejo
|
||||
===========================================
|
||||
|
||||
El registro final para alojar y servir nuestros paquetes RPM oficiales para consumo de DNF es el Registro de Paquetes de Forgejo (``git.mx-os.mx/api/packages/RPMs/rpm``).
|
||||
|
||||
Para automatizar la exportación de todos los paquetes RPM que Koji ha compilado y firmado exitosamente, se utiliza el script ``/root/export-koji-to-forgejo.py``. Este script:
|
||||
|
||||
1. Consulta todas las compilaciones completadas bajo la etiqueta ``mxos0``.
|
||||
2. Localiza los RPMs firmados en el almacenamiento compartido de Koji (``/mnt/koji/packages/``).
|
||||
3. Filtra archivos fuentes (``.src.rpm``) y subpaquetes de depuración (``debuginfo`` y ``debugsource``).
|
||||
4. Sube por HTTP PUT cada RPM binario firmado al registro Forgejo de la organización ``RPMs``.
|
||||
|
||||
Para ejecutar la exportación manualmente de todos los paquetes listos, ejecuta en Koji Hub:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo python3 /root/export-koji-to-forgejo.py
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue