diff options
Diffstat (limited to 'luci.mk')
-rw-r--r-- | luci.mk | 80 |
1 files changed, 49 insertions, 31 deletions
@@ -72,6 +72,7 @@ LUCI_LC_ALIAS.zh_Hant=zh-tw HTDOCS = /www LUA_LIBRARYDIR = /usr/lib/lua LUCI_LIBRARYDIR = $(LUA_LIBRARYDIR)/luci +UCODE_LIBRARYDIR = /usr/share/ucode/luci # 1: everything expect po subdir or only po subdir @@ -113,10 +114,10 @@ PKG_SRC_VERSION?=$(if $(DUMP),x,$(strip $(call findrev,1))) PKG_GITBRANCH?=$(if $(DUMP),x,$(strip $(shell \ variant="LuCI"; \ if git log -1 >/dev/null 2>/dev/null; then \ - branch="$$(git branch --remote --verbose --no-abbrev --contains 2>/dev/null | \ - sed -rne 's|^[^/]+/([^ ]+) [a-f0-9]{40} .+$$|\1|p' | head -n1)"; \ + branch=$$(git branch --format='%(refname:strip=3)' --remote --no-abbrev --contains 2>/dev/null | tail -n1); \ + branch=$${branch:-$$(git branch --format='%(refname:strip=2)' --no-abbrev --contains 2>/dev/null | tail -n1)}; \ if [ "$$branch" != "master" ]; then \ - variant="LuCI $$branch branch"; \ + variant="LuCI $${branch:-unknown} branch"; \ else \ variant="LuCI Master"; \ fi; \ @@ -126,16 +127,22 @@ PKG_GITBRANCH?=$(if $(DUMP),x,$(strip $(shell \ include $(INCLUDE_DIR)/package.mk -# LUCI_SUBMENU: the submenu-item below the LuCI top-level menu inside OpoenWrt menuconfig +# LUCI_SUBMENU: the submenu-item below the LuCI top-level menu inside OpenWrt menuconfig # usually one of the LUCI_MENU.* definitions # LUCI_SUBMENU_DEFAULT: the regular SUBMENU defined by LUCI_TYPE or derrived from the packagename # LUCI_SUBMENU_FORCED: manually forced value SUBMENU to set to by explicit definiton -# can be any string, "none" disables the creation of a submenu +# can be any string, "none" disables the creation of a submenu # most usefull in combination with LUCI_CATEGORY, to make the package appear # anywhere in the menu structure LUCI_SUBMENU_DEFAULT=$(if $(LUCI_MENU.$(LUCI_TYPE)),$(LUCI_MENU.$(LUCI_TYPE)),$(LUCI_MENU.app)) LUCI_SUBMENU=$(if $(LUCI_SUBMENU_FORCED),$(LUCI_SUBMENU_FORCED),$(LUCI_SUBMENU_DEFAULT)) +ifneq ($(wildcard ${CURDIR}/luasrc/*),) + ifneq ($(filter-out luci-lib-base luci-lua-runtime,$(PKG_NAME)),) + LUCI_DEPENDS += +luci-lua-runtime + endif +endif + define Package/$(PKG_NAME) SECTION:=$(LUCI_SECTION) CATEGORY:=$(LUCI_CATEGORY) @@ -159,7 +166,7 @@ ifneq ($(LUCI_DESCRIPTION),) endif define Build/Prepare - for d in luasrc htdocs root src; do \ + for d in luasrc ucode htdocs root src; do \ if [ -d ./$$$$d ]; then \ mkdir -p $(PKG_BUILD_DIR)/$$$$d; \ $(CP) ./$$$$d/* $(PKG_BUILD_DIR)/$$$$d/; \ @@ -184,33 +191,39 @@ else endif 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); \ - cp -pR $(PKG_BUILD_DIR)/htdocs/* $(1)$(HTDOCS)/; \ - $(if $(CONFIG_LUCI_JSMIN),$(call JsMin,$(1)$(HTDOCS)/),true); \ - $(if $(CONFIG_LUCI_CSSTIDY),$(call CssTidy,$(1)$(HTDOCS)/),true); \ - else true; fi - if [ -d $(PKG_BUILD_DIR)/root ]; then \ - $(INSTALL_DIR) $(1)/; \ - cp -pR $(PKG_BUILD_DIR)/root/* $(1)/; \ - else true; fi - if [ -d $(PKG_BUILD_DIR)/src ]; then \ - $(call Build/Install/Default) \ - $(CP) $(PKG_INSTALL_DIR)/* $(1)/; \ - else true; fi + + ifneq ($(wildcard ${CURDIR}/luasrc),) + $(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)/) + endif + ifneq ($(wildcard ${CURDIR}/ucode),) + $(INSTALL_DIR) $(1)$(UCODE_LIBRARYDIR) + cp -pR $(PKG_BUILD_DIR)/ucode/* $(1)$(UCODE_LIBRARYDIR)/ + $(call SubstituteVersion,$(1)$(UCODE_LIBRARYDIR)/) + endif + ifneq ($(wildcard ${CURDIR}/htdocs),) + $(INSTALL_DIR) $(1)$(HTDOCS) + cp -pR $(PKG_BUILD_DIR)/htdocs/* $(1)$(HTDOCS)/ + $(if $(CONFIG_LUCI_JSMIN),$(call JsMin,$(1)$(HTDOCS)/),true) + $(if $(CONFIG_LUCI_CSSTIDY),$(call CssTidy,$(1)$(HTDOCS)/),true) + endif + ifneq ($(wildcard ${CURDIR}/root),) + $(INSTALL_DIR) $(1)/ + cp -pR $(PKG_BUILD_DIR)/root/* $(1)/ + endif + ifneq ($(wildcard ${CURDIR}/src),) + $(call Build/Install/Default) + $(CP) $(PKG_INSTALL_DIR)/* $(1)/ + endif endef ifndef Package/$(PKG_NAME)/postinst define Package/$(PKG_NAME)/postinst [ -n "$${IPKG_INSTROOT}" ] || { \ - rm -f /tmp/luci-indexcache + rm -f /tmp/luci-indexcache.* rm -rf /tmp/luci-modulecache/ killall -HUP rpcd 2>/dev/null exit 0 @@ -219,7 +232,7 @@ endef endif # some generic macros that can be used by all packages -ifeq ($(LUCI_MINIFY_JS),1) +ifeq ($(LUCI_MINIFY_LUA),1) define SrcDiet $(FIND) $(1) -type f -name '*.lua' | while read src; do \ if LUA_PATH="$(STAGING_DIR_HOSTPKG)/lib/lua/5.1/?.lua" luasrcdiet --noopt-binequiv -o "$$$$src.o" "$$$$src"; \ @@ -263,6 +276,11 @@ define SubstituteVersion $(SED) 's/<%# *\([^ ]*\)PKG_VERSION *%>/\1$(if $(PKG_VERSION),$(PKG_VERSION),$(PKG_SRC_VERSION))/g' \ -e 's/"\(<%= *\(media\|resource\) *%>[^"]*\.\(js\|css\)\)"/"\1?v=$(if $(PKG_VERSION),$(PKG_VERSION),$(PKG_SRC_VERSION))"/g' \ "$$$$src"; \ + done; \ + $(FIND) $(1) -type f -name '*.ut' | while read src; do \ + $(SED) 's/{# *\([^ ]*\)PKG_VERSION *#}/\1$(if $(PKG_VERSION),$(PKG_VERSION),$(PKG_SRC_VERSION))/g' \ + -e 's/"\({{ *\(media\|resource\) *}}[^"]*\.\(js\|css\)\)"/"\1?v=$(if $(PKG_VERSION),$(PKG_VERSION),$(PKG_SRC_VERSION))"/g' \ + "$$$$src"; \ done endef @@ -278,8 +296,8 @@ ifeq ($(PKG_NAME),luci-base) default y config LUCI_CSSTIDY - bool "Minify CSS files" - default y + bool "Minify CSS files" + default y menu "Translations"$(foreach lang,$(LUCI_LANGUAGES),$(if $(LUCI_LANG.$(lang)), |