#
# **************************************************************
# *                  SIMUSOL PROYECT                           *
# *                                                            *
# *         dia-simusol 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
#
#    dia-simusol 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/>.

# antes de lib
all: 
#install  # mejor que install se especifique adrede

define findfirstSB
$(shell $(shellpath) test -x /usr/$1  && echo /usr;\
                 test -x /usr/local/$1  && echo /usr/local;\
                 test -x ~/$1  && echo ~;)
endef
PREFIXMLIB=$(call findfirstSB,share/summapack/data/makefile.lib)
$(info makelib: ${PREFIXMLIB}) 
include $(PREFIXMLIB)/share/summapack/data/makefile.lib

#include /usr/local/share/summapack/data/makefile.lib
# buscar donde esta!!!


STABLE=last
STABLE=UNSTABLE

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

# debe instalar dia y dia-simusol en /usr/local
# y lo de dia en /usr si hay un dia alli
# asi el dia-simusol y el dia comun tienen todo lo que pueden del simusol

# PREFIX  puede ser modificada (override) com argumento en la linea de comando
# make PREFIX=/pepito
# instala   sheets y shapes dia, documentos
USERID=$(shell id -u)

#PACK=$(shell  ls *.summa| sed -e s/\.summa$$//)
#package_version_architecture.package-type
#package-name-1.0-0~201~ubuntu14.04.1
UBUNTU=$(shell cat /etc/issue| grep Ubuntu)
$(info UBUNTU: ${UBUNTU}) 
USERACTUAL=$(shell id -un)
USERBASE=$(shell ls -l Makefile| awk -F' ' '{print $$3}' )
$(info User Id is $(USERID) - $(USERACTUAL) - ${USER} - Su ${SUDO_USER} - BASE ${USERBASE})


# el prefix del dia normal, el ejecutable del dia que instala simusol  debe ser dia-simusol

SUDO=sudo

#NAME=dia-simusol
#VERSION=2017.0.2
# SACARLA version  DE SUMMA
#PACK=$(shell  ls *.summa| sed -e s/\.summa$$//)
#PACKV=$(shell echo -n $(PACK)|sed -e  's/\-/_/')
# PACKV corrije, si el nombre tiene - lo pasa a _, no es conveniente nombres de paquetes con - en las tgz o tar.gz
# tgz se usa en paquetes AI o SRC/BIN/DOC/DEV, AI es de arquitectura independiente, si no lo es se divide en cuatro SRC BIN DEV y DOC

DIRICON=$(PACK)
$(info PAQUETE: PACK ${PACK} , PACKV ${PACKV} DIRICON ${DIRICON}) 


# solo correr bajo SUDO o sea userid = 0 
# como dia se instala en /usr solo lee sheets en /usr

# no sirve lo anterior, porque al hacer dist, se debe usar /usr/local y no ser root

# no uso mas el punto para los paquetes HOME


PREFIX=/usr/local
SPREFIX=\/usr\/local

#PREFIX=/tmp/local
#SPREFIX=\/tmp\/local

PREFIXDIA=$(call findfirstSB,bin/dia)
$(info DIA PREFIX: ${PREFIXDIA})
# suele ser NO LOCAL

USERS=`ls /home`

BINDIR=bin
#ETCRES=etc/simusol
ETCDIR=/etc
LIBDIR=lib
SHAREDIR=share
#/dia-simusol/data
PKGDIR=share/dia-simusol/pkg-data



BINDIRSRC=bin/
#ETCDIRSRC=etc/
SHAREDIRSRCDIA=share/
SHAREDIRSRC=share/
PKGDIRSRC=


########################## OJO CON LOS CD DIA

ISHAREFILESDIA=$(shell $(shellpath) cd NOLOCALdia; find -type f -not -wholename '*.svn*'| grep ^\./$(SHAREDIRSRCDIA) | grep -v '^\#' | grep -v '~$$')

ISHAREDIRSDIA=$(shell $(shellpath)  cd NOLOCALdia; find -type d -not -wholename '*.svn*'| grep ^\./$(SHAREDIRSRCDIA) )


# LIB INCLUDE SBIN SRC LOCALE GAMES
#$(info IBINFILES $(IBINFILES))
#$(info ISHAREFILES $(ISHAREFILES))
#$(info ISHAREDIRS $(ISHAREDIRS))
#$(info ISHAREFILESDIA $(ISHAREFILESDIA))
#$(info ISHAREDIRSDIA $(ISHAREDIRSDIA))
#$(info IETCFILES $(IETCFILES))
#$(info IPKGFILES $(IPKGFILES))


