-#
-# Copyright (C) 2006 OpenWrt.org
+ #
+# Copyright (C) 2006-2013 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
-# $Id$
include $(TOPDIR)/rules.mk
PKG_NAME:=lighttpd
-PKG_VERSION:=1.4.15
+PKG_VERSION:=1.4.32
PKG_RELEASE:=1
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=http://www.lighttpd.net/download/
-PKG_MD5SUM:=b994b8c359da578dec073cae52c4924f
-PKG_CAT:=bzcat
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
+PKG_SOURCE_URL:=http://download.lighttpd.net/lighttpd/releases-1.4.x
+PKG_MD5SUM:=e5a6f57fc371a10646ff1a57056fa9c0
-PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+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/
define Package/lighttpd
$(call Package/lighttpd/Default)
MENU:=1
- SECTION:=net
- CATEGORY:=Network
- DEPENDS:=+libopenssl +libpcre +libpthread +libsqlite3 +libxml2
+ DEPENDS:=+LIGHTTPD_SSL:libopenssl +libpcre +libpthread
TITLE:=A flexible and lightweight web server
- URL:=http://www.lighttpd.net/
-endef
-
-define Package/lighttpd/conffiles
-/etc/lighttpd.conf
-/etc/default/lighttpd
-/etc/init.d/lighttpd
-endef
-
-define Package/lighttpd-mod-accesslog
- $(call Package/lighttpd/Default)
- DEPENDS:=lighttpd
- TITLE:=Access logging module
-endef
-
-define Package/lighttpd-mod-alias
- $(call Package/lighttpd/Default)
- DEPENDS:=lighttpd
- TITLE:=Directory alias module
-endef
-
-define Package/lighttpd-mod-auth
- $(call Package/lighttpd/Default)
- DEPENDS:=lighttpd
- TITLE:=Authentication module
-endef
-
-define Package/lighttpd-mod-cgi
- $(call Package/lighttpd/Default)
- DEPENDS:=lighttpd
- TITLE:=CGI module
-endef
-
-define Package/lighttpd-mod-evasive
- $(call Package/lighttpd/Default)
- DEPENDS:=lighttpd
- TITLE:=Evasive module
-endef
-
-define Package/lighttpd-mod-expire
- $(call Package/lighttpd/Default)
- DEPENDS:=lighttpd
- TITLE:=Expire module
-endef
-
-define Package/lighttpd-mod-fastcgi
- $(call Package/lighttpd/Default)
- DEPENDS:=lighttpd
- TITLE:=FastCGI module
-endef
-
-define Package/lighttpd-mod-proxy
- $(call Package/lighttpd/Default)
- DEPENDS:=lighttpd
- TITLE:=Proxy module
-endef
-
-define Package/lighttpd-mod-redirect
- $(call Package/lighttpd/Default)
- DEPENDS:=lighttpd
- TITLE:=URL redirection module
-endef
-
-define Package/lighttpd-mod-rewrite
- $(call Package/lighttpd/Default)
- DEPENDS:=lighttpd
- TITLE:=URL rewriting module
-endef
-
-define Package/lighttpd-mod-setenv
- $(call Package/lighttpd/Default)
- DEPENDS:=lighttpd
- TITLE:=Environment variable setting module
-endef
-
-define Package/lighttpd-mod-simple-vhost
- $(call Package/lighttpd/Default)
- DEPENDS:=lighttpd
- TITLE:=Simple virtual hosting module
-endef
-
-define Package/lighttpd-mod-ssi
- $(call Package/lighttpd/Default)
- DEPENDS:=lighttpd
- TITLE:=SSI module
-endef
-
-define Package/lighttpd-mod-status
- $(call Package/lighttpd/Default)
- DEPENDS:=lighttpd
- TITLE:=Server status display module
-endef
-
-define Package/lighttpd-mod-usertrack
- $(call Package/lighttpd/Default)
- DEPENDS:=lighttpd
- TITLE:=User tracking module
-endef
-
-define Package/lighttpd-mod-webdav
- $(call Package/lighttpd/Default)
- DEPENDS:=lighttpd
- TITLE:=WebDAV module
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 \
+ --without-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, \
- --libdir=/usr/lib/lighttpd \
- --sysconfdir=/etc/lighttpd \
- --enable-shared \
- --enable-static \
- --disable-rpath \
- --without-attr \
- --without-bzip2 \
- --without-fam \
- --without-gdbm \
- --without-ldap \
- --without-lua \
- --without-memcache \
- --without-mysql \
- --with-openssl="$(STAGING_DIR)/usr" \
- --with-pcre \
- --without-valgrind \
- --with-webdav-props \
- , \
- CPPFLAGS="-I$(STAGING_DIR)/usr/include/libxml2 $$$$CPPFLAGS" \
- PCRE_LIB="-lpcre" \
- );
+$(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 Build/Compile
- rm -rf $(PKG_INSTALL_DIR)
- mkdir -p $(PKG_INSTALL_DIR)
- $(MAKE) -C $(PKG_BUILD_DIR) \
- DESTDIR="$(PKG_INSTALL_DIR)" \
- all install
+define Package/lighttpd/conffiles
+/etc/lighttpd/lighttpd.conf
endef
define Package/lighttpd/install
- $(INSTALL_DIR) $(1)/etc
- $(INSTALL_DATA) ./files/lighttpd.conf $(1)/etc/
- $(INSTALL_DIR) $(1)/etc/default
- $(INSTALL_DATA) ./files/lighttpd.default $(1)/etc/default/lighttpd
+ $(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
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lighttpd/mod_$$$${m}.so $(1)/usr/lib/lighttpd/ ; \
done
$(INSTALL_DIR) $(1)/usr/sbin
- $(CP) $(PKG_INSTALL_DIR)/usr/sbin/lighttpd $(1)/usr/sbin/
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/lighttpd $(1)/usr/sbin/
endef
define BuildPlugin
- define Package/$(1)/install
- [ -z "$(2)" ] || $(INSTALL_DIR) $$(1)/usr/lib/lighttpd
- for m in $(2); do \
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/lighttpd/mod_$$$$$$$${m}.so $$(1)/usr/lib/lighttpd/ ; \
- done
+ define Package/lighttpd-mod-$(1)
+ $(call Package/lighttpd/Default)
+ DEPENDS:=lighttpd
+ ifneq ($(3),)
+ DEPENDS+= $(3)
+ endif
+ TITLE:=$(2) module
endef
- $$(eval $$(call BuildPackage,$(1)))
+ 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))
-$(eval $(call BuildPlugin,lighttpd-mod-accesslog,accesslog))
-$(eval $(call BuildPlugin,lighttpd-mod-alias,alias))
-$(eval $(call BuildPlugin,lighttpd-mod-auth,auth))
-$(eval $(call BuildPlugin,lighttpd-mod-cgi,cgi))
-$(eval $(call BuildPlugin,lighttpd-mod-evasive,evasive))
-$(eval $(call BuildPlugin,lighttpd-mod-expire, expire))
-$(eval $(call BuildPlugin,lighttpd-mod-fastcgi,fastcgi))
-$(eval $(call BuildPlugin,lighttpd-mod-proxy,proxy))
-$(eval $(call BuildPlugin,lighttpd-mod-redirect,redirect))
-$(eval $(call BuildPlugin,lighttpd-mod-rewrite,rewrite))
-$(eval $(call BuildPlugin,lighttpd-mod-setenv,setenv))
-$(eval $(call BuildPlugin,lighttpd-mod-simple-vhost,simple_vhost))
-$(eval $(call BuildPlugin,lighttpd-mod-ssi,ssi))
-$(eval $(call BuildPlugin,lighttpd-mod-status,status))
-$(eval $(call BuildPlugin,lighttpd-mod-usertrack,usertrack))
-$(eval $(call BuildPlugin,lighttpd-mod-webdav,webdav))
+$(eval $(call BuildPlugin,access,Access restrictions,,10))
+$(eval $(call BuildPlugin,accesslog,Access logging,,10))
+$(eval $(call BuildPlugin,alias,Directory alias,,10))
+$(eval $(call BuildPlugin,auth,Authentication,,05))
+$(eval $(call BuildPlugin,cgi,CGI,,10))
+$(eval $(call BuildPlugin,cml,Cache Meta Language,,10))
+$(eval $(call BuildPlugin,compress,Compress output,+zlib,10))
+$(eval $(call BuildPlugin,evasive,Evasive,,10))
+$(eval $(call BuildPlugin,evhost,Exnhanced Virtual-Hosting,,10))
+$(eval $(call BuildPlugin,expire,Expire,,10))
+$(eval $(call BuildPlugin,extforward,Extract client,,10))
+$(eval $(call BuildPlugin,fastcgi,FastCGI,,10))
+$(eval $(call BuildPlugin,flv_streaming,FLV streaming,,10))
+$(eval $(call BuildPlugin,magnet,Magnet,,10))
+$(eval $(call BuildPlugin,mysql_vhost,Mysql virtual hosting,+libmysqlclient,10))
+$(eval $(call BuildPlugin,proxy,Proxy,,10))
+$(eval $(call BuildPlugin,redirect,URL redirection,+libpcre,10))
+$(eval $(call BuildPlugin,rewrite,URL rewriting,+libpcre,10))
+$(eval $(call BuildPlugin,rrdtool,RRDtool,,10))
+$(eval $(call BuildPlugin,scgi,SCGI,,10))
+$(eval $(call BuildPlugin,secdownload,Secure and fast download,,10))
+$(eval $(call BuildPlugin,setenv,Environment variable setting,,10))
+$(eval $(call BuildPlugin,simple_vhost,Simple virtual hosting,,10))
+$(eval $(call BuildPlugin,ssi,SSI,+libpcre,10))
+$(eval $(call BuildPlugin,status,Server status display,,10))
+$(eval $(call BuildPlugin,trigger_b4_dl,Trigger before download,+libpcre,10))
+$(eval $(call BuildPlugin,userdir,User directory,,10))
+$(eval $(call BuildPlugin,usertrack,User tracking,,10))
+$(eval $(call BuildPlugin,webdav,WebDAV,+libsqlite3 +libuuid +libxml2,10))
+