* luci-0.8: disable theme-base package for now
[project/luci.git] / contrib / package / luci / Makefile
index 997b9f9..dd9f3f5 100644 (file)
@@ -1,34 +1,50 @@
 include $(TOPDIR)/rules.mk
 
-PKG_BRANCH:=trunk
-PKG_SOURCE_URL:=https://dev.leipzig.freifunk.net/svn/ff-luci/$(PKG_BRANCH)
-PKG_REV:=$(shell LC_ALL=C svn info ${PKG_SOURCE_URL} | sed -ne's/^Last Changed Rev: //p')
+PKG_BRANCH:=tags/0.8.1
+
+ifeq ($(DUMP),)
+  USELOCAL:=$(shell grep luci ../../../.project 2>/dev/null >/dev/null && echo 1)
+endif
 
 PKG_NAME:=luci
-PKG_VERSION:=0.5+svn$(PKG_REV)
 PKG_RELEASE:=1
 
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz
-PKG_SOURCE_PROTO:=svn
-PKG_SOURCE_VERSION:=$(PKG_REV)
+ifeq ($(USELOCAL),1)
+  PKG_VERSION:=0.8+svn
+else
+  PKG_SOURCE_URL:=http://svn.luci.subsignal.org/luci/$(PKG_BRANCH)
+  ifeq ($(DUMP),)
+    PKG_REV:=HEAD
+    PKG_VERSION:=0.8.1
+  endif
+  PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
+  PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz
+  PKG_SOURCE_PROTO:=svn
+  PKG_SOURCE_VERSION:=$(PKG_REV)
+endif
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
 PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
 
-# LUA_TARGET:=compile LUAC=$(BUILD_DIR_HOST)/lua/luac
+PKG_BUILD_DEPENDS:=libnotimpl
 LUA_TARGET:=source
+PKG_SELECTED_MODULES:=
 
 
 include $(INCLUDE_DIR)/package.mk
 
-define Build/Configure
-endef
+ifeq ($(USELOCAL),1)
+  define Build/Prepare
+       mkdir -p $(PKG_BUILD_DIR)
+       $(TAR) c -C ../../../ . \
+               --exclude=.pc --exclude=.svn --exclude=.git \
+               --exclude='boa-0*' --exclude='*.o' --exclude='*.so' \
+               --exclude=dist | \
+                       tar x -C $(PKG_BUILD_DIR)/
+  endef
+endif
 
-define Package/luci/compiletpl
-       ifneq ($(CONFIG_PACKAGE_$(1)),)
-               $(MAKE) -C$(PKG_BUILD_DIR)/$(2) build LUA_TARGET=$(LUA_TARGET)
-       endif
+define Build/Configure
 endef
 
 ### Templates ###
@@ -39,24 +55,31 @@ define Package/luci/libtemplate
   TITLE:=LuCI - Lua Configuration Interface
   URL:=http://luci.freifunk-halle.net/
   MAINTAINER:=Steven Barth <steven-at-midlink-dot-org>
-  SUBMENU:=LuCI Libraries
+  SUBMENU:=LuCI Libraries
   DEPENDS:=+luci-core
 endef
 
-define Package/luci/fftemplate
+define Package/luci/i18ntemplate
+  $(call Package/luci/libtemplate)
+  SUBMENU:=LuCI Translations
+  DEPENDS:=+luci-web
+endef
+
+define Package/luci/thtemplate
   $(call Package/luci/libtemplate)
-  SUBMENU:=LuCI - Freifunk Support
-  DEPENDS:=+luci-mod-freifunk
+  SUBMENU:=LuCI Themes
+  DEPENDS:=+luci-web
 endef
 
 define Package/luci/webtemplate
   $(call Package/luci/libtemplate)
-  SUBMENU:=LuCI - Webinterface Components
+  SUBMENU:=LuCI Components
 endef
 
 
 define Package/luci/install/template
