Browse Source

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>
lilik-openwrt-22.03
Sebastian Kemper 5 years ago
parent
commit
4e6bdd8a49
5 changed files with 83 additions and 93 deletions
  1. +48
    -43
      net/apache/Makefile
  2. +24
    -0
      net/apache/files/openwrt.layout
  3. +0
    -37
      net/apache/patches/003-logdir_fix.patch
  4. +11
    -0
      net/apache/patches/004-fix-scoreboard-location.patch
  5. +0
    -13
      net/apache/patches/004-pidfile_fix.patch

+ 48
- 43
net/apache/Makefile View File

@ -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
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_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
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
- 0
net/apache/files/openwrt.layout View 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>

+ 0
- 37
net/apache/patches/003-logdir_fix.patch View File

@ -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
- 0
net/apache/patches/004-fix-scoreboard-location.patch View 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 ---

+ 0
- 13
net/apache/patches/004-pidfile_fix.patch View File

@ -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…
Cancel
Save