contrib/package: make sgi-uhttpd and uhttpd tls support optional
[project/luci.git] / contrib / package / luci / Makefile
index 07bc339..6229646 100644 (file)
@@ -14,7 +14,7 @@ ifeq ($(USELOCAL),1)
 else
   PKG_SOURCE_URL:=http://svn.luci.subsignal.org/luci/$(PKG_BRANCH)
   ifeq ($(DUMP),)
-    PKG_REV:=$(shell LC_ALL=C svn info ${PKG_SOURCE_URL} | sed -ne's/^Last Changed Rev: //p')
+    PKG_REV:=$(shell LC_ALL=C svn info $(CURDIR) | sed -ne's/^Revision: //p')
     PKG_VERSION:=0.9+svn$(PKG_REV)
   endif
   PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
@@ -23,13 +23,18 @@ else
   PKG_SOURCE_VERSION:=$(PKG_REV)
 endif
 
+PKG_BUILD_DEPENDS:=$(if $(STAGING_DIR_ROOT),lua/host)
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
 PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
 
-PKG_BUILD_DEPENDS:=libnotimpl
 LUA_TARGET:=source
+LUCI_CFLAGS:=
 PKG_SELECTED_MODULES:=
 
+ifeq ($(BOARD),brcm-2.4)
+  MAKE_FLAGS += CRAP="1"
+endif
+
 
 include $(INCLUDE_DIR)/package.mk
 
@@ -50,42 +55,51 @@ endef
 ### Templates ###
 
 define Package/luci/libtemplate
-  SECTION:=admin
-  CATEGORY:=Administration
+  SECTION:=luci
+  CATEGORY:=LuCI
   TITLE:=LuCI - Lua Configuration Interface
   URL:=http://luci.freifunk-halle.net/
   MAINTAINER:=Steven Barth <steven-at-midlink-dot-org>
-  SUBMENU:=LuCI Libraries
+  SUBMENU:=Internal Libraries
   DEPENDS:=+luci-core
 endef
 
-define Package/luci/fftemplate
+define Package/luci/webservertemplate
   $(call Package/luci/libtemplate)
-  SUBMENU:=LuCI Freifunk Support (GERMAN ONLY)
-  DEPENDS:=+luci-mod-freifunk
+  SUBMENU:=Webserver
 endef
 
-define Package/luci/httpdtemplate
+define Package/luci/fftemplate
   $(call Package/luci/libtemplate)
-  SUBMENU:=LuCI Non-Forking HTTP-Daemon (EXPERIMENTAL)
-  DEPENDS:=+luci-httpd
+  SUBMENU:=Freifunk
+  DEPENDS:=+luci-mod-freifunk
 endef
 
 define Package/luci/i18ntemplate
   $(call Package/luci/libtemplate)
-  SUBMENU:=LuCI Translations
+  SUBMENU:=Translations
   DEPENDS:=+luci-web
 endef
 
 define Package/luci/thtemplate
   $(call Package/luci/libtemplate)
-  SUBMENU:=LuCI Themes
+  SUBMENU:=Themes
   DEPENDS:=+luci-web
 endef
 
+define Package/luci/maintemplate
+  $(call Package/luci/libtemplate)
+  SUBMENU:=
+endef
+
 define Package/luci/webtemplate
   $(call Package/luci/libtemplate)
-  SUBMENU:=LuCI Components
+  SUBMENU:=Components
+endef
+
+define Package/luci/collectiontemplate
+  $(call Package/luci/libtemplate)
+  SUBMENU:=Collections
 endef
 
 
@@ -100,12 +114,17 @@ endef
 
 define Package/luci-core
   $(call Package/luci/libtemplate)
-  DEPENDS:=+lua
+  DEPENDS:=+lua +luci-nixio
   TITLE:=LuCI core libraries
 endef
 
 define Package/luci-core/install
        $(call Package/luci/install/template,$(1),libs/core)
+       $(PKG_BUILD_DIR)/build/mkversion.sh $(1)/usr/lib/lua/luci/version.lua \
+               "OpenWrt Firmware" \
+               "$(OPENWRTVERSION)" \
+               "$(PKG_BRANCH)" \
+               "$(PKG_VERSION)"
 endef
 
 define Package/luci-core/config
@@ -133,6 +152,10 @@ ifneq ($(CONFIG_PACKAGE_luci-core_stripped),)
   LUA_TARGET:=strip
 endif
 
+ifneq ($(CONFIG_PACKAGE_luci-core_zipped),)
+  LUA_TARGET:=gzip
+endif
+
 
 ### Libraries ###
 define Package/luci-cbi
@@ -177,6 +200,17 @@ define Package/luci-http/install
 endef
 
 
+define Package/luci-httpclient
+  $(call Package/luci/libtemplate)
+  TITLE:=HTTP(S) client library
+  DEPENDS+=+luci-http +luci-nixio
+endef
+
+define Package/luci-httpclient/install
+       $(call Package/luci/install/template,$(1),libs/httpclient)
+endef
+
+
 define Package/luci-ipkg
   $(call Package/luci/libtemplate)
   TITLE:=LuCI IPKG/OPKG call abstraction library
@@ -197,9 +231,112 @@ define Package/luci-json/install
 endef
 
 
