Files
packages/net/apache/Makefile
T
Sebastian Kemper 6bd63d24f0 apache: don't load session_crypto mod by default
In OpenWrt this module is available, but not part of the main package.
This commit disables the LoadModule directive for this module. Otherwise
following the installation of the main apache package the start of the
server would fail (due to the absence of this particular module).

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2020-01-26 19:09:36 +01:00

387 lines
11 KiB
Makefile

#
# Copyright (C) 2007-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:=apache
PKG_VERSION:=2.4.41
PKG_RELEASE:=4
PKG_SOURCE_NAME:=httpd
PKG_SOURCE:=$(PKG_SOURCE_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=@APACHE/httpd/
PKG_HASH:=133d48298fe5315ae9366a0ec66282fa4040efa5d566174481077ade7d18ea40
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_NAME)-$(PKG_VERSION)
PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>, \
Sebastian Kemper <sebastian_ml@gmx.net>
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
PKG_CPE_ID:=cpe:/a:apache:http_server
PKG_BUILD_DEPENDS:=openssl
PKG_BUILD_PARALLEL:=1
PKG_CONFIG_DEPENDS:= \
CONFIG_PACKAGE_apache-mod-deflate \
CONFIG_PACKAGE_apache-mod-http2 \
CONFIG_PACKAGE_apache-mod-ldap \
CONFIG_PACKAGE_apache-mod-lua \
CONFIG_PACKAGE_apache-mod-md \
CONFIG_PACKAGE_apache-mod-proxy \
CONFIG_PACKAGE_apache-mod-proxy-html \
CONFIG_PACKAGE_apache-mod-session-crypto \
CONFIG_PACKAGE_apache-mod-suexec \
CONFIG_PACKAGE_apache-mod-webdav \
CONFIG_PACKAGE_apache-suexec
PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
# without nls.mk mod_xml2enc might not find the iconv headers
include $(INCLUDE_DIR)/nls.mk
define Package/apache/Default
SECTION:=net
CATEGORY:=Network
SUBMENU:=Web Servers/Proxies
TITLE:=The Apache Web Server
URL:=https://httpd.apache.org/
endef
define Package/apache/Default/description
The Apache HTTP Server Project is a collaborative software development
effort aimed at creating a robust, commercial-grade, featureful, and
freely-available source code implementation of an HTTP (Web) server.
endef
define Package/apache
$(call Package/apache/Default)
USERID:=apache=377:apache=377
DEPENDS:=+libapr +libaprutil +libpcre
endef
define Package/apache/description
$(call Package/apache/Default/description)
This package contains the Apache web server and utility programs.
endef
define Package/apache/conffiles
/etc/apache2/apache2.conf
/etc/apache2/extra/httpd-autoindex.conf
/etc/apache2/extra/httpd-dav.conf
/etc/apache2/extra/httpd-default.conf
/etc/apache2/extra/httpd-info.conf
/etc/apache2/extra/httpd-languages.conf
/etc/apache2/extra/httpd-manual.conf
/etc/apache2/extra/httpd-mpm.conf
/etc/apache2/extra/httpd-multilang-errordoc.conf
/etc/apache2/extra/httpd-ssl.conf
/etc/apache2/extra/httpd-userdir.conf
/etc/apache2/extra/httpd-vhosts.conf
/etc/apache2/extra/proxy-html.conf
/etc/apache2/magic
/etc/apache2/mime.types
/etc/init.d/apache2
endef
define Package/apache-ab
$(call Package/apache/Default)
TITLE:=Apache benchmark utility
DEPENDS:=apache +libopenssl
endef
define Package/apache-ab/description
$(call Package/apache/Default/description)
Apache server benchmarking utility.
endef
define Package/apache-error
$(call Package/apache/Default)
TITLE:=Error documents
DEPENDS:=apache
endef
define Package/apache-error/description
$(call Package/apache/Default/description)
Apache multi language custom error documents.
endef
define Package/apache-icons
$(call Package/apache/Default)
TITLE:=Icons from Apache
DEPENDS:=apache
endef
define Package/apache-icons/description
$(call Package/apache/Default/description)
This package contains the icons from Apache.
endef
define Package/apache-suexec
$(call Package/apache/Default)
TITLE:=Apache suEXEC
DEPENDS:=apache
endef
define Package/apache-suexec/description
$(call Package/apache/Default/description)
This package contains the suEXEC utility from Apache.
endef
define Package/apache-utils
$(call Package/apache/Default)
TITLE:=Apache utilities
DEPENDS:=apache
endef
define Package/apache-utils/description
$(call Package/apache/Default/description)
Apache utility programs for webservers.
endef
define Package/apache/install/mod
$(INSTALL_DIR) $(1)/usr/lib/apache2
$(INSTALL_BIN) \
$(PKG_INSTALL_DIR)/usr/lib/apache2/mod_$(2).so \
$(1)/usr/lib/apache2
endef
CONFIGURE_ARGS+= \
--$(if $(CONFIG_PACKAGE_apache-mod-http2),en,dis)able-http2 \
--$(if $(CONFIG_PACKAGE_apache-mod-lua),en,dis)able-lua \
--$(if $(CONFIG_PACKAGE_apache-mod-md),en,dis)able-md \
--$(if $(CONFIG_PACKAGE_apache-mod-proxy),en,dis)able-proxy \
--$(if $(CONFIG_PACKAGE_apache-mod-session-crypto),en,dis)able-session-crypto \
--$(if $(CONFIG_PACKAGE_apache-mod-ssl),en,dis)able-ssl \
--datadir=/usr/share/apache2 \
--disable-imagemap \
--disable-luajit \
--enable-authn-alias \
--enable-authn-anon \
--enable-cache \
--enable-cgi \
--enable-cgid \
--enable-dbd \
--enable-disk-cache \
--enable-exception-hook \
--enable-file-cache \
--enable-layout=OpenWrt \
--enable-mem-cache \
--enable-mods-shared=all \
--enable-mpms-shared=all \
--enable-so \
--libexecdir=/usr/lib/apache2 \
--sysconfdir=/etc/apache2 \
--with-apr-util="$(STAGING_DIR)/usr/bin/apu-1-config" \
--with-apr="$(STAGING_DIR)/usr/bin/apr-1-config" \
--with-mpm=prefork \
--with-pcre="$(STAGING_DIR)/usr/bin/pcre-config" \
--with-program-name=apache2 \
--with-ssl
ifneq ($(CONFIG_PACKAGE_apache-mod-deflate),)
CONFIGURE_ARGS+= \
--enable-deflate \
--with-z="$(STAGING_DIR)/usr"
else
CONFIGURE_ARGS+= \
--disable-deflate \
--without-z
endif
ifneq ($(CONFIG_PACKAGE_apache-mod-ldap),)
CONFIGURE_ARGS+= \
--enable-authnz-ldap \
--enable-ldap
else
CONFIGURE_ARGS+= \
--disable-authnz-ldap \
--disable-ldap
endif
ifneq ($(CONFIG_PACKAGE_apache-mod-proxy),)
CONFIGURE_ARGS+= \
--enable-proxy \
--enable-proxy-connect \
--enable-proxy-ftp \
--enable-proxy-http
else
CONFIGURE_ARGS+= \
--disable-proxy
endif
ifneq ($(CONFIG_PACKAGE_apache-mod-proxy-html),)
CONFIGURE_ARGS+= \
--enable-proxy-html \
--enable-xml2enc \
--with-libxml2="$(STAGING_DIR)/usr"
else
CONFIGURE_ARGS+= \
--disable-proxy-html \
--disable-xml2enc
endif
ifneq ($(CONFIG_PACKAGE_apache-mod-suexec)$(CONFIG_PACKAGE_apache-suexec),)
CONFIGURE_ARGS+= \
--enable-suexec \
--with-suexec-bin=/usr/sbin/suexec \
--with-suexec-caller=apache \
--with-suexec-docroot=/var/www \
--with-suexec-logfile=/var/log/apache2/suexec.log \
--with-suexec-uidmin=99 \
--with-suexec-gidmin=99
else
CONFIGURE_ARGS+= \
--disable-suexec
endif
ifneq ($(CONFIG_PACKAGE_apache-mod-webdav),)
CONFIGURE_ARGS+= \
--enable-dav \
--enable-dav-fs \
--enable-dav-lock
else
CONFIGURE_ARGS+= \
--disable-dav
endif
CONFIGURE_VARS += \
ap_cv_void_ptr_lt_long=no
define Build/Prepare
$(call Build/Prepare/Default)
$(INSTALL_DATA) ./files/openwrt.layout $(PKG_BUILD_DIR)/config.layout
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/apxs $(1)/usr/bin
$(INSTALL_DIR) $(1)/usr/include/apache2
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/apache2/* \
$(1)/usr/include/apache2
$(INSTALL_DIR) $(1)/usr/lib/apache2
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/apache2/httpd.exp \
$(1)/usr/lib/apache2
$(INSTALL_DIR) $(1)/usr/share/apache2/build
$(CP) $(PKG_INSTALL_DIR)/usr/share/apache2/build/* \
$(1)/usr/share/apache2/build
$(SED) 's%/usr/share/apache2/build%$(STAGING_DIR)/usr/share/apache2/build%' \
$(1)/usr/bin/apxs
$(SED) 's%^prefix =.*%prefix = $(STAGING_DIR)/usr%' \
$(1)/usr/share/apache2/build/config_vars.mk
endef
define Package/apache/install
$(INSTALL_DIR) $(1)/etc/apache2/extra
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/apache2/extra/* \
$(1)/etc/apache2/extra
$(SED) '/^LoadModule session_crypto_module/s/^/#/' \
$(PKG_INSTALL_DIR)/etc/apache2/apache2.conf
$(INSTALL_DATA) \
$(PKG_INSTALL_DIR)/etc/apache2/{apache2.conf,magic,mime.types} \
$(1)/etc/apache2
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/apache2.init $(1)/etc/init.d/apache2
$(INSTALL_DIR) $(1)/usr/lib/apache2
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/apache2/*.so \
$(1)/usr/lib/apache2
rm -f $(1)/usr/lib/apache2/mod_{*ldap,dav*,deflate,http2,lbmethod_*,lua,md,proxy*,proxy_html,session_crypto,ssl,suexec,xml2enc}.so
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/apache2/httpd.exp \
$(1)/usr/lib/apache2
$(INSTALL_DIR) $(1)/usr/share/apache2/{cgi-bin,htdocs}
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/apache2/cgi-bin/* \
$(1)/usr/share/apache2/cgi-bin
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/apache2/htdocs/* \
$(1)/usr/share/apache2/htdocs
$(INSTALL_DIR) $(1)/usr/{,s}bin
$(INSTALL_BIN) \
$(PKG_INSTALL_DIR)/usr/bin/{dbmmanage,htdbm,htdigest,htpasswd,httxt2dbm,logresolve} \
$(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/{apachectl,apache2} \
$(1)/usr/sbin
endef
define Package/apache-ab/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ab $(1)/usr/bin
endef
define Package/apache-error/install
$(INSTALL_DIR) $(1)/usr/share/apache2/error
$(CP) $(PKG_INSTALL_DIR)/usr/share/apache2/error/* \
$(1)/usr/share/apache2/error
endef
define Package/apache-icons/install
$(INSTALL_DIR) $(1)/usr/share/apache2
$(CP) $(PKG_INSTALL_DIR)/usr/share/apache2/icons \
$(1)/usr/share/apache2
endef
define Package/apache-suexec/install
$(INSTALL_DIR) $(1)/usr/sbin
$(CP) $(PKG_INSTALL_DIR)/usr/sbin/suexec $(1)/usr/sbin
endef
define Package/apache-utils/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) \
$(PKG_INSTALL_DIR)/usr/sbin/{checkgid,envvars*,htcacheclean,rotatelogs} \
$(1)/usr/sbin
endef
define Package/apache/Module
define Package/apache-mod-$(1)
$(call Package/apache/Default)
TITLE:=$(2) module
DEPENDS:=apache $(patsubst +%,+PACKAGE_apache-mod-$(1):%,$(4))
endef
define Package/apache-mod-$(1)/description
$(subst \n,$(newline),$(3))
endef
define Package/apache-mod-$(1)/install
$(foreach m,$(5),$(call Package/apache/install/mod,$$(1),$(m));)
endef
$$(eval $$(call BuildPackage,apache-mod-$(1)))
endef
$(eval $(call BuildPackage,apache))
$(eval $(call BuildPackage,apache-ab))
$(eval $(call BuildPackage,apache-error))
$(eval $(call BuildPackage,apache-icons))
$(eval $(call BuildPackage,apache-suexec))
$(eval $(call BuildPackage,apache-utils))
$(eval $(call Package/apache/Module,deflate,Deflate,Deflate support for the Apache HTTP server.,+zlib,deflate))
$(eval $(call Package/apache/Module,http2,HTTP2,HTTP/2 transport layer for the Apache HTTP Server.,+libnghttp2 +libopenssl,http2))
$(eval $(call Package/apache/Module,ldap,LDAP,LDAP authentication/authorization module for the Apache HTTP Server.,+libaprutil-ldap,authnz_ldap ldap))
$(eval $(call Package/apache/Module,lua,Lua,Lua support for the Apache HTTP server.,+liblua,lua))
$(eval $(call Package/apache/Module,md,Managed Domain handling,Managed Domain handling.,+libcurl +jansson +libopenssl,md))
$(eval $(call Package/apache/Module,proxy,Proxy,Proxy modules for the Apache HTTP Server.,,proxy proxy_ajp proxy_balancer proxy_connect proxy_express proxy_fcgi proxy_fdpass proxy_ftp proxy_hcheck proxy_http proxy_scgi proxy_uwsgi proxy_wstunnel lbmethod_byrequests lbmethod_heartbeat lbmethod_bytraffic lbmethod_bybusyness))
$(eval $(call Package/apache/Module,proxy-html,Proxy HTML,HTML and XML content filters for the Apache HTTP Server.,+apache-mod-proxy +libxml2,proxy_html xml2enc))
$(eval $(call Package/apache/Module,session-crypto,Session crypto,Session encryption support for the Apache HTTP Server.,+libaprutil-crypto-openssl,session_crypto))
$(eval $(call Package/apache/Module,ssl,SSL/TLS,SSL/TLS module for the Apache HTTP Server.,+libopenssl,ssl))
$(eval $(call Package/apache/Module,suexec,suEXEC,suEXEC module for the Apache HTTP Server.,+apache-suexec,suexec))
$(eval $(call Package/apache/Module,webdav,WebDAV,WebDAV support for the Apache HTTP Server.,,dav dav_fs dav_lock))