### eliminar en el .dia de cada usuario todo pero ver si el usuario no tiene algo propio
# es complejo

#echo BORRE TODO LO QUE TENGA EN SU DIRECTORIO OCULTO .dia, a menos que ud sepa que tiene algo de su interes.

install: 
	$(call installdirs,${ISHAREDIRSDIA},$(PREFIXDIA),,$(SUDO))
	$(call installfiles,${ISHAREFILESDIA},$(PREFIXDIA),,$(SUDO),NOLOCALdia)
	$(call copytree,$(PREFIX),$(ETCDIR),$(SUDO),$(PREFIX))
	dia_install ${USERBASE}
	$(call listado,)


#	make inslaunchers

removess:
	DIRVNAME=`mktemp -d $(PREFIXDIA)/share/dia/viejoXXXX`; \
        mkdir -p $${DIRVNAME}/shapes/viejos ;\
	mkdir -p $${DIRVNAME}/shapes/Termico ;\
	mkdir -p $${DIRVNAME}/shapes/Modelos ;\
	mkdir -p $${DIRVNAME}/shapes/Generico ;\
	mkdir -p $${DIRVNAME}/shapes/Electrico ;\
        mkdir -p $${DIRVNAME}/sheets ;\
        mkdir -p $(PREFIXDIA)/share/dia/shapes/viejos ;\
	mkdir -p $(PREFIXDIA)/share/dia/shapes/Termico ;\
	mkdir -p $(PREFIXDIA)/share/dia/shapes/Modelos ;\
	mkdir -p $(PREFIXDIA)/share/dia/shapes/Generico ;\
	mkdir -p $(PREFIXDIA)/share/dia/shapes/Electrico ;\
        mkdir -p $(PREFIXDIA)/share/dia/sheets; \
	mv $(PREFIXDIA)/share/dia/shapes/viejos  $${DIRVNAME}/shapes; \
	mv $(PREFIXDIA)/share/dia/shapes/Termico  $${DIRVNAME}/shapes; \
	mv $(PREFIXDIA)/share/dia/shapes/Modelos  $${DIRVNAME}/shapes; \
	mv $(PREFIXDIA)/share/dia/shapes/Generico  $${DIRVNAME}/shapes; \
	mv $(PREFIXDIA)/share/dia/shapes/Electrico  $${DIRVNAME}/shapes; \
	mv $(PREFIXDIA)/share/dia/sheets/Modelos.sheet  $${DIRVNAME}/sheets; \
        mv $(PREFIXDIA)/share/dia/sheets/Electrico.sheet  $${DIRVNAME}/sheets; \
        mv $(PREFIXDIA)/share/dia/sheets/Generico.sheet  $${DIRVNAME}/sheets; \
        mv $(PREFIXDIA)/share/dia/sheets/Termico.sheet  $${DIRVNAME}/sheets; \
        mkdir -p $(PREFIXDIA)/share/dia/shapes/viejos ;\
	mkdir -p $(PREFIXDIA)/share/dia/shapes/Termico ;\
	mkdir -p $(PREFIXDIA)/share/dia/shapes/Modelos ;\
	mkdir -p $(PREFIXDIA)/share/dia/shapes/Generico ;\
	mkdir -p $(PREFIXDIA)/share/dia/shapes/Electrico ;\
        mkdir -p $(PREFIXDIA)/share/dia/sheets; \

# este no se sube es solo para hacer paquetes deb o rpm u otros
installdist: clean
	echo "PACKAGE DISTRIBUTION FILE ${PACKV}-${VERSION}-AI.tgz (architecture independent)"
	rm -rf /tmp/$(BASETMP) ; 
	mkdir -p /tmp/$(BASETMP) ;
	$(call installdirs,${ISHAREDIRSDIA}, /tmp/${BASETMP},,$(SUDO))
	$(call installfiles,${ISHAREFILESDIA}, /tmp/${BASETMP},,$(SUDO))
	$(call copytree, /tmp/${BASETMP}/$(PREFIX), /tmp/${BASETMP}/$(ETCRES),,$(PREFIX)) 
	cd  /tmp/${BASETMP}; tar -c . | gzip -n> $(CURDIR)/../${PACKV}-${VERSION}-AI.tgz
	md5sum  ../${PACKV}-${VERSION}-AI.tgz>../${PACKV}-${VERSION}-AI.tgz.md5.


#########################
