#!/bin/bash
# armar-bibliotecas: arma los paquetes del proyecto comunes (deb, tgz, rpm)
# en el entorno ubuntu2204: las bibliotecas de afuera que usan nuestros
# proyectos (ncurses, readline, pcre2, gsl, OpenBLAS, SuiteSparse con KLU y
# Mongoose), siempre en la misma version, en /usr/lib/simusol. Pedido del
# autor, 08/10/2026. Ver bibliotecas.sh y README.md.
#
#   summapack/distros/armar-bibliotecas
#
# La version es la de comunes.summa (VERSION). Deja los paquetes, sus
# .md5 y comunes_VERSION.summa en salida/ubuntu2204/ y los anota en
# siru/subir.lista. Tarda (OpenBLAS para todos los procesadores).
set -euo pipefail
AQUI=$(cd "$(dirname "$0")" && pwd)
SUMMAPACK=$(dirname "$AQUI")
SIRU=$(dirname "$SUMMAPACK")
SUMMA=$AQUI/comunes.summa
VERSION=$(sed -n 's/^VERSION="\(.*\)"$/\1/p' "$SUMMA")
[ -n "$VERSION" ] || { echo "armar-bibliotecas: $SUMMA no dice VERSION" >&2; exit 1; }
SALIDA=$AQUI/salida/ubuntu2204
mkdir -p "$SALIDA/simusol" "$AQUI/salida/comunes/fuentes"
# lo compilado queda en salida/ubuntu2204/simusol (no se rehace); para
# empezar de cero (otra version de alguna): borrar esa carpeta

echo "==> Entorno siru-ubuntu2204"
podman build -q -t siru-ubuntu2204 "$AQUI/ubuntu2204" > /dev/null
echo "==> comunes $VERSION (todo en $SALIDA/bibliotecas.log)"
if ! podman run --rm \
        -v "$SALIDA":/salida:Z \
        -v "$SALIDA/simusol":/usr/lib/simusol:Z \
        -v "$AQUI/salida/comunes/fuentes":/tmp/fuentes:Z \
        -v "$SUMMAPACK":/summapack:ro,Z \
        -v "$AQUI":/distros:ro,Z \
        siru-ubuntu2204 bash /distros/bibliotecas.sh "$VERSION" > "$SALIDA/bibliotecas.log" 2>&1; then
    tail -30 "$SALIDA/bibliotecas.log"
    echo "armar-bibliotecas: fallo (todo en $SALIDA/bibliotecas.log)" >&2
    exit 1
fi
cp "$SUMMA" "$SALIDA/comunes_$VERSION.summa"
(cd "$SALIDA" && md5sum "comunes_$VERSION.summa" > "comunes_$VERSION.summa.md5")
for f in "$SALIDA"/comunes_"$VERSION".summa "$SALIDA"/simusol-*[_-]"$VERSION"[._]*; do
    case "$f" in *.md5) continue ;; esac
    grep -qxF "$f" "$SIRU/subir.lista" 2>/dev/null || echo "$f" >> "$SIRU/subir.lista"
    echo "   $(basename "$f")"
done
