# puyuspa.summa: TODO lo necesario para generar los paquetes de puyuspa
# (deb, rpm, tgz y tar.gz). Se cambia aca; debian/ se genera de esto con
# summa.py debian (hacer-deb lo hace solo). debian/changelog no: es la
# historia, y la version de arriba tiene que ser BASEVERSION.
# Escrito por 'summa.py crear' desde debian/ el 07/10/2026.

# ---- el paquete
VERSION="6.0-22"
BASEVERSION="6.0"
SUMMARY="calculadora psicrométrica gráfica para la web (Puyuspa 6.0)"
DESCRIPTION=$(cat << 'FIN_SUMMA'
Puyuspa es la interfaz web de Calcula: una página por sistema de
ecuaciones (aire húmedo con carta psicrométrica dibujada en el navegador,
péndulo, los circuitos y los sistemas del módulo dinámico), con sus gráficos
configurables, herramientas de dibujo y exportación, y CGI en Perl que
invocan al programa calcula 6.0.

Instala los archivos en /var/www/simusol.org/public_html/puyuspa, que el
sitio publica como www.psicro.org/puyuspa/: la lista de sistemas en
/puyuspa/ y la página de cada uno en /puyuspa/<sistema>.html (con un
archivo .htaccess y mod_rewrite). En /psicro/, donde estaba hasta la 5.0, deja
dos redirecciones y no toca la documentación que vive allí. Equivale a
copiar los archivos a mano; no cambia la configuración de Apache.
FIN_SUMMA
)
MAINTAINER="Diego Saravia <dsa@unsa.edu.ar>"
HOMEPAGE="http://www.psicro.org/"
SECTION="web"
PRIORITY="optional"
STANDARDS="4.6.2"
LICENSE="AGPL-3+"
DEPENDS="\${misc:Depends}, calcula (>= 6.0-16), perl"
SOURCE_EXTRA="Rules-Requires-Root: no"

# ---- como se compila
BUILDDEPENDS="debhelper-compat (= 13)"
DH=""
CONFIGURE=""
RULES=$(cat << 'FIN_SUMMA'
# Solo se copian archivos al directorio del sitio: no se usa el Makefile.am
# de autotools de web/. El destino esta en debian/install.


override_dh_auto_configure override_dh_auto_build override_dh_auto_test override_dh_auto_install override_dh_auto_clean:
	:

# El CGI tiene que ser ejecutable.
override_dh_fixperms:
	dh_fixperms
	chmod 755 debian/puyuspa/var/www/simusol.org/public_html/puyuspa/psicro.pl debian/puyuspa/var/www/simusol.org/public_html/puyuspa/curvas.pl debian/puyuspa/var/www/simusol.org/public_html/puyuspa/sistemas.pl debian/puyuspa/var/www/simusol.org/public_html/puyuspa/serie.pl debian/puyuspa/var/www/simusol.org/public_html/puyuspa/editor.pl
FIN_SUMMA
)

# ---- los paquetes que salen
PACKAGES="puyuspa"

# puyuspa
puyuspa_ARCH="all"
puyuspa_EXTRA="Recommends: apache2"