+define Package/luci-lmo
+  $(call Package/luci/libtemplate)
+  TITLE:=lmo
+endef
+
+define Package/luci-lmo/install
+       $(call Package/luci/install/template,$(1),libs/lmo)
+endef
+
+
+define Package/luci-luanet
+  $(call Package/luci/libtemplate)
+  TITLE:=luanet
+  DEPENDS+=+libiw
+endef
+
+define Package/luci-luanet/install
+       $(call Package/luci/install/template,$(1),libs/luanet)
+endef
+
+
+define Package/luci-iwinfo
+  $(call Package/luci/libtemplate)
+  TITLE:=Wireless abstration library
+endef
+
+define Package/luci-iwinfo/install
+       $(call Package/luci/install/template,$(1),libs/iwinfo)
+endef
+
+
+define Package/luci-lucid
+  $(call Package/luci/webservertemplate)
+  TITLE:=LuCId Full-Stack Webserver
+  DEPENDS+=+luci-nixio +luci-http +luci-px5g
+endef
+
+define Package/luci-lucid/install
+       $(call Package/luci/install/template,$(1),libs/lucid)
+       $(call Package/luci/install/template,$(1),libs/lucid-http)
+endef
+
+
+
+NIXIO_TLS:=
+
+define Package/luci-nixio
+  $(call Package/luci/libtemplate)
+  TITLE:=NIXIO POSIX Library
+  DEPENDS:=+PACKAGE_luci-nixio_openssl:libopenssl +PACKAGE_luci-nixio_cyassl:libcyassl
+endef
+
+define Package/luci-nixio/install
+       $(call Package/luci/install/template,$(1),libs/nixio)
+endef
+
+define Package/luci-nixio/config
+       choice
+               prompt "TLS Provider"
+               default PACKAGE_luci-nixio_notls
+
+               config PACKAGE_luci-nixio_notls
+                       bool "Disabled"
+
+               config PACKAGE_luci-nixio_axtls
+                       bool "Builtin (axTLS)"
+
+               config PACKAGE_luci-nixio_cyassl
+                       bool "CyaSSL"
+                       select PACKAGE_libcyassl
+
+               config PACKAGE_luci-nixio_openssl
+                       bool "OpenSSL"
+                       select PACKAGE_libopenssl
+       endchoice
+endef
+
+ifneq ($(CONFIG_PACKAGE_luci-nixio_axtls),)
+  NIXIO_TLS:=axtls
+endif
+
+ifneq ($(CONFIG_PACKAGE_luci-nixio_openssl),)
+  NIXIO_TLS:=openssl
+endif
+
+ifneq ($(CONFIG_PACKAGE_luci-nixio_cyassl),)
+  NIXIO_TLS:=cyassl
+  LUCI_CFLAGS+=-I$(STAGING_DIR)/usr/include/cyassl
+endif
+
+
+define Package/luci-px5g
+  $(call Package/luci/webservertemplate)
+  TITLE:=RSA/X.509 Key Generator (required for LuCId SSL support)
+  DEPENDS:=+luci-nixio
+endef
+
+define Package/luci-px5g/install
+       $(call Package/luci/install/template,$(1),libs/px5g)
+endef
+
+
 define Package/luci-sys
   $(call Package/luci/libtemplate)
   TITLE:=LuCI Linux/POSIX system library
+  DEPENDS:=+luci-iwinfo
 endef
 
 define Package/luci-sys/install
@@ -209,8 +346,10 @@ endef
 
 define Package/luci-web
   $(call Package/luci/libtemplate)
-  DEPENDS+=+luci-http +luci-sys +luci-uci +luci-sgi-cgi
+  DEPENDS+=+luci-http +luci-sys +luci-nixio +luci-uci \
+       +luci-sgi-cgi +luci-lmo
   TITLE:=MVC Webframework
+  $(call Config,luci.main.lang,string,auto,Default Language)
 endef
 
 define Package/luci-web/conffiles
@@ -234,31 +373,18 @@ endef
 
 
 
-### HTTPD ###
-
-define Package/luci-httpd
-  $(call Package/luci/httpdtemplate)
-  DEPENDS:=+luci-http +luasocket
-  TITLE:=Server Core
-endef
-
-define Package/luci-httpd/install
-       $(call Package/luci/install/template,$(1),libs/httpd)
-endef
-
-
-
 ### Community Packages ###
 
 define Package/luci-freifunk-community
   $(call Package/luci/fftemplate)
   DEPENDS+= \
-   +luci-sgi-cgi +luci-app-splash +luci-app-olsr \
+   +luci-web +luci-app-splash \
    +luci-app-ffwizard-leipzig \
-   +luci-theme-fledermaus \
    +luci-i18n-german \
-   +olsrd-luci +olsrd-luci-mod-dyn-gw +olsrd-luci-mod-txtinfo +olsrd-luci-mod-nameservice \
-   +kmod-tun +ip
+   +PACKAGE_luci-freifunk-community:olsrd-luci +PACKAGE_luci-freifunk-community:olsrd-luci-mod-dyn-gw-plain \
+   +PACKAGE_luci-freifunk-community:olsrd-luci-mod-txtinfo +PACKAGE_luci-freifunk-community:olsrd-luci-mod-nameservice \
+   +PACKAGE_luci-freifunk-community:olsrd-luci-mod-watchdog +PACKAGE_luci-freifunk-community:kmod-tun \
+   +PACKAGE_luci-freifunk-community:ip +PACKAGE_luci-freifunk-community:freifunk-watchdog +luci-app-olsr
   TITLE:=Freifunk Community Meta-Package
 endef
 
@@ -270,19 +396,25 @@ endef
 
 define Package/luci-admin-core
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-web +luci-cbi +luci-theme-openwrt +luci-i18n-english
+  DEPENDS+=+luci-web +luci-cbi +luci-i18n-english
   TITLE:=Web UI Core Module
 endef
 
