summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2016-11-01 16:47:31 +0100
committerJo-Philipp Wich <jo@mein.io>2016-11-01 16:50:50 +0100
commitd7d97723fef1c4e5fe436b15e088d24d558246b3 (patch)
treea25ae7752b375e35598327c1a872b61b7e7df33e
parent87ae1242b89245e47d2a63c7cbd411428c9b1e72 (diff)
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 <jo@mein.io>
-rw-r--r--luci.mk9
1 files changed, 9 insertions, 0 deletions
diff --git a/luci.mk b/luci.mk
index 84d151230..2235cc5f0 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); \