-       $(CP) $(PKG_BUILD_DIR)/$(2)/dist/* $(1)/ -R
+       $(CP) -a $(PKG_BUILD_DIR)/$(2)/dist/* $(1)/ -R
+       $(CP) -a $(PKG_BUILD_DIR)/$(2)/ipkg/* $(1)/CONTROL/ 2>/dev/null || true
 endef
 
 
@@ -65,19 +88,44 @@ endef
 
 define Package/luci-core
   $(call Package/luci/libtemplate)
-  DEPENDS:=+lua +luaposix
+  DEPENDS:=+lua
   TITLE:=LuCI core libraries
 endef
 
-define Package/luci-core/install               
+define Package/luci-core/install
        $(call Package/luci/install/template,$(1),libs/core)
 endef
 
+define Package/luci-core/config
+       choice
+               prompt "Build Target"
+               default PACKAGE_luci-core_source
+
+       config PACKAGE_luci-core_compile
+               bool "Precompiled"
+
+       config PACKAGE_luci-core_stripped
+               bool "Stripped"
+
+       config PACKAGE_luci-core_source
+               bool "Full Source"
+
+       endchoice
+endef
+
+ifneq ($(CONFIG_PACKAGE_luci-core_compile),)
+  LUA_TARGET:=compile
+endif
+
+ifneq ($(CONFIG_PACKAGE_luci-core_stripped),)
+  LUA_TARGET:=strip
+endif
+
 
 ### Libraries ###
 define Package/luci-cbi
   $(call Package/luci/libtemplate)
-  DEPENDS+=+luci-web
+  DEPENDS+=+luci-web +luci-uvl +luci-uci
   TITLE:=Configuration Binding Interface
 endef
 
@@ -86,155 +134,183 @@ define Package/luci-cbi/install
 endef
 
 
-define Package/luci-web
+define Package/luci-uci
   $(call Package/luci/libtemplate)
-  DEPENDS+=+luci-addons
-  TITLE:=MVC Webframework
+  DEPENDS+=+libuci-lua
+  TITLE:=High-Level UCI API
 endef
 
-define Package/luci-web/conffiles
-/etc/config/luci
+define Package/luci-uci/install
+       $(call Package/luci/install/template,$(1),libs/uci)
 endef
 
-define Package/luci-web/install
-       $(call Package/luci/install/template,$(1),libs/web)
-       $(call Package/luci/install/template,$(1),themes/fledermaus)
+
+define Package/luci-fastindex
+  $(call Package/luci/libtemplate)
+  TITLE:=Fastindex indexing module
+endef
+
+define Package/luci-fastindex/install
+       $(call Package/luci/install/template,$(1),libs/fastindex)
+endef
+
+
+define Package/luci-http
+  $(call Package/luci/libtemplate)
+  TITLE:=HTTP Protocol implementation
 endef
 
+define Package/luci-http/install
+       $(call Package/luci/install/template,$(1),libs/http)
+endef
+
+
+define Package/luci-ipkg
+  $(call Package/luci/libtemplate)
+  TITLE:=LuCI IPKG/OPKG call abstraction library
+endef
+
+define Package/luci-ipkg/install
+       $(call Package/luci/install/template,$(1),libs/ipkg)
+endef
+
+
+define Package/luci-json
+  $(call Package/luci/libtemplate)
+  TITLE:=LuCI JSON Library
+endef
 
+define Package/luci-json/install
+       $(call Package/luci/install/template,$(1),libs/json)
+endef
 
-### Community Packages ###
 
-define Package/luci-ff-halle
-  $(call Package/luci/fftemplate)
-  DEPENDS+= \
-   +luci-sgi-haserl +luci-app-splash \
-   +luci-app-ffwizard-leipzig \
-   +olsrd +olsrd-mod-dyn-gw +olsrd-mod-txtinfo +olsrd-mod-nameservice \
-   +kmod-tun +ip
-  TITLE:=Freifunk Halle Community Meta-Package
+define Package/luci-sys
+  $(call Package/luci/libtemplate)
+  TITLE:=LuCI Linux/POSIX system library
 endef
 
-define Package/luci-ff-halle/install
-       $(call Package/luci/install/template,$(1),applications/community-halle)
-       $(CP) -a ./ipkg/luci-ff-halle.postinst $(1)/CONTROL/postinst
+define Package/luci-sys/install
+       $(call Package/luci/install/template,$(1),libs/sys)
 endef
 
 
-define Package/luci-ff-leipzig
-  $(call Package/luci/fftemplate)
-  DEPENDS+= \
-   +luci-sgi-haserl +luci-app-splash \
-   +luci-app-ffwizard-leipzig \
-   +olsrd +olsrd-mod-dyn-gw +olsrd-mod-txtinfo +olsrd-mod-nameservice \
-   +kmod-tun +ip
-  TITLE:=Freifunk Leipzig Community Meta-Package
+define Package/luci-web
+  $(call Package/luci/libtemplate)
+  DEPENDS+=+luci-http +luci-sys +luci-uci +luci-sgi-cgi
+  TITLE:=MVC Webframework
 endef
 
-define Package/luci-ff-leipzig/install
-       $(call Package/luci/install/template,$(1),applications/community-leipzig)
-       $(CP) -a ./ipkg/luci-ff-leipzig.postinst $(1)/CONTROL/postinst
+define Package/luci-web/conffiles
+/etc/config/luci
+endef
+
+define Package/luci-web/install
+       $(call Package/luci/install/template,$(1),libs/web)
 endef
 
 
-define Package/luci-ff-hannover
-  $(call Package/luci/fftemplate)
-  DEPENDS+= \
-   +luci-sgi-haserl +luci-app-splash \
-   +olsrd +olsrd-mod-dyn-gw +olsrd-mod-txtinfo +olsrd-mod-nameservice
-  TITLE:=Freifunk Hannover Community Meta-Package
-  URL:=http://www.freifunk-hannover.de/
-  MAINTAINER:=Mickey Knox <mickey-at-netfreaks-dot-org>
+define Package/luci-uvl
+  $(call Package/luci/libtemplate)
+  DEPENDS+=+luci-sys +luci-uci +luci-core
+  TITLE:=UVL - UCI Validation Layer
 endef
 
-define Package/luci-ff-hannover/install
-       $(call Package/luci/install/template,$(1),applications/community-hannover)
-       $(CP) -a ./ipkg/luci-ff-hannover.postinst $(1)/CONTROL/postinst
+define Package/luci-uvl/install
+       $(call Package/luci/install/template,$(1),libs/uvl)
 endef
 
 
 ### Modules ###
 
-define Package/luci-mod-admin-core
+define Package/luci-admin-core
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-web +luci-cbi
-  TITLE:=Administration module
+  DEPENDS+=+luci-web +luci-cbi +luci-theme-openwrt +luci-i18n-english
+  TITLE:=Web UI Core Module
 endef
 
-define Package/luci-mod-admin-core/install
+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)
 endef
 
 
-define Package/luci-mod-freifunk
-  $(call Package/luci/fftemplate)
-  DEPENDS:=+luci-mod-admin-core
-  TITLE:=LuCI Freifunk module
+define Package/luci-admin-mini
+  $(call Package/luci/webtemplate)
+  DEPENDS+=+luci-admin-core
+  TITLE:=LuCI Essentials - stripped down and user-friendly
 endef
 
-define Package/luci-mod-freifunk/conffiles
-/etc/config/freifunk
+define Package/luci-admin-mini/install
+       $(call Package/luci/install/template,$(1),modules/admin-mini)
 endef
 
-define Package/luci-mod-freifunk/install
-       $(call Package/luci/install/template,$(1),modules/freifunk)
-endef
 
+define Package/luci-admin-full
+  $(call Package/luci/webtemplate)
+  DEPENDS+=+luci-admin-core +luci-ipkg
+  TITLE:=LuCI Administration - full-featured for full control
+endef
 
+define Package/luci-admin-full/install
+       $(call Package/luci/install/template,$(1),modules/admin-full)
+endef
 
-### Applications ###
 
-define Package/luci-app-ffwizard-leipzig
-  $(call Package/luci/fftemplate)
-  DEPENDS+=+luci-app-firewall
-  TITLE:=Freifunk Leipzig configuration wizard
+define Package/luci-admin-rpc
+  $(call Package/luci/webtemplate)
+  DEPENDS+=+luci-json
+  TITLE:=LuCI RPC - JSON-RPC API
 endef
 
-define Package/luci-app-ffwizard-leipzig/install
-       $(call Package/luci/install/template,$(1),applications/luci-ffwizard-leipzig)
+define Package/luci-admin-rpc/install
+       $(call Package/luci/install/template,$(1),modules/rpc)
 endef
 
 
+### Applications ###
+
 define Package/luci-app-firewall
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-mod-admin-core
+  DEPENDS+=+luci-admin-core
   TITLE:=Firewall and Portforwarding application
 endef
 
-define Package/luci-app-firewall/conffiles
-/etc/config/luci_fw
-endef
-
 define Package/luci-app-firewall/install
        $(call Package/luci/install/template,$(1),applications/luci-fw)
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/applications/luci-fw/dist/etc/init.d/luci_fw $(1)/etc/init.d
 endef
 
 
-define Package/luci-app-splash
-  $(call Package/luci/fftemplate)
-  DEPENDS+=+luci-sgi-haserl +iptables-mod-nat +iptables-mod-ipopt
-  TITLE:=Freifunk DHCP-Splash application
+define Package/luci-app-olsr
+  $(call Package/luci/webtemplate)
+  DEPENDS+=+luci-admin-full +olsrd-luci +olsrd-luci-mod-txtinfo
+  TITLE:=OLSR configuration and status module
 endef
 
-define Package/luci-app-splash/conffiles
-/etc/config/luci_splash
+define Package/luci-app-olsr/install
+       $(call Package/luci/install/template,$(1),applications/luci-olsr)
 endef
 
-define Package/luci-app-splash/install
-       $(call Package/luci/install/template,$(1),applications/luci-splash)
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/applications/luci-splash/dist/usr/sbin/luci-splash $(1)/usr/sbin
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/applications/luci-splash/dist/etc/init.d/luci_splash $(1)/etc/init.d
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/applications/luci-splash/dist/etc/cron.minutely/luci_splash $(1)/etc/cron.minutely
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/applications/luci-splash/dist/usr/lib/luci-splash/htdocs/cgi-bin/index.cgi $(1)/usr/lib/luci-splash/htdocs/cgi-bin
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/applications/luci-splash/dist/www/cgi-bin/luci-splash $(1)/www/cgi-bin/luci-splash
+
+define Package/luci-app-qos
+  $(call Package/luci/webtemplate)
+  DEPENDS+=+luci-admin-core +qos-scripts
+  TITLE:=Quality of Service configuration module
+endef
+
+define Package/luci-app-qos/install
+       $(call Package/luci/install/template,$(1),applications/luci-qos)
 endef
 
 
 define Package/luci-app-statistics
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-mod-admin-core +collectd +collectd-mod-rrdtool1 +rrdtool1
-  TITLE:=LuCI Statistics Application (incomplete)
+  DEPENDS+=+luci-admin-full +collectd +collectd-mod-rrdtool1 +rrdtool1
+  TITLE:=LuCI Statistics Application
 endef
 
 define Package/luci-app-statistics/conffiles
@@ -243,73 +319,381 @@ endef
 
 define Package/luci-app-statistics/install
        $(call Package/luci/install/template,$(1),applications/luci-statistics)
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/applications/luci-statistics/dist/usr/bin/stat-genconfig $(1)/usr/bin
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/applications/luci-statistics/dist/etc/init.d/luci_statistics $(1)/etc/init.d
+endef
+
+
+define Package/luci-app-upnp
+  $(call Package/luci/webtemplate)
+  DEPENDS+=+luci-admin-core +miniupnpd
+  TITLE:=Universal Plug & Play configuration module
+endef
+
+define Package/luci-app-upnp/install
+       $(call Package/luci/install/template,$(1),applications/luci-upnp)
+endef
+
+
+define Package/luci-app-ntpc
+  $(call Package/luci/webtemplate)
+  DEPENDS+=+luci-admin-core +ntpclient
+  TITLE:=NTP time synchronisation client configuration module
+endef
+
+define Package/luci-app-ntpc/install
+       $(call Package/luci/install/template,$(1),applications/luci-ntpc)
+endef
+
+
+define Package/luci-app-ddns
+  $(call Package/luci/webtemplate)
+  DEPENDS+=+luci-admin-core +ddns-scripts
+  TITLE:=Dynamic DNS configuration module
+endef
+
+define Package/luci-app-ddns/install
+       $(call Package/luci/install/template,$(1),applications/luci-ddns)
+endef
+
+
+define Package/luci-app-samba
+  $(call Package/luci/webtemplate)
+  DEPENDS+=+luci-admin-full +samba3
+  TITLE:=Network Shares - Samba SMB/CIFS module
+endef
+
+define Package/luci-app-samba/install
+       $(call Package/luci/install/template,$(1),applications/luci-samba)
+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-p910nd
+  $(call Package/luci/webtemplate)
+  DEPENDS+=+luci-admin-full +p910nd
+  TITLE:=p910nd - Printer server module
+endef
+
+define Package/luci-app-p910nd/install
+        $(call Package/luci/install/template,$(1),applications/luci-p910nd)
+endef
+
+
+define Package/luci-app-ushare
+  $(call Package/luci/webtemplate)
+  DEPENDS+=+luci-admin-full +ushare
+  TITLE:=ushare - UPnP A/V & DLNA Media Server
+endef
+
+define Package/luci-app-ushare/install
+        $(call Package/luci/install/template,$(1),applications/luci-ushare)
+endef
+
+define Package/luci-app-hd_idle
+  $(call Package/luci/webtemplate)
+  DEPENDS+=+luci-admin-full +hd-idle
+  TITLE:=hd-idle
+endef
+
+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
+  TITLE:=Tinyproxy - HTTP(S)-Proxy
+endef
+
+define Package/luci-app-tinyproxy/install
+        $(call Package/luci/install/template,$(1),applications/luci-tinyproxy)
+endef
+
+define Package/luci-app-initmgr
+  $(call Package/luci/webtemplate)
+  DEPENDS+=+luci-admin-full
+  TITLE:=LuCI Initscript Management
+endef
+
+define Package/luci-app-initmgr/install
+        $(call Package/luci/install/template,$(1),applications/luci-initmgr)
 endef
 
 
 ### Server Gateway Interfaces ###
 
-define Package/luci-sgi-haserl
+define Package/luci-sgi-cgi
   $(call Package/luci/libtemplate)
-  DEPENDS+=+luci-web +haserl-lua
-  TITLE:=SGI for Haserl
+  TITLE:=SGI for CGI
 endef
 
-define Package/luci-sgi-haserl/install
-       $(call Package/luci/install/template,$(1),libs/sgi-haserl)
-       $(CP) -a ./ipkg/luci-sgi-haserl.postinst $(1)/CONTROL/postinst
+define Package/luci-sgi-cgi/install
+       $(call Package/luci/install/template,$(1),libs/sgi-cgi)
 endef
 
 
-define Package/luci-sgi-webuci
-  $(call Package/luci/libtemplate)
-  DEPENDS+=+luci-web
-  TITLE:=SGI for Webuci
+### Themes ###
+#define Package/luci-theme-base
+#  $(call Package/luci/thtemplate)
+#  DEPENDS:=+luci-web
+#  TITLE:=Common base for all themes
+#endef
+#
+#define Package/luci-theme-base/install
+#      $(call Package/luci/install/template,$(1),themes/base)
+#endef
+
+define Package/luci-theme-openwrt
+  $(call Package/luci/thtemplate)
+  TITLE:=OpenWRT.org (default)
+  DEPENDS:=+luci-theme-base
+endef
+
+define Package/luci-theme-openwrt/install
+       $(call Package/luci/install/template,$(1),themes/openwrt.org)
+endef
+
+define Package/luci-theme-openwrtlight
+  $(call Package/luci/thtemplate)
+  TITLE:=OpenWRT.org - light variant without images
+  DEPENDS:=+luci-theme-base
 endef
 
-define Package/luci-sgi-webuci/install
-       $(call Package/luci/install/template,$(1),libs/sgi-webuci)
+define Package/luci-theme-openwrtlight/install
+       $(call Package/luci/install/template,$(1),themes/openwrt-light)
 endef
 
 
-define Build/Compile 
-       $(call Package/luci/compiletpl,luci-core,libs/core)
-       $(call Package/luci/compiletpl,luci-cbi,libs/cbi)
-       $(call Package/luci/compiletpl,luci-web,libs/web)
+### Translations ###
+define Package/luci-i18n-german
+  $(call Package/luci/i18ntemplate)
+  TITLE:=German
+endef
+
+define Package/luci-i18n-german/install
+       $(call Package/luci/install/template,$(1),i18n/german)
+endef
+
+
+define Package/luci-i18n-english
+  $(call Package/luci/i18ntemplate)
+  TITLE:=English
+endef
 
-       $(call Package/luci/compiletpl,luci-ff-halle,applications/community-halle)
-       $(call Package/luci/compiletpl,luci-ff-leipzig,applications/community-leipzig)
-       $(call Package/luci/compiletpl,luci-ff-hannover,applications/community-hannover)
+define Package/luci-i18n-english/install
+       $(call Package/luci/install/template,$(1),i18n/english)
+endef
 
-       $(call Package/luci/compiletpl,luci-mod-admin-core,modules/admin-core)
-       $(call Package/luci/compiletpl,luci-mod-freifunk,modules/freifunk)
 
-       $(call Package/luci/compiletpl,luci-app-ffwizard-leipzig,applications/luci-ffwizard-leipzig)
-       $(call Package/luci/compiletpl,luci-app-firewall,applications/luci-fw)
-       $(call Package/luci/compiletpl,luci-app-splash,applications/luci-splash)
-       $(call Package/luci/compiletpl,luci-app-statistics,applications/luci-statistics)
+define Package/luci-i18n-french
+  $(call Package/luci/i18ntemplate)
+  TITLE:=French (by Florian Fainelli)
+endef
 
-       $(call Package/luci/compiletpl,luci-sgi-haserl,libs/sgi-haserl)
-       $(call Package/luci/compiletpl,luci-sgi-webuci,libs/sgi-webuci)
+define Package/luci-i18n-french/install
+       $(call Package/luci/install/template,$(1),i18n/french)
+endef
+
+
+define Package/luci-i18n-russian
+  $(call Package/luci/i18ntemplate)
+  TITLE:=Russian (by Skryabin Dmitry)
+endef
+
+define Package/luci-i18n-russian/install
+       $(call Package/luci/install/template,$(1),i18n/russian)
 endef
 
 
+define Package/luci-i18n-portuguese_brazilian
+  $(call Package/luci/i18ntemplate)
+  TITLE:=Portuguese (Brazilian) (by Carlos Cesario)
+endef
+
+define Package/luci-i18n-portuguese_brazilian/install
+       $(call Package/luci/install/template,$(1),i18n/portuguese_brazilian)
+endef
+
+
+
+### Compile ###
+ifneq ($(CONFIG_PACKAGE_luci-core),)
+       PKG_SELECTED_MODULES+=libs/core
+endif
+ifneq ($(CONFIG_PACKAGE_luci-cbi),)
+       PKG_SELECTED_MODULES+=libs/cbi
+endif
+ifneq ($(CONFIG_PACKAGE_luci-fastindex),)
+       PKG_SELECTED_MODULES+=libs/fastindex
+endif
+ifneq ($(CONFIG_PACKAGE_luci-http),)
+       PKG_SELECTED_MODULES+=libs/http
+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-uci),)
+       PKG_SELECTED_MODULES+=libs/uci
+endif
+ifneq ($(CONFIG_PACKAGE_luci-sys),)
+       PKG_SELECTED_MODULES+=libs/sys
+endif
+ifneq ($(CONFIG_PACKAGE_luci-web),)
+       PKG_SELECTED_MODULES+=libs/web
+endif
+ifneq ($(CONFIG_PACKAGE_luci-uvl),)
+       PKG_SELECTED_MODULES+=libs/uvl
+endif
+
+ifneq ($(CONFIG_PACKAGE_luci-admin-core),)
+       PKG_SELECTED_MODULES+=modules/admin-core
+endif
+ifneq ($(CONFIG_PACKAGE_luci-admin-mini),)
+       PKG_SELECTED_MODULES+=modules/admin-mini
+endif
+ifneq ($(CONFIG_PACKAGE_luci-admin-full),)
+       PKG_SELECTED_MODULES+=modules/admin-full
+endif
+ifneq ($(CONFIG_PACKAGE_luci-admin-rpc),)
+       PKG_SELECTED_MODULES+=modules/rpc
+endif
+
+ifneq ($(CONFIG_PACKAGE_luci-app-firewall),)
+       PKG_SELECTED_MODULES+=applications/luci-fw
+endif
+ifneq ($(CONFIG_PACKAGE_luci-app-olsr),)
+       PKG_SELECTED_MODULES+=applications/luci-olsr
+endif
+ifneq ($(CONFIG_PACKAGE_luci-app-qos),)
+       PKG_SELECTED_MODULES+=applications/luci-qos
+endif
+ifneq ($(CONFIG_PACKAGE_luci-app-statistics),)
+       PKG_SELECTED_MODULES+=applications/luci-statistics
+endif
+ifneq ($(CONFIG_PACKAGE_luci-app-upnp),)
+       PKG_SELECTED_MODULES+=applications/luci-upnp
+endif
+ifneq ($(CONFIG_PACKAGE_luci-app-ntpc),)
+       PKG_SELECTED_MODULES+=applications/luci-ntpc
+endif
+ifneq ($(CONFIG_PACKAGE_luci-app-ddns),)
+       PKG_SELECTED_MODULES+=applications/luci-ddns
+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-p910nd),)
+        PKG_SELECTED_MODULES+=applications/luci-p910nd
+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
+endif
+ifneq ($(CONFIG_PACKAGE_luci-app-tinyproxy),)
+       PKG_SELECTED_MODULES+=applications/luci-tinyproxy
+endif
+ifneq ($(CONFIG_PACKAGE_luci-app-initmgr),)
+       PKG_SELECTED_MODULES+=applications/luci-initmgr
+endif
+
+
+ifneq ($(CONFIG_PACKAGE_luci-sgi-cgi),)
+       PKG_SELECTED_MODULES+=libs/sgi-cgi
+endif
+
+
+#ifneq ($(CONFIG_PACKAGE_luci-theme-base),)
+#      PKG_SELECTED_MODULES+=themes/base
+#endif
+ifneq ($(CONFIG_PACKAGE_luci-theme-openwrt),)
+       PKG_SELECTED_MODULES+=themes/openwrt.org
+endif
+ifneq ($(CONFIG_PACKAGE_luci-theme-openwrtlight),)
+       PKG_SELECTED_MODULES+=themes/openwrt-light
+endif
+
+ifneq ($(CONFIG_PACKAGE_luci-i18n-german),)
+       PKG_SELECTED_MODULES+=i18n/german
+endif
+ifneq ($(CONFIG_PACKAGE_luci-i18n-english),)
+       PKG_SELECTED_MODULES+=i18n/english
+endif
+ifneq ($(CONFIG_PACKAGE_luci-i18n-french),)
+       PKG_SELECTED_MODULES+=i18n/french
+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
+
+
+MAKE_FLAGS += \
+       MODULES="$(PKG_SELECTED_MODULES)" \
+       LUA_TARGET="$(LUA_TARGET)" \
+       LUA_SHLIBS="-llua -lm" \
+       CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include" \
+       LDFLAGS="$(TARGET_LDFLAGS) -L$(STAGING_DIR)/usr/lib" \
+       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-ipkg))
+$(eval $(call BuildPackage,luci-json))
+$(eval $(call BuildPackage,luci-uci))
+$(eval $(call BuildPackage,luci-sys))
 $(eval $(call BuildPackage,luci-web))
+$(eval $(call BuildPackage,luci-uvl))
 
-$(eval $(call BuildPackage,luci-ff-halle))
-$(eval $(call BuildPackage,luci-ff-leipzig))
-$(eval $(call BuildPackage,luci-ff-hannover))
+$(eval $(call BuildPackage,luci-admin-core))
+$(eval $(call BuildPackage,luci-admin-mini))
+$(eval $(call BuildPackage,luci-admin-full))
+$(eval $(call BuildPackage,luci-admin-rpc))
 
-$(eval $(call BuildPackage,luci-mod-admin-core))
-$(eval $(call BuildPackage,luci-mod-freifunk))
-
-$(eval $(call BuildPackage,luci-app-ffwizard-leipzig))
 $(eval $(call BuildPackage,luci-app-firewall))
-$(eval $(call BuildPackage,luci-app-splash))
+$(eval $(call BuildPackage,luci-app-olsr))
+$(eval $(call BuildPackage,luci-app-qos))
 $(eval $(call BuildPackage,luci-app-statistics))
-
-$(eval $(call BuildPackage,luci-sgi-haserl))
-$(eval $(call BuildPackage,luci-sgi-webuci))
+$(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-p910nd))
+$(eval $(call BuildPackage,luci-app-ushare))
+$(eval $(call BuildPackage,luci-app-hd_idle))
+$(eval $(call BuildPackage,luci-app-tinyproxy))
+$(eval $(call BuildPackage,luci-app-initmgr))
+
+$(eval $(call BuildPackage,luci-sgi-cgi))
+
+#$(eval $(call BuildPackage,luci-theme-base))
+$(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-russian))
+$(eval $(call BuildPackage,luci-i18n-portuguese_brazilian))