#
-# Copyright (C) 2010-2012 Jo-Philipp Wich <xm@subsignal.org>
+# Copyright (C) 2010-2015 Jo-Philipp Wich <jow@openwrt.org>
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
include $(TOPDIR)/rules.mk
PKG_NAME:=uhttpd
-PKG_RELEASE:=40
+PKG_VERSION:=2015-11-08
+PKG_RELEASE=$(PKG_SOURCE_VERSION)
-PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
-PKG_CONFIG_DEPENDS := \
- CONFIG_PACKAGE_uhttpd_debug \
- CONFIG_PACKAGE_uhttpd-mod-lua \
- CONFIG_PACKAGE_uhttpd-mod-tls \
- CONFIG_PACKAGE_uhttpd-mod-tls_cyassl \
- CONFIG_PACKAGE_uhttpd-mod-tls_openssl \
- CONFIG_PACKAGE_uhttpd-mod-ubus
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL=$(OPENWRT_GIT)/project/uhttpd.git
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE_VERSION:=fe01ef3f52adae9da38ef47926cd50974af5d6b7
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
+PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
+PKG_LICENSE:=ISC
+
+PKG_BUILD_DEPENDS = ustream-ssl
include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+include $(INCLUDE_DIR)/version.mk
define Package/uhttpd/default
SECTION:=net
CATEGORY:=Network
SUBMENU:=Web Servers/Proxies
TITLE:=uHTTPd - tiny, single threaded HTTP server
- MAINTAINER:=Jo-Philipp Wich <xm@subsignal.org>
endef
define Package/uhttpd
$(Package/uhttpd/default)
- DEPENDS:=+libubox
+ DEPENDS:=+libubox +libblobmsg-json +libjson-script
endef
define Package/uhttpd/description
define Package/uhttpd-mod-tls
$(Package/uhttpd/default)
TITLE+= (TLS plugin)
- DEPENDS:=uhttpd +PACKAGE_uhttpd-mod-tls_cyassl:libcyassl +PACKAGE_uhttpd-mod-tls_openssl:libopenssl
+ DEPENDS:=uhttpd \
+ +PACKAGE_uhttpd-mod-tls_polarssl:libustream-polarssl \
+ +PACKAGE_uhttpd-mod-tls_mbedtls:libustream-mbedtls \
+ +PACKAGE_uhttpd-mod-tls_cyassl:libustream-cyassl \
+ +PACKAGE_uhttpd-mod-tls_openssl:libustream-openssl
endef
define Package/uhttpd-mod-tls/description
choice
depends on PACKAGE_uhttpd-mod-tls
prompt "TLS Provider"
- default PACKAGE_uhttpd-mod-tls_cyassl
+ default PACKAGE_uhttpd-mod-tls_polarssl
+
+ config PACKAGE_uhttpd-mod-tls_mbedtls
+ bool "mbedTLS"
+
+ config PACKAGE_uhttpd-mod-tls_polarssl
+ bool "PolarSSL"
config PACKAGE_uhttpd-mod-tls_cyassl
bool "CyaSSL"
endchoice
endef
-UHTTPD_TLS:=
-TLS_CFLAGS:=
-TLS_LDFLAGS:=
-
-ifneq ($(CONFIG_PACKAGE_uhttpd-mod-tls_cyassl),)
- UHTTPD_TLS:=cyassl
- TLS_CFLAGS:=-I$(STAGING_DIR)/usr/include/cyassl -DTLS_IS_CYASSL
- TLS_LDFLAGS:=-lcyassl -lm
-endif
-
-ifneq ($(CONFIG_PACKAGE_uhttpd-mod-tls_openssl),)
- UHTTPD_TLS:=openssl
- TLS_CFLAGS:=-DTLS_IS_OPENSSL
- TLS_LDFLAGS:=-lssl
-endif
-
-
define Package/uhttpd-mod-lua
$(Package/uhttpd/default)
TITLE+= (Lua plugin)
session.* namespace and procedures.
endef
-
-TARGET_CFLAGS += $(TLS_CFLAGS) $(if $(CONFIG_PACKAGE_uhttpd_debug),-DDEBUG) -ggdb3
-TARGET_LDFLAGS += -lubox -Wl,-rpath-link=$(STAGING_DIR)/usr/lib
-MAKE_VARS += \
- FPIC="$(FPIC)" \
- LUA_SUPPORT="$(if $(CONFIG_PACKAGE_uhttpd-mod-lua),1)" \
- TLS_SUPPORT="$(if $(CONFIG_PACKAGE_uhttpd-mod-tls),1)" \
- UBUS_SUPPORT="$(if $(CONFIG_PACKAGE_uhttpd-mod-ubus),1)" \
- UHTTPD_TLS="$(UHTTPD_TLS)" \
- TLS_CFLAGS="$(TLS_CFLAGS)" \
- TLS_LDFLAGS="$(TLS_LDFLAGS)"
-
-define Build/Prepare
- mkdir -p $(PKG_BUILD_DIR)
- $(CP) ./src/* $(PKG_BUILD_DIR)/
-endef
-
define Package/uhttpd/conffiles
/etc/config/uhttpd
/etc/uhttpd.crt
/etc/uhttpd.key
endef
+ifneq ($(CONFIG_USE_GLIBC),)
+ TARGET_CFLAGS += -D_DEFAULT_SOURCE
+endif
+
+TARGET_LDFLAGS += -lcrypt
+
+CMAKE_OPTIONS = -DTLS_SUPPORT=on
+
define Package/uhttpd/install
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/uhttpd.init $(1)/etc/init.d/uhttpd
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_CONF) ./files/uhttpd.config $(1)/etc/config/uhttpd
+ $(VERSION_SED_SCRIPT) $(1)/etc/config/uhttpd
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/uhttpd $(1)/usr/sbin/uhttpd
endef
define Package/uhttpd-mod-tls/install
- $(INSTALL_DIR) $(1)/usr/lib
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/uhttpd_tls.so $(1)/usr/lib/
+ true
endef
define Package/uhttpd-mod-lua/install
endef
define Package/uhttpd-mod-ubus/install
- $(INSTALL_DIR) $(1)/usr/lib
+ $(INSTALL_DIR) $(1)/usr/lib $(1)/etc/uci-defaults
$(INSTALL_BIN) $(PKG_BUILD_DIR)/uhttpd_ubus.so $(1)/usr/lib/
+ $(INSTALL_DATA) ./files/ubus.default $(1)/etc/uci-defaults/00_uhttpd_ubus
endef