-define Package/luci-admin-core/conffiles
-/etc/config/luci_hosts
-/etc/config/luci_ethers
-endef
-
 define Package/luci-admin-core/install
        $(call Package/luci/install/template,$(1),modules/admin-core)
+       touch $(1)/etc/init.d/luci_fixtime || true
+endef
+
+
+define Package/luci-niu
+  $(call Package/luci/maintemplate)
+  DEPENDS+=+luci-admin-core @BROKEN
+  TITLE:=NIU - Next Generation Interface 
 endef
 
+define Package/luci-niu/install        
+       $(call Package/luci/install/template,$(1),modules/niu)
+endef
 
 define Package/luci-admin-mini
   $(call Package/luci/webtemplate)
@@ -319,7 +451,7 @@ endef
 
 define Package/luci-mod-freifunk
   $(call Package/luci/fftemplate)
-  DEPENDS:=+luci-admin-full
+  DEPENDS:=+luci-admin-full +luci-json +PACKAGE_luci-mod-freifunk:freifunk-firewall
   TITLE:=LuCI Freifunk module
 endef
 
@@ -348,6 +480,7 @@ endef
 define Package/luci-app-siitwizard
   $(call Package/luci/fftemplate)
   TITLE:=SIIT IPv4-over-IPv6 configuration wizard
+  DEPENDS:=+luci-admin-core +PACKAGE_luci-app-siitwizard:kmod-siit
 endef
 
 define Package/luci-app-siitwizard/install
@@ -357,7 +490,7 @@ endef
 
 define Package/luci-app-firewall
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-admin-core
+  DEPENDS+=+luci-admin-core +PACKAGE_luci-app-firewall:firewall
   TITLE:=Firewall and Portforwarding application
 endef
 
@@ -368,7 +501,8 @@ endef
 
 define Package/luci-app-olsr
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-admin-full +olsrd-luci +olsrd-luci-mod-txtinfo
+  DEPENDS+=+luci-admin-full +PACKAGE_luci-app-olsr:olsrd-luci \
+   +PACKAGE_luci-app-olsr:olsrd-luci-mod-txtinfo
   TITLE:=OLSR configuration and status module
 endef
 
@@ -379,7 +513,7 @@ endef
 
 define Package/luci-app-qos
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-admin-core +qos-scripts
+  DEPENDS+=+luci-admin-core +PACKAGE_luci-app-qos:qos-scripts
   TITLE:=Quality of Service configuration module
 endef
 
@@ -390,7 +524,10 @@ endef
 
 define Package/luci-app-splash
   $(call Package/luci/fftemplate)
-  DEPENDS+=+luasocket
+  DEPENDS+=+PACKAGE_luci-app-splash:luci-nixio \
+   +PACKAGE_luci-app-splash:tc +PACKAGE_luci-app-splash:kmod-sched \
+   +PACKAGE_luci-app-splash:iptables-mod-nat-extra \
+   +PACKAGE_luci-app-splash:iptables-mod-ipopt
   TITLE:=Freifunk DHCP-Splash application
 endef
 
@@ -405,7 +542,12 @@ endef
 
 define Package/luci-app-statistics
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-admin-full +collectd +collectd-mod-rrdtool1 +rrdtool1
+  DEPENDS+=+luci-admin-full +PACKAGE_luci-app-statistics:collectd \
+   +PACKAGE_luci-app-statistics:rrdtool1 \
+   +PACKAGE_luci-app-statistics:collectd-mod-rrdtool \
+   +PACKAGE_luci-app-statistics:collectd-mod-wireless \
+   +PACKAGE_luci-app-statistics:collectd-mod-interface \
+   +PACKAGE_luci-app-statistics:collectd-mod-load
   TITLE:=LuCI Statistics Application
 endef
 
@@ -417,10 +559,60 @@ define Package/luci-app-statistics/install
        $(call Package/luci/install/template,$(1),applications/luci-statistics)
 endef
 
+define Package/luci-app-diag-core
+  $(call Package/luci/webtemplate)
+  DEPENDS+=+luci-admin-core 
+  TITLE:=LuCI Diagnostics Tools (Core)
+endef
+
+define Package/luci-app-diag-devinfo
+  $(call Package/luci/webtemplate)
+  DEPENDS+=+PACKAGE_luci-app-diag-devinfo:luci-app-diag-core \
+       +PACKAGE_luci-app-diag-devinfo:smap \
+       +PACKAGE_luci-app-diag-devinfo:netdiscover \
+       +PACKAGE_luci-app-diag-devinfo:mac-to-devinfo \
+       +PACKAGE_luci-app-diag-devinfo:httping \
+       +PACKAGE_luci-app-diag-devinfo:smap-to-devinfo \
+       +PACKAGE_luci-app-diag-devinfo:netdiscover-to-devinfo
+  TITLE:=LuCI Diagnostics Tools (Device Info)
+endef
+
+define Package/luci-app-voice-core
+  $(call Package/luci/webtemplate)
+  DEPENDS+=+luci-admin-core 
+  TITLE:=LuCI Voice Software (Core)
+endef
+
+define Package/luci-app-voice-diag
+  $(call Package/luci/webtemplate)
+  DEPENDS+=+PACKAGE_luci-app-voice-diag:luci-app-voice-core \
+     +PACKAGE_luci-app-voice-diag:luci-app-diag-devinfo
+  TITLE:=LuCI Voice Software (Diagnostics)
+endef
+
+define Package/luci-app-diag-devinfo/conffiles
+/etc/config/luci_devinfo
+endef
+
+define Package/luci-app-diag-core/install
+       $(call Package/luci/install/template,$(1),applications/luci-diag-core)
+endef
+
+define Package/luci-app-diag-devinfo/install
+       $(call Package/luci/install/template,$(1),applications/luci-diag-devinfo)
+endef
+
+define Package/luci-app-voice-core/install
+       $(call Package/luci/install/template,$(1),applications/luci-voice-core)
+endef
+
+define Package/luci-app-voice-diag/install
+       $(call Package/luci/install/template,$(1),applications/luci-voice-diag)
+endef
 
 define Package/luci-app-upnp
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-admin-core +miniupnpd
+  DEPENDS+=+luci-admin-core +PACKAGE_luci-app-upnp:miniupnpd
   TITLE:=Universal Plug & Play configuration module
 endef
 
