mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 03:53:32 +01:00
totally new contents: Now generally usable, controlled by UPLOAD_XXX variables
This commit is contained in:
parent
852f433986
commit
593e52b366
1 changed files with 40 additions and 112 deletions
152
make/upload.mk
152
make/upload.mk
|
|
@ -1,119 +1,47 @@
|
|||
# -- general, and important
|
||||
LOCAL_PROJECT = $(PROJECT)
|
||||
UPLOAD_SH ?= $(MOD_SCRIPT_DIR)/upload.sh
|
||||
UPLOAD_PROJECT ?= $(PROJECT)
|
||||
UPLOAD_MODULE ?= $(UPLOAD_PROJECT)
|
||||
UPLOAD_FILE_MODE ?= 640
|
||||
UPLOAD_DIR_MODE ?= 750
|
||||
UPLOAD_GROUP ?= $(shell id -ng)
|
||||
UPLOAD_USER ?= $(shell id -nu)
|
||||
UPLOAD_HOST_LOGIN ?= root
|
||||
UPLOAD_HOST ?= www.jannet.de
|
||||
UPLOAD_VHOST_ROOT ?= /srv/www/htdocs/jannet.de_443
|
||||
UPLOAD_SERVER_PATH ?= proj/$(UPLOAD_MODULE)
|
||||
UPLOAD_FILE_ROOT ?= $(UPLOAD_VHOST_ROOT)/proj/$(UPLOAD_MODULE)
|
||||
UPLOAD_TARGET_PREFIX ?= rsync_ssh://$(UPLOAD_HOST_LOGIN)@$(UPLOAD_HOST):$(UPLOAD_FILE_ROOT)/
|
||||
UPLOAD_LAST_VERSION_FILE ?= LAST_UPLOADED_VERSION
|
||||
UPLOAD_LAST_VERSION ?= $(shell cat $(UPLOAD_LAST_VERSION_FILE) 2>/dev/null)
|
||||
#UPLOAD_FILES ?=
|
||||
REMOTE_TARGETS ?= \
|
||||
$(foreach f,$(UPLOAD_FILES),$(UPLOAD_TARGET_PREFIX)$f:$(UPLOAD_FILE_MODE):$(UPLOAD_DIR_MODE):$(UPLOAD_USER).$(UPLOAD_GROUP))
|
||||
|
||||
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) \
|
||||
)
|
||||
all:
|
||||
upload: upload.dist
|
||||
|
||||
# legacy from cfg_xxx.mk
|
||||
DOWNLOADDIRS ?= root@cvs.jannet.de:/usr/local/httpd/htdocs/www.jannet.de_443/$(CUSTOMER)/projects/$(PROJECT)
|
||||
FTP_PUB_DIR_ABS ?= $(JANNET_PROJ_DIR)/$(PROJECT)
|
||||
rsync_ssh\://% ftp\://% scp\://%:
|
||||
make $(shell echo $(notdir $@) | sed 's/:.*//g')
|
||||
$(UPLOAD_SH) $(shell echo $(notdir $@) $@ | sed 's/:.*//g') $@
|
||||
|
||||
# -- 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_
|
||||
upload.dist: $(UPLOAD_FILES)
|
||||
ifneq ($(UPLOAD_LAST_VERSION),$(VERSION))
|
||||
make $(REMOTE_TARGETS)
|
||||
echo $(VERSION) > $(UPLOAD_LAST_VERSION_FILE)
|
||||
cvs commit -m "o $(VERSION)" $(UPLOAD_LAST_VERSION_FILE)
|
||||
endif
|
||||
touch $@.done
|
||||
|
||||
SSI_FILES = $(addsuffix .html,$(addprefix $(SSI_PREFIX),$(notdir $(PCKG_FILES))))
|
||||
PCKG_FILES = $(addprefix $(PCKG_DIR)/,$(DIST_FILES))
|
||||
is-uploaded:
|
||||
ifneq ($(UPLOAD_LAST_VERSION),$(VERSION))
|
||||
echo $(VERSION) > $(UPLOAD_LAST_VERSION_FILE)
|
||||
cvs add $(UPLOAD_LAST_VERSION_FILE)
|
||||
cvs commit -m "initial checkin" $(UPLOAD_LAST_VERSION_FILE)
|
||||
endif
|
||||
touch upload.dist.done
|
||||
|
||||
$(TMPHTML):
|
||||
mkdir -p $(TMPHTML)
|
||||
test -d $(TMPHTML) && rm -rf $(TMPHTML)/*
|
||||
clean: upload.clean
|
||||
|
||||
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)"
|
||||
$(CVS_RSH) -l $(TARGET_USER) $(TARGET_HOST) -C "\
|
||||
mkdir -p $(TARGET_DIR); chmod $(TARGET_DIR_MODE) $(TARGET_DIR)"
|
||||
/usr/bin/rsync -az -v --links -e $(CVS_RSH) $(PCKG_FILES) $(TARGET_USER)@$(TARGET_HOST):$(TARGET_DIR)
|
||||
$(CVS_RSH) -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" ;\
|
||||
$(CVS_RSH) -l $(TARGET_USER) $(TARGET_HOST) -C "\
|
||||
mkdir -p $$DIR; chmod $(TARGET_DIR_MODE) $(TARGET_DIR)" ;\
|
||||
/usr/bin/rsync -az -v --links -e $(CVS_RSH) $(TMPHTML)/ssi_download_*.html $(TARGET_USER)@$(TARGET_HOST):$$DIR ;\
|
||||
$(CVS_RSH) -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
|
||||
upload.clean:
|
||||
rm -f upload.dist
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue