Fixed last commit
[project/luci.git] / contrib / package / luci / Makefile
index 8b03f79569cc186ad5d81d551a0e96087d582262..82cc490f51e1b172207e19ce1b68bff8b66d5336 100644 (file)
@@ -1,27 +1,49 @@
 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')
+
+ifeq ($(DUMP),)
+  USELOCAL:=$(shell grep luci ../../../.project 2>/dev/null >/dev/null && echo 1)
+endif
 
 PKG_NAME:=luci
-PKG_VERSION:=0.7+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.7+svn
+else
+  PKG_SOURCE_URL:=http://dev.leipzig.freifunk.net/svn/ff-luci/$(PKG_BRANCH)
+  ifeq ($(DUMP),)
+    PKG_REV:=$(shell LC_ALL=C svn info ${PKG_SOURCE_URL} | sed -ne's/^Last Changed Rev: //p')
+    PKG_VERSION:=0.7+svn$(PKG_REV)
+  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
 
+PKG_BUILD_DEPENDS:=libnotimpl
 LUA_TARGET:=source
 PKG_SELECTED_MODULES:=
 
 
 include $(INCLUDE_DIR)/package.mk
 
+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 Build/Configure
 endef
 
@@ -33,31 +55,37 @@ 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
   $(call Package/luci/libtemplate)
-  SUBMENU:=LuCI - Freifunk Support
-  DEPENDS:=+luci-mod-freifunk
+  SUBMENU:=LuCI Freifunk Support (PARTLY BROKEN)
+  DEPENDS:=+luci-mod-freifunk @BROKEN
+endef
+
+define Package/luci/httpdtemplate
+  $(call Package/luci/libtemplate)
+  SUBMENU:=LuCI Non-Forking HTTP-Daemon (EXPERIMENTAL)
+  DEPENDS:=+luci-httpd
 endef
 
 define Package/luci/i18ntemplate
   $(call Package/luci/libtemplate)
-  SUBMENU:=LuCI Translations
+  SUBMENU:=LuCI Translations
   DEPENDS:=+luci-web
 endef
 
 define Package/luci/thtemplate
   $(call Package/luci/libtemplate)
-  SUBMENU:=LuCI Themes
+  SUBMENU:=LuCI Themes
   DEPENDS:=+luci-web
 endef
 
 define Package/luci/webtemplate
   $(call Package/luci/libtemplate)
-  SUBMENU:=LuCI - Webinterface Components
+  SUBMENU:=LuCI Components
 endef
 
 
@@ -72,7 +100,7 @@ endef
 
 define Package/luci-core
   $(call Package/luci/libtemplate)
-  DEPENDS:=+lua +luaposix
+  DEPENDS:=+lua +luaposix +bitlib
   TITLE:=LuCI core libraries
 endef
 
@@ -83,19 +111,26 @@ endef
 define Package/luci-core/config
        choice
                prompt "Build Target"
-               default PACKAGE_luci-core_compile
+               default PACKAGE_luci-core_source
 
        config PACKAGE_luci-core_compile
-               bool "Production"
+               bool "Precompiled"
+               
+       config PACKAGE_luci-core_stripped
+               bool "Stripped"
 
        config PACKAGE_luci-core_source
-               bool "Debug"
+               bool "Full Source"
 
        endchoice
 endef
 
 ifneq ($(CONFIG_PACKAGE_luci-core_compile),)
-       LUA_TARGET:=compile
+  LUA_TARGET:=compile
+endif
+
+ifneq ($(CONFIG_PACKAGE_luci-core_stripped),)
+  LUA_TARGET:=strip
 endif
 
 
@@ -142,9 +177,29 @@ define Package/luci-http/install
 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-sys
+  $(call Package/luci/libtemplate)
+  TITLE:=LuCI Linux/POSIX system library
+endef
+
+define Package/luci-sys/install
+       $(call Package/luci/install/template,$(1),libs/sys)
+endef
+
+
 define Package/luci-web
   $(call Package/luci/libtemplate)
-  DEPENDS+=+luci-http +luci-addons +luci-uci
+  DEPENDS+=+luci-http +luci-sys +luci-addons +luci-uci +luci-sgi-cgi
   TITLE:=MVC Webframework
 endef
 
@@ -158,6 +213,20 @@ 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-ff-halle
@@ -211,22 +280,72 @@ define Package/luci-ff-hannover/install
 endef
 
 