@@ -431,7 +623,7 @@ endef
 
 define Package/luci-app-ntpc
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-admin-core +ntpclient
+  DEPENDS+=+luci-admin-core +PACKAGE_luci-app-ntpc:ntpclient
   TITLE:=NTP time synchronisation client configuration module
 endef
 
@@ -442,7 +634,7 @@ endef
 
 define Package/luci-app-ddns
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-admin-core +ddns-scripts
+  DEPENDS+=+luci-admin-core +PACKAGE_luci-app-ddns:ddns-scripts
   TITLE:=Dynamic DNS configuration module
 endef
 
@@ -453,7 +645,7 @@ endef
 
 define Package/luci-app-samba
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-admin-full +samba3
+  DEPENDS+=+luci-admin-full +PACKAGE_luci-app-samba:samba3
   TITLE:=Network Shares - Samba SMB/CIFS module
 endef
 
@@ -462,31 +654,20 @@ define Package/luci-app-samba/install
 endef
 
 
-define Package/luci-app-uvc_streamer
-  $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-admin-full +uvc-streamer
-  TITLE:=Webcam Streaming - UVC-Streamer module
-endef
-
-define Package/luci-app-uvc_streamer/install
-        $(call Package/luci/install/template,$(1),applications/luci-uvc_streamer)
-endef
-
-
-define Package/luci-app-mmc_over_gpio
+define Package/luci-app-mmc-over-gpio
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-admin-full +kmod-mmc-over-gpio
+  DEPENDS+=+luci-admin-full +PACKAGE_luci-app-mmc-over-gpio:kmod-mmc-over-gpio
   TITLE:=mmc_over_gpio
 endef
 
-define Package/luci-app-mmc_over_gpio/install
-        $(call Package/luci/install/template,$(1),applications/luci-mmc_over_gpio)
+define Package/luci-app-mmc-over-gpio/install
+        $(call Package/luci/install/template,$(1),applications/luci-mmc-over-gpio)
 endef
 
 
 define Package/luci-app-p910nd
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-admin-full +p910nd
+  DEPENDS+=+luci-admin-full +PACKAGE_luci-app-p910nd:p910nd
   TITLE:=p910nd - Printer server module
 endef
 
@@ -497,7 +678,7 @@ endef
 
 define Package/luci-app-ushare
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-admin-full +ushare
+  DEPENDS+=+luci-admin-full +PACKAGE_luci-app-ushare:ushare
   TITLE:=ushare - UPnP A/V & DLNA Media Server
 endef
 
@@ -505,19 +686,19 @@ define Package/luci-app-ushare/install
         $(call Package/luci/install/template,$(1),applications/luci-ushare)
 endef
 
-define Package/luci-app-hd_idle
+define Package/luci-app-hd-idle
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-admin-full +hd-idle
+  DEPENDS+=+luci-admin-full +PACKAGE_luci-app-hd-idle:hd-idle
   TITLE:=hd-idle
 endef
 
-define Package/luci-app-hd_idle/install
-        $(call Package/luci/install/template,$(1),applications/luci-hd_idle)
+define Package/luci-app-hd-idle/install
+        $(call Package/luci/install/template,$(1),applications/luci-hd-idle)
 endef
 
 define Package/luci-app-tinyproxy
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-admin-full +tinyproxy
+  DEPENDS+=+luci-admin-full +PACKAGE_luci-app-tinyproxy:tinyproxy
   TITLE:=Tinyproxy - HTTP(S)-Proxy
 endef
 
@@ -537,8 +718,8 @@ endef
 
 define Package/luci-app-livestats
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-admin-full +luci-admin-rpc
-  TITLE:=LuCI Realtime Statistics (Experimental)
+  DEPENDS+=+luci-admin-core +luci-admin-rpc
+  TITLE:=LuCI Realtime Statistics
 endef
 
 define Package/luci-app-livestats/install
@@ -547,7 +728,8 @@ endef
 
 define Package/luci-app-asterisk
   $(call Package/luci/webtemplate)
-  TITLE:=LuCI Support for Asterisk PBX (Incomplete)
+  TITLE:=LuCI Support for Asterisk PBX
+  DEPENDS+=@BROKEN +luci-admin-core +PACKAGE_luci-app-asterisk:asterisk14-xip-core
 endef
 
 define Package/luci-app-asterisk/install
@@ -557,48 +739,61 @@ endef
 define Package/luci-app-polipo
   $(call Package/luci/webtemplate)
   TITLE:=LuCI Support for the Polipo Proxy
-  DEPENDS+=+luci-admin-core +polipo
+  DEPENDS+=+luci-admin-core +PACKAGE_luci-app-polipo:polipo
 endef
 
 define Package/luci-app-polipo/install
         $(call Package/luci/install/template,$(1),applications/luci-polipo)
 endef
 
