|
#
|
|
# Copyright (C) 2006-2015 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:=lighttpd
|
|
PKG_VERSION:=1.4.38
|
|
PKG_RELEASE:=1
|
|
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
|
PKG_SOURCE_URL:=http://download.lighttpd.net/lighttpd/releases-1.4.x
|
|
PKG_MD5SUM:=7adc12323f37ed24ecf026c7547b577d
|
|
|
|
PKG_LICENSE:=BSD-3c
|
|
PKG_LICENSE_FILES:=COPYING
|
|
|
|
PKG_FIXUP:=autoreconf
|
|
PKG_INSTALL:=1
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
|
|
define Package/lighttpd/Default
|
|
SUBMENU:=Web Servers/Proxies
|
|
SECTION:=net
|
|
CATEGORY:=Network
|
|
URL:=http://www.lighttpd.net/
|
|
MAINTAINER:=W. Michael Petullo <mike@flyn.org>
|
|
endef
|
|
|
|
define Package/lighttpd
|
|
$(call Package/lighttpd/Default)
|
|
MENU:=1
|
|
DEPENDS:=+LIGHTTPD_SSL:libopenssl +libpcre +libpthread
|
|
TITLE:=A flexible and lightweight web server
|
|
endef
|
|
|
|
define Package/lighttpd/config
|
|
config LIGHTTPD_SSL
|
|
bool "SSL support"
|
|
depends on PACKAGE_lighttpd
|
|
default y
|
|
help
|
|
Implements SSL support in lighttpd (using libopenssl). This
|
|
option is required if you enable the SSL engine in your
|
|
lighttpd confguration file.
|
|
endef
|
|
|
|
CONFIGURE_ARGS+= \
|
|
--libdir=/usr/lib/lighttpd \
|
|
--sysconfdir=/etc/lighttpd \
|
|
--enable-shared \
|
|
--enable-static \
|
|
--disable-rpath \
|
|
--without-attr \
|
|
--without-bzip2 \
|
|
--without-fam \
|
|
--without-gdbm \
|
|
--without-ldap \
|
|
--with-lua \
|
|
--without-memcache \
|
|
--with-pcre \
|
|
--without-valgrind \
|
|
$(call autoconf_bool,CONFIG_IPV6,ipv6)
|
|
|
|
CONFIGURE_VARS+= \
|
|
PCRE_LIB="-lpcre" \
|
|
|
|
ifneq ($(strip $(CONFIG_LIGHTTPD_SSL)),)
|
|
CONFIGURE_ARGS+= \
|
|
--with-openssl="$(STAGING_DIR)/usr"
|
|
else
|
|
CONFIGURE_ARGS+= \
|
|
--without-openssl
|
|
endif
|
|
|
|
ifneq ($(SDK)$(CONFIG_PACKAGE_lighttpd-mod-mysql-vhost),)
|
|
CONFIGURE_ARGS+= \
|
|
--with-mysql
|
|
else
|
|
CONFIGURE_ARGS+= \
|
|
--without-mysql
|
|
endif
|
|
|
|
ifneq ($(SDK)$(CONFIG_PACKAGE_lighttpd-mod-webdav),)
|
|
CONFIGURE_ARGS+= \
|
|
--with-webdav-locks \
|
|
--with-webdav-props
|
|
# XXX: needed by sqlite3 to prevent segfaults in mod_webdav.so
|
|
CONFIGURE_VARS+= \
|
|
LIBS="-lpthread"
|
|
else
|
|
CONFIGURE_ARGS+= \
|
|
--without-webdav-locks \
|
|
--without-webdav-props
|
|
endif
|
|
|
|
define Build/Configure
|
|
$(call Build/Configure/Default)
|
|
# XXX: override pcre (mis)detection by ./configure when cross-compiling
|
|
echo "#define HAVE_LIBPCRE 1" >>$(PKG_BUILD_DIR)/config.h
|
|
echo "#define HAVE_PCRE_H 1" >>$(PKG_BUILD_DIR)/config.h
|
|
endef
|
|
|
|
define Package/lighttpd/conffiles
|
|
/etc/lighttpd/lighttpd.conf
|
|
endef
|
|
|
|
define Package/lighttpd/install
|
|
$(INSTALL_DIR) $(1)/etc/lighttpd
|
|
$(INSTALL_DATA) ./files/lighttpd.conf $(1)/etc/lighttpd/
|
|
$(INSTALL_DATA) $(PKG_BUILD_DIR)/doc/config/conf.d/mime.conf $(1)/etc/lighttpd/
|
|
$(INSTALL_DIR) $(1)/etc/lighttpd/conf.d
|
|
$(INSTALL_DIR) $(1)/etc/init.d
|
|
$(INSTALL_BIN) ./files/lighttpd.init $(1)/etc/init.d/lighttpd
|
|
$(INSTALL_DIR) $(1)/usr/lib/lighttpd
|
|
for m in dirlisting indexfile staticfile; do \
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lighttpd/mod_$$$${m}.so $(1)/usr/lib/lighttpd/ ; \
|
|
done
|
|
$(INSTALL_DIR) $(1)/usr/sbin
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/lighttpd $(1)/usr/sbin/
|
|
endef
|
|
|
|
define BuildPlugin
|
|
define Package/lighttpd-mod-$(1)
|
|
$(call Package/lighttpd/Default)
|
|
DEPENDS:=lighttpd
|
|
ifneq ($(3),)
|
|
DEPENDS+= $(3)
|
|
endif
|
|
TITLE:=$(2) module
|
|
endef
|
|
|
|
define Package/lighttpd-mod-$(1)/install
|
|
$(INSTALL_DIR) $$(1)/usr/lib/lighttpd
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lighttpd/mod_$(1).so $$(1)/usr/lib/lighttpd
|
|
$(INSTALL_DIR) $$(1)/etc/lighttpd/conf.d
|
|
if [ -f $(PKG_BUILD_DIR)/doc/config/conf.d/$(1).conf ]; then \
|
|
$(CP) $(PKG_BUILD_DIR)/doc/config/conf.d/$(1).conf $$(1)/etc/lighttpd/conf.d/$(4)-$(1).conf ; \
|
|
else \
|
|
echo 'server.modules += ( "mod_$(1)" )' > $$(1)/etc/lighttpd/conf.d/$(4)-$(1).conf ; \
|
|
fi
|
|
endef
|
|
|
|
$$(eval $$(call BuildPackage,lighttpd-mod-$(1)))
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,lighttpd))
|
|
|
|
# First, permit redirect from HTTP to HTTPS.
|
|
$(eval $(call BuildPlugin,redirect,URL redirection,+PACKAGE_lighttpd-mod-redirect:libpcre,10))
|
|
|
|
# Next, permit authentication.
|
|
$(eval $(call BuildPlugin,auth,Authentication,,20))
|
|
|
|
# Finally, everything else.
|
|
$(eval $(call BuildPlugin,access,Access restrictions,,30))
|
|
$(eval $(call BuildPlugin,accesslog,Access logging,,30))
|
|
$(eval $(call BuildPlugin,alias,Directory alias,,30))
|
|
$(eval $(call BuildPlugin,cgi,CGI,,30))
|
|
$(eval $(call BuildPlugin,cml,Cache Meta Language,+liblua,30))
|
|
$(eval $(call BuildPlugin,compress,Compress output,+PACKAGE_lighttpd-mod-compress:zlib,30))
|
|
$(eval $(call BuildPlugin,evasive,Evasive,,30))
|
|
$(eval $(call BuildPlugin,evhost,Exnhanced Virtual-Hosting,,30))
|
|
$(eval $(call BuildPlugin,expire,Expire,,30))
|
|
$(eval $(call BuildPlugin,extforward,Extract client,,30))
|
|
$(eval $(call BuildPlugin,fastcgi,FastCGI,,30))
|
|
$(eval $(call BuildPlugin,flv_streaming,FLV streaming,,30))
|
|
$(eval $(call BuildPlugin,magnet,Magnet,+liblua,30))
|
|
$(eval $(call BuildPlugin,mysql_vhost,Mysql virtual hosting,+PACKAGE_lighttpd-mod-mysql_vhost:libmysqlclient,30))
|
|
$(eval $(call BuildPlugin,proxy,Proxy,,30))
|
|
$(eval $(call BuildPlugin,rewrite,URL rewriting,+PACKAGE_lighttpd-mod-rewrite:libpcre,30))
|
|
$(eval $(call BuildPlugin,rrdtool,RRDtool,,30))
|
|
$(eval $(call BuildPlugin,scgi,SCGI,,30))
|
|
$(eval $(call BuildPlugin,secdownload,Secure and fast download,,30))
|
|
$(eval $(call BuildPlugin,setenv,Environment variable setting,,30))
|
|
$(eval $(call BuildPlugin,simple_vhost,Simple virtual hosting,,30))
|
|
$(eval $(call BuildPlugin,ssi,SSI,+libpcre,30))
|
|
$(eval $(call BuildPlugin,status,Server status display,,30))
|
|
$(eval $(call BuildPlugin,trigger_b4_dl,Trigger before download,+PACKAGE_lighttpd-mod-trigger_b4_dl:libpcre,30))
|
|
$(eval $(call BuildPlugin,userdir,User directory,,30))
|
|
$(eval $(call BuildPlugin,usertrack,User tracking,,30))
|
|
$(eval $(call BuildPlugin,webdav,WebDAV,+PACKAGE_lighttpd-mod-webdav:libsqlite3 +PACKAGE_lighttpd-mod-webdav:libuuid +PACKAGE_lighttpd-mod-webdav:libxml2,30))
|
|
|