nixio: Autogenerate private key on installation if we have axtls
[project/luci.git] / contrib / package / luci / Makefile
index 9060fd5..6dad6d4 100644 (file)
@@ -106,6 +106,11 @@ endef
 
 define Package/luci-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
@@ -177,6 +182,17 @@ define Package/luci-http/install
 endef
 
 
+define Package/luci-httpclient
+  $(call Package/luci/libtemplate)
+  TITLE:=HTTP(S) client library
+  DEPENDS+=+luci-http +luci-nixio
+endef
+
+define Package/luci-httpclient/install
+       $(call Package/luci/install/template,$(1),libs/httpclient)
+endef
+
+
 define Package/luci-ipkg
   $(call Package/luci/libtemplate)
   TITLE:=LuCI IPKG/OPKG call abstraction library
@@ -197,6 +213,40 @@ define Package/luci-json/install
 endef
 
 
+
+NIXIO_TLS:=axtls
+
+define Package/luci-nixio
+  $(call Package/luci/libtemplate)
+  TITLE:=NIXIO Socket Library
+  DEPENDS:=
+endef
+
+define Package/luci-nixio/install
+       $(call Package/luci/install/template,$(1),libs/nixio)
+endef
+
+define Package/luci-nixio/config
+       choice
+               prompt "TLS Provider"
+               default PACKAGE_luci-nixio_axtls
+
+               config PACKAGE_luci-nixio_axtls
+                       bool "Builtin (axTLS)"
+                       select PACKAGE_dropbear
+                       select PACKAGE_dropbearconvert
+
+               config PACKAGE_luci-nixio_openssl
+                       bool "OpenSSL"
+                       select PACKAGE_libopenssl
+       endchoice
+endef
+
+ifneq ($(CONFIG_PACKAGE_luci-nixio_openssl),)
+  NIXIO_TLS:=openssl
+endif
+
+
 define Package/luci-sys
   $(call Package/luci/libtemplate)
   TITLE:=LuCI Linux/POSIX system library
@@ -211,6 +261,7 @@ define Package/luci-web
   $(call Package/luci/libtemplate)
   DEPENDS+=+luci-http +luci-sys +luci-uci +luci-sgi-cgi
   TITLE:=MVC Webframework
+  $(call Config,luci.main.lang,string,en,Default Language)
 endef
 
 define Package/luci-web/conffiles
@@ -253,12 +304,13 @@ endef
 define Package/luci-freifunk-community
   $(call Package/luci/fftemplate)
   DEPENDS+= \
-   +luci-sgi-cgi +luci-app-splash +luci-app-olsr \
+   +luci-sgi-cgi +luci-app-splash \
    +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
+   +PACKAGE_luci-freifunk-community:olsrd-luci +PACKAGE_luci-freifunk-community:olsrd-luci-mod-dyn-gw-plain \
+   +PACKAGE_luci-freifunk-community:olsrd-luci-mod-txtinfo +PACKAGE_luci-freifunk-community:olsrd-luci-mod-nameservice \
+   +PACKAGE_luci-freifunk-community:kmod-tun +PACKAGE_luci-freifunk-community:ip \
+   +luci-app-olsr
   TITLE:=Freifunk Community Meta-Package
 endef
 
@@ -281,6 +333,7 @@ endef
 
 define Package/luci-admin-core/install
        $(call Package/luci/install/template,$(1),modules/admin-core)
+       touch $(1)/etc/init.d/luci_fixtime || true
 endef
 
 
@@ -297,7 +350,7 @@ endef
 
 define Package/luci-admin-full
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-admin-core +luci-ipkg +luci-app-firewall
+  DEPENDS+=+luci-admin-core +luci-ipkg
   TITLE:=LuCI Administration - full-featured for full control
 endef
 
@@ -319,7 +372,7 @@ endef
 
 define Package/luci-mod-freifunk
   $(call Package/luci/fftemplate)
-  DEPENDS:=+luci-admin-full
+  DEPENDS:=+luci-admin-full +luci-json
   TITLE:=LuCI Freifunk module
 endef
 
@@ -348,7 +401,7 @@ endef
 define Package/luci-app-siitwizard
   $(call Package/luci/fftemplate)
   TITLE:=SIIT IPv4-over-IPv6 configuration wizard
