* Added preliminary OpenWRT support for luci-httpd
[project/luci.git] / contrib / package / luci / Makefile
index 81a7796aa92a37145abb3dbafccf3329d86c083d..bc788130033d2bff6e6e083c739dcad120c179ac 100644 (file)
@@ -5,7 +5,7 @@ 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_NAME:=luci
-PKG_VERSION:=0.5+svn$(PKG_REV)
+PKG_VERSION:=0.7+svn$(PKG_REV)
 PKG_RELEASE:=1
 
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
@@ -25,11 +25,6 @@ include $(INCLUDE_DIR)/package.mk
 define Build/Configure
 endef
 
-
-define Build/Compile 
-       for i in $(PKG_SELECTED_MODULES); do $(MAKE) -C$(PKG_BUILD_DIR)/$$$$i build LUA_TARGET=$(LUA_TARGET); done
-endef
-
 ### Templates ###
 
 define Package/luci/libtemplate
@@ -48,6 +43,12 @@ define Package/luci/fftemplate
   DEPENDS:=+luci-mod-freifunk
 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
@@ -67,7 +68,8 @@ 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
 
 
@@ -115,9 +117,40 @@ define Package/luci-cbi/install
 endef
 
 
+define Package/luci-uci
+  $(call Package/luci/libtemplate)
+  DEPENDS+=+libuci-lua
+  TITLE:=High-Level UCI API
+endef
+
+define Package/luci-uci/install
+       $(call Package/luci/install/template,$(1),libs/uci)
+endef
+
+
+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-web
   $(call Package/luci/libtemplate)
-  DEPENDS+=+luci-addons
+  DEPENDS+=+luci-http +luci-addons +luci-uci
   TITLE:=MVC Webframework
 endef
 
@@ -131,14 +164,29 @@ 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
   $(call Package/luci/fftemplate)
   DEPENDS+= \
-   +luci-sgi-haserl +luci-app-splash \
+   +luci-sgi-cgi +luci-app-splash +luci-app-olsr \
    +luci-app-ffwizard-leipzig \
    +luci-theme-fledermaus \
+   +luci-i18n-german \
    +olsrd +olsrd-mod-dyn-gw +olsrd-mod-txtinfo +olsrd-mod-nameservice \
    +kmod-tun +ip
   TITLE:=Freifunk Halle Community Meta-Package
@@ -146,16 +194,16 @@ 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
 endef
 
 
 define Package/luci-ff-leipzig
   $(call Package/luci/fftemplate)
   DEPENDS+= \
-   +luci-sgi-haserl +luci-app-splash \
+   +luci-sgi-cgi +luci-app-splash +luci-app-olsr \
    +luci-app-ffwizard-leipzig \
    +luci-theme-fledermaus \
+   +luci-i18n-german \
    +olsrd +olsrd-mod-dyn-gw +olsrd-mod-txtinfo +olsrd-mod-nameservice \
    +kmod-tun +ip
   TITLE:=Freifunk Leipzig Community Meta-Package
@@ -163,15 +211,15 @@ 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
 endef
 
 
 define Package/luci-ff-hannover
   $(call Package/luci/fftemplate)
   DEPENDS+= \
-   +luci-sgi-haserl +luci-app-splash \
+   +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 Hannover Community Meta-Package
   URL:=http://www.freifunk-hannover.de/
@@ -180,7 +228,6 @@ 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
 endef
 
 
@@ -238,13 +285,34 @@ 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-olsr
+  $(call Package/luci/webtemplate)
+  DEPENDS+=+luci-mod-admin-core +olsrd-mod-txtinfo
+  TITLE:=OLSR configuration and status module
+endef
+
+define Package/luci-app-olsr/install
+       $(call Package/luci/install/template,$(1),applications/luci-olsr)
+endef
+
+
+define Package/luci-app-qos
+  $(call Package/luci/webtemplate)
+  DEPENDS+=+luci-mod-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-splash
   $(call Package/luci/fftemplate)
-  DEPENDS+=+luci-sgi-haserl +iptables-mod-nat +iptables-mod-ipopt
+  DEPENDS+=+iptables-mod-nat +iptables-mod-ipopt
   TITLE:=Freifunk DHCP-Splash application
 endef
 
@@ -254,18 +322,13 @@ 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
 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)
+  TITLE:=LuCI Statistics Application
 endef
 
 define Package/luci-app-statistics/conffiles
@@ -274,24 +337,30 @@ 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
 
 
 ### 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
+  DEPENDS+=+luci-web
+  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-luci
+  $(call Package/luci/libtemplate)
+  DEPENDS+=+luci-web +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)
@@ -352,10 +421,23 @@ 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-uci),)
+       PKG_SELECTED_MODULES+=libs/uci
+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
@@ -379,6 +461,12 @@ 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-splash),)
        PKG_SELECTED_MODULES+=applications/luci-splash
 endif
@@ -386,8 +474,11 @@ ifneq ($(CONFIG_PACKAGE_luci-app-statistics),)
        PKG_SELECTED_MODULES+=applications/luci-statistics
 endif
 
-ifneq ($(CONFIG_PACKAGE_luci-sgi-haserl),)
-       PKG_SELECTED_MODULES+=libs/sgi-haserl
+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
@@ -408,10 +499,18 @@ ifneq ($(CONFIG_PACKAGE_luci-i18n-english),)
 endif
 
 
+MAKE_FLAGS += MODULES="$(PKG_SELECTED_MODULES)" LUA_TARGET="$(LUA_TARGET)" CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include" LDFLAGS="$(TARGET_LDFLAGS)"
+
+
 $(eval $(call BuildPackage,luci-core))
 $(eval $(call BuildPackage,luci-cbi))
+$(eval $(call BuildPackage,luci-fastindex))
+$(eval $(call BuildPackage,luci-http))
+$(eval $(call BuildPackage,luci-uci))
 $(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))
@@ -421,10 +520,13 @@ $(eval $(call BuildPackage,luci-mod-freifunk))
 
 $(eval $(call BuildPackage,luci-app-ffwizard-leipzig))
 $(eval $(call BuildPackage,luci-app-firewall))
+$(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-sgi-haserl))
+$(eval $(call BuildPackage,luci-sgi-cgi))
+$(eval $(call BuildPackage,luci-sgi-luci))
 $(eval $(call BuildPackage,luci-sgi-webuci))
 
 $(eval $(call BuildPackage,luci-theme-fledermaus))