jw-pkg/make/upload.mk
2001-10-11 18:54:23 +00:00

65 lines
2.6 KiB
Makefile

# -- 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;\
" > $@
# -- 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