+define Package/luci-app-openvpn
+  $(call Package/luci/webtemplate)
+  TITLE:=LuCI Support for OpenVPN
+  DEPENDS+=+luci-admin-core +PACKAGE_luci-app-openvpn:openvpn
+endef
+
+define Package/luci-app-openvpn/install
+        $(call Package/luci/install/template,$(1),applications/luci-openvpn)
+endef
+
+define Package/luci-app-p2pblock
+  $(call Package/luci/webtemplate)
+  TITLE:=LuCI Support for the Freifunk P2P-Block addon
+  DEPENDS+=+luci-admin-core +luci-app-firewall \
+    +PACKAGE_luci-app-p2pblock:freifunk-p2pblock
+endef
+
+define Package/luci-app-p2pblock/install
+        $(call Package/luci/install/template,$(1),applications/luci-p2pblock)
+endef
+
 
 ### Server Gateway Interfaces ###
 
 define Package/luci-sgi-cgi
-  $(call Package/luci/libtemplate)
-  TITLE:=SGI for CGI
+  $(call Package/luci/webservertemplate)
+  TITLE:=CGI Gateway behind existing Webserver
 endef
 
 define Package/luci-sgi-cgi/install
        $(call Package/luci/install/template,$(1),libs/sgi-cgi)
 endef
 
-define Package/luci-sgi-luci
-  $(call Package/luci/libtemplate)
-  DEPENDS+=+luci-httpd
-  TITLE:=SGI for LuCI HTTPD
+define Package/luci-sgi-uhttpd
+  $(call Package/luci/webservertemplate)
+  TITLE:=Binding for the uHTTPd server
+  DEPENDS+=+uhttpd +uhttpd-mod-lua
 endef
 
-define Package/luci-sgi-luci/install
-       $(call Package/luci/install/template,$(1),libs/sgi-luci)
+define Package/luci-sgi-uhttpd/install
+       $(call Package/luci/install/template,$(1),libs/sgi-uhttpd)
 endef
 
-define Package/luci-sgi-webuci
-  $(call Package/luci/libtemplate)
-  TITLE:=SGI for Webuci
-endef
-
-define Package/luci-sgi-webuci/install
-       $(call Package/luci/install/template,$(1),libs/sgi-webuci)
-endef
 
 ### Themes ###
 define Package/luci-theme-base
   $(call Package/luci/thtemplate)
-  DEPENDS:=+luci-web
+  DEPENDS:=
   TITLE:=Common base for all themes
 endef
 
@@ -617,7 +812,7 @@ define Package/luci-theme-fledermaus/install
 endef
 
 define Package/luci-theme-freifunk
-  $(call Package/luci/thtemplate)
+  $(call Package/luci/fftemplate)
   DEPENDS:=+luci-web
   MAINTAINER:=Stefan Pirwitz <stefan-at-freifunk-bno-dot-de>
   TITLE:=alternative Freifunk Theme
@@ -628,7 +823,7 @@ define Package/luci-theme-freifunk/install
 endef
 
 define Package/luci-theme-freifunk-bno
-  $(call Package/luci/thtemplate)
+  $(call Package/luci/fftemplate)
   DEPENDS:=+luci-web
   MAINTAINER:=Stefan Pirwitz <stefan-at-freifunk-bno-dot-de>
   TITLE:=Freifunk Berlin Nordost Theme
@@ -638,10 +833,22 @@ define Package/luci-theme-freifunk-bno/install
        $(call Package/luci/install/template,$(1),themes/freifunk-bno)
 endef
 
+define Package/luci-theme-freifunk-hannover
+  $(call Package/luci/fftemplate)
+  DEPENDS:=+luci-web
+  MAINTAINER:=Mikolas Bingemer <mickey-at-freifunk-hannover-dot-de>
+  TITLE:=Freifunk Hannover Theme
+endef
+
+define Package/luci-theme-freifunk-hannover/install
+       $(call Package/luci/install/template,$(1),themes/freifunk-hannover)
+endef
+
 define Package/luci-theme-openwrt
   $(call Package/luci/thtemplate)
   TITLE:=OpenWrt.org (default)
-  DEPENDS:=+luci-theme-base
+  DEPENDS:=+luci-theme-base luci-core
+  DEFAULT:=y if PACKAGE_luci-core
 endef
 
 define Package/luci-theme-openwrt/install
@@ -690,6 +897,16 @@ define Package/luci-i18n-french/install
 endef
 
 
+define Package/luci-i18n-italian
+  $(call Package/luci/i18ntemplate)
+  TITLE:=Italian (by Matteo Croce)
+endef
+
+define Package/luci-i18n-italian/install
+       $(call Package/luci/install/template,$(1),i18n/italian)
+endef
+
+
 define Package/luci-i18n-russian
   $(call Package/luci/i18ntemplate)
   TITLE:=Russian (by Skryabin Dmitry)
@@ -710,6 +927,89 @@ define Package/luci-i18n-portuguese_brazilian/install
 endef
 
 