+define Package/luci-ff-berlin
+  $(call Package/luci/fftemplate)
+  DEPENDS+= \
+   +luci-sgi-cgi +luci-app-splash +luci-app-olsr \
+   +luci-theme-fledermaus \
+   +luci-i18n-german \
+   +olsrd +olsrd-mod-dyn-gw +olsrd-mod-txtinfo +olsrd-mod-nameservice
+  TITLE:=Freifunk Berlin Community Meta-Package
+endef
+
+define Package/luci-ff-berlin/install
+       $(call Package/luci/install/template,$(1),applications/community-berlin)
+endef
+
+define Package/luci-ff-augsburg
+  $(call Package/luci/fftemplate)
+  DEPENDS+= \
+   +luci-sgi-cgi +luci-app-splash +luci-app-olsr \
+   +luci-theme-fledermaus \
+   +luci-i18n-german \
+   +olsrd +olsrd-mod-dyn-gw +olsrd-mod-txtinfo +olsrd-mod-nameservice
+  TITLE:=Freifunk Augsburg Community Meta-Package
+endef
+
+define Package/luci-ff-augsburg/install
+        $(call Package/luci/install/template,$(1),applications/community-augsburg)
+endef
+
 ### Modules ###
 
-define Package/luci-mod-admin-core
+define Package/luci-admin-core
   $(call Package/luci/webtemplate)
   DEPENDS+=+luci-web +luci-cbi +luci-theme-openwrt +luci-i18n-english
-  TITLE:=Administration module
+  TITLE:=Web UI Core Module
 endef
 
-define Package/luci-mod-admin-core/install
+define Package/luci-admin-core/install
        $(call Package/luci/install/template,$(1),modules/admin-core)
 endef
 
 
+define Package/luci-admin-mini
+  $(call Package/luci/webtemplate)
+  DEPENDS+=+luci-admin-core
+  TITLE:=LuCI Essentials - casual user's interface
+endef
+
+define Package/luci-admin-mini/install
+       $(call Package/luci/install/template,$(1),modules/admin-mini)
+endef
+
+
+define Package/luci-admin-full
+  $(call Package/luci/webtemplate)
+  DEPENDS+=+luci-admin-core +luci-ipkg
+  TITLE:=LuCI Administration - power user's interface
+endef
+
+define Package/luci-admin-full/install
+       $(call Package/luci/install/template,$(1),modules/admin-full)
+endef
+
+
 define Package/luci-mod-freifunk
   $(call Package/luci/fftemplate)
-  DEPENDS:=+luci-mod-admin-core
+  DEPENDS:=+luci-admin-full
   TITLE:=LuCI Freifunk module
 endef
 
@@ -255,14 +374,10 @@ endef
 
 define Package/luci-app-firewall
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-mod-admin-core
+  DEPENDS+=+luci-admin-core +firewall
   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)
 endef
@@ -270,7 +385,7 @@ endef
 
 define Package/luci-app-olsr
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-mod-admin-core +olsrd-mod-txtinfo
+  DEPENDS+=+luci-admin-full +olsrd +olsrd-mod-txtinfo
   TITLE:=OLSR configuration and status module
 endef
 
@@ -281,7 +396,7 @@ endef
 
 define Package/luci-app-qos
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-mod-admin-core +qos-scripts
+  DEPENDS+=+luci-admin-core +qos-scripts
   TITLE:=Quality of Service configuration module
 endef
 
@@ -292,7 +407,7 @@ endef
 
 define Package/luci-app-splash
   $(call Package/luci/fftemplate)
-  DEPENDS+=+iptables-mod-nat +iptables-mod-ipopt
+  DEPENDS+=+luasocket +firewall
   TITLE:=Freifunk DHCP-Splash application
 endef
 
@@ -307,7 +422,7 @@ endef
 
 define Package/luci-app-statistics
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-mod-admin-core +collectd +collectd-mod-rrdtool1 +rrdtool1
+  DEPENDS+=+luci-admin-full +collectd +collectd-mod-rrdtool1 +rrdtool1
   TITLE:=LuCI Statistics Application
 endef
 
@@ -320,11 +435,54 @@ define Package/luci-app-statistics/install
 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
+
+
 ### Server Gateway Interfaces ###
 
 define Package/luci-sgi-cgi
   $(call Package/luci/libtemplate)
