packages: lighttpd: update to 1.4.32
[openwrt/svn-archive/archive.git] / net / lighttpd / Makefile
index 555a50cca25cb849967f37e7560d2725d6cf008f..8548dd2bf536d4d14ac39277f2839d37599e8f6b 100644 (file)
@@ -1,27 +1,30 @@
-#
-# Copyright (C) 2006-2009 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.20
-PKG_RELEASE:=3
+PKG_VERSION:=1.4.32
+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:=e5a6f57fc371a10646ff1a57056fa9c0
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=http://www.lighttpd.net/download/
-PKG_MD5SUM:=ed6ee0bb714f393219a32768d86984d8
+PKG_LICENSE:=BSD-3c
+PKG_LICENSE_FILES:=COPYING
 
-PKG_FIXUP = libtool
+PKG_FIXUP:=autoreconf
+PKG_INSTALL:=1
 
 include $(INCLUDE_DIR)/package.mk
 
 define Package/lighttpd/Default
-  SUBMENU:=Web
+  SUBMENU:=Web Servers/Proxies
   SECTION:=net
   CATEGORY:=Network
   URL:=http://www.lighttpd.net/
@@ -30,107 +33,21 @@ endef
 define Package/lighttpd
   $(call Package/lighttpd/Default)
   MENU:=1
-  DEPENDS:=+libopenssl +libpcre +libpthread +libsqlite3 +libxml2
+  DEPENDS:=+LIGHTTPD_SSL:libopenssl +libpcre +libpthread
   TITLE:=A flexible and lightweight web server
 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
+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
 
-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
-
-
 CONFIGURE_ARGS+= \
        --libdir=/usr/lib/lighttpd \
        --sysconfdir=/etc/lighttpd \
@@ -144,30 +61,58 @@ CONFIGURE_ARGS+= \
        --without-ldap \
        --without-lua \
        --without-memcache \
-       --without-mysql \
-       --with-openssl="$(STAGING_DIR)/usr" \
        --with-pcre \
        --without-valgrind \
-       --with-webdav-props \
+        $(call autoconf_bool,CONFIG_IPV6,ipv6)
 
 CONFIGURE_VARS+= \
-       CPPFLAGS="-I$(STAGING_DIR)/usr/include/libxml2 $$$$CPPFLAGS" \
        PCRE_LIB="-lpcre" \
 
-define Build/Compile
-       $(MAKE) -C $(PKG_BUILD_DIR) DESTDIR="$(PKG_INSTALL_DIR)" all install
+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.conf
-/etc/default/lighttpd
+/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
@@ -179,30 +124,57 @@ define Package/lighttpd/install
 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))
+