apache: bump to 2.4.41 & sync with master

This is a squash of the following cherry-picked commits:

14f4f0bef0
4e6bdd8a49
c8aba5113b
2d188fd37f
31e0d618e5
39e68309e8
a1472254db
d6476f30bb
258967b0d2
e94a08298e
6bd63d24f0
66bb68a7b6
d44ad09fcd

Short summary:

- version is bumped to 2.4.41
- httpd is renamed to apache2 to avoid overwriting of other servers (for
  instance busybox's httpd)
- the name apache2 is now also used for directories, for instance
  /etc/apache2 instead of /etc/apache
- a simple init script it added (/etc/init.d/apache2)
- a user "apache" is added upon package installation and used by default
- adds the Apache modules (in the main package as well as in additional
  packages)
- Makefile and patches are updated and cleaned
- adds myself as maintainer
- improves the cross-compile setup (via configure variables, patches &
  sed scripts)
- apxs is fixed up so that external modules can be added easily

For more details please check the individual commits provided above.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This commit is contained in:
Sebastian Kemper
2020-02-08 22:00:48 +01:00
parent 4cba41ac1d
commit 623ae46141
12 changed files with 434 additions and 309 deletions
-14
View File
@@ -1,14 +0,0 @@
--- a/server/Makefile.in
+++ b/server/Makefile.in
@@ -29,7 +29,10 @@ gen_test_char: $(gen_test_char_OBJECTS)
$(LINK) $(EXTRA_LDFLAGS) $(gen_test_char_OBJECTS) $(EXTRA_LIBS)
test_char.h: gen_test_char
- ./gen_test_char > test_char.h
+ true
+# ./gen_test_char > test_char.h
+# doesn't matter if you run it on the buildhost or on an wl500gd,
+# same output on both, so i just patched in the test_char.h :).
util.lo: test_char.h
@@ -0,0 +1,57 @@
Fix cross-compilation
Fetched httpd-2.4.x-cross_compile.diff from upstream bugtracker:
https://issues.apache.org/bugzilla/show_bug.cgi?id=51257#c6
which is a bundle of upstream revisions:
http://svn.apache.org/viewvc?view=revision&revision=1327907
http://svn.apache.org/viewvc?view=revision&revision=1328390
http://svn.apache.org/viewvc?view=revision&revision=1328714
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
--- a/server/Makefile.in
+++ b/server/Makefile.in
@@ -24,9 +24,14 @@ TARGETS = delete-exports $(LTLIBRARY_NAM
include $(top_builddir)/build/rules.mk
include $(top_srcdir)/build/library.mk
+ifdef CC_FOR_BUILD
+gen_test_char: gen_test_char.c
+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -DCROSS_COMPILE -o $@ $<
+else
gen_test_char_OBJECTS = gen_test_char.lo
gen_test_char: $(gen_test_char_OBJECTS)
$(LINK) $(EXTRA_LDFLAGS) $(gen_test_char_OBJECTS) $(EXTRA_LIBS)
+endif
test_char.h: gen_test_char
./gen_test_char > test_char.h
--- a/configure.in
+++ b/configure.in
@@ -206,6 +206,14 @@ AC_PROG_CPP
dnl Try to get c99 support for variadic macros
ifdef([AC_PROG_CC_C99], [AC_PROG_CC_C99])
+dnl In case of cross compilation we set CC_FOR_BUILD to cc unless
+dnl we got already CC_FOR_BUILD from environment.
+if test "x${build_alias}" != "x${host_alias}"; then
+ if test "x${CC_FOR_BUILD}" = "x"; then
+ CC_FOR_BUILD=cc
+ fi
+fi
+
if test "x${cache_file}" = "x/dev/null"; then
# Likewise, ensure that CC and CPP are passed through to the pcre
# configure script iff caching is disabled (the autoconf 2.5x default).
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -55,6 +55,8 @@ AC_DEFUN([APACHE_GEN_CONFIG_VARS],[
APACHE_SUBST(CPPFLAGS)
APACHE_SUBST(CFLAGS)
APACHE_SUBST(CXXFLAGS)
+ APACHE_SUBST(CC_FOR_BUILD)
+ APACHE_SUBST(CFLAGS_FOR_BUILD)
APACHE_SUBST(LTFLAGS)
APACHE_SUBST(LDFLAGS)
APACHE_SUBST(LT_LDFLAGS)
-49
View File
@@ -1,49 +0,0 @@
Index: httpd-2.4.25/server/test_char.h
===================================================================
--- /dev/null
+++ httpd-2.4.25/server/test_char.h
@@ -0,0 +1,23 @@
+/* this file is automatically generated by gen_test_char, do not edit */
+#define T_ESCAPE_SHELL_CMD (1)
+#define T_ESCAPE_PATH_SEGMENT (2)
+#define T_OS_ESCAPE_PATH (4)
+#define T_HTTP_TOKEN_STOP (8)
+#define T_ESCAPE_LOGITEM (16)
+#define T_ESCAPE_FORENSIC (32)
+
+static const unsigned char test_char_table[256] = {
+ 32,62,62,62,62,62,62,62,62,62,63,62,62,62,62,62,62,62,62,62,
+ 62,62,62,62,62,62,62,62,62,62,62,62,14,0,23,6,1,38,1,1,
+ 9,9,1,0,8,0,0,10,0,0,0,0,0,0,0,0,0,0,40,15,
+ 15,8,15,15,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,15,31,15,7,0,7,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,15,39,15,1,62,54,54,54,54,54,54,54,54,54,54,54,54,
+ 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,
+ 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,
+ 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,
+ 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,
+ 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,
+ 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54
+};
Index: httpd-2.4.25/server/util.c
===================================================================
--- httpd-2.4.25.orig/server/util.c
+++ httpd-2.4.25/server/util.c
@@ -96,6 +96,16 @@
#undef APLOG_MODULE_INDEX
#define APLOG_MODULE_INDEX AP_CORE_MODULE_INDEX
+#define T_ESCAPE_SHELL_CMD (0x01)
+#define T_ESCAPE_PATH_SEGMENT (0x02)
+#define T_OS_ESCAPE_PATH (0x04)
+#define T_HTTP_TOKEN_STOP (0x08)
+#define T_ESCAPE_LOGITEM (0x10)
+#define T_ESCAPE_FORENSIC (0x20)
+#define T_ESCAPE_URLENCODED (0x40)
+#define T_HTTP_CTRLS (0x80)
+#define T_VCHAR_OBSTEXT (0x100)
+
/*
* Examine a field value (such as a media-/content-type) string and return
* it sans any parameters; e.g., strip off any ';charset=foo' and the like.
-37
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>
@@ -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 ---
-13
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 ---
+5 -55
View File
@@ -1,63 +1,13 @@
Index: httpd-2.4.25/docs/conf/httpd.conf.in
===================================================================
--- httpd-2.4.25.orig/docs/conf/httpd.conf.in
+++ httpd-2.4.25/docs/conf/httpd.conf.in
@@ -63,7 +63,6 @@ Listen @@Port@@
# Example:
# LoadModule foo_module modules/mod_foo.so
#
-@@LoadModule@@
<IfModule unixd_module>
#
@@ -74,8 +73,8 @@ Listen @@Port@@
--- a/docs/conf/httpd.conf.in
+++ b/docs/conf/httpd.conf.in
@@ -74,8 +74,8 @@ Listen @@Port@@
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
-User daemon
-Group daemon
+User nobody
+Group nogroup
+User apache
+Group apache
</IfModule>
@@ -188,7 +187,7 @@ ErrorLog "@rel_logfiledir@/error_log"
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
#
-LogLevel warn
+LogLevel debug
<IfModule log_config_module>
#
@@ -330,7 +329,7 @@ LogLevel warn
# contents of the file itself to determine its type. The MIMEMagicFile
# directive tells the module where the hint definitions are located.
#
-#MIMEMagicFile @rel_sysconfdir@/magic
+MIMEMagicFile @rel_sysconfdir@/magic
#
# Customizable error responses come in three flavors:
@@ -360,7 +359,7 @@ LogLevel warn
# Defaults: EnableMMAP On, EnableSendfile Off
#
#EnableMMAP off
-#EnableSendfile on
+EnableSendfile off
# Supplemental configuration
#
@@ -411,8 +410,8 @@ Include @rel_sysconfdir@/extra/proxy-htm
# starting without SSL on platforms with no /dev/random equivalent
# but a statically compiled-in mod_ssl.
#
-<IfModule ssl_module>
-SSLRandomSeed startup builtin
-SSLRandomSeed connect builtin
-</IfModule>
+#<IfModule ssl_module>
+#SSLRandomSeed startup builtin
+#SSLRandomSeed connect builtin
+#</IfModule>
@@ -5,10 +5,8 @@ Author: Jean-Michel Vourgère <nirgal@debian.org>
Forwarded: no
Last-Update: 2015-08-11
Index: apache2/server/buildmark.c
===================================================================
--- apache2.orig/server/buildmark.c
+++ apache2/server/buildmark.c
--- a/server/buildmark.c
+++ b/server/buildmark.c
@@ -17,11 +17,7 @@
#include "ap_config.h"
#include "httpd.h"
@@ -22,16 +20,14 @@ Index: apache2/server/buildmark.c
AP_DECLARE(const char *) ap_get_server_built()
{
Index: apache2/server/Makefile.in
===================================================================
--- apache2.orig/server/Makefile.in
+++ apache2/server/Makefile.in
--- a/server/Makefile.in
+++ b/server/Makefile.in
@@ -1,3 +1,4 @@
+export LC_ALL = C
CLEAN_TARGETS = gen_test_char test_char.h \
ApacheCoreOS2.def httpd.exp export_files \
@@ -85,8 +86,8 @@ httpd.exp: exports.c export_vars.h
@@ -87,8 +88,8 @@ httpd.exp: exports.c export_vars.h
@echo "#! ." > $@
@echo "* This file was AUTOGENERATED at build time." >> $@
@echo "* Please do not edit by hand." >> $@