#!/bin/sh
# installsumma: instala summapack y, si se piden, otros proyectos de Simusol
# con sus dependencias (el Bootstrap del articulo de 2011). Esta en la raiz
# del servidor de descargas, porque es lo que se necesita para instalar
# cualquier paquete; bajar-paquetes, instalar-tgz y distro.sh, que usa,
# estan en summapack/ (make subir-bootstrap en summapack los sube). Se usa asi:
#
#   curl -fsSLO https://www.simusol.org/downloads/installsumma.sh
#   sh installsumma.sh [--prueba] [--formato deb|rpm|tgz] [PROYECTO[/PAQUETE]...]
#
#   sh installsumma.sh               solo summapack
#   sh installsumma.sh tabular2      summapack y Tabular, con lo que necesita
#
# Baja bajar-paquetes (e instalar-tgz) del mismo servidor y con el instala,
# en una sola vez, summapack (summapack, libmem-util0 y libmem-util-dev) y
# lo pedido, con las dependencias que sean de nuestros proyectos, en el
# formato del sistema y comprobando los md5. Las del sistema las trae apt (o
# dnf), incluidas las recomendadas (gnuplot para Tabular).
# Reescrito el 07/10/2026: el anterior bajaba el tar de las fuentes sin
# comprobar el certificado, averiguando la IP con 8.8.8.8, y lo compilaba.
set -eu

URL=${BAJAR_URL:-https://www.simusol.org/downloads}
case "${1:-}" in
    -h|--help) sed -n '2,20s/^# \{0,1\}//p' "$0"; exit 0 ;;
    --version) echo "installsumma 5"; exit 0 ;;
esac

# bajar-paquetes e instalar-tgz siempre del servidor, aunque haya unos
# instalados: tienen que coincidir con como esta organizado
command -v curl >/dev/null 2>&1 || { echo "installsumma: hace falta curl" >&2; exit 1; }
tmp=$(mktemp -d)
trap 'rm -rf "$tmp"' EXIT
# distro.sh: que sistema es (bajar-paquetes lo usa para elegir deb, rpm o tgz)
for s in bajar-paquetes instalar-tgz distro.sh; do
    curl -fsSL -o "$tmp/$s" "$URL/summapack/$s"
    chmod +x "$tmp/$s"
done
BAJAR_URL=$URL "$tmp/bajar-paquetes" --instalar summapack "$@"
