mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 03:53:32 +01:00
115 lines
4 KiB
Makefile
115 lines
4 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_
|
|
|
|
SSI_FILES = $(addsuffix .html,$(addprefix $(SSI_PREFIX),$(notdir $(PCKG_FILES))))
|
|
PCKG_FILES = $(addprefix $(PCKG_DIR)/,$(DIST_FILES))
|
|
|
|
$(TMPHTML):
|
|
mkdir -p $(TMPHTML)
|
|
test -d $(TMPHTML) && rm -rf $(TMPHTML)/*
|
|
|
|
define generate_ssi
|
|
STEM=$(notdir $@) ;\
|
|
DIR=$(dir $@) ;\
|
|
if [ -n "`echo $(PROJECT_DESCR) | grep '\win'`" ]; then \
|
|
PLATF=" for Windows" ;\
|
|
elif [ -n "`echo $(PROJECT_DESCR) | grep '\lx'`" ]; then \
|
|
PLATF=" for Linux" ;\
|
|
fi; \
|
|
if [ -n "`echo $(PROJECT_DESCR) | grep '\-src'`" ]; then \
|
|
DISTTYPE=", Source Distribution" ;\
|
|
elif [ -n "`echo $(PROJECT_DESCR) | grep '\-bin'`" ]; then \
|
|
DISTTYPE=", Binary Distribution" ;\
|
|
fi; \
|
|
EXPLANATION="$(PROJECT_DESCR)$$PLATF$$DISTTYPE";\
|
|
SIZE=`ls -l $< | awk '{print $$5}'`;\
|
|
FILENAME=`basename $<` ;\
|
|
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_%$(DOWNLOAD_URLDIR)%g;\
|
|
s/_SIZE_/$$SIZE/g;\
|
|
" > $@
|
|
endef
|
|
|
|
# $(TMPHTML) $(SSI_DOWNLOAD_TMPL)
|
|
$(SSI_PREFIX)%.html: $(PCKG_DIR)/%
|
|
STEM=$(notdir $@) ;\
|
|
DIR=$(dir $@) ;\
|
|
mkdir -p $$DIR ;\
|
|
if [ -n "`echo $@ | grep 'win'`" ]; then \
|
|
PLATF=" for Windows" ;\
|
|
elif [ -n "`echo $@ | grep 'lx'`" ]; then \
|
|
PLATF=" for Linux" ;\
|
|
fi; \
|
|
if [ -n "`echo $@ | grep '\-src'`" ]; then \
|
|
DISTTYPE=", Source Distribution" ;\
|
|
elif [ -n "`echo $@ | grep '\-bin'`" ]; then \
|
|
DISTTYPE=", Binary Distribution" ;\
|
|
fi; \
|
|
EXPLANATION="$(PROJECT_DESCR)$$PLATF$$DISTTYPE";\
|
|
SIZE=`ls -l $< | awk '{print $$5}'`;\
|
|
FILENAME=$(notdir $<) ;\
|
|
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_%$(DOWNLOAD_URLDIR)%g;\
|
|
s/_SIZE_/$$SIZE/g;\
|
|
" > $@
|
|
|
|
#$(SSI_PREFIX)%.html: $(TMPHTML) $(SSI_DOWNLOAD_TMPL)
|
|
# $(generate_ssi)
|
|
#
|
|
#$(SSI_PREFIX)%.html: %-lx-src.tar.gz $(TMPHTML) $(SSI_DOWNLOAD_TMPL)
|
|
# $(generate_ssi)
|
|
|
|
ssi_build.dist:
|
|
make $(SSI_FILES)
|
|
|
|
# -- install.dist
|
|
install.dist: $(PCKG_FILES) ssi_build.dist
|
|
@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 $(PCKG_FILES) $(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
|
|
|