+define Package/luci-i18n-japanese
+  $(call Package/luci/i18ntemplate)
+  TITLE:=Japanese (by Tsukasa Hamano)
+endef
+
+define Package/luci-i18n-japanese/install
+       $(call Package/luci/install/template,$(1),i18n/japanese)
+endef
+
+
+define Package/luci-i18n-greek
+  $(call Package/luci/i18ntemplate)
+  TITLE:=Greek (by Vasilis Tsiligiannis)
+endef
+
+define Package/luci-i18n-greek/install
+       $(call Package/luci/install/template,$(1),i18n/greek)
+endef
+
+
+define Package/luci-i18n-catalan
+  $(call Package/luci/i18ntemplate)
+  TITLE:=Catalan (by Eduard Duran)
+endef
+
+define Package/luci-i18n-catalan/install
+       $(call Package/luci/install/template,$(1),i18n/catalan)
+endef
+
+
+define Package/luci-i18n-portuguese
+  $(call Package/luci/i18ntemplate)
+  TITLE:=Portuguese (by Jose Monteiro)
+endef
+
+define Package/luci-i18n-portuguese/install
+       $(call Package/luci/install/template,$(1),i18n/portuguese)
+endef
+
+
+define Package/luci-i18n-spanish
+  $(call Package/luci/i18ntemplate)
+  TITLE:=Spanish (by Guillermo Javier Nardoni)
+endef
+
+define Package/luci-i18n-spanish/install
+       $(call Package/luci/install/template,$(1),i18n/spanish)
+endef
+
+
+define Package/luci-i18n-vietnamese
+  $(call Package/luci/i18ntemplate)
+  TITLE:=Vietnamese (by Hong Phuc Dang)
+endef
+
+define Package/luci-i18n-vietnamese/install
+       $(call Package/luci/install/template,$(1),i18n/vietnamese)
+endef
+
+
+### Collections ###
+define Package/luci
+  $(call Package/luci/collectiontemplate)
+  TITLE:=Standard OpenWrt Kamikaze set including full and mini admin and the standard theme
+  DEPENDS:=+luci-admin-full +luci-admin-mini +luci-theme-openwrt +luci-app-firewall +luci-app-initmgr
+endef
+
+define Package/luci/install
+       true
+endef
+
+
+define Package/luci-light
+  $(call Package/luci/collectiontemplate)
+  TITLE:=Minimum package set using only admin mini and a theme without grafics
+  DEPENDS:=+luci-admin-mini +luci-theme-openwrtlight
+endef
+
+define Package/luci-light/install
+       true
+endef
+
+
 ### Compile ###
 ifneq ($(CONFIG_PACKAGE_luci-core),)
        PKG_SELECTED_MODULES+=libs/core
@@ -723,12 +1023,33 @@ endif
 ifneq ($(CONFIG_PACKAGE_luci-http),)
        PKG_SELECTED_MODULES+=libs/http
 endif
+ifneq ($(CONFIG_PACKAGE_luci-httpclient),)
+       PKG_SELECTED_MODULES+=libs/httpclient
+endif
 ifneq ($(CONFIG_PACKAGE_luci-ipkg),)
        PKG_SELECTED_MODULES+=libs/ipkg
 endif
 ifneq ($(CONFIG_PACKAGE_luci-json),)
        PKG_SELECTED_MODULES+=libs/json
 endif
+ifneq ($(CONFIG_PACKAGE_luci-lmo),)
+       PKG_SELECTED_MODULES+=libs/lmo
+endif
+ifneq ($(CONFIG_PACKAGE_luci-luanet),)
+       PKG_SELECTED_MODULES+=libs/luanet
+endif
+ifneq ($(CONFIG_PACKAGE_luci-iwinfo),)
+       PKG_SELECTED_MODULES+=libs/iwinfo
+endif
+ifneq ($(CONFIG_PACKAGE_luci-lucid),)
+       PKG_SELECTED_MODULES+=libs/lucid libs/lucid-http
+endif
+ifneq ($(CONFIG_PACKAGE_luci-nixio),)
+       PKG_SELECTED_MODULES+=libs/nixio
+endif
+ifneq ($(CONFIG_PACKAGE_luci-px5g),)
+       PKG_SELECTED_MODULES+=libs/px5g
+endif
 ifneq ($(CONFIG_PACKAGE_luci-uci),)
        PKG_SELECTED_MODULES+=libs/uci
 endif
@@ -742,10 +1063,6 @@ ifneq ($(CONFIG_PACKAGE_luci-uvl),)
        PKG_SELECTED_MODULES+=libs/uvl
 endif
 
-ifneq ($(CONFIG_PACKAGE_luci-httpd),)
-       PKG_SELECTED_MODULES+=libs/httpd
-endif
-
 ifneq ($(CONFIG_PACKAGE_luci-admin-core),)
        PKG_SELECTED_MODULES+=modules/admin-core
 endif
@@ -755,6 +1072,9 @@ endif
 ifneq ($(CONFIG_PACKAGE_luci-admin-full),)
        PKG_SELECTED_MODULES+=modules/admin-full
 endif
+ifneq ($(CONFIG_PACKAGE_luci-niu),)
+       PKG_SELECTED_MODULES+=modules/niu
+endif
 ifneq ($(CONFIG_PACKAGE_luci-admin-rpc),)
        PKG_SELECTED_MODULES+=modules/rpc
 endif
@@ -787,6 +1107,18 @@ endif
 ifneq ($(CONFIG_PACKAGE_luci-app-statistics),)
        PKG_SELECTED_MODULES+=applications/luci-statistics
 endif
+ifneq ($(CONFIG_PACKAGE_luci-app-voice-core),)
+       PKG_SELECTED_MODULES+=applications/luci-voice-core
+endif
+ifneq ($(CONFIG_PACKAGE_luci-app-voice-diag),)
+       PKG_SELECTED_MODULES+=applications/luci-voice-diag
+endif
+ifneq ($(CONFIG_PACKAGE_luci-app-diag-core),)
+       PKG_SELECTED_MODULES+=applications/luci-diag-core
+endif
+ifneq ($(CONFIG_PACKAGE_luci-app-diag-devinfo),)
+       PKG_SELECTED_MODULES+=applications/luci-diag-devinfo
+endif
 ifneq ($(CONFIG_PACKAGE_luci-app-upnp),)
        PKG_SELECTED_MODULES+=applications/luci-upnp
 endif
