blob: d6a5a271819f7e79871164cf609cbea6d7ea5685 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
#
# Copyright (C) 2010-2015 Jo-Philipp Wich <jo@mein.io>
#
# 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:=3
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=$(PROJECT_GIT)/project/uhttpd.git
PKG_SOURCE_DATE:=2022-08-12
PKG_SOURCE_VERSION:=e3395cd90bed9b7b9fc319e79528fedcc0d947fe
PKG_MIRROR_HASH:=14e9df9f85c406b8abbb14427e5f678383782500c549d842c0481cd954fc4ea3
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
PKG_LICENSE:=ISC
PKG_ASLR_PIE_REGULAR:=1
PKG_BUILD_DEPENDS = ustream-ssl
PKG_CONFIG_DEPENDS:= CONFIG_uhttpd_lua CONFIG_uhttpd_ucode
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
endef
define Package/uhttpd
$(Package/uhttpd/default)
DEPENDS:=+libubox +libblobmsg-json +libjson-script +libjson-c
endef
define Package/uhttpd/description
uHTTPd is a tiny single threaded HTTP server with TLS, CGI and Lua
support. It is intended as a drop-in replacement for the Busybox
HTTP daemon.
endef
define Package/uhttpd/config
config uhttpd_lua
depends on PACKAGE_uhttpd-mod-lua
bool "Enable Integrated Lua interpreter"
default y
config uhttpd_ucode
depends on PACKAGE_uhttpd-mod-ucode
bool "Enable Integrated ucode interpreter"
default y
endef
define Package/uhttpd/conffiles
/etc/config/uhttpd
/etc/uhttpd.crt
/etc/uhttpd.key
endef
define Package/uhttpd-mod-lua
$(Package/uhttpd/default)
TITLE+= (Lua plugin)
DEPENDS:=uhttpd +liblua
endef
define Package/uhttpd-mod-lua/description
The Lua plugin adds a CGI-like Lua runtime interface to uHTTPd.
endef
define Package/uhttpd-mod-ubus
$(Package/uhttpd/default)
TITLE+= (ubus plugin)
DEPENDS:=uhttpd +libubus +libblobmsg-json
endef
define Package/uhttpd-mod-ubus/description
The ubus plugin adds a HTTP/JSON RPC proxy for ubus and publishes the
session.* namespace and procedures.
endef
define Package/uhttpd-mod-ucode
$(Package/uhttpd/default)
TITLE+= (ucode plugin)
DEPENDS:=uhttpd +libucode
endef
define Package/uhttpd-mod-ucode/description
The ucode plugin adds a CGI-like ucode runtime interface to uHTTPd.
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-lua/install
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_BIN) $(PKG_BUILD_DIR)/uhttpd_lua.so $(1)/usr/lib/
endef
define Package/uhttpd-mod-ubus/install
$(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
define Package/uhttpd-mod-ucode/install
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_BIN) $(PKG_BUILD_DIR)/uhttpd_ucode.so $(1)/usr/lib/
endef
$(eval $(call BuildPackage,uhttpd))
$(eval $(call BuildPackage,uhttpd-mod-lua))
$(eval $(call BuildPackage,uhttpd-mod-ubus))
$(eval $(call BuildPackage,uhttpd-mod-ucode))
|