@@ -48,10 +48,12 @@ DCAPE_VERSION_DOMAIN ?= dockerpoll.dcape.ru
4848DCAPE_VERSION_OPTS ?= -t txt +short
4949
5050## compare local and upstream app versions
51+ ## and update if VER_UPDATE=yes
5152ver-cmp:
5253 @echo "Local and Dcape upstream app docker images and versions" ; \
53- printf "%-8s %-18s %-30s %-15s %-30s %-15s\n" "Role" "App" "Image" "Version" "Dcape image " "Dcape version " ; \
54+ printf "%-8s %-18s %-30s %-15s %-30s %-15s\n" "Role" "App" "Dcape image" "Dcape version " "Image" "Version " ; \
5455 printf "%-8s %-18s %-30s %-15s %-30s %-15s\n" "----" "---" "-----" "-------" "-----------" "-------------" ; \
56+ updated=0 ; \
5557 for app in $(APPS); do \
5658 x=$$(grep -E '^[^#].+_IMAGE=' apps/_$$app/.env) ; img=$${x#*=} ; \
5759 tag=$${img##*/} ; \
@@ -63,10 +65,15 @@ ver-cmp:
6365 fi ; \
6466 x=$$(grep -E '^[^#].+_VER=' apps/_$$app/.env) ; ver=$${x#*=} ; \
6567 read i v < <(dig $(DCAPE_VERSION_OPTS) $${tag}.$(DCAPE_VERSION_DOMAIN) | tr -d \") ; \
66- [[ $$img == $$i ]] && i="="; \
67- [[ $$ver == $$v ]] && v="="; \
68- printf "%-8s %-18s %-30s %-15s %-30s %-15s\n" $$app $$tag $$img $$ver $$i $$v; \
69- done
68+ [[ $$img == $$i ]] && img="="; \
69+ [[ $$ver == $$v ]] && ver="="; \
70+ if [[ "$(VER_UPDATE)" == "yes" ]] && [[ "$$img" == "=" ]] && [[ "$$ver" != "=" ]] ; then \
71+ ver="$$ver (updated)" ; ((updated+=1)) ; \
72+ sed -E -i 's/^([^#].+_VER=)(.+)/\1'$$v'/' apps/_$$app/.env ; \
73+ fi ; \
74+ printf "%-8s %-18s %-30s %-15s %-30s %-30s\n" $$app $$tag $$i $$v $$img "$$ver"; \
75+ done ; \
76+ [[ "$$updated" == 0 ]] || $(MAKE) -s .env ; \
7077
7178# may be used in app Makefile, called before app up
7279.setup-before-up:
0 commit comments