apache: break-out CONFIGURE_ARGS, add layout
This gets rid of flags. For instance $(FPIC) shouldn't be forced onto applications (see [1]). And CONFIGURE_ARGS + CONFIGURE_VARS are broken out of Build/Configure. This way more arguments can be added easily in the future. The target is changed from apache to apache2 (which is used by upstream by default). the CONFIGURE_ARGS are changed where need to enable modules. This also renames one patch that fixes scoreboard location (the name 004-pidfile_fix.patch didn't describe what it's doing). Now with the OpenWrt layout in place 003-logdir_fix.patch can be removed. [1] https://wiki.gentoo.org/wiki/Project:Hardened/Position_Independent_Code_internals Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This commit is contained in:
parent
14f4f0bef0
commit
4e6bdd8a49
5 changed files with 82 additions and 92 deletions
|
@ -83,20 +83,20 @@ $(call Package/apache/Default/description)
|
|||
endef
|
||||
|
||||
define Package/apache/conffiles
|
||||
/etc/apache/httpd.conf
|
||||
/etc/apache/extra/httpd-autoindex.conf
|
||||
/etc/apache/extra/httpd-dav.conf
|
||||
/etc/apache/extra/httpd-default.conf
|
||||
/etc/apache/extra/httpd-info.conf
|
||||
/etc/apache/extra/httpd-languages.conf
|
||||
/etc/apache/extra/httpd-manual.conf
|
||||
/etc/apache/extra/httpd-mpm.conf
|
||||
/etc/apache/extra/httpd-multilang-errordoc.conf
|
||||
/etc/apache/extra/httpd-ssl.conf
|
||||
/etc/apache/extra/httpd-userdir.conf
|
||||
/etc/apache/extra/httpd-vhosts.conf
|
||||
/etc/apache/magic
|
||||
/etc/apache/mime.types
|
||||
/etc/apache2/httpd.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/magic
|
||||
/etc/apache2/mime.types
|
||||
endef
|
||||
|
||||
define Package/apache-icons
|
||||
|
@ -111,35 +111,40 @@ $(call Package/apache/Default/description)
|
|||
This package contains the icons from Apache.
|
||||
endef
|
||||
|
||||
TARGET_CFLAGS += $(FPIC) -Wno-error
|
||||
TARGET_CPPFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
|
||||
TARGET_LDFLAGS += -lpthread
|
||||
CONFIGURE_ARGS+= \
|
||||
--datadir=/usr/share/apache2 \
|
||||
--disable-authnz-ldap \
|
||||
--disable-imagemap \
|
||||
--disable-ldap \
|
||||
--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-ssl
|
||||
|
||||
define Build/Configure
|
||||
$(call Build/Configure/Default, \
|
||||
--with-apr="$(STAGING_DIR)/usr/bin/apr-1-config" \
|
||||
--with-apr-util="$(STAGING_DIR)/usr/bin/apu-1-config" \
|
||||
--with-pcre="$(STAGING_DIR)/usr/bin/pcre-config" \
|
||||
$(ADDITIONAL_MODULES) \
|
||||
--enable-http \
|
||||
--with-crypto \
|
||||
--with-sqlit3="$(STAGING_DIR)/usr" \
|
||||
--with-openssl="$(STAGING_DIR)/usr" \
|
||||
--enable-ssl \
|
||||
--enable-proxy \
|
||||
--disable-md \
|
||||
--disable-disk-cache \
|
||||
--enable-maintainer-mode \
|
||||
--with-mpm=prefork \
|
||||
--with-mpm=worker \
|
||||
--enable-mime-magic \
|
||||
--without-suexec-bin \
|
||||
--sysconfdir=/etc/apache \
|
||||
ap_cv_void_ptr_lt_long=no \
|
||||
logfiledir="/var/log" \
|
||||
runtimedir="/var/run" \
|
||||
EXTRA_LIBS="-ldl -lpthread -lcrypto -lrt -lssl" \
|
||||
)
|
||||
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
|
||||
|
|
24
net/apache/files/openwrt.layout
Normal file
24
net/apache/files/openwrt.layout
Normal file
|
@ -0,0 +1,24 @@
|
|||
|
||||
<Layout OpenWrt>
|
||||
prefix: /usr
|
||||
exec_prefix: ${prefix}
|
||||
bindir: ${prefix}/bin
|
||||
sbindir: ${prefix}/sbin
|
||||
libdir: ${prefix}/lib
|
||||
libexecdir: ${prefix}/lib+
|
||||
mandir: ${prefix}/share/man
|
||||
sysconfdir: /etc+
|
||||
datadir: ${prefix}/share+
|
||||
installbuilddir: ${datadir}/build
|
||||
errordir: ${datadir}/error
|
||||
iconsdir: ${datadir}/icons
|
||||
htdocsdir: ${datadir}/htdocs
|
||||
manualdir: /usr/share/doc/apache2/manual
|
||||
cgidir: ${datadir}/cgi-bin
|
||||
includedir: ${prefix}/include+
|
||||
localstatedir: /var
|
||||
runtimedir: ${localstatedir}/run+
|
||||
logfiledir: ${localstatedir}/log+
|
||||
proxycachedir: ${localstatedir}/cache/apache2
|
||||
</Layout>
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
Index: httpd-2.4.25/build/mkconfNW.awk
|
||||
===================================================================
|
||||
--- httpd-2.4.25.orig/build/mkconfNW.awk
|
||||
+++ httpd-2.4.25/build/mkconfNW.awk
|
||||
@@ -23,7 +23,7 @@ BEGIN {
|
||||
A["sysconfdir"] = "conf"
|
||||
A["iconsdir"] = "icons"
|
||||
A["manualdir"] = "manual"
|
||||
- A["runtimedir"] = "logs"
|
||||
+ A["runtimedir"] = "log"
|
||||
A["errordir"] = "error"
|
||||
A["proxycachedir"] = "proxy"
|
||||
|
||||
Index: httpd-2.4.25/config.layout
|
||||
===================================================================
|
||||
--- httpd-2.4.25.orig/config.layout
|
||||
+++ httpd-2.4.25/config.layout
|
||||
@@ -28,8 +28,8 @@
|
||||
cgidir: ${datadir}/cgi-bin
|
||||
includedir: ${prefix}/include
|
||||
localstatedir: ${prefix}
|
||||
- runtimedir: ${localstatedir}/logs
|
||||
- logfiledir: ${localstatedir}/logs
|
||||
+ runtimedir: ${localstatedir}/log
|
||||
+ logfiledir: ${localstatedir}/log
|
||||
proxycachedir: ${localstatedir}/proxy
|
||||
</Layout>
|
||||
|
||||
@@ -174,7 +174,7 @@
|
||||
includedir: ${prefix}/include
|
||||
localstatedir: /var${prefix}
|
||||
runtimedir: ${localstatedir}/run
|
||||
- logfiledir: ${localstatedir}/logs
|
||||
+ logfiledir: ${localstatedir}/log
|
||||
proxycachedir: ${localstatedir}/proxy
|
||||
</Layout>
|
||||
|
11
net/apache/patches/004-fix-scoreboard-location.patch
Normal file
11
net/apache/patches/004-fix-scoreboard-location.patch
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- a/include/scoreboard.h
|
||||
+++ b/include/scoreboard.h
|
||||
@@ -40,7 +40,7 @@ extern "C" {
|
||||
|
||||
/* Scoreboard file, if there is one */
|
||||
#ifndef DEFAULT_SCOREBOARD
|
||||
-#define DEFAULT_SCOREBOARD "logs/apache_runtime_status"
|
||||
+#define DEFAULT_SCOREBOARD "log/apache2/apache_runtime_status"
|
||||
#endif
|
||||
|
||||
/* Scoreboard info on a process is, for now, kept very brief ---
|
|
@ -1,13 +0,0 @@
|
|||
Index: httpd-2.4.25/include/scoreboard.h
|
||||
===================================================================
|
||||
--- httpd-2.4.25.orig/include/scoreboard.h
|
||||
+++ httpd-2.4.25/include/scoreboard.h
|
||||
@@ -40,7 +40,7 @@ extern "C" {
|
||||
|
||||
/* Scoreboard file, if there is one */
|
||||
#ifndef DEFAULT_SCOREBOARD
|
||||
-#define DEFAULT_SCOREBOARD "logs/apache_runtime_status"
|
||||
+#define DEFAULT_SCOREBOARD "log/apache_runtime_status"
|
||||
#endif
|
||||
|
||||
/* Scoreboard info on a process is, for now, kept very brief ---
|
Loading…
Reference in a new issue