El proyecto SummaPack tiene todavía un grado de avance pequeño: apenas lo necesario para instalar los paquetes del proyecto Simusol.
SummaPack es un conjunto de herramientas para compilar, empaquetar, publicar e instalar software libre. Su idea central es mantener la información del empaquetado en el proyecto original y generar desde allí los formatos que necesitan diferentes sistemas.
El proyecto fue desarrollado por Diego Saravia y está vinculado a UTUTO, Simusol y Siru. Su nombre aparece en los documentos tanto como Sumapack como SummaPack.
En la reorganización de octubre de 2026, cada proyecto tiene un archivo .summa que reúne los metadatos, las dependencias y las instrucciones de empaquetado. La herramienta hacer-pkg construye paquetes DEB, RPM y TGZ y archivos de fuentes .tar.gz. La generación de RPM requiere rpmbuild; si no está disponible, se avisa y se omite ese formato. El manual describe el estado de esa implementación, sus límites y lo que todavía falta.
| Herramienta | Función |
|---|---|
.summa y summa.py | Describir el proyecto y generar la información de los paquetes. |
hacer-pkg y hacer-pkg.inc | Construir fuentes .tar.gz y paquetes .deb, .tgz y, si está disponible rpmbuild, .rpm. |
subir-paquetes | Publicar archivos por proyecto y administrar versiones estables e inestables. |
subir-doc | Publicar los dos PDF de SummaPack en downloads/summapack/docs/ del sitio de Simusol. Crea docs/ solamente si el directorio del proyecto ya existe y respalda los PDF que reemplaza. No modifica las páginas de CMSimple. |
subir-pagina --sincronizar | Sincronizar Markdown con una página existente de CMSimple XH 1.8. Consulta la web antes de regenerar HTML. Si cambió solo el MD, genera y sube; si cambió solo la web, baja e incorpora al MD; si cambiaron ambos, se detiene. Conserva una base común y respaldos. Requiere Python 3, SSH y Pandoc; guía completa en doc/SINCRONIZAR-WEB.md de las fuentes. |
instalar-tgz | Instalar TGZ con registro de archivos, consultar lo instalado, actualizar y desinstalar con --quitar. Respalda los archivos que reemplaza. |
installsumma.sh | Instalar SummaPack y los proyectos solicitados con sus dependencias, tanto si SummaPack ya está instalado como si todavía no lo está. |
distro (fuente: distro.sh) | Identificar el sistema con uname -s y leer ID/ID_LIKE de /etc/os-release sin ejecutarlo. Si falta, consulta /usr/lib/os-release; conserva detección histórica. distro + añade nombre y versión; DISTRO_ROOT permite diagnóstico sobre otra raíz. WSL informa su distribución real. El descargador no elige automáticamente el formato. |
packinstall y diccionariodepaquetes | Traducir nombres de dependencias entre distribuciones e instalarlas con sus gestores de paquetes. packinstall --prueba permite ver las órdenes sin ejecutarlas. |
makefile.lib | Compartir reglas de construcción, instalación y preparación de dependencias entre proyectos. |
preparar | Script que acompaña las fuentes: instala lo necesario para compilarlas mediante las herramientas internas de SummaPack. No construye el proyecto principal. |
fuentesexternas | Catálogo de URL, versiones, SHA256, dependencias y recetas para construir bibliotecas y herramientas externas. Las entradas de base deben estar previamente instaladas; no se construye todo el sistema desde cero. |
distros/compilar, dentro.sh y Containerfile | Construir paquetes en entornos Podman de Fedora, openSUSE y Arch; dejar RPM/TGZ y logs en distros/salida/. No publica automáticamente. |
summapack | Consultar la versión instalada, la ubicación de sus datos y la ayuda de las herramientas. |
findbinlib | Buscar programas, bibliotecas y módulos instalados manualmente que podrían ocultar los de un paquete nuevo. |
icon_install | Instalar lanzadores de escritorio y entradas de menú mediante las herramientas XDG; admite --prueba. |
templatesumma | Herramienta heredada para generar .changes y .spec desde plantillas. Se conserva para las reglas antiguas; el flujo actual utiliza summa.py y hacer-pkg.inc. |
mem_util | Biblioteca C para memoria, archivos, rutas, cadenas y fechas; se usa mediante pkg-config --cflags --libs mem_util. Fechas completas a segundos epoch, con zona local o explícita; horas sin fecha a segundos desde medianoche. Paquetes libmem-util0 y libmem-util-dev. |
doc/web/generar.py, verificar.py y pruebas/ | Generar HTML para TinyMCE y vistas previas, verificar enlaces y PDF y probar las herramientas con casos controlados. No instalan ni publican por el hecho de generar la documentación. |
etc/, viejo/ y licencias | Configuración distribuida, programas retirados y documentos de autoría/licencia. No sustituyen la configuración personal de publicación; los programas retirados no son la interfaz recomendada. |
Alcance: generar un paquete RPM o TGZ no garantiza que los binarios funcionen en cualquier distribución. El manual señala limitaciones actuales en los nombres de dependencias y las rutas de bibliotecas. Las propuestas de los documentos históricos no deben confundirse con funciones ya implementadas.
Los archivos se publican en las descargas del sitio de Simusol. Allí está el directorio de paquetes de SummaPack.
Para instalar SummaPack sin tenerlo previamente, se necesita curl y una terminal. Descargar el instalador y ejecutarlo:
curl -fsSLO https://www.simusol.org/downloads/installsumma.sh &&
sh installsumma.sh
El instalador muestra las opciones disponibles con números y pide elegir la correspondiente al sistema. No detecta automáticamente la distribución. Descarga SummaPack y sus bibliotecas libmem-util0 y libmem-util-dev; para instalar utiliza el gestor de paquetes y solicita permisos mediante sudo cuando hacen falta. Debe elegirse un paquete compatible con la distribución y arquitectura de la máquina.
Si ya se conoce el formato, puede indicarse explícitamente; por ejemplo, para los paquetes Debian/Ubuntu:
sh installsumma.sh --para deb
Para instalar también Tabular, agregar el nombre de su proyecto:
sh installsumma.sh --para deb tabular2
También puede compilarse desde fuentes. Este camino necesita herramientas de base y las dependencias contempladas por el catálogo; instalar directamente desde fuentes no tiene el registro de desinstalación de TGZ:
sh installsumma.sh --para fuentes --prefijo "$HOME/.local" tabular2
El prefijo predeterminado para fuentes es /usr/local. Revisar PATH, pkg-config y la búsqueda de bibliotecas para evitar que una instalación manual oculte la de los paquetes del sistema. No se modificó tu instalación al preparar esta documentación.
Después de instalar, consultar las órdenes disponibles con summapack --help. La selección de versiones y los demás formatos están explicados en el manual. Las fuentes y herramientas forman parte de siru/summapack.
Para quienes mantienen el proyecto: desde la raíz de las fuentes, comprobar y publicar los PDF con:
./subir-doc --prueba
./subir-doc
El comando instalado también acepta subir-doc --doc /ruta/summapack/doc. Deben existir los archivos locales summapack.pdf y 738.pdf, y el directorio remoto downloads/summapack/. Solo se crea su subdirectorio docs/. La conexión se configura en ~/.config/simusol/subir con SUBIR_SERVIDOR, SUBIR_USUARIO y SUBIR_DIR; requiere acceso SSH autorizado. --prueba no conecta ni escribe, por lo que no comprueba la existencia del directorio remoto. Los enlaces a los PDF se agregan por separado en TinyMCE.
La entrada única de SummaPack es sincronizar-pagina SISTEMA [--prueba]. Solo se indica el sistema: destinos, rutas, páginas y bases están en la tabla central share/summapack/data/paginas-web.json, sustituible por ~/.config/simusol/paginas-web.json.
| Programa | Función | Estado e implementación |
|---|---|---|
sincronizar-pagina SISTEMA | Consultar la web, comparar MD/web y coordinar subidas y bajadas de las páginas configuradas. | Implementado: lanzador Bash, configuración JSON, motor Python 3 y transporte SSH. Opción --prueba sin escritura. |
subir-pagina | Publicación directa y opciones avanzadas. | Se conserva por compatibilidad; no hace falta usarlo en el trabajo habitual. |
| Bajada de páginas | Página CMSimple → HTML local y MD. | Operación interna del comando único; no requiere un programa independiente. |
pandoc | MD → HTML y HTML descargado → MD. | Dependencia externa escrita en Haskell, invocada como ejecutable; no es código propio de SummaPack. |
La web se consulta antes de regenerar el HTML. Solo cambió MD: generar y subir; solo cambió web: descargar e incorporar al MD; cambiaron ambos: detenerse sin sobrescribir. El HTML local no es una tercera fuente editable. La guía de configuración, respaldo y límites está en doc/SINCRONIZAR-WEB.md de las fuentes.
sincronizar-pagina slex --prueba
sincronizar-pagina slex
La tabla inicial configura Slex y la portada de SummaPack para importar desde la web al iniciar; Tabular2 exige revisar la versión inicial. Calcula y Puyuspa están identificados como pendientes de definir fuente y destino. Las subpáginas no listadas y los generadores antiguos no se migran automáticamente.
La base guarda un par correspondiente de versiones MD y HTML web; no compara directamente ambos formatos. Sin cambios en las fuentes no publica ni modifica el MD, aunque puede recuperar el HTML local si falta. --prueba no reemplaza archivos ni crea una base nueva. No hay sincronización periódica automática: se ejecuta por página al invocar el comando. Los generadores antiguos todavía deben conectarse o migrarse a este flujo; no deben ejecutarse antes de consultar la web.
El manual completo incluye la referencia de todos los componentes: sintaxis, entradas y salidas, requisitos, configuración, efectos sobre archivos o sistemas, ejemplos y límites. Distingue herramientas actuales de las históricas.
| Necesidad | Orden o referencia |
|---|---|
| Consultar versión y sistema | summapack --version; distro + |
| Consultar metadatos | python3 /usr/share/summapack/data/summa.py campo . VERSION; solo sobre un .summa de confianza. |
| Preparar dependencias | ./preparar --prueba desde las fuentes; make dependencias desde fuentes y make dependencias-distro mediante paquetes del sistema. |
| Simular instalación de dependencias del sistema | packinstall --prueba UBUNTU libreadline-dev |
| Consultar paquetes TGZ instalados | instalar-tgz --lista; instalar-tgz --archivos PAQUETE |
| Construir y publicar | ./hacer-pkg construye; subir-paquetes publica; subir-doc publica únicamente los PDF. |
| Integrar lanzadores | icon_install --prueba /ruta/lanzadores |
| Buscar instalaciones que ocultan otras | findbinlib "interpola" "" "" "" tabular; con el tercer argumento BORRA mueve archivos, no solo informa. |
Precauciones: --prueba no es una opción universal ni un sandbox. Algunas herramientas pueden consultar la red o crear temporales; subir-doc --prueba no conecta. Los .summa, las recetas externas y las plantillas pueden ejecutar órdenes. Usar fuentes confiables; las sumas MD5/SHA256 no sustituyen una firma del autor. templatesumma se conserva para compatibilidad y puede sobrescribir metadatos; para proyectos nuevos se usa summa.py.
| Documento | Qué contiene |
|---|---|
| Manual 2026 | Uso actual del archivo .summa, construcción, publicación, instalación y hoja de ruta. También disponible en PDF. |
| Presentacion historica | La presentación de SummaPack conservada en UTUTO, fechada en enero de 2010: objetivos y diseño del proyecto. |
| Manifiesto Anti-distros | Versión 0.60, de agosto de 2005. Fundamentos de la propuesta de empaquetado desde los proyectos originales. |
| Rosetta Babel y Packlets | Conceptos, objetos, acciones y traducción entre los sistemas de administración de paquetes. |
| Articulo JSL 2011 | Trabajo de Diego Saravia publicado en las 40 JAIIO, Jornadas de Software Libre, páginas 41–59. PDF completo de 19 páginas. |
Esta sección reúne el manual actual y los documentos históricos conservados con las fuentes del proyecto. Se mantienen sus autores, referencias y avisos de licencia. Los artículos antiguos se identifican como tales; sus enlaces externos y sus instrucciones pueden haber quedado desactualizados.