# ---- los demas archivos de debian/, enteros
SOURCEFORMAT="3.0 (quilt)"
ARCHIVOS="README.source copyright docs install puyuspa.lintian-overrides puyuspa.postinst puyuspa.postrm"
EJECUTABLES=""
ARCHIVO_README_source=$(cat << 'FIN_SUMMA'
Construcción del paquete puyuspa 6.0 (interfaz web de Calcula)
==============================================================

Requisitos: build-essential, debhelper (>= 13). El paquete es "Architecture:
all": solo copia archivos, no compila nada.

    puyuspa-6.0/hacer-deb

copia puyuspa-6.0/ a un temporal (svn export si está versionado), corre
dpkg-buildpackage -us -uc -b y deja puyuspa_6.0-*_all.deb en
puyuspa-6.0/, junto a sus fuentes.

Instalación: sudo apt install ./puyuspa_6.0-*_all.deb. Depende de calcula
(los CGI lo ejecutan desde el PATH y toman de él la lista de sistemas) y
perl. Es la versión siguiente del paquete puyuspa 5.0.

Qué hace: deja la calculadora en /var/www/simusol.org/public_html/puyuspa
(www.psicro.org/puyuspa/, también www.calcula.org/puyuspa/): psicro.html
(la carta del aire húmedo), sistema.html (lista y página de cada sistema),
los CGI psicro.pl, curvas.pl, sistemas.pl y serie.pl, Puyuspa.pm,
sistemas/*.json, D3 y las imágenes, y un .htaccess que publica la página de
cada sistema como /puyuspa/<sistema>.html (mod_rewrite) y la lista como
/puyuspa/. El vhost del sitio ya tiene ExecCGI, AddHandler para .pl,
AllowOverride All y mod_rewrite en todo public_html: no hay que tocar la
configuración de Apache.

En /var/www/simusol.org/public_html/psicro, donde estaba la calculadora
hasta la 5.0, deja solo psicrocalc.html y puyuspa.html, que redirigen a
/puyuspa/psicro.html. Al actualizar desde puyuspa 5.0, dpkg borra de ahí los
archivos viejos del paquete; los manuales que viven en ese directorio
(manpsi, termairh, calpsi, error, psicro.pre) no se tocan.

Para publicar en otro servidor cambiar el destino en debian/install y en
el override de debian/rules, y RewriteBase en .htaccess.
FIN_SUMMA
)
ARCHIVO_copyright=$(cat << 'FIN_SUMMA'
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: puyuspa
Upstream-Contact: Diego Saravia <dsa@unsa.edu.ar>
Source: http://www.psicro.org/

Files: *
Copyright: 1992-2026 Diego Saravia Alía <dsa@unsa.edu.ar>
License: AGPL-3+

Files: d3.v7.min.js
Copyright: 2010-2023 Mike Bostock
License: ISC
 Permission to use, copy, modify, and/or distribute this software for any
 purpose with or without fee is hereby granted, provided that the above
 copyright notice and this permission notice appear in all copies.
 .
 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
 REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
 AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
 INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
 LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
 OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 PERFORMANCE OF THIS SOFTWARE.

Files: *.png *.gif *.jpg *.ico
Comment: Logotipos de las instituciones y proyectos enlazados desde la
 página (GNU, Apache, Perl, Linux, Firefox, LUG Salta, ASADES, etc.),
 usados con el único fin de identificarlos.
Copyright: sus respectivos titulares
License: AGPL-3+

License: AGPL-3+
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU Affero General Public License as published
 by the Free Software Foundation, either version 3 of the License, or
 any later version.
 .
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU Affero General Public License for more details.
 .
 El texto completo de la licencia está en el paquete psicro
 (/usr/share/doc/psicro/copyright) y en https://www.gnu.org/licenses/agpl-3.0.html
FIN_SUMMA
)
ARCHIVO_docs=$(cat << 'FIN_SUMMA'
DOCUMENTACION.md
PLAN.md
FIN_SUMMA
)
ARCHIVO_install=$(cat << 'FIN_SUMMA'
.htaccess var/www/simusol.org/public_html/puyuspa
redirecciones/psicrocalc.html var/www/simusol.org/public_html/psicro
redirecciones/puyuspa.html var/www/simusol.org/public_html/psicro
d3-LICENSE var/www/simusol.org/public_html/puyuspa
d3.v7.min.js var/www/simusol.org/public_html/puyuspa
curvas.pl var/www/simusol.org/public_html/puyuspa
psicro.html var/www/simusol.org/public_html/puyuspa
psicro.pl var/www/simusol.org/public_html/puyuspa
sistemas.pl var/www/simusol.org/public_html/puyuspa
serie.pl var/www/simusol.org/public_html/puyuspa
Puyuspa.pm var/www/simusol.org/public_html/puyuspa
sistema.html var/www/simusol.org/public_html/puyuspa
editor.html var/www/simusol.org/public_html/puyuspa
editor.pl var/www/simusol.org/public_html/puyuspa
modelo.js var/www/simusol.org/public_html/puyuspa
sistemas/*.json var/www/simusol.org/public_html/puyuspa/sistemas
sistemas/*.svg var/www/simusol.org/public_html/puyuspa/sistemas
sistemas/*.modelo var/www/simusol.org/public_html/puyuspa/sistemas
psimp.gif var/www/simusol.org/public_html/puyuspa
aglisa.gif var/www/simusol.org/public_html/puyuspa
gnu-fdl.png var/www/simusol.org/public_html/puyuspa
agplv3-155x51.png var/www/simusol.org/public_html/puyuspa
gnu-head-sm.jpg var/www/simusol.org/public_html/puyuspa
solar-pajaro.jpg var/www/simusol.org/public_html/puyuspa
apache.gif var/www/simusol.org/public_html/puyuspa
gplv3-127x51.png var/www/simusol.org/public_html/puyuspa
solar.png var/www/simusol.org/public_html/puyuspa
asle.png var/www/simusol.org/public_html/puyuspa
lcamel.gif var/www/simusol.org/public_html/puyuspa
solasades2.gif var/www/simusol.org/public_html/puyuspa
colibris.jpg var/www/simusol.org/public_html/puyuspa
linux.jpg var/www/simusol.org/public_html/puyuspa
perl_camel.jpg var/www/simusol.org/public_html/puyuspa
ututo.png var/www/simusol.org/public_html/puyuspa
faroalej1.jpg var/www/simusol.org/public_html/puyuspa
logo-redpizarra2.jpg var/www/simusol.org/public_html/puyuspa
valid-html401.png var/www/simusol.org/public_html/puyuspa
favicon.ico var/www/simusol.org/public_html/puyuspa
favicon.svg var/www/simusol.org/public_html/puyuspa
logosolve.png var/www/simusol.org/public_html/puyuspa
firefox-logo.jpg var/www/simusol.org/public_html/puyuspa
lug-salta2.png var/www/simusol.org/public_html/puyuspa
Fsfgplv3.png var/www/simusol.org/public_html/puyuspa
lug-salta.png var/www/simusol.org/public_html/puyuspa
FIN_SUMMA
)
ARCHIVO_puyuspa_lintian_overrides=$(cat << 'FIN_SUMMA'
# Decision deliberada: el paquete instala la calculadora en el sitio que ya
# publica www.psicro.org (/puyuspa/, y en /psicro/ las dos redirecciones de
# las direcciones viejas), con el mismo efecto que copiar los archivos.
puyuspa: dir-or-file-in-var-www *
# Puyuspa se distribuye con su propia copia de prototype.js 1.4.0.
puyuspa: embedded-javascript-library *
# La pagina es historica y esta en latin-1 (declara el charset).
puyuspa: national-encoding *
FIN_SUMMA
)
ARCHIVO_puyuspa_postinst=$(cat << 'FIN_SUMMA'
#!/bin/sh
# Caché de las series de las cartas y gráficos: /var/cache/puyuspa, escrito
# por Apache (www-data). No se usa /var/tmp porque Apache corre con /var/tmp
# privado (PrivateTmp) y el caché se perdería en cada reinicio.
set -e
if [ "$1" = configure ]; then
    mkdir -p /var/cache/puyuspa
    if getent passwd www-data >/dev/null; then
        chown www-data:www-data /var/cache/puyuspa
    fi
    chmod 755 /var/cache/puyuspa
fi
#DEBHELPER#
exit 0
FIN_SUMMA
)
ARCHIVO_puyuspa_postrm=$(cat << 'FIN_SUMMA'
#!/bin/sh
set -e
if [ "$1" = purge ]; then
    rm -rf /var/cache/puyuspa
fi
#DEBHELPER#
exit 0
FIN_SUMMA
)
