From d7d97723fef1c4e5fe436b15e088d24d558246b3 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Tue, 1 Nov 2016 16:47:31 +0100 Subject: [PATCH] luci.mk: add simple cache buster Append a ?v=version string to any media or resource URL that has a .js or .css extension. Also substitute placeholders in the form <%# xxxPKG_VERSION %> where xxx is replaced verbatim and PKG_VERSION with the actual version, e.g. <%# ?x=PKG_VERSION %> will result in "?x=git-16.237.30043-f885853". Signed-off-by: Jo-Philipp Wich --- luci.mk | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/luci.mk b/luci.mk index 84d151230c..2235cc5f05 100644 --- a/luci.mk +++ b/luci.mk @@ -155,12 +155,21 @@ define SrcDiet done endef +define SubstituteVersion + $(FIND) $(1) -type f -name '*.htm' | while read src; do \ + $(SED) 's/<%# *\([^ ]*\)PKG_VERSION *%>/\1$(PKG_VERSION)/g' \ + -e 's/"\(<%= *\(media\|resource\) *%>[^"]*\.\(js\|css\)\)"/"\1?v=$(PKG_VERSION)"/g' \ + "$$$$src"; \ + done +endef + define Package/$(PKG_NAME)/install if [ -d $(PKG_BUILD_DIR)/luasrc ]; then \ $(INSTALL_DIR) $(1)$(LUCI_LIBRARYDIR); \ cp -pR $(PKG_BUILD_DIR)/luasrc/* $(1)$(LUCI_LIBRARYDIR)/; \ $(FIND) $(1)$(LUCI_LIBRARYDIR)/ -type f -name '*.luadoc' | $(XARGS) rm; \ $(if $(CONFIG_LUCI_SRCDIET),$(call SrcDiet,$(1)$(LUCI_LIBRARYDIR)/),true); \ + $(call SubstituteVersion,$(1)$(LUCI_LIBRARYDIR)/); \ else true; fi if [ -d $(PKG_BUILD_DIR)/htdocs ]; then \ $(INSTALL_DIR) $(1)$(HTDOCS); \ -- 2.30.2