-  DEPENDS:=+luci-admin-core +kmod-siit
+  DEPENDS:=+luci-admin-core +PACKAGE_luci-app-siitwizard:kmod-siit
 endef
 
 define Package/luci-app-siitwizard/install
@@ -358,7 +411,7 @@ endef
 
 define Package/luci-app-firewall
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-admin-core
+  DEPENDS+=+luci-admin-core +PACKAGE_luci-app-firewall:firewall
   TITLE:=Firewall and Portforwarding application
 endef
 
@@ -369,7 +422,7 @@ endef
 
 define Package/luci-app-olsr
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-admin-full +olsrd-luci +olsrd-luci-mod-txtinfo
+  DEPENDS+=+luci-admin-full +PACKAGE_luci-app-olsr:olsrd-luci +PACKAGE_luci-app-olsr:olsrd-luci-mod-txtinfo
   TITLE:=OLSR configuration and status module
 endef
 
@@ -380,7 +433,7 @@ endef
 
 define Package/luci-app-qos
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-admin-core +qos-scripts
+  DEPENDS+=+luci-admin-core +PACKAGE_luci-app-qos:qos-scripts
   TITLE:=Quality of Service configuration module
 endef
 
@@ -391,7 +444,7 @@ endef
 
 define Package/luci-app-splash
   $(call Package/luci/fftemplate)
-  DEPENDS+=+luasocket
+  DEPENDS+=+PACKAGE_luci-app-splash:luasocket
   TITLE:=Freifunk DHCP-Splash application
 endef
 
@@ -406,7 +459,12 @@ endef
 
 define Package/luci-app-statistics
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-admin-full +collectd +collectd-mod-rrdtool1 +rrdtool1
+  DEPENDS+=+luci-admin-full +PACKAGE_luci-app-statistics:collectd \
+   +PACKAGE_luci-app-statistics:rrdtool1 \
+   +PACKAGE_luci-app-statistics:collectd-mod-rrdtool1 \
+   +PACKAGE_luci-app-statistics:collectd-mod-wireless \
+   +PACKAGE_luci-app-statistics:collectd-mod-interfaces \
+   +PACKAGE_luci-app-statistics:collectd-mod-load
   TITLE:=LuCI Statistics Application
 endef
 
@@ -421,7 +479,7 @@ endef
 
 define Package/luci-app-upnp
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-admin-core +miniupnpd
+  DEPENDS+=+luci-admin-core +PACKAGE_luci-app-upnp:miniupnpd
   TITLE:=Universal Plug & Play configuration module
 endef
 
@@ -432,7 +490,7 @@ endef
 
 define Package/luci-app-ntpc
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-admin-core +ntpclient
+  DEPENDS+=+luci-admin-core +PACKAGE_luci-app-ntpc:ntpclient
   TITLE:=NTP time synchronisation client configuration module
 endef
 
@@ -443,7 +501,7 @@ endef
 
 define Package/luci-app-ddns
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-admin-core +ddns-scripts
+  DEPENDS+=+luci-admin-core +PACKAGE_luci-app-ddns:ddns-scripts
   TITLE:=Dynamic DNS configuration module
 endef
 
@@ -454,7 +512,7 @@ endef
 
 define Package/luci-app-samba
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-admin-full +samba3
+  DEPENDS+=+luci-admin-full +PACKAGE_luci-app-samba:samba3
   TITLE:=Network Shares - Samba SMB/CIFS module
 endef
 
@@ -465,7 +523,7 @@ endef
 
 define Package/luci-app-uvc_streamer
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-admin-full +uvc-streamer
+  DEPENDS+=+luci-admin-full +PACKAGE_luci-app-uvc_streamer:uvc-streamer
   TITLE:=Webcam Streaming - UVC-Streamer module
 endef
 
@@ -476,7 +534,7 @@ endef
 
 define Package/luci-app-mmc_over_gpio
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-admin-full +kmod-mmc-over-gpio
+  DEPENDS+=+luci-admin-full +PACKAGE_luci-app-mmc_over_gpio:kmod-mmc-over-gpio
   TITLE:=mmc_over_gpio
 endef
 
@@ -487,7 +545,7 @@ endef
 
 define Package/luci-app-p910nd
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-admin-full +p910nd
+  DEPENDS+=+luci-admin-full +PACKAGE_luci-app-p910nd:p910nd
   TITLE:=p910nd - Printer server module
 endef
 