@@ -799,11 +1131,8 @@ endif
 ifneq ($(CONFIG_PACKAGE_luci-app-samba),)
        PKG_SELECTED_MODULES+=applications/luci-samba
 endif
-ifneq ($(CONFIG_PACKAGE_luci-app-uvc_streamer),)
-       PKG_SELECTED_MODULES+=applications/luci-uvc_streamer
-endif
-ifneq ($(CONFIG_PACKAGE_luci-app-mmc_over_gpio),)
-        PKG_SELECTED_MODULES+=applications/luci-mmc_over_gpio
+ifneq ($(CONFIG_PACKAGE_luci-app-mmc-over-gpio),)
+        PKG_SELECTED_MODULES+=applications/luci-mmc-over-gpio
 endif
 ifneq ($(CONFIG_PACKAGE_luci-app-p910nd),)
         PKG_SELECTED_MODULES+=applications/luci-p910nd
@@ -811,8 +1140,8 @@ endif
 ifneq ($(CONFIG_PACKAGE_luci-app-ushare),)
         PKG_SELECTED_MODULES+=applications/luci-ushare
 endif
-ifneq ($(CONFIG_PACKAGE_luci-app-hd_idle),)
-       PKG_SELECTED_MODULES+=applications/luci-hd_idle
+ifneq ($(CONFIG_PACKAGE_luci-app-hd-idle),)
+       PKG_SELECTED_MODULES+=applications/luci-hd-idle
 endif
 ifneq ($(CONFIG_PACKAGE_luci-app-tinyproxy),)
        PKG_SELECTED_MODULES+=applications/luci-tinyproxy
@@ -829,17 +1158,23 @@ endif
 ifneq ($(CONFIG_PACKAGE_luci-app-polipo),)
        PKG_SELECTED_MODULES+=applications/luci-polipo
 endif
+ifneq ($(CONFIG_PACKAGE_luci-app-openvpn),)
+       PKG_SELECTED_MODULES+=applications/luci-openvpn
+endif
+ifneq ($(CONFIG_PACKAGE_luci-app-p2pblock),)
+       PKG_SELECTED_MODULES+=applications/luci-p2pblock
+endif
 
 
 ifneq ($(CONFIG_PACKAGE_luci-sgi-cgi),)
        PKG_SELECTED_MODULES+=libs/sgi-cgi
 endif
+ifneq ($(CONFIG_PACKAGE_luci-sgi-uhttpd),)
+       PKG_SELECTED_MODULES+=libs/sgi-uhttpd
+endif
 ifneq ($(CONFIG_PACKAGE_luci-sgi-luci),)
        PKG_SELECTED_MODULES+=libs/sgi-luci
 endif
-ifneq ($(CONFIG_PACKAGE_luci-sgi-webuci),)
-       PKG_SELECTED_MODULES+=libs/sgi-webuci
-endif
 
 ifneq ($(CONFIG_PACKAGE_luci-theme-base),)
        PKG_SELECTED_MODULES+=themes/base
@@ -850,6 +1185,9 @@ endif
 ifneq ($(CONFIG_PACKAGE_luci-theme-freifunk-bno),)
        PKG_SELECTED_MODULES+=themes/freifunk-bno
 endif
+ifneq ($(CONFIG_PACKAGE_luci-theme-freifunk-hannover),)
+       PKG_SELECTED_MODULES+=themes/freifunk-hannover
+endif
 ifneq ($(CONFIG_PACKAGE_luci-theme-freifunk),)
        PKG_SELECTED_MODULES+=themes/freifunk
 endif
@@ -869,39 +1207,66 @@ endif
 ifneq ($(CONFIG_PACKAGE_luci-i18n-french),)
        PKG_SELECTED_MODULES+=i18n/french
 endif
+ifneq ($(CONFIG_PACKAGE_luci-i18n-italian),)
+       PKG_SELECTED_MODULES+=i18n/italian
+endif
 ifneq ($(CONFIG_PACKAGE_luci-i18n-russian),)
        PKG_SELECTED_MODULES+=i18n/russian
 endif
 ifneq ($(CONFIG_PACKAGE_luci-i18n-portuguese_brazilian),)
        PKG_SELECTED_MODULES+=i18n/portuguese_brazilian
 endif
+ifneq ($(CONFIG_PACKAGE_luci-i18n-japanese),)
+       PKG_SELECTED_MODULES+=i18n/japanese
+endif
+ifneq ($(CONFIG_PACKAGE_luci-i18n-greek),)
+       PKG_SELECTED_MODULES+=i18n/greek
+endif
+ifneq ($(CONFIG_PACKAGE_luci-i18n-catalan),)
+       PKG_SELECTED_MODULES+=i18n/catalan
+endif
+ifneq ($(CONFIG_PACKAGE_luci-i18n-portuguese),)
+       PKG_SELECTED_MODULES+=i18n/portuguese
+endif
+ifneq ($(CONFIG_PACKAGE_luci-i18n-spanish),)
+       PKG_SELECTED_MODULES+=i18n/spanish
+endif
+ifneq ($(CONFIG_PACKAGE_luci-i18n-vietnamese),)
+       PKG_SELECTED_MODULES+=i18n/vietnamese
+endif
 
 
 MAKE_FLAGS += \
        MODULES="$(PKG_SELECTED_MODULES)" \
        LUA_TARGET="$(LUA_TARGET)" \
