#!/bin/bash
# summapack: la version de summapack instalada y donde estan sus partes.
# Antes decia siempre "summapack 1.0" (de 2005); desde 07/10/2026 dice la
# version del paquete instalado.
#
#   summapack             version y lugares
#   summapack --version   solo la version
#   summapack --help
set -u

version() {
    local v
    v=$(dpkg-query -W -f='${Version}' summapack 2>/dev/null) && [ -n "$v" ] && { echo "$v"; return; }
    v=$(rpm -q --qf '%{VERSION}-%{RELEASE}' summapack 2>/dev/null) && [ -n "$v" ] && { echo "$v"; return; }
    echo "desconocida (no esta instalado como paquete)"
}

datos() {
    local d
    for d in ${SUMMAPACK_DATA:-} /usr/share/summapack/data /usr/local/share/summapack/data \
             "$HOME/share/summapack/data"; do
        [ -f "$d/makefile.lib" ] && { echo "$d"; return; }
    done
    echo "no encontrado"
}

case "${1:-}" in
    --help|-h)
        cat << 'FIN'
Uso: summapack [--version]

Summapack: herramientas para compilar, empaquetar, publicar e instalar los
programas de Siru y Simusol, y la biblioteca de base mem_util.

  hacer-pkg.inc, summa.py   armar tar.gz, deb, tgz y rpm desde el .summa
  subir-paquetes            publicar en el servidor de descargas
  subir-doc                 publicar los PDF de SummaPack (--doc DIRECTORIO)
  sincronizar-pagina SISTEMA sincronizar MD/web con la tabla paginas-web.json
  subir-pagina              publicador de compatibilidad y opciones avanzadas
  makefile.lib              la biblioteca de make de los proyectos
  diccionariodepaquetes, packinstall   nombres de paquetes en cada distribucion
  distro                    que sistema es este

Documentacion: /usr/share/doc/summapack y, en las fuentes, PAQUETES.md,
BIN.md y share/summapack/data/MAKEFILE-LIB.md.
FIN
        ;;
    --version)
        echo "summapack $(version)"
        ;;
    '')
        echo "summapack $(version)"
        echo "datos (makefile.lib, hacer-pkg.inc, summa.py, diccionariodepaquetes): $(datos)"
        ;;
    *)
        echo "summapack: no conozco $1 (summapack --help)" >&2
        exit 2
        ;;
esac