@@ -498,7 +556,7 @@ endef
 
 define Package/luci-app-ushare
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-admin-full +ushare
+  DEPENDS+=+luci-admin-full +PACKAGE_luci-app-ushare:ushare
   TITLE:=ushare - UPnP A/V & DLNA Media Server
 endef
 
@@ -508,7 +566,7 @@ endef
 
 define Package/luci-app-hd_idle
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-admin-full +hd-idle
+  DEPENDS+=+luci-admin-full +PACKAGE_luci-app-hd_idle:hd-idle
   TITLE:=hd-idle
 endef
 
@@ -518,7 +576,7 @@ endef
 
 define Package/luci-app-tinyproxy
   $(call Package/luci/webtemplate)
-  DEPENDS+=+luci-admin-full +tinyproxy
+  DEPENDS+=+luci-admin-full +PACKAGE_luci-app-tinyproxy:tinyproxy
   TITLE:=Tinyproxy - HTTP(S)-Proxy
 endef
 
@@ -549,7 +607,7 @@ endef
 define Package/luci-app-asterisk
   $(call Package/luci/webtemplate)
   TITLE:=LuCI Support for Asterisk PBX
-  DEPENDS+=@BROKEN +luci-admin-core +asterisk14
+  DEPENDS+=@BROKEN +luci-admin-core +PACKAGE_luci-app-asterisk:asterisk14-xip-core
 endef
 
 define Package/luci-app-asterisk/install
@@ -559,7 +617,7 @@ endef
 define Package/luci-app-polipo
   $(call Package/luci/webtemplate)
   TITLE:=LuCI Support for the Polipo Proxy
-  DEPENDS+=+luci-admin-core +polipo
+  DEPENDS+=+luci-admin-core +PACKAGE_luci-app-polipo:polipo
 endef
 
 define Package/luci-app-polipo/install
@@ -569,7 +627,7 @@ endef
 define Package/luci-app-openvpn
   $(call Package/luci/webtemplate)
   TITLE:=LuCI Support for OpenVPN
-  DEPENDS+=@BROKEN +luci-admin-core +openvpn
+  DEPENDS+=@BROKEN +luci-admin-core +PACKAGE_luci-app-openvpn:openvpn
 endef
 
 define Package/luci-app-openvpn/install
@@ -629,7 +687,7 @@ define Package/luci-theme-fledermaus/install
 endef
 
 define Package/luci-theme-freifunk
-  $(call Package/luci/thtemplate)
+  $(call Package/luci/fftemplate)
   DEPENDS:=+luci-web
   MAINTAINER:=Stefan Pirwitz <stefan-at-freifunk-bno-dot-de>
   TITLE:=alternative Freifunk Theme
@@ -640,7 +698,7 @@ define Package/luci-theme-freifunk/install
 endef
 
 define Package/luci-theme-freifunk-bno
-  $(call Package/luci/thtemplate)
+  $(call Package/luci/fftemplate)
   DEPENDS:=+luci-web
   MAINTAINER:=Stefan Pirwitz <stefan-at-freifunk-bno-dot-de>
   TITLE:=Freifunk Berlin Nordost Theme
@@ -745,12 +803,18 @@ endif
 ifneq ($(CONFIG_PACKAGE_luci-http),)
        PKG_SELECTED_MODULES+=libs/http
 endif
+ifneq ($(CONFIG_PACKAGE_luci-httpclient),)
+       PKG_SELECTED_MODULES+=libs/httpclient
+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-nixio),)
+       PKG_SELECTED_MODULES+=libs/nixio
+endif
 ifneq ($(CONFIG_PACKAGE_luci-uci),)
        PKG_SELECTED_MODULES+=libs/uci
 endif
@@ -911,15 +975,17 @@ MAKE_FLAGS += \
        LUA_SHLIBS="-llua -lm -ldl -lcrypt" \
        CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include" \
        LDFLAGS="$(TARGET_LDFLAGS) -L$(STAGING_DIR)/usr/lib" \
-       OS="Linux"
+       NIXIO_TLS="$(NIXIO_TLS)" 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-httpclient))
 $(eval $(call BuildPackage,luci-ipkg))
 $(eval $(call BuildPackage,luci-json))
+$(eval $(call BuildPackage,luci-nixio))
 $(eval $(call BuildPackage,luci-uci))
 $(eval $(call BuildPackage,luci-sys))
 $(eval $(call BuildPackage,luci-web))