upd from 12-2020

This commit is contained in:
Alexey Kovrizhkin
2023-05-28 10:08:31 +03:00
parent 0f09d8c701
commit 659b99bab1
2 changed files with 88 additions and 22 deletions

View File

@@ -1,32 +1,75 @@
SHELL = /bin/bash
CFG=.env
SOURCES=$(wildcard *.sql)
OBJECTS=$(SOURCES:.sql=.done)
SHELL = /bin/sh
CFG =.env
all: $(CFG) $(OBJECTS)
SOURCES ?= $(wildcard *.sql)
OBJECTS = $(SOURCES:.sql=.done)
OBJECTSDIRECT = $(SOURCES:.sql=.direct)
up: all
# ------------------------------------------------------------------------------
# шаблон файла .env
define CONFIG_DEF
# dcape-dns config file, generated by make $(CFG)
# Postgresql container name (access via docker)
PG_CONTAINER=dcape_db_1
# PowerDNS DB user name
PGUSER=pdns
# PowerDNS DB name
PGDATABASE=pdns
# Used ONLY for direct DB access without docker (start-direct)
PGPASSWORD=
endef
export CONFIG_DEF
all: help
# ------------------------------------------------------------------------------
-include $(CFG)
export
# ------------------------------------------------------------------------------
# dcape v1 comparibility
start-hook: update
start-direct: update-direct
stop:
$(CFG): $(CFG).sample
@[ -f $@ ] || cp $< $@
# ------------------------------------------------------------------------------
update: $(OBJECTS)
%.done: %.sql
@echo "*** $< ***"
@cat $< | docker exec -i $$PG_CONTAINER psql -U $$PG_USER > $@
@csum=$$(md5sum $< | sed 's/ .*//') ; \
cat $< | docker exec -i $$PG_CONTAINER psql -U $$PGUSER -d $$PGDATABASE -vcsum=$$csum > $@
# ------------------------------------------------------------------------------
update-direct: $(CFG) $(OBJECTSDIRECT)
%.direct: %.sql
@echo "*** $< ***"
@source $(CFG) && cat $< | PGPASSWORD=$$PGPASSWORD psql -h localhost -U $$PGUSER > $@
# ------------------------------------------------------------------------------
clean:
rm -rf *.done
# шаблон файла .env
define CONFIG_DEF
# dcape-dns-config $(CFG) file, generated by make $(CFG)
# Postgresql container name
PG_CONTAINER=dcape_db_1
# PowerDNS DB user (and database) name
PG_USER=dns
endef
export CONFIG_DEF
$(CFG):
$(CFG).sample:
@echo "*** $@ ***"
@[ -f $@ ] || { echo "$$CONFIG_DEF" > $@ ; echo >&2 "Warning: Created default $@" ; }
@[ -f $@ ] || echo "$$CONFIG_DEF" > $@
## generate sample config
config: $(CFG).sample