#!/bin/bash

# ======================================================================
# Archivo:       distros
# Ruta:          /usr/local/bin/
# Autor:         Charlie Martínez® <cmartinez@quirinux.org>
# Licencia:      https://www.gnu.org/licenses/gpl-2.0.txt
# Propósito:     Listar distribuciones existentes en un repo local
# Distribución:  Quirinux 2.x
# ======================================================================

#
# Copyright (c) 2019-2025 Charlie Martínez, derechos reservados.
# Licencia: https://www.gnu.org/licenses/gpl-2.0.txt
# Usos autorizados y no autorizados de la marca Quirinux:
# Ver https://www.quirinux.org/aviso-legal
#

# ----------------------------------------------------------------------
# Variables
# ----------------------------------------------------------------------

REPO_PATH=${1:-/media/charlie/ARCHIVOS/Repo.quirinux.org}
DIST_FILE="$REPO_PATH/conf/distributions"

# ----------------------------------------------------------------------
# Comprueba si hay distros
# ----------------------------------------------------------------------

if [ ! -f "$DIST_FILE" ]; then
    echo "No se encontró el archivo de distribuciones en $DIST_FILE"
    exit 1
fi

# ----------------------------------------------------------------------
# Listar distros
# ----------------------------------------------------------------------

echo "Distribuciones existentes en el repo:"

# Leer línea por línea y extraer los codenames
while IFS= read -r line; do
    # Convertimos a minúsculas para evitar problemas con 'Codename'
    lcase=$(echo "$line" | tr '[:upper:]' '[:lower:]')
    if [[ $lcase == codename:* ]]; then
        # Extraemos lo que está después de los dos puntos y quitamos espacios
        codename=$(echo "$line" | cut -d':' -f2 | xargs)
        echo "$codename"
    fi
done < "$DIST_FILE"
