X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fluci.git;a=blobdiff_plain;f=contrib%2Fpackage%2Fluci%2FMakefile;h=9060fd5e4f386eb3cea1996b457bec8a4a11127c;hp=5ca914721558560583ef057ef21d28f38d799fe3;hb=ed2a631f4d37d6f1164cc88058f5ecdf39c68235;hpb=0989d06c4104523aeb97180ac749f7eacb82db01 diff --git a/contrib/package/luci/Makefile b/contrib/package/luci/Makefile index 5ca914721..e1ae6e759 100644 --- a/contrib/package/luci/Makefile +++ b/contrib/package/luci/Makefile @@ -10,12 +10,12 @@ PKG_NAME:=luci PKG_RELEASE:=1 ifeq ($(USELOCAL),1) - PKG_VERSION:=0.7+svn + PKG_VERSION:=0.10+svn else - PKG_SOURCE_URL:=https://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.7+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,12 +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 -PKG_SELECTED_MODULES:= +LUCI_CFLAGS:= +LUCI_BUILD_PACKAGES:= +LUCI_SELECTED_MODULES:= + +ifeq ($(BOARD),brcm-2.4) + MAKE_FLAGS += CRAP="1" +endif include $(INCLUDE_DIR)/package.mk @@ -47,531 +53,520 @@ 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 - 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 - 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 - Webinterface Components -endef +MAKE_FLAGS += \ + MODULES="$(LUCI_SELECTED_MODULES)" \ + LUA_TARGET="$(LUA_TARGET)" \ + LUA_SHLIBS="-llua -lm -ldl -lcrypt" \ + CFLAGS="$(TARGET_CFLAGS) $(LUCI_CFLAGS) -I$(STAGING_DIR)/usr/include" \ + LDFLAGS="$(TARGET_LDFLAGS) -L$(STAGING_DIR)/usr/lib" \ + NIXIO_TLS="$(NIXIO_TLS)" OS="Linux" +### Templates ### 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 +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 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_compile + default PACKAGE_luci-lib-core_source + + config PACKAGE_luci-lib-core_compile + bool "Precompiled" - config PACKAGE_luci-core_compile - bool "Production" + config PACKAGE_luci-lib-core_stripped + bool "Stripped" - config PACKAGE_luci-core_source - bool "Debug" + 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-lib-core_stripped),) + LUA_TARGET:=strip +endif -### Libraries ### -define Package/luci-cbi - $(call Package/luci/libtemplate) - DEPENDS+=+luci-web - 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 +ifneq ($(CONFIG_PACKAGE_luci-lib-core_zipped),) + LUA_TARGET:=gzip +endif -define Package/luci-uci/install - $(call Package/luci/install/template,$(1),libs/uci) -endef +ifneq ($(CONFIG_PACKAGE_luci-lib-core),) + LUCI_SELECTED_MODULES+=libs/core +endif +LUCI_BUILD_PACKAGES += luci-lib-core -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 +### 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-lib-$(1)/install + $(call Package/luci/install/template,$$(1),libs/$(1)) + $(call Package/luci-lib-$(1)/extra-install) + endef -define Package/luci-http - $(call Package/luci/libtemplate) - TITLE:=HTTP Protocol implementation -endef + ifneq ($(CONFIG_PACKAGE_luci-lib-$(1)),) + LUCI_SELECTED_MODULES+=libs/$(1) + endif -define Package/luci-http/install - $(call Package/luci/install/template,$(1),libs/http) + LUCI_BUILD_PACKAGES += luci-lib-$(1) endef - -define Package/luci-web - $(call Package/luci/libtemplate) - DEPENDS+=+luci-http +luci-addons +luci-uci +luci-sgi-cgi - TITLE:=MVC Webframework +define Package/luci-lib-lucid/extra-install + $(call Package/luci/install/template,$(1),libs/lucid-http) 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-lib-nixio/config + choice + prompt "TLS Provider" + default PACKAGE_luci-lib-nixio_notls + config PACKAGE_luci-lib-nixio_notls + bool "Disabled" + config PACKAGE_luci-lib-nixio_axtls + bool "Builtin (axTLS)" -### HTTPD ### + config PACKAGE_luci-lib-nixio_cyassl + bool "CyaSSL" + select PACKAGE_libcyassl -define Package/luci-httpd - $(call Package/luci/httpdtemplate) - DEPENDS:=+luci-http +luasocket - TITLE:=Server Core + config PACKAGE_luci-lib-nixio_openssl + bool "OpenSSL" + select PACKAGE_libopenssl + endchoice endef -define Package/luci-httpd/install - $(call Package/luci/install/template,$(1),libs/httpd) -endef +NIXIO_TLS:= +ifneq ($(CONFIG_PACKAGE_luci-lib-nixio_axtls),) + NIXIO_TLS:=axtls +endif -### Community Packages ### +ifneq ($(CONFIG_PACKAGE_luci-lib-nixio_openssl),) + NIXIO_TLS:=openssl +endif -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 +olsrd-mod-dyn-gw +olsrd-mod-txtinfo +olsrd-mod-nameservice \ - +kmod-tun +ip - TITLE:=Freifunk Halle Community Meta-Package -endef +ifneq ($(CONFIG_PACKAGE_luci-lib-nixio_cyassl),) + NIXIO_TLS:=cyassl + LUCI_CFLAGS+=-I$(STAGING_DIR)/usr/include/cyassl +endif -define Package/luci-ff-halle/install - $(call Package/luci/install/template,$(1),applications/community-halle) -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,luanet,LuCI luanet library,+libiw)) +$(eval $(call library,lucid,LuCId Full-Stack Webserver,+luci-lib-nixio +luci-lib-web +luci-lib-px5g)) +$(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,+libiwinfo)) +$(eval $(call library,web,MVC Webframework,+luci-lib-sys +luci-lib-nixio +luci-lib-core +luci-sgi-cgi +luci-lib-lmo)) +$(eval $(call library,uvl,UVL - UCI Validation Layer,+luci-lib-sys +luci-lib-core)) -define Package/luci-ff-leipzig - $(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-lib-web +luci-app-splash \ +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 + +PACKAGE_luci-mod-freifunk-community:olsrd-luci +PACKAGE_luci-mod-freifunk-community:olsrd-luci-mod-dyn-gw-plain \ + +PACKAGE_luci-mod-freifunk-community:olsrd-luci-mod-txtinfo +PACKAGE_luci-mod-freifunk-community:olsrd-luci-mod-nameservice \ + +PACKAGE_luci-mod-freifunk-community:olsrd-luci-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 endef -define Package/luci-ff-leipzig/install - $(call Package/luci/install/template,$(1),applications/community-leipzig) +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-hannover - $(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 Hannover Community Meta-Package - URL:=http://www.freifunk-hannover.de/ - MAINTAINER:=Mickey Knox -endef - -define Package/luci-ff-hannover/install - $(call Package/luci/install/template,$(1),applications/community-hannover) -endef +LUCI_BUILD_PACKAGES += luci-mod-freifunk-community ### 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-mod-admin-core - $(call Package/luci/webtemplate) - DEPENDS+=+luci-web +luci-cbi +luci-theme-openwrt +luci-i18n-english - TITLE:=Administration module -endef + define Package/luci-mod-$(1)/install + $(call Package/luci/install/template,$$(1),modules/$(1)) + $(call Package/luci-mod-$(1)/extra-install) + endef + + ifneq ($(CONFIG_PACKAGE_luci-mod-$(1)),) + LUCI_SELECTED_MODULES+=modules/$(1) + endif -define Package/luci-mod-admin-core/install - $(call Package/luci/install/template,$(1),modules/admin-core) + LUCI_BUILD_PACKAGES += luci-mod-$(1) endef -define Package/luci-mod-freifunk - $(call Package/luci/fftemplate) - DEPENDS:=+luci-mod-admin-core - TITLE:=LuCI Freifunk module +define Package/luci-mod-admin-core/extra-install + touch $(1)/etc/init.d/luci_fixtime || true endef define Package/luci-mod-freifunk/conffiles /etc/config/freifunk endef -define Package/luci-mod-freifunk/install - $(call Package/luci/install/template,$(1),modules/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)) +$(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)) ### 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-ffwizard-leipzig - $(call Package/luci/fftemplate) - DEPENDS+=+luci-app-firewall - TITLE:=Freifunk Leipzig configuration wizard -endef + define Package/luci-app-$(1)/install + $(call Package/luci/install/template,$$(1),applications/luci-$(1)) + endef -define Package/luci-app-ffwizard-leipzig/install - $(call Package/luci/install/template,$(1),applications/luci-ffwizard-leipzig) -endef + ifneq ($(CONFIG_PACKAGE_luci-app-$(1)),) + LUCI_SELECTED_MODULES+=applications/luci-$(1) + endif + LUCI_BUILD_PACKAGES += luci-app-$(1) +endef -define Package/luci-app-firewall - $(call Package/luci/webtemplate) - DEPENDS+=+luci-mod-admin-core - TITLE:=Firewall and Portforwarding application +define Package/luci-app-splash/conffiles +/etc/config/luci_splash endef -define Package/luci-app-firewall/conffiles -/etc/config/luci_fw +define Package/luci-app-statistics/conffiles +/etc/config/luci_statistics endef -define Package/luci-app-firewall/install - $(call Package/luci/install/template,$(1),applications/luci-fw) +define Package/luci-app-diag-devinfo/conffiles +/etc/config/luci_devinfo 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 +$(eval $(call application,ffwizard-leipzig,Freifunk Leipzig configuration wizard)) -define Package/luci-app-olsr/install - $(call Package/luci/install/template,$(1),applications/luci-olsr) -endef +$(eval $(call application,siitwizard,SIIT IPv4-over-IPv6 configuration wizard,\ + +PACKAGE_luci-app-siitwizard:kmod-siit)) +$(eval $(call application,firewall,Firmware and Portforwarding application,\ + +PACKAGE_luci-app-firewall:firewall)) -define Package/luci-app-qos - $(call Package/luci/webtemplate) - DEPENDS+=+luci-mod-admin-core +qos-scripts - TITLE:=Quality of Service configuration module -endef +$(eval $(call application,olsr,OLSR configuration and status module,\ + +luci-mod-admin-full +PACKAGE_luci-app-olsr:olsrd-luci +PACKAGE_luci-app-olsr:olsrd-luci-mod-txtinfo)) -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 +iptables-mod-nat +iptables-mod-ipopt - 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-mod-admin-core +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,voide-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)) -### Server Gateway Interfaces ### +$(eval $(call application,ntpc,NTP time synchronisation configuration module,\ + +PACKAGE_luci-app-ntpc:ntpclient)) -define Package/luci-sgi-cgi - $(call Package/luci/libtemplate) - TITLE:=SGI for CGI -endef +$(eval $(call application,ddns,Dynamic DNS configuration module,\ + +PACKAGE_luci-app-ddns:ddns-scripts)) -define Package/luci-sgi-cgi/install - $(call Package/luci/install/template,$(1),libs/sgi-cgi) -endef +$(eval $(call application,samba,Network Shares - Samba SMB/CIFS module,\ + +luci-mod-admin-full +PACKAGE_luci-app-samba:samba3)) -define Package/luci-sgi-luci - $(call Package/luci/libtemplate) - DEPENDS+=+luci-httpd - TITLE:=SGI for LuCI HTTPD -endef +$(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-sgi-luci/install - $(call Package/luci/install/template,$(1),libs/sgi-luci) -endef +$(eval $(call application,p910nd,p910nd - Printer server module,\ + +luci-mod-admin-full +PACKAGE_luci-app-p910nd:p910nd)) -define Package/luci-sgi-webuci - $(call Package/luci/libtemplate) - TITLE:=SGI for Webuci -endef +$(eval $(call application,ushare,uShare - UPnP A/V & DLNA Media Server,\ + +luci-mod-admin-full +PACKAGE_luci-app-ushare:ushare)) -define Package/luci-sgi-webuci/install - $(call Package/luci/install/template,$(1),libs/sgi-webuci) -endef +$(eval $(call application,hd-idle,Hard Disk Idle Spin-Down module,\ + +luci-mod-admin-full +PACKAGE_luci-app-hd-idle:hd-idle)) -### Themes ### -define Package/luci-theme-fledermaus - $(call Package/luci/fftemplate) - DEPENDS:=+luci-web - TITLE:=Fledermaus Theme -endef +$(eval $(call application,tinyproxy,Tinyproxy - HTTP(S)-Proxy configuration,\ + +luci-mod-admin-full +PACKAGE_luci-app-tinyproxy:tinyproxy)) -define Package/luci-theme-fledermaus/install - $(call Package/luci/install/template,$(1),themes/fledermaus) -endef +$(eval $(call application,initmgr,LuCI Initscript Management,\ + +luci-mod-admin-full)) -define Package/luci-theme-openwrt - $(call Package/luci/thtemplate) - TITLE:=OpenWRT.org (default) -endef +$(eval $(call application,livestats,LuCI Realtime Statistics,\ + +luci-mod-rpc)) -define Package/luci-theme-openwrt/install - $(call Package/luci/install/template,$(1),themes/openwrt.org) -endef +$(eval $(call application,asterisk,LuCI Support for Asterisk PBX,\ + @BROKEN +PACKAGE_luci-app-asterisk:asterisk14-xip-core)) -### Translations ### -define Package/luci-i18n-german - $(call Package/luci/i18ntemplate) - TITLE:=German -endef +$(eval $(call application,polipo,LuCI Support for the Polipo Proxy,\ + +PACKAGE_luci-app-polipo:polipo)) -define Package/luci-i18n-german/install - $(call Package/luci/install/template,$(1),i18n/german) -endef +$(eval $(call application,openvpn,LuCI Support for OpenVPN,\ + +PACKAGE_luci-app-openvpn:openvpn)) +$(eval $(call application,p2pblock,LuCI Support for the Freifunk P2P-Block addon,\ + +luci-app-firewall +PACKAGE_luci-app-p2pblock:freifunk-p2pblock)) -define Package/luci-i18n-english - $(call Package/luci/i18ntemplate) - TITLE:=English -endef +$(eval $(call application,multiwan,LuCI Support for the OpenWrt MultiWAN agent,\ + +luci-app-firewall +PACKAGE_luci-app-multiwan:multiwan)) -define Package/luci-i18n-english/install - $(call Package/luci/install/template,$(1),i18n/english) -endef +$(eval $(call application,wol,LuCI Support for Wake-on-LAN,\ + +PACKAGE_luci-app-wol:etherwake)) +$(eval $(call application,vnstat,LuCI Support for VnStat,\ + +PACKAGE_luci-app-vnstat:vnstat \ + +PACKAGE_luci-app-vnstat:vnstati)) -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) +### 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-$(1)/install + $(call Package/luci/install/template,$$(1),libs/sgi-$(1)) + endef + + ifneq ($(CONFIG_PACKAGE_luci-sgi-$(1)),) + LUCI_SELECTED_MODULES+=libs/sgi-$(1) + endif + + LUCI_BUILD_PACKAGES += luci-sgi-$(1) endef +$(eval $(call sgi,cgi,CGI Gateway behind existing Webserver)) +$(eval $(call sgi,uhttpd,Binding for the uHTTPd server,+uhttpd +uhttpd-mod-lua)) +### Themes ### +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:=$(ifneq $(1),base,+luci-theme-base) $(4) + $(if $(5),DEFAULT:=y if PACKAGE_luci-lib-core) + 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-uci),) - PKG_SELECTED_MODULES+=libs/uci -endif -ifneq ($(CONFIG_PACKAGE_luci-web),) - PKG_SELECTED_MODULES+=libs/web -endif + define Package/luci-theme-$(1)/install + $(call Package/luci/install/template,$$(1),themes/$(1)) + endef -ifneq ($(CONFIG_PACKAGE_luci-httpd),) - PKG_SELECTED_MODULES+=libs/httpd -endif + ifneq ($(CONFIG_PACKAGE_luci-theme-$(1)),) + LUCI_SELECTED_MODULES+=themes/$(1) + 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 + LUCI_BUILD_PACKAGES += luci-theme-$(1) +endef -ifneq ($(CONFIG_PACKAGE_luci-mod-admin-core),) - PKG_SELECTED_MODULES+=modules/admin-core -endif -ifneq ($(CONFIG_PACKAGE_luci-mod-freifunk),) - PKG_SELECTED_MODULES+=modules/freifunk -endif +$(eval $(call theme,base,Common base for all themes,,+luci-lib-web)) +$(eval $(call theme,openwrt,OpenWrt.org (default),,,1)) +$(eval $(call theme,openwrt-light,OpenWrt.org - light variant without images)) +$(eval $(call theme,fledermaus,Fledermaus Theme)) -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 +$(eval $(call theme,freifunk,alternative Freifunk Theme,\ + Stefan Pirwitz )) -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 +$(eval $(call theme,freifunk-bno,Freifunk Berlin Nordost Theme,\ + Stefan Pirwitz )) -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 +$(eval $(call theme,freifunk-hannover,Freifunk Hannover Theme,\ + Mikolas Bingemer )) -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 +### 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-$(1)/install + $(call Package/luci/install/template,$$(1),i18n/$(1)) + endef -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" + 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 -$(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)) + define Package/luci$(if $(1),-$(1))/install + true + endef -$(eval $(call BuildPackage,luci-httpd)) + LUCI_BUILD_PACKAGES += luci$(if $(1),-$(1)) +endef -$(eval $(call BuildPackage,luci-ff-halle)) -$(eval $(call BuildPackage,luci-ff-leipzig)) -$(eval $(call BuildPackage,luci-ff-hannover)) +$(eval $(call collection,,\ + Standard OpenWrt set including full and mini admin and the standard theme,\ + +uhttpd +luci-mod-admin-full +luci-mod-admin-mini +luci-theme-openwrt \ + +luci-app-firewall +luci-app-initmgr)) -$(eval $(call BuildPackage,luci-mod-admin-core)) -$(eval $(call BuildPackage,luci-mod-freifunk)) +$(eval $(call collection,ssl,\ + Standard OpenWrt set with HTTPS support,\ + +uhttpd +uhttpd-mod-tls +px5g +luci-mod-admin-full +luci-mod-admin-mini \ + +luci-theme-openwrt +luci-app-firewall +luci-app-initmgr)) -$(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 collection,medium,\ + Medium package set using only admin full and a theme without graphics,\ + +uhttpd +luci-mod-admin-full +luci-theme-openwrt-light)) -$(eval $(call BuildPackage,luci-sgi-cgi)) -$(eval $(call BuildPackage,luci-sgi-luci)) -$(eval $(call BuildPackage,luci-sgi-webuci)) +$(eval $(call collection,light,\ + Minimum package set using only admin mini and a theme without graphics,\ + +uhttpd +luci-mod-admin-mini +luci-theme-openwrt-light)) -$(eval $(call BuildPackage,luci-theme-fledermaus)) -$(eval $(call BuildPackage,luci-theme-openwrt)) -$(eval $(call BuildPackage,luci-i18n-german)) -$(eval $(call BuildPackage,luci-i18n-english)) -$(eval $(call BuildPackage,luci-i18n-french)) +### Compile ### +PKG_CONFIG_DEPENDS := $(patsubst %,CONFIG_PACKAGE_%,$(LUCI_BUILD_PACKAGES)) +$(foreach b,$(LUCI_BUILD_PACKAGES),$(eval $(call BuildPackage,$(b))))