#
# **************************************************************
# *                  SIMUSOL PROYECT                           *
# *                                                            *
# *         simpack o simusol-pack for SIMUSOL                                    *
# *                                                            *
# *                                                            *
# *   Developed by                                             *
# *   Diego.Saravia@gmail.com, 2016                            *
# *   and could be used with GPL                               *
# *   or every free license with copyleft needed.              *
# *   http://www.simusol.org                                   *
# **************************************************************

# This file is part of simusol-pack
#
#    simusol-pack is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, either version 3 of the License, or
#    (at your option) any later version.
#
#    Table 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 General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with Table.  If not, see <http://www.gnu.org/licenses/>.


#PREFIX=/usr/local

# para que no ejecute el primer objetivo de makefile.lib
all:

include share/summapack/data/makefile.lib
### otros que usen: poner el path de sumapack completo


#este paquete debe ser independiente de todo, si bien se  instala normalemente con el simusol-make

#NAME=simusol-summapack
#VERSION=0.1


#STABLE=last
#STABLE=UNSTABLE

#BASETMP := $(shell $(shellpath) mktemp -d |sed -e's/\n//'|sed -e's/^\/tmp\///')
# con := permanece cte
$(call charla,BASETMP: ${BASETMP}) 


SERVERSUBIR=simusol.org
SERVERDIR=/var/www/simusol.org/public_html/downloads
SERVERUSER=www-data

$(call charla,SERVERSUBIR: ${SERVERSUBIR})
$(call charla,SERVERDIR: ${SERVERDIR})
$(call charla,SERVERUSER: ${SERVERUSER})

$(call charla,BINFILES $(BINFILES))
$(call charla,IBINFILES $(IBINFILES))
$(call charla,SHAREFILES $(SHAREFILES))
$(call charla,ISHAREFILES $(ISHAREFILES))
$(call charla,ISHAREDIRS $(ISHAREDIRS))
$(call charla,ETCFILES $(ETCFILES))
$(call charla,IETCFILES $(IETCFILES))
$(call charla,IPKGFILES $(IPKGFILES))


#DISTRO=$(shell bin/distro.sh)   si no esta instalado no funcionara
#$(info DISTRO $(DISTO))

$(call charla,DESTDIR $(DESTDIR) PREFIX $(PREFIX))


#$(SUDO) no ponemos sudo, que se instale normalmente usando sudo make o root o su o  falle
# esta comodidad la dejamos para make de mas nivel
# para que no protesten paquetes de otras distros


#$(SUDO) install makefile.lib  $(PREFIX)/share/simusol
#	$(call copytree,/tmp/dist/${NAME}-${VERSION}/,,$(SHAREDIRSRC),$(BINDIRSRC),$(PKGDIRSRC),$(ETCDIRSRC),/tmp/dist/${NAME}-${VERSION}/) 

#curdir es builtin

# DESTDIR=/tmp/$(BASETMP)
$(call charla,PREFIX $(PREFIX)  DESTDIR $(DESTDIR) ETCDIR $(ETCDIR) PKGDIR $(PKGDIR))
installdistvie: clean
	echo "PACKAGE DISTRIBUTION FILE ${PACKV}-${VERSION}-AI.tgz (architecture independent) $(PREFIX)"
	rm -rf /tmp/$(BASETMP) ; 
	mkdir -p /tmp/$(BASETMP) ;
	$(call copytree, /tmp/${BASETMP}$(PREFIX), /tmp/${BASETMP},,$(PREFIX)) 
	cd  /tmp/${BASETMP}; tar -c . | gzip -n> $(CURDIR)/../${PACKV}-${VERSION}-AI.tgz
	md5sum  ../${PACKV}-${VERSION}-AI.tgz>../${PACKV}-${VERSION}-AI.tgz.md5.

#reemplazado por tgzvbuild en makefile.lib
installdistXXXX: clean
	echo "PACKAGE DISTRIBUTION FILE ${PACKV}-${VERSION}-AI.tgz (architecture independent) $(PREFIX)"
	rm -rf /tmp/$(BASETMP) ; 
	mkdir -p /tmp/$(BASETMP) ;
	make DESTDIR=/tmp/$(BASETMP) PREFIX=/usr PKGDIR=$(PKGDIR) install
	cd  /tmp/${BASETMP}; tar -c . | gzip -n> $(CURDIR)/../${PACKV}-${VERSION}-AI.tgz
	md5sum  ../${PACKV}-${VERSION}-AI.tgz>../${PACKV}-${VERSION}-AI.tgz.md5.

#if dist sudo=
# pkgfiles deben ser instaladas en share para que se las coloque en la pc objeto
# y en el raiz del paquete para poder usar el makefile y quiene lo use pueda ver las licencias e instrucciones

preparelocal:
	 sudo apt install libtemplate-perl

