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.67
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
:=7e04d767f51a8d824b32e2483ef2950982920d427d1272ef4667f49d6f89f358
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
25 PKG_CONFIG_DEPENDS
:=CONFIG_LIGHTTPD_SSL
$(patsubst %,CONFIG_PACKAGE_lighttpd-mod-
%,$(REBUILD_MODULES
))
27 REBUILD_MODULES
=authn_gssapi authn_ldap magnet webdav
29 include $(INCLUDE_DIR
)/package.mk
30 include $(INCLUDE_DIR
)/meson.mk
32 define Package
/lighttpd
/Default
35 SUBMENU
:=Web Servers
/Proxies
36 URL
:=https
://www.lighttpd.net
/
39 define Package
/lighttpd
40 $(call Package
/lighttpd
/Default
)
42 DEPENDS
:=+libnettle
+libpcre2
+libpthread
+LIGHTTPD_LOGROTATE
:logrotate
43 TITLE
:=A flexible and lightweight web server
46 define Package
/lighttpd
/config
49 depends on PACKAGE_lighttpd
52 Implements SSL support in lighttpd
(using libopenssl
). This
53 option is enabled by default for backwards compatibility.
54 Select one TLS module below if you enable the SSL engine in
55 your lighttpd configuration file.
56 (mod_gnutls
, mod_mbedtls
, mod_nss
, mod_openssl
, mod_wolfssl
)
58 config LIGHTTPD_SSL_DEPENDS
60 depends on LIGHTTPD_SSL
61 default PACKAGE_lighttpd-mod-mbedtls || PACKAGE_lighttpd-mod-wolfssl || PACKAGE_lighttpd-mod-gnutls || PACKAGE_lighttpd-mod-nss
63 config LIGHTTPD_SSL_SELECT
65 depends on LIGHTTPD_SSL
66 default m if
!LIGHTTPD_SSL_DEPENDS
67 select PACKAGE_lighttpd-mod-openssl
69 config LIGHTTPD_LOGROTATE
70 bool
"Logrotate support"
71 depends on PACKAGE_lighttpd
74 It adds support for logrotate functionality.
80 -Dwith_dbi
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-authn_dbi
)$(CONFIG_PACKAGE_lighttpd-mod-vhostdb_dbi
),true
,false
) \
82 -Dwith_gnutls
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-gnutls
),true
,false
) \
83 -Dwith_krb5
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-authn_gssapi
),true
,false
) \
84 -Dwith_ldap
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-authn_ldap
)$(CONFIG_PACKAGE_lighttpd-mod-vhostdb_ldap
),true
,false
) \
86 -Dwith_libunwind
=false \
87 -Dwith_lua
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-magnet
),true
,false
) \
89 -Dwith_maxminddb
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-maxminddb
),true
,false
) \
90 -Dwith_mbedtls
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-mbedtls
),true
,false
) \
91 -Dwith_mysql
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-vhostdb_mysql
),true
,false
) \
93 -Dwith_nss
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-nss
),true
,false
) \
94 -Dwith_openssl
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-openssl
),true
,false
) \
95 -Dwith_pam
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-authn_pam
),true
,false
) \
97 -Dwith_pgsql
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-vhostdb_pgsql
),true
,false
) \
98 -Dwith_sasl
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-authn_sasl
),true
,false
) \
99 -Dwith_webdav_locks
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-webdav
),true
,false
) \
100 -Dwith_webdav_props
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-webdav
),true
,false
) \
101 -Dwith_wolfssl
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-wolfssl
),true
,false
) \
103 -Dwith_zlib
=$(if
$(CONFIG_PACKAGE_lighttpd-mod-deflate
),true
,false
) \
106 BASE_MODULES
:=dirlisting indexfile staticfile
108 define Package
/lighttpd
/conffiles
109 /etc
/lighttpd
/lighttpd.conf
112 define Package
/lighttpd
/install
113 $(INSTALL_DIR
) $(1)/etc
/lighttpd
114 $(INSTALL_DATA
) .
/files
/lighttpd.conf
$(1)/etc
/lighttpd
/
115 $(INSTALL_DATA
) $(PKG_BUILD_DIR
)/doc
/config
/conf.d
/mime.conf
$(1)/etc
/lighttpd
/
116 $(INSTALL_DIR
) $(1)/etc
/lighttpd
/conf.d
117 $(INSTALL_DIR
) $(1)/etc
/init.d
118 $(INSTALL_BIN
) .
/files
/lighttpd.init
$(1)/etc
/init.d
/lighttpd
119 $(INSTALL_DIR
) $(1)/usr
/lib
/lighttpd
120 for m in
$(BASE_MODULES
); do \
121 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/lighttpd
/mod_
$$$${m}.so
$(1)/usr
/lib
/lighttpd
/ ; \
123 $(INSTALL_DIR
) $(1)/usr
/sbin
124 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/lighttpd
$(1)/usr
/sbin
/
126 ifneq ($(strip $(CONFIG_LIGHTTPD_LOGROTATE
)),)
127 $(INSTALL_DIR
) $(1)/etc
/logrotate.d
128 $(CP
) .
/files
/lighttpd.logrotate
$(1)/etc
/logrotate.d
/lighttpd.conf
133 define Package
/lighttpd-mod-
$(1)
134 $(call Package
/lighttpd
/Default
)
142 define Package
/lighttpd-mod-
$(1)/conffiles
143 /etc
/lighttpd
/conf.d
/$(4)-$(1).conf
146 ifneq ($(SDK
)$(CONFIG_PACKAGE_lighttpd-mod-
$(1)),)
147 define Package
/lighttpd-mod-
$(1)/install
148 $(INSTALL_DIR
) $$(1)/usr
/lib
/lighttpd
149 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/lighttpd
/mod_
$(1).so
$$(1)/usr
/lib
/lighttpd
150 $(INSTALL_DIR
) $$(1)/etc
/lighttpd
/conf.d
151 if
[ -f
$(PKG_BUILD_DIR
)/doc
/config
/conf.d
/$(1).conf
]; then \
152 $(CP
) $(PKG_BUILD_DIR
)/doc
/config
/conf.d
/$(1).conf
$$(1)/etc
/lighttpd
/conf.d
/$(4)-$(1).conf
; \
153 if
! grep
-qF
'mod_$(1)' $$(1)/etc
/lighttpd
/conf.d
/$(4)-$(1).conf
; then \
154 sed
-i
"`sed '/^##/ !q' $$(1)/etc/lighttpd/conf.d/$(4)-$(1).conf | wc -l` i\
155 server.modules += ( \"mod_$(1)\" )" $$(1)/etc
/lighttpd
/conf.d
/$(4)-$(1).conf
; \
158 echo
'server.modules += ( "mod_$(1)" )' > $$(1)/etc
/lighttpd
/conf.d
/$(4)-$(1).conf
; \
163 $$(eval
$$(call BuildPackage
,lighttpd-mod-
$(1)))
166 $(eval
$(call BuildPackage
,lighttpd
))
168 # First, permit redirect from HTTP to HTTPS.
169 $(eval
$(call BuildPlugin
,redirect
,URL redirection
,+PACKAGE_lighttpd-mod-redirect
:libpcre2
,10))
171 # Next, permit authentication.
172 $(eval
$(call BuildPlugin
,auth
,Authentication
,+PACKAGE_lighttpd-mod-auth
:libnettle
,20))
173 $(eval
$(call BuildPlugin
,authn_dbi
,DBI-based authentication
,lighttpd-mod-auth
+PACKAGE_lighttpd-mod-authn_dbi
:libnettle
+PACKAGE_lighttpd-mod-authn_dbi
:libdbi
,20))
174 $(eval
$(call BuildPlugin
,authn_file
,File-based authentication
,lighttpd-mod-auth
+PACKAGE_lighttpd-mod-authn_file
:libnettle
,20))
175 $(eval
$(call BuildPlugin
,authn_gssapi
,Kerberos-based authentication
,lighttpd-mod-auth
+PACKAGE_lighttpd-mod-authn_gssapi
:krb5-libs
,20))
176 $(eval
$(call BuildPlugin
,authn_ldap
,LDAP-based authentication
,lighttpd-mod-auth
+PACKAGE_lighttpd-mod-authn_ldap
:libopenldap
,20))
177 $(eval
$(call BuildPlugin
,authn_pam
,PAM-based authentication
,lighttpd-mod-auth
+PACKAGE_lighttpd-mod-authn_pam
:libpam
,20))
178 $(eval
$(call BuildPlugin
,authn_sasl
,SASL-based authentication
,lighttpd-mod-auth
+PACKAGE_lighttpd-mod-authn_sasl
:libsasl2
,20))
180 # Finally, everything else.
181 $(eval
$(call BuildPlugin
,access
,Access restrictions
,,30))
182 $(eval
$(call BuildPlugin
,accesslog
,Access logging
,,30))
183 $(eval
$(call BuildPlugin
,ajp13
,AJP13 Tomcat connector
,,30))
184 $(eval
$(call BuildPlugin
,alias
,Directory alias
,,30))
185 $(eval
$(call BuildPlugin
,cgi
,CGI
,,30))
186 $(eval
$(call BuildPlugin
,deflate
,Compress dynamic output
,+PACKAGE_lighttpd-mod-deflate
:zlib
,30))
187 $(eval
$(call BuildPlugin
,evasive
,Evasive
,,30))
188 $(eval
$(call BuildPlugin
,evhost
,Enhanced Virtual-Hosting
,,30))
189 $(eval
$(call BuildPlugin
,expire
,Expire
,,30))
190 $(eval
$(call BuildPlugin
,extforward
,Extract client
,,30))
191 $(eval
$(call BuildPlugin
,fastcgi
,FastCGI
,,30))
192 $(eval
$(call BuildPlugin
,gnutls
,TLS using gnutls
,@LIGHTTPD_SSL
+PACKAGE_lighttpd-mod-gnutls
:libgnutls
,30))
193 $(eval
$(call BuildPlugin
,magnet
,Magnet
,+PACKAGE_lighttpd-mod-magnet
:liblua
,30))
194 $(eval
$(call BuildPlugin
,maxminddb
,MaxMind DB
,+PACKAGE_lighttpd-mod-maxminddb
:libmaxminddb
,30))
195 $(eval
$(call BuildPlugin
,mbedtls
,TLS using mbedtls
,@LIGHTTPD_SSL
+PACKAGE_lighttpd-mod-mbedtls
:libmbedtls
,30))
196 $(eval
$(call BuildPlugin
,nss
,TLS using nss
,@LIGHTTPD_SSL
+PACKAGE_lighttpd-mod-nss
:libnss
,30))
197 $(eval
$(call BuildPlugin
,openssl
,TLS using openssl
,@LIGHTTPD_SSL
+PACKAGE_lighttpd-mod-openssl
:libopenssl
,30))
198 $(eval
$(call BuildPlugin
,proxy
,Proxy
,,30))
199 $(eval
$(call BuildPlugin
,rewrite
,URL rewriting
,+PACKAGE_lighttpd-mod-rewrite
:libpcre2
,30))
200 $(eval
$(call BuildPlugin
,rrdtool
,RRDtool
,,30))
201 $(eval
$(call BuildPlugin
,scgi
,SCGI
,,30))
202 $(eval
$(call BuildPlugin
,secdownload
,Secure and fast download
,+PACKAGE_lighttpd-mod-secdownload
:libnettle
,30))
203 $(eval
$(call BuildPlugin
,setenv
,Environment variable setting
,,30))
204 $(eval
$(call BuildPlugin
,simple_vhost
,Simple virtual hosting
,,30))
205 $(eval
$(call BuildPlugin
,sockproxy
,sockproxy
,,30))
206 $(eval
$(call BuildPlugin
,ssi
,SSI
,,30))
207 $(eval
$(call BuildPlugin
,staticfile
,staticfile
,,30))
208 $(eval
$(call BuildPlugin
,status
,Server status display
,,30))
209 $(eval
$(call BuildPlugin
,uploadprogress
,Upload Progress
,,30))
210 $(eval
$(call BuildPlugin
,userdir
,User directory
,,30))
211 $(eval
$(call BuildPlugin
,usertrack
,User tracking
,+PACKAGE_lighttpd-mod-usertrack
:libnettle
,30))
212 $(eval
$(call BuildPlugin
,vhostdb
,Virtual Host Database
,,30))
213 $(eval
$(call BuildPlugin
,vhostdb_dbi
,Virtual Host Database
(DBI
),lighttpd-mod-vhostdb
+PACKAGE_lighttpd-mod-vhostdb_dbi
:libdbi
,30))
214 $(eval
$(call BuildPlugin
,vhostdb_ldap
,Virtual Host Database
(LDAP
),lighttpd-mod-vhostdb
+PACKAGE_lighttpd-mod-vhostdb_ldap
:libopenldap
,30))
215 $(eval
$(call BuildPlugin
,vhostdb_mysql
,Virtual Host Database
(MariaDB
),lighttpd-mod-vhostdb
+PACKAGE_lighttpd-mod-vhostdb_mysql
:libmariadb
,30))
216 $(eval
$(call BuildPlugin
,vhostdb_pgsql
,Virtual Host Database
(PostgreSQL
),lighttpd-mod-vhostdb
+PACKAGE_lighttpd-mod-vhostdb_pgsql
:libpq
,30))
217 $(eval
$(call BuildPlugin
,webdav
,WebDAV
,+PACKAGE_lighttpd-mod-webdav
:libsqlite3
+PACKAGE_lighttpd-mod-webdav
:libuuid
+PACKAGE_lighttpd-mod-webdav
:libxml2
,30))
218 $(eval
$(call BuildPlugin
,wolfssl
,TLS using wolfssl
,@LIGHTTPD_SSL
+PACKAGE_lighttpd-mod-wolfssl
:libwolfssl
,30))
219 $(eval
$(call BuildPlugin
,wstunnel
,Websocket tunneling
,+PACKAGE_lighttpd-mod-wstunnel
:libnettle
,30))