-  DEPENDS+=+luci-web
   TITLE:=SGI for CGI
 endef
 
@@ -332,9 +490,18 @@ 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
+endef
+
+define Package/luci-sgi-luci/install
+       $(call Package/luci/install/template,$(1),libs/sgi-luci)
+endef
+
 define Package/luci-sgi-webuci
   $(call Package/luci/libtemplate)
-  DEPENDS+=+luci-web
   TITLE:=SGI for Webuci
 endef
 
@@ -375,7 +542,7 @@ endef
 
 define Package/luci-i18n-english
   $(call Package/luci/i18ntemplate)
-  TITLE:=English (incomplete)
+  TITLE:=English
 endef
 
 define Package/luci-i18n-english/install
@@ -383,6 +550,17 @@ define Package/luci-i18n-english/install
 endef
 
 
+define Package/luci-i18n-french
+  $(call Package/luci/i18ntemplate)
+  TITLE:=French
+endef
+
+define Package/luci-i18n-french/install
+       $(call Package/luci/install/template,$(1),i18n/french)
+endef
+
+
+
 
 ### Compile ###
 ifneq ($(CONFIG_PACKAGE_luci-core),)
@@ -397,13 +575,23 @@ 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-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-httpd),)
+       PKG_SELECTED_MODULES+=libs/httpd
+endif
+
 ifneq ($(CONFIG_PACKAGE_luci-ff-halle),)
        PKG_SELECTED_MODULES+=applications/community-halle
 endif
@@ -413,10 +601,22 @@ endif
 ifneq ($(CONFIG_PACKAGE_luci-ff-hannover),)
        PKG_SELECTED_MODULES+=applications/community-hannover
 endif
+ifneq ($(CONFIG_PACKAGE_luci-ff-berlin),)
+       PKG_SELECTED_MODULES+=applications/community-berlin
+endif
+ifneq ($(CONFIG_PACKAGE_luci-ff-augsburg),)
+        PKG_SELECTED_MODULES+=applications/community-augsburg
+endif
 
-ifneq ($(CONFIG_PACKAGE_luci-mod-admin-core),)
+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-mod-freifunk),)
        PKG_SELECTED_MODULES+=modules/freifunk
 endif
@@ -439,10 +639,26 @@ 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-sgi-cgi),)
        PKG_SELECTED_MODULES+=libs/sgi-cgi
 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
@@ -460,23 +676,40 @@ 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
 
 
-MAKE_FLAGS += MODULES="$(PKG_SELECTED_MODULES)" LUA_TARGET="$(LUA_TARGET)" CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include" LDFLAGS="$(TARGET_LDFLAGS)"
+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-uci))
+$(eval $(call BuildPackage,luci-sys))
 $(eval $(call BuildPackage,luci-web))
 
+$(eval $(call BuildPackage,luci-httpd))
+
 $(eval $(call BuildPackage,luci-ff-halle))
 $(eval $(call BuildPackage,luci-ff-leipzig))
 $(eval $(call BuildPackage,luci-ff-hannover))
+$(eval $(call BuildPackage,luci-ff-berlin))
+$(eval $(call BuildPackage,luci-ff-augsburg))
 
-$(eval $(call BuildPackage,luci-mod-admin-core))
+$(eval $(call BuildPackage,luci-admin-core))
+$(eval $(call BuildPackage,luci-admin-mini))
+$(eval $(call BuildPackage,luci-admin-full))
 $(eval $(call BuildPackage,luci-mod-freifunk))
 
 $(eval $(call BuildPackage,luci-app-ffwizard-leipzig))
@@ -485,8 +718,13 @@ $(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-upnp))
+$(eval $(call BuildPackage,luci-app-ntpc))
+$(eval $(call BuildPackage,luci-app-ddns))
+$(eval $(call BuildPackage,luci-app-samba))
 
 $(eval $(call BuildPackage,luci-sgi-cgi))
+$(eval $(call BuildPackage,luci-sgi-luci))
 $(eval $(call BuildPackage,luci-sgi-webuci))
 
 $(eval $(call BuildPackage,luci-theme-fledermaus))
@@ -494,3 +732,4 @@ $(eval $(call BuildPackage,luci-theme-openwrt))
 
 $(eval $(call BuildPackage,luci-i18n-german))
 $(eval $(call BuildPackage,luci-i18n-english))
+$(eval $(call BuildPackage,luci-i18n-french))