# ojo ifeq para todo el make
#ifeq ($(UUU),0)
#                $(error No corrio como root, salir)
#endif
# esto solo funciona en paquete summapack, por eso va aca
# si no es root funciona dando errores, a menos que exista un DESDIR, entonces puede funcionar ok

# ojo poner /var/cache/summapack en arbol! y copytree de var, ver HOME
# make prueba: makefile.lib con el proyecto de ejemplo (pedido del autor,
# 07/10/2026; ver share/summapack/data/MAKEFILE-LIB.md)
# make instalarlib: solo la biblioteca y su catalogo, donde la buscan los
# proyectos (findfirstSB: /usr, /usr/local o ~). Sin root: PREFIX=$(HOME).
# Es la unica copia que vale (paso 5 del plan del 07/10/2026; MAKEFILE-LIB.md).
instalarlib:  ## instala solo makefile.lib y MAKEFILE-LIB.md en $(DESTDIR)$(PREFIX)/share/summapack/data
	install -D -m 755 share/summapack/data/makefile.lib $(DESTDIR)$(PREFIX)/share/summapack/data/makefile.lib
	install -D -m 644 share/summapack/data/MAKEFILE-LIB.md $(DESTDIR)$(PREFIX)/share/summapack/data/MAKEFILE-LIB.md

prueba:  ## prueba makefile.lib (pruebas/prueba-lib.sh) y los scripts de bin/ (pruebas/prueba-bin.sh)
	pruebas/prueba-lib.sh share/summapack/data/makefile.lib
	pruebas/prueba-bin.sh

install:  ## instala summapack en $(DESTDIR)$(PREFIX)
	echo install de $(PACK), $(DOWNLOAD)
	install -d $(DOWNLOAD); test 0 = 0;
	echo "D:/var/cache/summapack" >> listado.ls ; test 0=0;\
	echo seccion copytree de la instalacion de Summapack
	$(call copytree,$(DESTDIR)$(PREFIX),$(DESTDIR),,$(DESTDIR)$(PREFIX))
	cp  bin/distro.sh $(DESTDIR)$(PREFIX)/bin/distro.sh
	mandb >/dev/null
	echo fin instalacion $(PACK)

# nota: sacar ese cp a distro.sh y cambiar todos los usos por distro

#### no se puede poner la postinst en /bin, cada paquete pondria la suya
# poner un directorio pkgoper con todos estos
post:
	chmod 777 $(DOWNLOAD)
	chmod -f 666 $(DOWNLOAD)/*

# -f en caso sea reinstalacion


# create full documentantion, from that help routines to .sh y .pl and infofiles, and html pages, and pdf
# form help routines to man

#${DOWNLOAD}:
#	sudo mkdir -p ${DOWNLOAD}
#	sudo chmod -R a+w ${DOWNLOAD}
#	sudo chmod -R a+r ${DOWNLOAD}

# sera medio al pedo sin sudo???? el chmod, no se puede
# download si no esta instalado summapack va a HOME/var/cache/summapack
# aqui instalando summapack
# solo usar si el paquete es summapack



# el bootstrap: installsumma.sh baja bajar-paquetes e instalar-tgz de aca
# installsumma.sh en la raiz de descargas (es lo que hace falta para instalar
# cualquier paquete); bajar-paquetes e instalar-tgz en summapack/
# el servidor, de ~/.config/simusol/subir (como subir-paquetes); el entorno
# y la linea de make mandan
SUBIR_CONF := $(wildcard $(HOME)/.config/simusol/subir)
ifneq ($(SUBIR_CONF),)
SUBIR_SERVIDOR ?= $(shell . $(SUBIR_CONF); echo $$SUBIR_SERVIDOR)
SUBIR_USUARIO ?= $(shell . $(SUBIR_CONF); echo $$SUBIR_USUARIO)
SUBIR_DIR ?= $(shell . $(SUBIR_CONF); echo $$SUBIR_DIR)
endif
SUBIR_DESTINO ?= $(or $(SUBIR_USUARIO),www-data)@$(or $(SUBIR_SERVIDOR),simusol.org):$(or $(SUBIR_DIR),/var/www/simusol.org/public_html/downloads)
subir-bootstrap:  ## sube installsumma.sh a la raiz de descargas y bajar-paquetes e instalar-tgz a summapack/ [publica]
	scp bin/installsumma.sh $(SUBIR_DESTINO)/
	scp bin/bajar-paquetes bin/instalar-tgz $(SUBIR_DESTINO)/summapack/

uploadsummapack: upload subir-bootstrap
	scp bin/distro.sh www-data@ututo.org:/var/www/ututo.org/public_html/cms/downloads/
	scp bin/distro.sh www-data@simusol.org:/var/www/simusol.org/public_html/downloads/
	scp share/summapack/data/makefile.lib www-data@simusol.org:/var/www/simusol.org/public_html/downloads/





