SummaPack
=========

Mapa global de los paquetes, ejecutables y flujos del proyecto: ../MAPA-FLUJOS.txt. Incluye el calculo, los graficos, la web y las herramientas de instalacion/publicacion, con sus archivos y pantallas.

Politica comun de todos los programas del conjunto, pendiente de implementar:
la salida nueva conserva el nombre original y la anterior se guarda como
NOMBRE_vN.EXT, con numeracion creciente y sin perder respaldos.
Regla completa y condiciones de seguridad: ../POLITICA-ARCHIVOS.txt.

La politica comun tambien fija entrada completa por stdin, resultados por stdout y generacion de archivos solo con -save; para graficos, X por defecto, -noX para no mostrar y -save para guardar SVG. Es una especificacion pendiente de aplicar, no una afirmacion sobre las opciones actuales de cada herramienta.

El proyecto tiene todavía un grado de avance pequeño: apenas lo necesario para instalar los paquetes del proyecto Simusol. Reúne construcción, descarga, preparación de dependencias, instalación y publicación; no es un gestor universal para cualquier sistema.

Componentes actuales
--------------------

  consulta          summapack, distro (distro.sh en las fuentes)
  instalación       installsumma, bajar-paquetes, instalar-tgz
  dependencias      preparar, packinstall, diccionariodepaquetes, fuentesexternas
  construcción      .summa, summa.py, hacer-pkg, hacer-pkg.inc, makefile.lib
  otras distros     distros/: base Ubuntu 22.04 (un solo deb/rpm/tgz para
                    todas), armar-bibliotecas (proyecto "comunes",
                    /usr/lib/simusol), espejo-fuentes, compilar y entornos
  publicación       subir-paquetes, subir-doc, make subir-bootstrap
  escritorio        icon_install, findbinlib
  compatibilidad    templatesumma y enlaces hacer-deb -> hacer-pkg
  biblioteca C      mem_util: memoria, archivos, rutas, cadenas y fechas
  documentación     doc/summapack.tex y doc/web/ (HTML para TinyMCE)
  pruebas           pruebas/ y mem_util/tests o sus pruebas de src/

Paquetes producidos
-------------------

  summapack         herramientas y datos comunes (arquitectura all)
  libmem-util0      biblioteca C de ejecución
  libmem-util-dev   encabezados, enlace de desarrollo y mem_util.pc

Pedir summapack como paquete arrastra libmem-util-dev y la biblioteca. Las herramientas adicionales para construir, compilar fuentes, publicar o usar el escritorio dependen de la operación: ver el manual; no todas están garantizadas por instalar el paquete básico.

Inicio
------

Paquetes binarios (disponibles ahora). En Debian/Ubuntu:

    curl -fsSLO https://www.simusol.org/downloads/installsumma.sh
    sh installsumma.sh --para deb summapack

Elegir un formato compatible con la máquina; sin --para se muestra una lista interactiva. La versión binaria estable puede ser anterior a las fuentes actuales.

Fuentes (recomendadas cuando se necesite el código actual). El recorrido obtiene los tarballs de los proyectos Simusol requeridos, construye paquetes en la máquina destinataria e instala esos paquetes mediante su gestor; las dependencias externas también las pide al gestor. En el árbol SVN, Debian/Ubuntu usan .deb y APT; Fedora y openSUSE usan .rpm y DNF/Zypper desde r3094. Se probó el recorrido de ExprTk dentro de Debian 13, Ubuntu 24.04, Fedora 44 y openSUSE Tumbleweed, pero todavía no toda la cadena de proyectos. No admite --prefijo ni instala directamente con make. Aún falta publicar y verificar el nuevo bootstrap: el installsumma.sh disponible en Descargas puede seguir haciendo la instalación directa anterior. Arch no tiene todavía backend local de paquetes. curl y Bash son requisitos previos del bootstrap.

Paquetes y fuentes: los binarios destinados al servidor se construyen en contenedores/chroots y se publican para su descarga. Cuando un usuario pide instalar desde fuentes, la construcción corresponde a su propia máquina y a sus bibliotecas de desarrollo; el paquete local resultante se instala y desinstala con su gestor. No confundir esa operación con el `make install` manual en un prefijo privado. Ver PAQUETES.md para el estado por distribución y las comprobaciones pendientes.

Construir paquetes: ./hacer-pkg (DEB, RPM si hay rpmbuild, TGZ y fuentes tar.gz). Construir no instala ni publica. hacer-deb y hacer-deb.inc se conservan como enlaces compatibles.

Documentación
-------------

  doc/0-README-como-instalar      guía pública de descargas: cero, uno o varios proyectos
  doc/summapack.tex              manual completo y referencia de componentes
  BIN.md                        índice de herramientas y relevamiento histórico
  PAQUETES.md                   .summa, construcción, fuentes y publicación
  share/summapack/data/MAKEFILE-LIB.md  objetivos de makefile.lib y límites
  distros/README.md             compilación en Fedora, openSUSE y Arch
  mem_util/README               API C, integración y unidades de fechas
  doc/web/README.md             generación y pegado HTML en TinyMCE

Pruebas: make prueba; python3 pruebas/prueba-distro.py; python3 pruebas/prueba-subir-doc.py; make -C mem_util check una vez configurada y compilada la biblioteca.

Publicación: subir-paquetes publica software; ./subir-doc publica únicamente los PDF. Ninguno cambia CMSimple. Usar la configuración ~/.config/simusol/subir y revisar el alcance de --prueba en cada herramienta: no es una opción universal ni promete cero actividad de red.

make subir-readme publica solo doc/0-README-como-instalar en la raíz de descargas; make subir-bootstrap también lo incluye. El nombre con 0 lo sitúa antes que los demás nombres en el índice ordenado ascendentemente. subir-paquetes --reorganizar conserva esta guía y los catálogos del bootstrap.

Los programas retirados viven en viejo/ y no son la interfaz recomendada. Los archivos .summa, catálogos de recetas y plantillas pueden contener órdenes ejecutables: utilizar solamente fuentes de confianza.
