X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fluci.git;a=blobdiff_plain;f=contrib%2Fpackage%2Fluci%2FMakefile;h=949f5334da65a913f109d6e269699d65d1e67023;hp=725e394e6e244d347c746cecc35da072cf2ba926;hb=64144ed331aaab8aac2875cb01c799e45260d716;hpb=1c2ab810b2025630ea50e93c872c63dde8631b8f diff --git a/contrib/package/luci/Makefile b/contrib/package/luci/Makefile index 725e394e6..364175790 100644 --- a/contrib/package/luci/Makefile +++ b/contrib/package/luci/Makefile @@ -9,13 +9,15 @@ endif PKG_NAME:=luci PKG_RELEASE:=1 +PKG_BUILD_PARALLEL:=0 + ifeq ($(USELOCAL),1) - PKG_VERSION:=0.9+svn + PKG_VERSION:=0.10+svn else - PKG_SOURCE_URL:=http://dev.leipzig.freifunk.net/svn/ff-luci/$(PKG_BRANCH) + 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_VERSION:=0.9+svn$(PKG_REV) + PKG_REV:=$(shell LC_ALL=C svn info $(CURDIR) | sed -ne's/^Revision: //p') + PKG_VERSION:=0.10+svn$(PKG_REV) endif PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz @@ -23,799 +25,552 @@ 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 -PKG_SELECTED_MODULES:= - - -include $(INCLUDE_DIR)/package.mk +LUCI_CFLAGS:= +LUCI_BUILD_PACKAGES:= +LUCI_SELECTED_MODULES:= -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 +ifeq ($(BOARD),brcm-2.4) + MAKE_FLAGS += CRAP="1" endif -define Build/Configure -endef ### Templates ### - -define Package/luci/libtemplate - SECTION:=admin - CATEGORY:=Administration - TITLE:=LuCI - Lua Configuration Interface - URL:=http://luci.freifunk-halle.net/ - MAINTAINER:=Steven Barth - SUBMENU:=LuCI Libraries - DEPENDS:=+luci-core -endef - -define Package/luci/fftemplate - $(call Package/luci/libtemplate) - 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 - DEPENDS:=+luci-web -endef - -define Package/luci/thtemplate - $(call Package/luci/libtemplate) - SUBMENU:=LuCI Themes - DEPENDS:=+luci-web -endef - -define Package/luci/webtemplate - $(call Package/luci/libtemplate) - SUBMENU:=LuCI Components -endef - - define Package/luci/install/template $(CP) -a $(PKG_BUILD_DIR)/$(2)/dist/* $(1)/ -R $(CP) -a $(PKG_BUILD_DIR)/$(2)/ipkg/* $(1)/CONTROL/ 2>/dev/null || true endef - ### Core package ### - -define Package/luci-core - $(call Package/luci/libtemplate) - DEPENDS:=+lua +luaposix +bitlib +define Package/luci-lib-core + SECTION:=luci + CATEGORY:=LuCI + TITLE:=LuCI - Lua Configuration Interface + URL:=http://luci.subsignal.org/ + MAINTAINER:=LuCI Development Team + SUBMENU:=Libraries + DEPENDS:=+lua +libuci-lua TITLE:=LuCI core libraries endef -define Package/luci-core/install +define Package/luci-lib-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 +define Package/luci-lib-core/config choice prompt "Build Target" - default PACKAGE_luci-core_source + default PACKAGE_luci-lib-core_source - config PACKAGE_luci-core_compile + config PACKAGE_luci-lib-core_compile bool "Precompiled" - config PACKAGE_luci-core_stripped + config PACKAGE_luci-lib-core_stripped bool "Stripped" - config PACKAGE_luci-core_source + config PACKAGE_luci-lib-core_srcdiet + bool "Compressed Source" + + config PACKAGE_luci-lib-core_source bool "Full Source" endchoice endef -ifneq ($(CONFIG_PACKAGE_luci-core_compile),) +ifneq ($(CONFIG_PACKAGE_luci-lib-core_compile),) LUA_TARGET:=compile endif -ifneq ($(CONFIG_PACKAGE_luci-core_stripped),) +ifneq ($(CONFIG_PACKAGE_luci-lib-core_stripped),) LUA_TARGET:=strip endif +ifneq ($(CONFIG_PACKAGE_luci-lib-core_srcdiet),) + LUA_TARGET:=diet +endif -### Libraries ### -define Package/luci-cbi - $(call Package/luci/libtemplate) - DEPENDS+=+luci-web +luci-uvl +luci-uci - TITLE:=Configuration Binding Interface -endef - -define Package/luci-cbi/install - $(call Package/luci/install/template,$(1),libs/cbi) -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-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 +ifneq ($(CONFIG_PACKAGE_luci-lib-core),) + LUCI_SELECTED_MODULES+=libs/core +endif -define Package/luci-json/install - $(call Package/luci/install/template,$(1),libs/json) -endef +LUCI_BUILD_PACKAGES += luci-lib-core -define Package/luci-sys - $(call Package/luci/libtemplate) - TITLE:=LuCI Linux/POSIX system library -endef +### Libraries ### +define library + define Package/luci-lib-$(1) + SECTION:=luci + CATEGORY:=LuCI + TITLE:=LuCI - Lua Configuration Interface + URL:=http://luci.subsignal.org/ + MAINTAINER:=LuCI Development Team + SUBMENU:=Libraries + TITLE:=$(if $(2),$(2),LuCI $(1) library) + $(if $(3),DEPENDS:=+luci-lib-core $(3)) + endef -define Package/luci-sys/install - $(call Package/luci/install/template,$(1),libs/sys) -endef + define Package/luci-lib-$(1)/install + $(call Package/luci/install/template,$$(1),libs/$(1)) + $(call Package/luci-lib-$(1)/extra-install) + endef + ifneq ($(CONFIG_PACKAGE_luci-lib-$(1)),) + LUCI_SELECTED_MODULES+=libs/$(1) + endif -define Package/luci-web - $(call Package/luci/libtemplate) - DEPENDS+=+luci-http +luci-sys +luci-addons +luci-uci +luci-sgi-cgi - TITLE:=MVC Webframework + LUCI_BUILD_PACKAGES += luci-lib-$(1) endef -define Package/luci-web/conffiles +define Package/luci-lib-web/conffiles /etc/config/luci endef -define Package/luci-web/install - $(call Package/luci/install/template,$(1),libs/web) -endef - - -define Package/luci-uvl - $(call Package/luci/libtemplate) - DEPENDS+=+luci-sys +luci-uci +luci-core - TITLE:=UVL - UCI Validation Layer -endef - -define Package/luci-uvl/install - $(call Package/luci/install/template,$(1),libs/uvl) -endef - +define Package/luci-lib-nixio/config + choice + prompt "TLS Provider" + default PACKAGE_luci-lib-nixio_notls + config PACKAGE_luci-lib-nixio_notls + bool "Disabled" -### HTTPD ### + config PACKAGE_luci-lib-nixio_axtls + bool "Builtin (axTLS)" -define Package/luci-httpd - $(call Package/luci/httpdtemplate) - DEPENDS:=+luci-http +luasocket - TITLE:=Server Core -endef + config PACKAGE_luci-lib-nixio_cyassl + bool "CyaSSL" + select PACKAGE_libcyassl -define Package/luci-httpd/install - $(call Package/luci/install/template,$(1),libs/httpd) + config PACKAGE_luci-lib-nixio_openssl + bool "OpenSSL" + select PACKAGE_libopenssl + endchoice endef +NIXIO_TLS:= -### Community Packages ### - -define Package/luci-ff-halle - $(call Package/luci/fftemplate) - DEPENDS+= \ - +luci-sgi-cgi +luci-app-splash +luci-app-olsr \ - +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 - TITLE:=Freifunk Halle Community Meta-Package -endef +ifneq ($(CONFIG_PACKAGE_luci-lib-nixio_axtls),) + NIXIO_TLS:=axtls +endif -define Package/luci-ff-halle/install - $(call Package/luci/install/template,$(1),applications/community-halle) -endef +ifneq ($(CONFIG_PACKAGE_luci-lib-nixio_openssl),) + NIXIO_TLS:=openssl +endif +ifneq ($(CONFIG_PACKAGE_luci-lib-nixio_cyassl),) + NIXIO_TLS:=cyassl + LUCI_CFLAGS+=-I$(STAGING_DIR)/usr/include/cyassl +endif -define Package/luci-ff-leipzig - $(call Package/luci/fftemplate) - DEPENDS+= \ - +luci-sgi-cgi +luci-app-splash +luci-app-olsr \ - +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 - TITLE:=Freifunk Leipzig Community Meta-Package -endef -define Package/luci-ff-leipzig/install - $(call Package/luci/install/template,$(1),applications/community-leipzig) -endef +$(eval $(call library,fastindex,Fastindex indexing module)) +$(eval $(call library,httpclient,HTTP(S) client library,+luci-lib-web +luci-lib-nixio)) +$(eval $(call library,ipkg,LuCI IPKG/OPKG call abstraction library)) +$(eval $(call library,json,LuCI JSON library)) +$(eval $(call library,lmo,LuCI LMO I18N library)) +$(eval $(call library,lucid,LuCId Full-Stack Webserver,+luci-lib-nixio +luci-lib-web +luci-lib-px5g)) +$(eval $(call library,lucid-http,LuCId HTTP Backend,+luci-lib-lucid)) +$(eval $(call library,lucid-rpc,LuCId RPC Backend,+luci-lib-lucid)) +$(eval $(call library,nixio,NIXIO POSIX library,+PACKAGE_luci-lib-nixio_openssl:libopenssl +PACKAGE_luci-lib-nixio_cyassl:libcyassl)) +$(eval $(call library,px5g,RSA/X.509 Key Generator (required for LuCId SSL support),+luci-lib-nixio)) +$(eval $(call library,sys,LuCI Linux/POSIX system library)) +$(eval $(call library,web,MVC Webframework,+luci-lib-sys +luci-lib-nixio +luci-lib-core +luci-sgi-cgi +luci-lib-lmo)) -define Package/luci-ff-hannover - $(call Package/luci/fftemplate) +### Community Packages ### +define Package/luci-mod-freifunk-community + SECTION:=luci + CATEGORY:=LuCI + TITLE:=LuCI - Lua Configuration Interface + URL:=http://luci.subsignal.org/ + MAINTAINER:=LuCI Development Team + SUBMENU:=Freifunk + TITLE:=Freifunk Community Meta-Package DEPENDS+= \ - +luci-sgi-cgi +luci-app-splash +luci-app-olsr \ - +luci-theme-fledermaus \ + +luci-lib-web +luci-app-splash \ + +luci-app-ffwizard \ +luci-i18n-german \ - +olsrd-luci +olsrd-luci-mod-dyn-gw +olsrd-luci-mod-txtinfo +olsrd-luci-mod-nameservice - TITLE:=Freifunk Hannover Community Meta-Package - URL:=http://www.freifunk-hannover.de/ - MAINTAINER:=Mickey Knox + +PACKAGE_luci-mod-freifunk-community:olsrd +PACKAGE_luci-mod-freifunk-community:olsrd-mod-dyn-gw-plain \ + +PACKAGE_luci-mod-freifunk-community:olsrd-mod-txtinfo +PACKAGE_luci-mod-freifunk-community:olsrd-mod-nameservice \ + +PACKAGE_luci-mod-freifunk-community:olsrd-mod-watchdog +PACKAGE_luci-mod-freifunk-community:kmod-tun \ + +PACKAGE_luci-mod-freifunk-community:ip +PACKAGE_luci-mod-freifunk-community:freifunk-watchdog +luci-app-olsr +luci-app-olsr-services endef -define Package/luci-ff-hannover/install - $(call Package/luci/install/template,$(1),applications/community-hannover) +define Package/luci-mod-freifunk-community/install + $(call Package/luci/install/template,$(1),applications/freifunk-community) endef +ifneq ($(CONFIG_PACKAGE_luci-mod-freifunk-community),) + LUCI_SELECTED_MODULES+=applications/freifunk-community +endif -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-luci +olsrd-luci-mod-dyn-gw +olsrd-luci-mod-txtinfo +olsrd-luci-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-luci +olsrd-luci-mod-dyn-gw +olsrd-luci-mod-txtinfo +olsrd-luci-mod-nameservice - TITLE:=Freifunk Augsburg Community Meta-Package -endef +LUCI_BUILD_PACKAGES += luci-mod-freifunk-community -define Package/luci-ff-augsburg/install - $(call Package/luci/install/template,$(1),applications/community-augsburg) -endef ### Modules ### +define module + define Package/luci-mod-$(1) + SECTION:=luci + CATEGORY:=LuCI + TITLE:=LuCI - Lua Configuration Interface + URL:=http://luci.subsignal.org/ + MAINTAINER:=LuCI Development Team + SUBMENU:=Modules + TITLE:=$(if $(2),$(2),LuCI $(1) module) + $(if $(3),DEPENDS+=$(3)) + endef -define Package/luci-admin-core - $(call Package/luci/webtemplate) - DEPENDS+=+luci-web +luci-cbi +luci-theme-openwrt +luci-i18n-english - TITLE:=Web UI Core Module -endef - -define Package/luci-admin-core/install - $(call Package/luci/install/template,$(1),modules/admin-core) -endef - + define Package/luci-mod-$(1)/install + $(call Package/luci/install/template,$$(1),modules/$(1)) + $(call Package/luci-mod-$(1)/extra-install) + endef -define Package/luci-admin-mini - $(call Package/luci/webtemplate) - DEPENDS+=+luci-admin-core - TITLE:=LuCI Essentials - stripped down and user-friendly -endef + ifneq ($(CONFIG_PACKAGE_luci-mod-$(1)),) + LUCI_SELECTED_MODULES+=modules/$(1) + endif -define Package/luci-admin-mini/install - $(call Package/luci/install/template,$(1),modules/admin-mini) + LUCI_BUILD_PACKAGES += luci-mod-$(1) endef -define Package/luci-admin-full - $(call Package/luci/webtemplate) - DEPENDS+=+luci-admin-core +luci-ipkg - TITLE:=LuCI Administration - full-featured for full control +define Package/luci-mod-admin-core/extra-install + touch $(1)/etc/init.d/luci_fixtime || true endef -define Package/luci-admin-full/install - $(call Package/luci/install/template,$(1),modules/admin-full) +define Package/luci-mod-freifunk/conffiles +/etc/config/freifunk endef +$(eval $(call module,admin-core,Web UI Core module,+luci-lib-web +luci-i18n-english)) +$(eval $(call module,admin-mini,LuCI Essentials - stripped down and user-friendly,+luci-mod-admin-core @BROKEN)) +$(eval $(call module,admin-full,LuCI Administration - full-featured for full control,+luci-mod-admin-core +luci-lib-ipkg)) +$(eval $(call module,rpc,LuCI RPC - JSON-RPC API,+luci-lib-json)) +$(eval $(call module,freifunk,LuCI Freifunk module,+luci-mod-admin-full +luci-lib-json +PACKAGE_luci-mod-freifunk:freifunk-firewall)) +$(eval $(call module,niu,NIU - Next Generation Interface,+luci-mod-admin-core @BROKEN)) -define Package/luci-admin-rpc - $(call Package/luci/webtemplate) - DEPENDS+=+luci-json - TITLE:=LuCI RPC - JSON-RPC API -endef -define Package/luci-admin-rpc/install - $(call Package/luci/install/template,$(1),modules/rpc) -endef +### Applications ### +define application + define Package/luci-app-$(1) + SECTION:=luci + CATEGORY:=LuCI + TITLE:=LuCI - Lua Configuration Interface + URL:=http://luci.subsignal.org/ + MAINTAINER:=LuCI Development Team + SUBMENU:=Applications + TITLE:=$(if $(2),$(2),LuCI $(1) application) + DEPENDS:=+luci-mod-admin-core $(3) + endef + define Package/luci-app-$(1)/install + $(call Package/luci/install/template,$$(1),applications/luci-$(1)) + endef -define Package/luci-mod-freifunk - $(call Package/luci/fftemplate) - DEPENDS:=+luci-admin-full - TITLE:=LuCI Freifunk module -endef + ifneq ($(CONFIG_PACKAGE_luci-app-$(1)),) + LUCI_SELECTED_MODULES+=applications/luci-$(1) + endif -define Package/luci-mod-freifunk/conffiles -/etc/config/freifunk + LUCI_BUILD_PACKAGES += luci-app-$(1) endef -define Package/luci-mod-freifunk/install - $(call Package/luci/install/template,$(1),modules/freifunk) +define Package/luci-app-splash/conffiles +/etc/config/luci_splash +/usr/lib/luci-splash/splashtext.html endef - - -### Applications ### - -define Package/luci-app-ffwizard-leipzig - $(call Package/luci/fftemplate) - TITLE:=Freifunk Leipzig configuration wizard +define Package/luci-app-statistics/conffiles +/etc/config/luci_statistics endef -define Package/luci-app-ffwizard-leipzig/install - $(call Package/luci/install/template,$(1),applications/luci-ffwizard-leipzig) +define Package/luci-app-diag-devinfo/conffiles +/etc/config/luci_devinfo endef -define Package/luci-app-firewall - $(call Package/luci/webtemplate) - DEPENDS+=+luci-admin-core - TITLE:=Firewall and Portforwarding application -endef - -define Package/luci-app-firewall/install - $(call Package/luci/install/template,$(1),applications/luci-fw) -endef +$(eval $(call application,ffwizard,Freifunk configuration wizard,\ + +luci-mod-freifunk)) +$(eval $(call application,siitwizard,SIIT IPv4-over-IPv6 configuration wizard,\ + +PACKAGE_luci-app-siitwizard:kmod-siit)) -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 +$(eval $(call application,firewall,Firmware and Portforwarding application,\ + +PACKAGE_luci-app-firewall:firewall)) -define Package/luci-app-olsr/install - $(call Package/luci/install/template,$(1),applications/luci-olsr) -endef +$(eval $(call application,olsr,OLSR configuration and status module,\ + +luci-mod-admin-full +PACKAGE_luci-app-olsr:olsrd +PACKAGE_luci-app-olsr:olsrd-mod-txtinfo)) +$(eval $(call application,olsr-viz,OLSR Visualisation,\ + +PACKAGE_luci-app-olsr-viz:luci-app-olsr +PACKAGE_luci-app-olsr-viz:olsrd-mod-txtinfo)) -define Package/luci-app-qos - $(call Package/luci/webtemplate) - DEPENDS+=+luci-admin-core +qos-scripts - TITLE:=Quality of Service configuration module -endef +$(eval $(call application,olsr-services,Show services announced with the nameservice plugin,\ + +PACKAGE_luci-app-olsr-services:olsrd-mod-nameservice +luci-mod-freifunk +PACKAGE_luci-app-olsr-services:luci-app-olsr)) -define Package/luci-app-qos/install - $(call Package/luci/install/template,$(1),applications/luci-qos) -endef +$(eval $(call application,qos,Quality of Service configuration module,\ + +PACKAGE_luci-app-qos:qos-scripts)) +$(eval $(call application,splash,Freifunk DHCP-Splash application,\ + +luci-lib-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)) -define Package/luci-app-splash - $(call Package/luci/fftemplate) - DEPENDS+=+luasocket - TITLE:=Freifunk DHCP-Splash application -endef +$(eval $(call application,statistics,LuCI Statistics Application,\ + +luci-mod-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)) -define Package/luci-app-splash/conffiles -/etc/config/luci_splash -endef -define Package/luci-app-splash/install - $(call Package/luci/install/template,$(1),applications/luci-splash) -endef +$(eval $(call application,diag-core,LuCI Diagnostics Tools (Core))) +$(eval $(call application,diag-devinfo,LuCI Diagnostics Tools (Device Info),\ + +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)) -define Package/luci-app-statistics - $(call Package/luci/webtemplate) - DEPENDS+=+luci-admin-full +collectd +collectd-mod-rrdtool1 +rrdtool1 - TITLE:=LuCI Statistics Application -endef +$(eval $(call application,voice-core,LuCI Voice Software (Core))) -define Package/luci-app-statistics/conffiles -/etc/config/luci_statistics -endef +$(eval $(call application,voice-diag,LuCI Voice Software (Diagnostics),\ + +luci-app-voice-core +luci-app-diag-devinfo)) -define Package/luci-app-statistics/install - $(call Package/luci/install/template,$(1),applications/luci-statistics) -endef +$(eval $(call application,upnp,Universal Plug & Play configuration module,\ + +PACKAGE_luci-app-upnp:miniupnpd)) +$(eval $(call application,ntpc,NTP time synchronisation configuration module,\ + +PACKAGE_luci-app-ntpc:ntpclient)) -define Package/luci-app-upnp - $(call Package/luci/webtemplate) - DEPENDS+=+luci-admin-core +miniupnpd - TITLE:=Universal Plug & Play configuration module -endef +$(eval $(call application,ddns,Dynamic DNS configuration module,\ + +PACKAGE_luci-app-ddns:ddns-scripts)) -define Package/luci-app-upnp/install - $(call Package/luci/install/template,$(1),applications/luci-upnp) -endef +$(eval $(call application,samba,Network Shares - Samba SMB/CIFS module,\ + +luci-mod-admin-full +PACKAGE_luci-app-samba:samba3)) +$(eval $(call application,mmc-over-gpio,MMC-over-GPIO configuration module,\ + +luci-mod-admin-full +PACKAGE_luci-app-mmc-over-gpio:kmod-mmc-over-gpio)) -define Package/luci-app-ntpc - $(call Package/luci/webtemplate) - DEPENDS+=+luci-admin-core +ntpclient - TITLE:=NTP time synchronisation client configuration module -endef +$(eval $(call application,p910nd,p910nd - Printer server module,\ + +luci-mod-admin-full +PACKAGE_luci-app-p910nd:p910nd)) -define Package/luci-app-ntpc/install - $(call Package/luci/install/template,$(1),applications/luci-ntpc) -endef +$(eval $(call application,ushare,uShare - UPnP A/V & DLNA Media Server,\ + +luci-mod-admin-full +PACKAGE_luci-app-ushare:ushare)) +$(eval $(call application,hd-idle,Hard Disk Idle Spin-Down module,\ + +luci-mod-admin-full +PACKAGE_luci-app-hd-idle:hd-idle)) -define Package/luci-app-ddns - $(call Package/luci/webtemplate) - DEPENDS+=+luci-admin-core +ddns-scripts - TITLE:=Dynamic DNS configuration module -endef +$(eval $(call application,tinyproxy,Tinyproxy - HTTP(S)-Proxy configuration,\ + +luci-mod-admin-full +PACKAGE_luci-app-tinyproxy:tinyproxy)) -define Package/luci-app-ddns/install - $(call Package/luci/install/template,$(1),applications/luci-ddns) -endef +$(eval $(call application,initmgr,LuCI Initscript Management,\ + +luci-mod-admin-full)) +$(eval $(call application,polipo,LuCI Support for the Polipo Proxy,\ + +PACKAGE_luci-app-polipo:polipo)) -define Package/luci-app-samba - $(call Package/luci/webtemplate) - DEPENDS+=+luci-admin-full +samba3 - TITLE:=Network Shares - Samba SMB/CIFS module -endef +$(eval $(call application,openvpn,LuCI Support for OpenVPN,\ + +PACKAGE_luci-app-openvpn:openvpn)) -define Package/luci-app-samba/install - $(call Package/luci/install/template,$(1),applications/luci-samba) -endef +$(eval $(call application,p2pblock,LuCI Support for the Freifunk P2P-Block addon,\ + +luci-app-firewall +PACKAGE_luci-app-p2pblock:freifunk-p2pblock)) +$(eval $(call application,multiwan,LuCI Support for the OpenWrt MultiWAN agent,\ + +luci-app-firewall +PACKAGE_luci-app-multiwan:multiwan)) -define Package/luci-app-uvc_streamer - $(call Package/luci/webtemplate) - DEPENDS+=+luci-admin-full +uvc-streamer - TITLE:=Webcam Streaming - UVC-Streamer module -endef +$(eval $(call application,wol,LuCI Support for Wake-on-LAN,\ + +PACKAGE_luci-app-wol:etherwake)) -define Package/luci-app-uvc_streamer/install - $(call Package/luci/install/template,$(1),applications/luci-uvc_streamer) -endef +$(eval $(call application,vnstat,LuCI Support for VnStat,\ + +PACKAGE_luci-app-vnstat:vnstat \ + +PACKAGE_luci-app-vnstat:vnstati)) +$(eval $(call application,radvd,LuCI Support for Radvd,\ + +luci-mod-admin-full +PACKAGE_luci-app-radvd:radvd)) +$(eval $(call application,lqtapifoss,Lantiq voip)) ### Server Gateway Interfaces ### +define sgi + define Package/luci-sgi-$(1) + SECTION:=luci + CATEGORY:=LuCI + TITLE:=LuCI - Lua Configuration Interface + URL:=http://luci.subsignal.org/ + MAINTAINER:=LuCI Development Team + SUBMENU:=Server Interfaces + TITLE:=$(if $(2),$(2),LuCI $(1) server gateway interface) + $(if $(3),DEPENDS:=$(3)) + endef -define Package/luci-sgi-cgi - $(call Package/luci/libtemplate) - TITLE:=SGI for CGI -endef - -define Package/luci-sgi-cgi/install - $(call Package/luci/install/template,$(1),libs/sgi-cgi) -endef + define Package/luci-sgi-$(1)/install + $(call Package/luci/install/template,$$(1),libs/sgi-$(1)) + endef -define Package/luci-sgi-luci - $(call Package/luci/libtemplate) - DEPENDS+=+luci-httpd - TITLE:=SGI for LuCI HTTPD -endef + ifneq ($(CONFIG_PACKAGE_luci-sgi-$(1)),) + LUCI_SELECTED_MODULES+=libs/sgi-$(1) + endif -define Package/luci-sgi-luci/install - $(call Package/luci/install/template,$(1),libs/sgi-luci) + LUCI_BUILD_PACKAGES += luci-sgi-$(1) endef -define Package/luci-sgi-webuci - $(call Package/luci/libtemplate) - TITLE:=SGI for Webuci -endef +$(eval $(call sgi,cgi,CGI Gateway behind existing Webserver)) +$(eval $(call sgi,uhttpd,Binding for the uHTTPd server,+uhttpd +uhttpd-mod-lua)) -define Package/luci-sgi-webuci/install - $(call Package/luci/install/template,$(1),libs/sgi-webuci) -endef ### Themes ### -define Package/luci-theme-fledermaus - $(call Package/luci/fftemplate) - DEPENDS:=+luci-web - TITLE:=Fledermaus Theme -endef +define theme + define Package/luci-theme-$(1) + SECTION:=luci + CATEGORY:=LuCI + TITLE:=LuCI - Lua Configuration Interface + URL:=http://luci.subsignal.org/ + SUBMENU:=Themes + TITLE:=$(if $(2),$(2),LuCI $(1) theme) + MAINTAINER:=$(if $(3),$(3),LuCI Development Team ) + DEPENDS:=$(if $(filter-out base,$(1)),+luci-theme-base) $(4) + $(if $(5),DEFAULT:=PACKAGE_luci-lib-core) + endef -define Package/luci-theme-fledermaus/install - $(call Package/luci/install/template,$(1),themes/fledermaus) -endef + define Package/luci-theme-$(1)/install + $(call Package/luci/install/template,$$(1),themes/$(1)) + endef -define Package/luci-theme-openwrt - $(call Package/luci/thtemplate) - TITLE:=OpenWRT.org (default) -endef + ifneq ($(CONFIG_PACKAGE_luci-theme-$(1)),) + LUCI_SELECTED_MODULES+=themes/$(1) + endif -define Package/luci-theme-openwrt/install - $(call Package/luci/install/template,$(1),themes/openwrt.org) + LUCI_BUILD_PACKAGES += luci-theme-$(1) endef -define Package/luci-theme-openwrtlight - $(call Package/luci/thtemplate) - TITLE:=OpenWRT.org - light variant without images -endef +$(eval $(call theme,base,Common base for all themes,,+luci-lib-web)) +$(eval $(call theme,openwrt,OpenWrt.org (default),,,1)) +$(eval $(call theme,fledermaus,Fledermaus Theme)) -define Package/luci-theme-openwrtlight/install - $(call Package/luci/install/template,$(1),themes/openwrt-light) -endef +$(eval $(call theme,freifunk,alternative Freifunk Theme,\ + Stefan Pirwitz )) +$(eval $(call theme,freifunk-bno,Freifunk Berlin Nordost Theme,\ + Stefan Pirwitz )) -### Translations ### -define Package/luci-i18n-german - $(call Package/luci/i18ntemplate) - TITLE:=German -endef +$(eval $(call theme,freifunk-hannover,Freifunk Hannover Theme,\ + Mikolas Bingemer )) -define Package/luci-i18n-german/install - $(call Package/luci/install/template,$(1),i18n/german) -endef +$(eval $(call theme,freifunk-generic,Freifunk Generic Theme,\ + Manuel Munz )) +### Translations ### +define translation + define Package/luci-i18n-$(1) + SECTION:=luci + CATEGORY:=LuCI + TITLE:=LuCI - Lua Configuration Interface + URL:=http://luci.subsignal.org/ + MAINTAINER:=LuCI Development Team + SUBMENU:=Translations + TITLE:=$(if $(2),$(2),$(1)) + endef -define Package/luci-i18n-english - $(call Package/luci/i18ntemplate) - TITLE:=English -endef + define Package/luci-i18n-$(1)/install + $(call Package/luci/install/template,$$(1),i18n/$(1)) + endef -define Package/luci-i18n-english/install - $(call Package/luci/install/template,$(1),i18n/english) -endef + ifneq ($(CONFIG_PACKAGE_luci-i18n-$(1)),) + LUCI_SELECTED_MODULES+=i18n/$(1) + endif + LUCI_BUILD_PACKAGES += luci-i18n-$(1) +endef + +$(eval $(call translation,german,German)) +$(eval $(call translation,english,English)) +$(eval $(call translation,french,French (by Florian Fainelli))) +$(eval $(call translation,italian,Italian (by Matteo Croce))) +$(eval $(call translation,russian,Russian (by Skryabin Dmitry))) +$(eval $(call translation,portuguese_brazilian,Portuguese (Brazilian) (by Carlos Cesario))) +$(eval $(call translation,japanese,Japanese (by Tsukasa Hamano))) +$(eval $(call translation,greek,Greek (by Vasilis Tsiligiannis))) +$(eval $(call translation,catalan,Catalan (by Eduard Duran))) +$(eval $(call translation,portuguese,Portuguese (by Jose Monteiro))) +$(eval $(call translation,spanish,Spanish (by Guillermo Javier Nardoni))) +$(eval $(call translation,vietnamese,Vietnamese (by Hong Phuc Dang))) +$(eval $(call translation,malay,Malay (by Teow Wai Chet))) +$(eval $(call translation,norwegian,Norwegian (by Lars Hardy))) + + +### Collections ### +define collection + define Package/luci$(if $(1),-$(1)) + SECTION:=luci + CATEGORY:=LuCI + TITLE:=LuCI - Lua Configuration Interface + URL:=http://luci.subsignal.org/ + MAINTAINER:=LuCI Development Team + SUBMENU:=Collections + TITLE:=$(if $(2),$(2),LuCI $(if $(1),$(1),general) collection) + $(if $(3),DEPENDS:=$(3)) + endef -define Package/luci-i18n-french - $(call Package/luci/i18ntemplate) - TITLE:=French (by Florian Fainelli) -endef + define Package/luci$(if $(1),-$(1))/install + true + endef -define Package/luci-i18n-french/install - $(call Package/luci/install/template,$(1),i18n/french) + LUCI_BUILD_PACKAGES += luci$(if $(1),-$(1)) endef +$(eval $(call collection,,\ + Standard OpenWrt set including full and mini admin and the standard theme,\ + +uhttpd +luci-mod-admin-full +luci-theme-openwrt +luci-app-firewall \ + +luci-app-initmgr +libiwinfo)) -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 +$(eval $(call collection,ssl,\ + Standard OpenWrt set with HTTPS support,\ + +uhttpd +uhttpd-mod-tls +px5g +luci-mod-admin-full +luci-theme-openwrt \ + +luci-app-firewall +luci-app-initmgr +libiwinfo)) +$(eval $(call collection,light,\ + Minimum package set using only admin mini and the standard theme,\ + +uhttpd +luci-mod-admin-mini +luci-theme-openwrt @BROKEN)) ### 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-httpd),) - PKG_SELECTED_MODULES+=libs/httpd -endif - -ifneq ($(CONFIG_PACKAGE_luci-ff-halle),) - PKG_SELECTED_MODULES+=applications/community-halle -endif -ifneq ($(CONFIG_PACKAGE_luci-ff-leipzig),) - PKG_SELECTED_MODULES+=applications/community-leipzig -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-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-mod-freifunk),) - PKG_SELECTED_MODULES+=modules/freifunk -endif - -ifneq ($(CONFIG_PACKAGE_luci-app-ffwizard-leipzig),) - PKG_SELECTED_MODULES+=applications/luci-ffwizard-leipzig -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 -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-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 +PKG_CONFIG_DEPENDS=$(patsubst %,CONFIG_PACKAGE_%,$(LUCI_BUILD_PACKAGES)) -ifneq ($(CONFIG_PACKAGE_luci-theme-fledermaus),) - PKG_SELECTED_MODULES+=themes/fledermaus -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 +include $(INCLUDE_DIR)/package.mk -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 +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 MAKE_FLAGS += \ - MODULES="$(PKG_SELECTED_MODULES)" \ + MODULES="$(LUCI_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" - - -$(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-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-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-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-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-sgi-cgi)) -$(eval $(call BuildPackage,luci-sgi-luci)) -$(eval $(call BuildPackage,luci-sgi-webuci)) - -$(eval $(call BuildPackage,luci-theme-fledermaus)) -$(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)) + NIXIO_TLS="$(NIXIO_TLS)" OS="Linux" + + +$(foreach b,$(LUCI_BUILD_PACKAGES),$(eval $(call BuildPackage,$(b))))