X-Git-Url: http://git.openwrt.org/?p=project%2Fluci.git;a=blobdiff_plain;f=luci.mk;h=4c69a5e3bb80de9ea86772190a018fb7cff95207;hp=6def683d807570502811c44508a11347822ac9b2;hb=HEAD;hpb=46181e5ace8c5cf86e257d021b4e3e593f1a7f5e diff --git a/luci.mk b/luci.mk index 6def683d80..b5bd6fcd13 100644 --- a/luci.mk +++ b/luci.mk @@ -18,7 +18,7 @@ LUCI_MINIFY_LUA?=1 LUCI_MINIFY_CSS?=1 LUCI_MINIFY_JS?=1 -# Language code titles +#LUCI_LANG_START LUCI_LANG.ar=العربية (Arabic) LUCI_LANG.bg=български (Bulgarian) LUCI_LANG.bn_BD=বাংলা (Bengali) @@ -36,13 +36,14 @@ LUCI_LANG.hu=Magyar (Hungarian) LUCI_LANG.it=Italiano (Italian) LUCI_LANG.ja=日本語 (Japanese) LUCI_LANG.ko=한국어 (Korean) +LUCI_LANG.lt=Lietuvių (Lithuanian) LUCI_LANG.mr=Marāṭhī (Marathi) LUCI_LANG.ms=Bahasa Melayu (Malay) LUCI_LANG.nb_NO=Norsk (Norwegian) LUCI_LANG.nl=Nederlands (Dutch) LUCI_LANG.pl=Polski (Polish) -LUCI_LANG.pt_BR=Português do Brasil (Brazilian Portuguese) LUCI_LANG.pt=Português (Portuguese) +LUCI_LANG.pt_BR=Português do Brasil (Brazilian Portuguese) LUCI_LANG.ro=Română (Romanian) LUCI_LANG.ru=Русский (Russian) LUCI_LANG.sk=Slovenčina (Slovak) @@ -52,6 +53,7 @@ LUCI_LANG.uk=Українська (Ukrainian) LUCI_LANG.vi=Tiếng Việt (Vietnamese) LUCI_LANG.zh_Hans=简体中文 (Chinese Simplified) LUCI_LANG.zh_Hant=繁體中文 (Chinese Traditional) +#LUCI_LANG_END # Submenu titles LUCI_MENU.col=1. Collections @@ -72,6 +74,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 @@ -82,18 +85,18 @@ define findrev if [ -n "$$1" ]; then secs="$$(($$1 % 86400))"; \ yday="$$(date --utc --date="@$$1" "+%y.%j")"; \ - printf 'git-%s.%05d-%s' "$$yday" "$$secs" "$$2"; \ + printf '%s.%05d~%s' "$$yday" "$$secs" "$$2"; \ else \ - echo "unknown"; \ + echo "0"; \ fi; \ else \ ts=$$(find . -type f $(if $(1),-not) -path './po/*' -printf '%T@\n' 2>/dev/null | sort -rn | head -n1 | cut -d. -f1); \ if [ -n "$$ts" ]; then \ secs="$$(($$ts % 86400))"; \ date="$$(date --utc --date="@$$ts" "+%y%m%d")"; \ - printf '%s.%05d' "$$date" "$$secs"; \ + printf '0.%s.%05d' "$$date" "$$secs"; \ else \ - echo "unknown"; \ + echo "0"; \ fi; \ fi \ ) @@ -113,10 +116,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 +129,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 -# most usefull in combination with LUCI_CATEGORY, to make the package appear +# LUCI_SUBMENU_DEFAULT: the regular SUBMENU defined by LUCI_TYPE or derived from the packagename +# LUCI_SUBMENU_FORCED: manually forced value SUBMENU to set to by explicit definition +# can be any string, "none" disables the creation of a submenu +# most useful 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) @@ -144,7 +153,7 @@ ifneq ($(LUCI_SUBMENU),none) endif TITLE:=$(if $(LUCI_TITLE),$(LUCI_TITLE),LuCI $(LUCI_NAME) $(LUCI_TYPE)) DEPENDS:=$(LUCI_DEPENDS) - VERSION:=$(if $(PKG_VERSION),$(PKG_VERSION),$(PKG_SRC_VERSION)) + VERSION:=$(if $(PKG_VERSION),$(if $(PKG_RELEASE),$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_VERSION)),$(PKG_SRC_VERSION)) $(if $(LUCI_EXTRA_DEPENDS),EXTRA_DEPENDS:=$(LUCI_EXTRA_DEPENDS)) $(if $(LUCI_PKGARCH),PKGARCH:=$(LUCI_PKGARCH)) $(if $(PKG_PROVIDES),PROVIDES:=$(PKG_PROVIDES)) @@ -159,7 +168,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 +193,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 +234,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 +278,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 +298,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)), @@ -321,13 +341,6 @@ define LuciTranslation $$(1)$(LUCI_LIBRARYDIR)/i18n/$(basename $(notdir $(po))).$(1).lmo;) endef - define Package/luci-i18n-$(LUCI_BASENAME)-$(1)/postinst - [ -n "$$$${IPKG_INSTROOT}" ] || { - (. /etc/uci-defaults/luci-i18n-$(LUCI_BASENAME)-$(1)) && rm -f /etc/uci-defaults/luci-i18n-$(LUCI_BASENAME)-$(1) - exit 0 - } - endef - LUCI_BUILD_PACKAGES += luci-i18n-$(LUCI_BASENAME)-$(1) endef