From 939b523263ffce5c8758d244cbc624c3bd88c9b3 Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Wed, 10 Oct 2001 18:17:12 +0000 Subject: [PATCH] dist.mk: Add file --- make/dist.mk | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 make/dist.mk diff --git a/make/dist.mk b/make/dist.mk new file mode 100644 index 00000000..d67e2aed --- /dev/null +++ b/make/dist.mk @@ -0,0 +1,80 @@ +# -- general, and important +LOCAL_PROJECT = $(PROJECT) + +TARGET_HOST = cvs.jannet.de +UPLOAD_DOCUMENT_ROOT = /usr/local/httpd/htdocs +UPLOAD_VIRTUAL_SERVER_ROOT = www.jannet.de_443 +TARGET_USER = root +TARGET_GROUP = root +TARGET_FILE_MODE = 755 +TARGET_DIR_MODE = 755 +DOWNLOAD_SERVER = https://www.jannet.de:443 +URL_RELATIVE_PATH = $(CUSTOMER)/projects/$(LOCAL_PROJECT)/download +SSI_DOWNLOAD_TMPL = $(MODDIR)/doctmpl/html/ssi/ssi_download.html.tmpl +DOWNLOAD_REFERRER_DIRS = $(addprefix $(UPLOAD_DOCUMENT_ROOT)/, \ + $(UPLOAD_VIRTUAL_SERVER_ROOT)/$(URL_RELATIVE_PATH) \ +) + +# -- general, and less important +DISTDIR = $(TOPDIR)/dist +TMPHTML=$(DISTDIR)/html +DOWNLOAD_URLDIR=$(DOWNLOAD_SERVER)/$(URL_RELATIVE_PATH) +TARGET_DIR = $(UPLOAD_DOCUMENT_ROOT)/$(UPLOAD_VIRTUAL_SERVER_ROOT)/$(URL_RELATIVE_PATH) +SSI_PREFIX = $(TMPHTML)/ssi_download_ + +$(TMPHTML): + mkdir -p $(TMPHTML) + test -d $(TMPHTML) && rm -rf $(TMPHTML)/* + + +$(SSI_PREFIX)%.html: $(TMPHTML) $(SSI_DOWNLOAD_TMPL) + STEM=`basename $*` ;\ + DIR=`dirname $*` ;\ + EXPLANATION="$(PROJECT_DESCR)";\ + SIZE=`ls -l $(DIST_FILE) | awk '{print $$5}'`;\ + FILENAME=`basename $(DIST_FILE)` ;\ + URLDIR=`echo $(DOWNLOAD_URLDIR) | sed -e 's/\\//\\\\\//g;'` ;\ + cat $(SSI_DOWNLOAD_TMPL) | sed -e "\ + s/_VERSION_/$(LOCAL_DIST_VERSION)/g;\ + s/_PROJECT_/$(LOCAL_PROJECT)/g;\ + s/_TARGET_STEM_//g;\ + s/_FILENAME_/$$FILENAME/g;\ + s/_DATE_/$(shell date +"%Y-%m-%d")/g;\ + s/_EXPLANATION_/$$EXPLANATION/g;\ + s/_URLDIR_/$$URLDIR/g;\ + s/_SIZE_/$$SIZE/g;\ + " > $@ + +$(DIST_FILE): distclean + mkdir -p $(DISTDIR)/src/$(PROJECT) + mkdir -p $(DISTDIR)/pckg + rm -rf $(DISTDIR)/src/$(PROJECT)/* + mkdir -p $(DISTDIR)/src/$(PROJECT)/mod + cd $(TOPDIR); find . -type f | \ + grep -ve 'CVS\|contrib/nomake\|tar.gz\|/dist/' | \ + xargs tar -cf - | tar -C $(DISTDIR)/src/$(PROJECT) -xf - + echo $(DIST_VERSION) > $(DISTDIR)/src/$(PROJECT)/VERSION ;\ + for mod in $(REQUIRED) ; do make -C $(MODDIR)/$$mod clean; cp -r $(MODDIR)/$$mod $(DISTDIR)/src/$(PROJECT)/mod/ ; done ;\ + cp $(MODDIR)/Makefile $(DISTDIR)/src/$(PROJECT)/mod/ ;\ + tar -czv -C $(DISTDIR)/src/ -f $(DIST_FILE) $(PROJECT) + +build.dist: $(DIST_FILE) + +# -- install.dist +install.dist: $(DIST_FILE) $(SSI_PREFIX)_$(PROJECT)_$(DIST_VERSION).html + @echo "-- installing distribution files to $(TARGET_HOST):$(TARGET_DIR) as user $(TARGET_USER)" + ssh -l $(TARGET_USER) $(TARGET_HOST) -C "\ + mkdir -p $(TARGET_DIR); chmod $(TARGET_DIR_MODE) $(TARGET_DIR)" + /usr/bin/rsync -az -v --links -e /usr/bin/ssh $(DIST_FILE) $(TARGET_USER)@$(TARGET_HOST):$(TARGET_DIR) + ssh -l $(TARGET_USER) $(TARGET_HOST) -C "\ + cd $(TARGET_DIR); find . -type d | xargs -r chmod $(TARGET_DIR_MODE); find . -type f | xargs -r chmod $(TARGET_FILE_MODE)" + @echo "-- installing referrer include files to $(TARGET_HOST) as user $(TARGET_USER)" + for DIR in $(DOWNLOAD_REFERRER_DIRS) ; do \ + echo "to $$DIR" ;\ + ssh -l $(TARGET_USER) $(TARGET_HOST) -C "\ + mkdir -p $$DIR; chmod $(TARGET_DIR_MODE) $(TARGET_DIR)" ;\ + /usr/bin/rsync -az -v --links -e /usr/bin/ssh $(TMPHTML)/ssi_download_*.html $(TARGET_USER)@$(TARGET_HOST):$$DIR ;\ + ssh -l $(TARGET_USER) $(TARGET_HOST) -C "\ + cd $$DIR; find . -type d | xargs -r chmod $(TARGET_DIR_MODE); find . -type f | xargs -r chmod $(TARGET_FILE_MODE)" ;\ + done +