packages: lighttpd: update to 1.4.32
[openwrt/svn-archive/archive.git] / net / lighttpd / Makefile
index 54dd72e5f794493e5abe18a39cd3a9b45b7666ad..8548dd2bf536d4d14ac39277f2839d37599e8f6b 100644 (file)
-# 
-# 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.11
+PKG_VERSION:=1.4.32
 PKG_RELEASE:=1
 
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://www.lighttpd.net/download/
-PKG_MD5SUM:=f55eebb9815c94a7de35906bb557ecd3
-PKG_CAT:=zcat
+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
-  MENU:=1
+define Package/lighttpd/Default
+  SUBMENU:=Web Servers/Proxies
   SECTION:=net
   CATEGORY:=Network
-  DEPENDS:=+libopenssl +libpcre +libpthread +libsqlite3 +libxml2
-  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)
-  DEPENDS:=lighttpd
-  TITLE:=Access logging module
-endef
-
-define Package/lighttpd-mod-alias
-  $(call Package/lighttpd)
-  DEPENDS:=lighttpd
-  TITLE:=Directory alias module
-endef
-
-define Package/lighttpd-mod-auth
-  $(call Package/lighttpd)
-  DEPENDS:=lighttpd
-  TITLE:=Authentication module
-endef
-
-define Package/lighttpd-mod-cgi
-  $(call Package/lighttpd)
-  DEPENDS:=lighttpd
-  TITLE:=CGI module
-endef
-
-define Package/lighttpd-mod-evasive
-  $(call Package/lighttpd)
-  DEPENDS:=lighttpd
-  TITLE:=Evasive module
-endef
-
-define Package/lighttpd-mod-expire
-  $(call Package/lighttpd)
-  DEPENDS:=lighttpd
-  TITLE:=Expire module
-endef
-
-define Package/lighttpd-mod-fastcgi
-  $(call Package/lighttpd)
-  DEPENDS:=lighttpd
-  TITLE:=FastCGI module
-endef
-
-define Package/lighttpd-mod-proxy
-  $(call Package/lighttpd)
-  DEPENDS:=lighttpd
-  TITLE:=Proxy module
-endef
-
-define Package/lighttpd-mod-redirect
-  $(call Package/lighttpd)
-  DEPENDS:=lighttpd
-  TITLE:=URL redirection module
-endef
-
-define Package/lighttpd-mod-rewrite
-  $(call Package/lighttpd)
-  DEPENDS:=lighttpd
-  TITLE:=URL rewriting module
-endef
-
-define Package/lighttpd-mod-setenv
-  $(call Package/lighttpd)
-  DEPENDS:=lighttpd
-  TITLE:=Environment variable setting module
-endef
-
-define Package/lighttpd-mod-simple-vhost
-  $(call Package/lighttpd)
-  DEPENDS:=lighttpd
-  TITLE:=Simple virtual hosting module
-endef
-
-define Package/lighttpd-mod-ssi
-  $(call Package/lighttpd)
-  DEPENDS:=lighttpd
-  TITLE:=SSI module
-endef
-
-define Package/lighttpd-mod-status
-  $(call Package/lighttpd)
-  DEPENDS:=lighttpd
-  TITLE:=Server status display module
-endef
-
-define Package/lighttpd-mod-usertrack
-  $(call Package/lighttpd)
-  DEPENDS:=lighttpd
-  TITLE:=User tracking module
+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-mod-webdav
-  $(call Package/lighttpd)
-  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
-       (cd $(PKG_BUILD_DIR); rm -f config.cache; \
-               $(TARGET_CONFIGURE_OPTS) \
-               CFLAGS="$(TARGET_CFLAGS)" \
-               CPPFLAGS="-I$(STAGING_DIR)/usr/include/libxml2 -I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include" \
-               LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \
-               PCRE_LIB="-lpcre" \
-               PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig" \
-               ./configure \
-                       --target=$(GNU_TARGET_NAME) \
-                       --host=$(GNU_TARGET_NAME) \
-                       --build=$(GNU_HOST_NAME) \
-                       --program-prefix="" \
-                       --program-suffix="" \
-                       --prefix=/usr \
-                       --exec-prefix=/usr \
-                       --bindir=/usr/bin \
-                       --datadir=/usr/share \
-                       --includedir=/usr/include \
-                       --infodir=/usr/share/info \
-                       --libdir=/usr/lib/lighttpd \
-                       --libexecdir=/usr/lib \
-                       --localstatedir=/var \
-                       --mandir=/usr/share/man \
-                       --sbindir=/usr/sbin \
-                       --sysconfdir=/etc/lighttpd \
-                       $(DISABLE_LARGEFILE) \
-                       $(DISABLE_NLS) \
-                       --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 \
-       );
+$(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
@@ -199,34 +120,61 @@ define Package/lighttpd/install
                $(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))
+