-       LUA_SHLIBS="-llua -lm" \
-       CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include" \
+       LUA_SHLIBS="-llua -lm -ldl -lcrypt" \
+       CFLAGS="$(TARGET_CFLAGS) $(LUCI_CFLAGS) -I$(STAGING_DIR)/usr/include" \
        LDFLAGS="$(TARGET_LDFLAGS) -L$(STAGING_DIR)/usr/lib" \
-       OS="Linux"
+       NIXIO_TLS="$(NIXIO_TLS)" OS="Linux"
 
 
 $(eval $(call BuildPackage,luci-core))
 $(eval $(call BuildPackage,luci-cbi))
 $(eval $(call BuildPackage,luci-fastindex))
 $(eval $(call BuildPackage,luci-http))
+$(eval $(call BuildPackage,luci-httpclient))
 $(eval $(call BuildPackage,luci-ipkg))
 $(eval $(call BuildPackage,luci-json))
+$(eval $(call BuildPackage,luci-lmo))
+$(eval $(call BuildPackage,luci-luanet))
+$(eval $(call BuildPackage,luci-iwinfo))
+$(eval $(call BuildPackage,luci-lucid))
+$(eval $(call BuildPackage,luci-nixio))
+$(eval $(call BuildPackage,luci-px5g))
 $(eval $(call BuildPackage,luci-uci))
 $(eval $(call BuildPackage,luci-sys))
 $(eval $(call BuildPackage,luci-web))
 $(eval $(call BuildPackage,luci-uvl))
 
-$(eval $(call BuildPackage,luci-httpd))
-
 $(eval $(call BuildPackage,luci-admin-core))
 $(eval $(call BuildPackage,luci-admin-mini))
 $(eval $(call BuildPackage,luci-admin-full))
+$(eval $(call BuildPackage,luci-niu))
 $(eval $(call BuildPackage,luci-admin-rpc))
 $(eval $(call BuildPackage,luci-mod-freifunk))
 
@@ -914,34 +1279,49 @@ $(eval $(call BuildPackage,luci-app-olsr))
 $(eval $(call BuildPackage,luci-app-qos))
 $(eval $(call BuildPackage,luci-app-splash))
 $(eval $(call BuildPackage,luci-app-statistics))
+$(eval $(call BuildPackage,luci-app-diag-core))
+$(eval $(call BuildPackage,luci-app-diag-devinfo))
+$(eval $(call BuildPackage,luci-app-voice-core))
+$(eval $(call BuildPackage,luci-app-voice-diag))
 $(eval $(call BuildPackage,luci-app-upnp))
 $(eval $(call BuildPackage,luci-app-ntpc))
 $(eval $(call BuildPackage,luci-app-ddns))
 $(eval $(call BuildPackage,luci-app-samba))
-$(eval $(call BuildPackage,luci-app-uvc_streamer))
-$(eval $(call BuildPackage,luci-app-mmc_over_gpio))
+$(eval $(call BuildPackage,luci-app-mmc-over-gpio))
 $(eval $(call BuildPackage,luci-app-p910nd))
 $(eval $(call BuildPackage,luci-app-ushare))
-$(eval $(call BuildPackage,luci-app-hd_idle))
+$(eval $(call BuildPackage,luci-app-hd-idle))
 $(eval $(call BuildPackage,luci-app-tinyproxy))
 $(eval $(call BuildPackage,luci-app-initmgr))
 $(eval $(call BuildPackage,luci-app-livestats))
 $(eval $(call BuildPackage,luci-app-asterisk))
 $(eval $(call BuildPackage,luci-app-polipo))
+$(eval $(call BuildPackage,luci-app-openvpn))
+$(eval $(call BuildPackage,luci-app-p2pblock))
 
 $(eval $(call BuildPackage,luci-sgi-cgi))
-$(eval $(call BuildPackage,luci-sgi-luci))
-$(eval $(call BuildPackage,luci-sgi-webuci))
+$(eval $(call BuildPackage,luci-sgi-uhttpd))
 
 $(eval $(call BuildPackage,luci-theme-base))
 $(eval $(call BuildPackage,luci-theme-fledermaus))
 $(eval $(call BuildPackage,luci-theme-freifunk))
 $(eval $(call BuildPackage,luci-theme-freifunk-bno))
+$(eval $(call BuildPackage,luci-theme-freifunk-hannover))
 $(eval $(call BuildPackage,luci-theme-openwrt))
 $(eval $(call BuildPackage,luci-theme-openwrtlight))
 
 $(eval $(call BuildPackage,luci-i18n-german))
 $(eval $(call BuildPackage,luci-i18n-english))
 $(eval $(call BuildPackage,luci-i18n-french))
+$(eval $(call BuildPackage,luci-i18n-italian))
 $(eval $(call BuildPackage,luci-i18n-russian))
 $(eval $(call BuildPackage,luci-i18n-portuguese_brazilian))
+$(eval $(call BuildPackage,luci-i18n-japanese))
+$(eval $(call BuildPackage,luci-i18n-greek))
+$(eval $(call BuildPackage,luci-i18n-catalan))
+$(eval $(call BuildPackage,luci-i18n-portuguese))
+$(eval $(call BuildPackage,luci-i18n-spanish))
+$(eval $(call BuildPackage,luci-i18n-vietnamese))
+
+$(eval $(call BuildPackage,luci))
+$(eval $(call BuildPackage,luci-light))