2 # Copyright (C) 2006-2018 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
13 # release candidate ~rcX testing; remove for release
14 #PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-1.4.63
16 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.xz
17 PKG_SOURCE_URL
:=https
://download.lighttpd.net
/lighttpd
/releases-1.4.x
18 PKG_HASH
:=2aef7f0102ebf54a1241a1c3ea8976892f8684bfb21697c9fffb8de0e2d6eab9
20 PKG_MAINTAINER
:=W. Michael Petullo
<mike@flyn.org
>
21 PKG_LICENSE
:=BSD-3-Clause
22 PKG_LICENSE_FILES
:=COPYING
23 PKG_CPE_ID
:=cpe
:/a
:lighttpd
:lighttpd
26 PKG_CONFIG_DEPENDS
:=CONFIG_LIGHTTPD_SSL
$(patsubst %,CONFIG_PACKAGE_lighttpd-mod-
%,$(REBUILD_MODULES
))
28 REBUILD_MODULES
=authn_gssapi authn_ldap authn_mysql cml magnet mysql_vhost trigger_b4_dl webdav
30 include $(INCLUDE_DIR
)/package.mk
31 include $(INCLUDE_DIR
)/meson.mk
33 define Package
/lighttpd
/Default
36 SUBMENU
:=Web Servers
/Proxies
37 URL
:=https
://www.lighttpd.net
/
40 define Package
/lighttpd
41 $(call Package
/lighttpd
/Default
)
43 DEPENDS
:=+libnettle
+libpcre2
+libpthread
+LIGHTTPD_LOGROTATE
:logrotate
44 TITLE
:=A flexible and lightweight web server
47 define Package
/lighttpd
/config
50 depends on PACKAGE_lighttpd
53 Implements SSL support in lighttpd
(using libopenssl
). This
54 option is enabled by default for backwards compatibility.
55 Select one TLS module below if you enable the SSL engine in
56 your lighttpd configuration file.
57 (mod_gnutls
, mod_mbedtls
, mod_nss
, mod_openssl
, mod_wolfssl
)
59 config LIGHTTPD_SSL_DEPENDS
61 depends on LIGHTTPD_SSL
62 default PACKAGE_lighttpd-mod-mbedtls || PACKAGE_lighttpd-mod-wolfssl || PACKAGE_lighttpd-mod-gnutls || PACKAGE_lighttpd-mod-nss
64 config LIGHTTPD_SSL_SELECT
66 depends on LIGHTTPD_SSL
67 default m if
!LIGHTTPD_SSL_DEPENDS
68 select PACKAGE_lighttpd-mod-openssl
70 config LIGHTTPD_LOGROTATE
71 bool
"Logrotate support"
72 depends on PACKAGE_lighttpd
75 It adds support for logrotate functionality.
81 -Dwith_dbi
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-authn_dbi
)$(CONFIG_PACKAGE_lighttpd-mod-vhostdb_dbi
),true
,false
) \
83 -Dwith_gdbm
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-trigger_b4_dl
),true
,false
) \
85 -Dwith_gnutls
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-gnutls
),true
,false
) \
86 -Dwith_krb5
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-authn_gssapi
),true
,false
) \
87 -Dwith_ldap
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-authn_ldap
)$(CONFIG_PACKAGE_lighttpd-mod-vhostdb_ldap
),true
,false
) \
89 -Dwith_libunwind
=false \
90 -Dwith_lua
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-cml
)$(CONFIG_PACKAGE_lighttpd-mod-magnet
),true
,false
) \
91 -Dwith_maxminddb
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-maxminddb
),true
,false
) \
92 -Dwith_mbedtls
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-mbedtls
),true
,false
) \
93 -Dwith_memcached
=false \
94 -Dwith_mysql
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-authn_mysql
)$(CONFIG_PACKAGE_lighttpd-mod-mysql_vhost
)$(CONFIG_PACKAGE_lighttpd-mod-vhostdb_mysql
),true
,false
) \
96 -Dwith_nss
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-nss
),true
,false
) \
97 -Dwith_openssl
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-openssl
),true
,false
) \
98 -Dwith_pam
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-authn_pam
),true
,false
) \
100 -Dwith_pgsql
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-vhostdb_pgsql
),true
,false
) \
101 -Dwith_sasl
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-authn_sasl
),true
,false
) \
102 -Dwith_webdav_locks
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-webdav
),true
,false
) \
103 -Dwith_webdav_props
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-webdav
),true
,false
) \
104 -Dwith_wolfssl
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-wolfssl
),true
,false
) \
106 -Dwith_zlib
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-deflate
),true
,false
) \
109 BASE_MODULES
:=dirlisting indexfile staticfile
111 define Package
/lighttpd
/conffiles
112 /etc
/lighttpd
/lighttpd.conf
115 define Package
/lighttpd
/install
116 $(INSTALL_DIR
) $(1)/etc
/lighttpd
117 $(INSTALL_DATA
) .
/files
/lighttpd.conf
$(1)/etc
/lighttpd
/
118 $(INSTALL_DATA
) $(PKG_BUILD_DIR
)/doc
/config
/conf.d
/mime.conf
$(1)/etc
/lighttpd
/
119 $(INSTALL_DIR
) $(1)/etc
/lighttpd
/conf.d
120 $(INSTALL_DIR
) $(1)/etc
/init.d
121 $(INSTALL_BIN
) .
/files
/lighttpd.init
$(1)/etc
/init.d
/lighttpd
122 $(INSTALL_DIR
) $(1)/usr
/lib
/lighttpd
123 for m in
$(BASE_MODULES
); do \
124 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/lighttpd
/mod_
$$$${m}.so
$(1)/usr
/lib
/lighttpd
/ ; \
126 $(INSTALL_DIR
) $(1)/usr
/sbin
127 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/lighttpd
$(1)/usr
/sbin
/
129 ifneq ($(strip $(CONFIG_LIGHTTPD_LOGROTATE
)),)
130 $(INSTALL_DIR
) $(1)/etc
/logrotate.d
131 $(CP
) .
/files
/lighttpd.logrotate
$(1)/etc
/logrotate.d
/lighttpd.conf
136 define Package
/lighttpd-mod-
$(1)
137 $(call Package
/lighttpd
/Default
)
145 define Package
/lighttpd-mod-
$(1)/conffiles
146 /etc
/lighttpd
/conf.d
/$(4)-$(1).conf
149 ifneq ($(SDK
)$(CONFIG_PACKAGE_lighttpd-mod-
$(1)),)
150 define Package
/lighttpd-mod-
$(1)/install
151 $(INSTALL_DIR
) $$(1)/usr
/lib
/lighttpd
152 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/lighttpd
/mod_
$(1).so
$$(1)/usr
/lib
/lighttpd
153 $(INSTALL_DIR
) $$(1)/etc
/lighttpd
/conf.d
154 if
[ -f
$(PKG_BUILD_DIR
)/doc
/config
/conf.d
/$(1).conf
]; then \
155 $(CP
) $(PKG_BUILD_DIR
)/doc
/config
/conf.d
/$(1).conf
$$(1)/etc
/lighttpd
/conf.d
/$(4)-$(1).conf
; \
156 if
! grep
-qF
'mod_$(1)' $$(1)/etc
/lighttpd
/conf.d
/$(4)-$(1).conf
; then \
157 sed
-i
"`sed '/^##/ !q' $$(1)/etc/lighttpd/conf.d/$(4)-$(1).conf | wc -l` i\
158 server.modules += ( \"mod_$(1)\" )" $$(1)/etc
/lighttpd
/conf.d
/$(4)-$(1).conf
; \
161 echo
'server.modules += ( "mod_$(1)" )' > $$(1)/etc
/lighttpd
/conf.d
/$(4)-$(1).conf
; \
166 $$(eval
$$(call BuildPackage
,lighttpd-mod-
$(1)))
169 $(eval
$(call BuildPackage
,lighttpd
))
171 # First, permit redirect from HTTP to HTTPS.
172 $(eval
$(call BuildPlugin
,redirect
,URL redirection
,+PACKAGE_lighttpd-mod-redirect
:libpcre2
,10))
174 # Next, permit authentication.
175 $(eval
$(call BuildPlugin
,auth
,Authentication
,+PACKAGE_lighttpd-mod-auth
:libnettle
,20))
176 $(eval
$(call BuildPlugin
,authn_dbi
,DBI-based authentication
,lighttpd-mod-auth
+PACKAGE_lighttpd-mod-authn_dbi
:libnettle
+PACKAGE_lighttpd-mod-authn_dbi
:libdbi
,20))
177 $(eval
$(call BuildPlugin
,authn_file
,File-based authentication
,lighttpd-mod-auth
+PACKAGE_lighttpd-mod-authn_file
:libnettle
,20))
178 $(eval
$(call BuildPlugin
,authn_gssapi
,Kerberos-based authentication
,lighttpd-mod-auth
+PACKAGE_lighttpd-mod-authn_gssapi
:krb5-libs
,20))
179 $(eval
$(call BuildPlugin
,authn_ldap
,LDAP-based authentication
,lighttpd-mod-auth
+PACKAGE_lighttpd-mod-authn_ldap
:libopenldap
,20))
180 $(eval
$(call BuildPlugin
,authn_mysql
,Mysql-based authentication
,lighttpd-mod-auth
+PACKAGE_lighttpd-mod-authn_mysql
:libnettle
+PACKAGE_lighttpd-mod-authn_mysql
:libmariadb
,20))
181 $(eval
$(call BuildPlugin
,authn_pam
,PAM-based authentication
,lighttpd-mod-auth
+PACKAGE_lighttpd-mod-authn_pam
:libpam
,20))
182 $(eval
$(call BuildPlugin
,authn_sasl
,SASL-based authentication
,lighttpd-mod-auth
+PACKAGE_lighttpd-mod-authn_sasl
:libsasl2
,20))
184 # Finally, everything else.
185 $(eval
$(call BuildPlugin
,access
,Access restrictions
,,30))
186 $(eval
$(call BuildPlugin
,accesslog
,Access logging
,,30))
187 $(eval
$(call BuildPlugin
,ajp13
,AJP13 Tomcat connector
,,30))
188 $(eval
$(call BuildPlugin
,alias
,Directory alias
,,30))
189 $(eval
$(call BuildPlugin
,cgi
,CGI
,,30))
190 $(eval
$(call BuildPlugin
,cml
,Cache Meta Language
,+PACKAGE_lighttpd-mod-cml
:liblua
+PACKAGE_lighttpd-mod-cml
:libnettle
,30))
191 $(eval
$(call BuildPlugin
,deflate
,Compress dynamic output
,+PACKAGE_lighttpd-mod-deflate
:zlib
,30))
192 $(eval
$(call BuildPlugin
,evasive
,Evasive
,,30))
193 $(eval
$(call BuildPlugin
,evhost
,Enhanced Virtual-Hosting
,,30))
194 $(eval
$(call BuildPlugin
,expire
,Expire
,,30))
195 $(eval
$(call BuildPlugin
,extforward
,Extract client
,,30))
196 $(eval
$(call BuildPlugin
,fastcgi
,FastCGI
,,30))
197 $(eval
$(call BuildPlugin
,flv_streaming
,FLV streaming
,,30))
198 $(eval
$(call BuildPlugin
,gnutls
,TLS using gnutls
,@LIGHTTPD_SSL
+PACKAGE_lighttpd-mod-gnutls
:libgnutls
,30))
199 $(eval
$(call BuildPlugin
,magnet
,Magnet
,+PACKAGE_lighttpd-mod-magnet
:liblua
,30))
200 $(eval
$(call BuildPlugin
,maxminddb
,MaxMind DB
,+PACKAGE_lighttpd-mod-maxminddb
:libmaxminddb
,30))
201 $(eval
$(call BuildPlugin
,mbedtls
,TLS using mbedtls
,@LIGHTTPD_SSL
+PACKAGE_lighttpd-mod-mbedtls
:libmbedtls
,30))
202 $(eval
$(call BuildPlugin
,nss
,TLS using nss
,@LIGHTTPD_SSL
+PACKAGE_lighttpd-mod-nss
:libnss
,30))
203 $(eval
$(call BuildPlugin
,openssl
,TLS using openssl
,@LIGHTTPD_SSL
+PACKAGE_lighttpd-mod-openssl
:libopenssl
,30))
204 $(eval
$(call BuildPlugin
,proxy
,Proxy
,,30))
205 $(eval
$(call BuildPlugin
,rewrite
,URL rewriting
,+PACKAGE_lighttpd-mod-rewrite
:libpcre2
,30))
206 $(eval
$(call BuildPlugin
,rrdtool
,RRDtool
,,30))
207 $(eval
$(call BuildPlugin
,scgi
,SCGI
,,30))
208 $(eval
$(call BuildPlugin
,secdownload
,Secure and fast download
,+PACKAGE_lighttpd-mod-secdownload
:libnettle
,30))
209 $(eval
$(call BuildPlugin
,setenv
,Environment variable setting
,,30))
210 $(eval
$(call BuildPlugin
,simple_vhost
,Simple virtual hosting
,,30))
211 $(eval
$(call BuildPlugin
,sockproxy
,sockproxy
,,30))
212 $(eval
$(call BuildPlugin
,ssi
,SSI
,,30))
213 $(eval
$(call BuildPlugin
,staticfile
,staticfile
,,30))
214 $(eval
$(call BuildPlugin
,status
,Server status display
,,30))
215 $(eval
$(call BuildPlugin
,trigger_b4_dl
,Trigger before download
,+PACKAGE_lighttpd-mod-trigger_b4_dl
:libpcre2
+PACKAGE_lighttpd-mod-trigger_b4_dl
:libgdbm
,30))
216 $(eval
$(call BuildPlugin
,uploadprogress
,Upload Progress
,,30))
217 $(eval
$(call BuildPlugin
,userdir
,User directory
,,30))
218 $(eval
$(call BuildPlugin
,usertrack
,User tracking
,+PACKAGE_lighttpd-mod-usertrack
:libnettle
,30))
219 $(eval
$(call BuildPlugin
,vhostdb
,Virtual Host Database
,,30))
220 $(eval
$(call BuildPlugin
,vhostdb_dbi
,Virtual Host Database
(DBI
),lighttpd-mod-vhostdb
+PACKAGE_lighttpd-mod-vhostdb_dbi
:libdbi
,30))
221 $(eval
$(call BuildPlugin
,vhostdb_ldap
,Virtual Host Database
(LDAP
),lighttpd-mod-vhostdb
+PACKAGE_lighttpd-mod-vhostdb_ldap
:libopenldap
,30))
222 $(eval
$(call BuildPlugin
,vhostdb_mysql
,Virtual Host Database
(MariaDB
),lighttpd-mod-vhostdb
+PACKAGE_lighttpd-mod-vhostdb_mysql
:libmariadb
,30))
223 $(eval
$(call BuildPlugin
,vhostdb_pgsql
,Virtual Host Database
(PostgreSQL
),lighttpd-mod-vhostdb
+PACKAGE_lighttpd-mod-vhostdb_pgsql
:libpq
,30))
224 $(eval
$(call BuildPlugin
,mysql_vhost
,Mysql virtual hosting
,lighttpd-mod-vhostdb
+PACKAGE_lighttpd-mod-mysql_vhost
:libmariadb
,30))
225 $(eval
$(call BuildPlugin
,webdav
,WebDAV
,+PACKAGE_lighttpd-mod-webdav
:libsqlite3
+PACKAGE_lighttpd-mod-webdav
:libuuid
+PACKAGE_lighttpd-mod-webdav
:libxml2
,30))
226 $(eval
$(call BuildPlugin
,wolfssl
,TLS using wolfssl
,@LIGHTTPD_SSL
+PACKAGE_lighttpd-mod-wolfssl
:libwolfssl
,30))
227 $(eval
$(call BuildPlugin
,wstunnel
,Websocket tunneling
,+PACKAGE_lighttpd-mod-wstunnel
:libnettle
,30))