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
|
endef
|
||||||
|
|
||||||
define Package/apache/conffiles
|
define Package/apache/conffiles
|
||||||
/etc/apache/httpd.conf
|
/etc/apache2/httpd.conf
|
||||||
/etc/apache/extra/httpd-autoindex.conf
|
/etc/apache2/extra/httpd-autoindex.conf
|
||||||
/etc/apache/extra/httpd-dav.conf
|
/etc/apache2/extra/httpd-dav.conf
|
||||||
/etc/apache/extra/httpd-default.conf
|
/etc/apache2/extra/httpd-default.conf
|
||||||
/etc/apache/extra/httpd-info.conf
|
/etc/apache2/extra/httpd-info.conf
|
||||||
/etc/apache/extra/httpd-languages.conf
|
/etc/apache2/extra/httpd-languages.conf
|
||||||
/etc/apache/extra/httpd-manual.conf
|
/etc/apache2/extra/httpd-manual.conf
|
||||||
/etc/apache/extra/httpd-mpm.conf
|
/etc/apache2/extra/httpd-mpm.conf
|
||||||
/etc/apache/extra/httpd-multilang-errordoc.conf
|
/etc/apache2/extra/httpd-multilang-errordoc.conf
|
||||||
/etc/apache/extra/httpd-ssl.conf
|
/etc/apache2/extra/httpd-ssl.conf
|
||||||
/etc/apache/extra/httpd-userdir.conf
|
/etc/apache2/extra/httpd-userdir.conf
|
||||||
/etc/apache/extra/httpd-vhosts.conf
|
/etc/apache2/extra/httpd-vhosts.conf
|
||||||
/etc/apache/magic
|
/etc/apache2/magic
|
||||||
/etc/apache/mime.types
|
/etc/apache2/mime.types
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/apache-icons
|
define Package/apache-icons
|
||||||
|
@ -111,35 +111,40 @@ $(call Package/apache/Default/description)
|
||||||
This package contains the icons from Apache.
|
This package contains the icons from Apache.
|
||||||
endef
|
endef
|
||||||
|
|
||||||
TARGET_CFLAGS += $(FPIC) -Wno-error
|
CONFIGURE_ARGS+= \
|
||||||
TARGET_CPPFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
|
--datadir=/usr/share/apache2 \
|
||||||
TARGET_LDFLAGS += -lpthread
|
--disable-authnz-ldap \
|
||||||
|
--disable-imagemap \
|
||||||
define Build/Configure
|
--disable-ldap \
|
||||||
$(call Build/Configure/Default, \
|
--disable-luajit \
|
||||||
--with-apr="$(STAGING_DIR)/usr/bin/apr-1-config" \
|
--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-util="$(STAGING_DIR)/usr/bin/apu-1-config" \
|
||||||
--with-pcre="$(STAGING_DIR)/usr/bin/pcre-config" \
|
--with-apr="$(STAGING_DIR)/usr/bin/apr-1-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=prefork \
|
||||||
--with-mpm=worker \
|
--with-pcre="$(STAGING_DIR)/usr/bin/pcre-config" \
|
||||||
--enable-mime-magic \
|
--with-ssl
|
||||||
--without-suexec-bin \
|
|
||||||
--sysconfdir=/etc/apache \
|
CONFIGURE_VARS += \
|
||||||
ap_cv_void_ptr_lt_long=no \
|
ap_cv_void_ptr_lt_long=no
|
||||||
logfiledir="/var/log" \
|
|
||||||
runtimedir="/var/run" \
|
define Build/Prepare
|
||||||
EXTRA_LIBS="-ldl -lpthread -lcrypto -lrt -lssl" \
|
$(call Build/Prepare/Default)
|
||||||
)
|
$(INSTALL_DATA) ./files/openwrt.layout $(PKG_BUILD_DIR)/config.layout
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Build/InstallDev
|
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