initial buildroot for linux 5.15
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
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>
|
||||
|
||||
Index: server/Makefile.in
|
||||
===================================================================
|
||||
--- a/server/Makefile.in (revision 1328714)
|
||||
+++ b/server/Makefile.in (working copy)
|
||||
@@ -22,9 +22,14 @@
|
||||
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
|
||||
Index: configure.in
|
||||
===================================================================
|
||||
--- a/configure.in (revision 1328714)
|
||||
+++ b/configure.in (working copy)
|
||||
@@ -193,6 +193,14 @@
|
||||
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).
|
||||
Index: acinclude.m4
|
||||
===================================================================
|
||||
--- a/acinclude.m4 (revision 1328714)
|
||||
+++ ab/cinclude.m4 (working copy)
|
||||
@@ -53,6 +53,8 @@
|
||||
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)
|
||||
@@ -0,0 +1,18 @@
|
||||
Fix nios2 detection.
|
||||
|
||||
Apache treats nios2 as OS/2.
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
|
||||
diff -uNr httpd-2.4.12.org/configure.in httpd-2.4.12/configure.in
|
||||
--- httpd-2.4.12.org/configure.in 2015-01-22 18:33:07.000000000 +0100
|
||||
+++ httpd-2.4.12/configure.in 2015-04-02 22:01:32.851102219 +0200
|
||||
@@ -268,7 +268,7 @@
|
||||
AC_MSG_NOTICE([])
|
||||
|
||||
case $host in
|
||||
- *os2*)
|
||||
+ *-os2*)
|
||||
# Use a custom made libtool replacement
|
||||
echo "using aplibtool"
|
||||
LIBTOOL="$abs_srcdir/srclib/apr/build/aplibtool"
|
||||
@@ -0,0 +1,48 @@
|
||||
From 00281390e82db18fe0de4033be4045f9391a8ee5 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
Date: Thu, 15 Nov 2018 14:04:29 +0100
|
||||
Subject: [PATCH] server/Makefile.in: handle separate
|
||||
APR_INCLUDE_DIR/APU_INCLUDE_DIR
|
||||
|
||||
If APR_INCLUDEDIR and APU_INCLUDEDIR point to different directories,
|
||||
but for example APU_INCLUDEDIR contains both the apr headers and apu
|
||||
headers, the "export_files" file will contain duplicate header files,
|
||||
causing the exports.c file to contain duplicate definitions, making
|
||||
the build fail.
|
||||
|
||||
This commit fixes that by making sure we only use the apr headers from
|
||||
APR_INCLUDEDIR and the apu headers from the APU_INCLUDEDIR.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
Upstream: https://bz.apache.org/bugzilla/show_bug.cgi?id=62930
|
||||
---
|
||||
server/Makefile.in | 6 ++----
|
||||
1 file changed, 2 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/server/Makefile.in b/server/Makefile.in
|
||||
index 1fa334467d..2258f0bdf2 100644
|
||||
--- a/server/Makefile.in
|
||||
+++ b/server/Makefile.in
|
||||
@@ -34,7 +34,6 @@ test_char.h: gen_test_char
|
||||
util.lo: test_char.h
|
||||
|
||||
EXPORT_DIRS = $(top_srcdir)/include $(top_srcdir)/os/$(OS_DIR)
|
||||
-EXPORT_DIRS_APR = $(APR_INCLUDEDIR) $(APU_INCLUDEDIR)
|
||||
|
||||
# If export_files is a dependency here, but we remove it during this stage,
|
||||
# when exports.c is generated, make will not detect that export_files is no
|
||||
@@ -60,9 +59,8 @@ export_files:
|
||||
ls $$dir/*.h ; \
|
||||
done; \
|
||||
echo "$(top_srcdir)/server/mpm_fdqueue.h"; \
|
||||
- for dir in $(EXPORT_DIRS_APR); do \
|
||||
- ls $$dir/ap[ru].h $$dir/ap[ru]_*.h 2>/dev/null; \
|
||||
- done; \
|
||||
+ ls $(APR_INCLUDE_DIR)/{apr.h,apr_*.h} 2>/dev/null; \
|
||||
+ ls $(APU_INCLUDE_DIR)/{apu.h,apu_*.h} 2>/dev/null; \
|
||||
) | sed -e s,//,/,g | sort -u > $@
|
||||
|
||||
exports.c: export_files
|
||||
--
|
||||
2.19.1
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
config BR2_PACKAGE_APACHE
|
||||
bool "apache"
|
||||
depends on !BR2_STATIC_LIBS
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on BR2_USE_MMU # apr
|
||||
select BR2_PACKAGE_APR_UTIL
|
||||
select BR2_PACKAGE_PCRE
|
||||
help
|
||||
The Apache HTTP Server Project is an effort to develop and
|
||||
maintain an open-source HTTP server for modern operating
|
||||
systems including UNIX and Windows NT. The goal of this
|
||||
project is to provide a secure, efficient and extensible
|
||||
server that provides HTTP services in sync with the current
|
||||
HTTP standards.
|
||||
|
||||
https://httpd.apache.org
|
||||
|
||||
if BR2_PACKAGE_APACHE
|
||||
|
||||
choice
|
||||
prompt "Multi-Processing Module (MPM)"
|
||||
default BR2_PACKAGE_APACHE_MPM_WORKER
|
||||
help
|
||||
Select the Multi-Processing Module (MPM).
|
||||
|
||||
config BR2_PACKAGE_APACHE_MPM_EVENT
|
||||
bool "event"
|
||||
help
|
||||
A variant of the worker MPM with the goal of consuming threads
|
||||
only for connections with active processing
|
||||
|
||||
config BR2_PACKAGE_APACHE_MPM_PREFORK
|
||||
bool "prefork"
|
||||
help
|
||||
Implements a non-threaded, pre-forking web server
|
||||
|
||||
config BR2_PACKAGE_APACHE_MPM_WORKER
|
||||
bool "worker"
|
||||
help
|
||||
Implements a hybrid multi-threaded multi-process web server
|
||||
|
||||
endchoice
|
||||
|
||||
endif
|
||||
|
||||
comment "apache needs a toolchain w/ dynamic library, threads"
|
||||
depends on BR2_USE_MMU
|
||||
depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS
|
||||
@@ -0,0 +1,15 @@
|
||||
#!/bin/sh
|
||||
|
||||
case "$1" in
|
||||
start|restart|graceful|graceful-stop|stop)
|
||||
apachectl -k $1
|
||||
;;
|
||||
reload)
|
||||
apachectl -k restart
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|restart|reload|graceful|graceful-stop|stop}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit $?
|
||||
@@ -0,0 +1,5 @@
|
||||
# From https://downloads.apache.org/httpd/httpd-2.4.51.tar.bz2.{sha256,sha512}
|
||||
sha256 20e01d81fecf077690a4439e3969a9b22a09a8d43c525356e863407741b838f4 httpd-2.4.51.tar.bz2
|
||||
sha512 9fb07c4b176f5c0485a143e2b1bb1085345ca9120b959974f68c37a8911a57894d2cb488b1b42fdf3102860b99e890204f5e9fa7ae3828b481119c563812cc66 httpd-2.4.51.tar.bz2
|
||||
# Locally computed
|
||||
sha256 47b8c2b6c3309282a99d4a3001575c790fead690cc14734628c4667d2bbffc43 LICENSE
|
||||
@@ -0,0 +1,126 @@
|
||||
################################################################################
|
||||
#
|
||||
# apache
|
||||
#
|
||||
################################################################################
|
||||
|
||||
APACHE_VERSION = 2.4.51
|
||||
APACHE_SOURCE = httpd-$(APACHE_VERSION).tar.bz2
|
||||
APACHE_SITE = https://downloads.apache.org/httpd
|
||||
APACHE_LICENSE = Apache-2.0
|
||||
APACHE_LICENSE_FILES = LICENSE
|
||||
APACHE_CPE_ID_VENDOR = apache
|
||||
APACHE_CPE_ID_PRODUCT = http_server
|
||||
APACHE_SELINUX_MODULES = apache
|
||||
# Needed for mod_php
|
||||
APACHE_INSTALL_STAGING = YES
|
||||
# We have a patch touching configure.in and Makefile.in,
|
||||
# so we need to autoreconf:
|
||||
APACHE_AUTORECONF = YES
|
||||
APACHE_DEPENDENCIES = apr apr-util pcre
|
||||
|
||||
ifeq ($(BR2_PER_PACKAGE_DIRECTORIES),y)
|
||||
define APACHE_FIXUP_APR_LIBTOOL
|
||||
$(SED) "s@$(PER_PACKAGE_DIR)/[^/]\+/@$(PER_PACKAGE_DIR)/apache/@g" \
|
||||
$(STAGING_DIR)/usr/build-1/libtool
|
||||
endef
|
||||
APACHE_POST_PREPARE_HOOKS += APACHE_FIXUP_APR_LIBTOOL
|
||||
endif
|
||||
|
||||
APACHE_CONF_ENV= \
|
||||
ap_cv_void_ptr_lt_long=no \
|
||||
PCRE_CONFIG=$(STAGING_DIR)/usr/bin/pcre-config
|
||||
|
||||
ifeq ($(BR2_PACKAGE_APACHE_MPM_EVENT),y)
|
||||
APACHE_MPM = event
|
||||
else ifeq ($(BR2_PACKAGE_APACHE_MPM_PREFORK),y)
|
||||
APACHE_MPM = prefork
|
||||
else ifeq ($(BR2_PACKAGE_APACHE_MPM_WORKER),y)
|
||||
APACHE_MPM = worker
|
||||
endif
|
||||
|
||||
APACHE_CONF_OPTS = \
|
||||
--sysconfdir=/etc/apache2 \
|
||||
--with-apr=$(STAGING_DIR)/usr \
|
||||
--with-apr-util=$(STAGING_DIR)/usr \
|
||||
--with-pcre=$(STAGING_DIR)/usr/bin/pcre-config \
|
||||
--enable-http \
|
||||
--enable-dbd \
|
||||
--enable-proxy \
|
||||
--enable-mime-magic \
|
||||
--without-suexec-bin \
|
||||
--enable-mods-shared=all \
|
||||
--with-mpm=$(APACHE_MPM) \
|
||||
--disable-luajit
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBXML2),y)
|
||||
APACHE_DEPENDENCIES += libxml2
|
||||
# Apache wants the path to the header file, where it can find
|
||||
# <libxml/parser.h>.
|
||||
APACHE_CONF_OPTS += \
|
||||
--enable-xml2enc \
|
||||
--enable-proxy-html \
|
||||
--with-libxml2=$(STAGING_DIR)/usr/include/libxml2
|
||||
else
|
||||
APACHE_CONF_OPTS += \
|
||||
--disable-xml2enc \
|
||||
--disable-proxy-html
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LUA),y)
|
||||
APACHE_CONF_OPTS += --enable-lua
|
||||
APACHE_DEPENDENCIES += lua
|
||||
else
|
||||
APACHE_CONF_OPTS += --disable-lua
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_NGHTTP2),y)
|
||||
APACHE_CONF_OPTS += \
|
||||
--enable-http2 \
|
||||
--with-nghttp2=$(STAGING_DIR)/usr
|
||||
APACHE_DEPENDENCIES += nghttp2
|
||||
else
|
||||
APACHE_CONF_OPTS += --disable-http2
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_OPENSSL),y)
|
||||
APACHE_DEPENDENCIES += openssl
|
||||
APACHE_CONF_OPTS += \
|
||||
--enable-ssl \
|
||||
--with-ssl=$(STAGING_DIR)/usr
|
||||
else
|
||||
APACHE_CONF_OPTS += --disable-ssl
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_ZLIB),y)
|
||||
APACHE_DEPENDENCIES += zlib
|
||||
APACHE_CONF_OPTS += \
|
||||
--enable-deflate \
|
||||
--with-z=$(STAGING_DIR)/usr
|
||||
else
|
||||
APACHE_CONF_OPTS += --disable-deflate
|
||||
endif
|
||||
|
||||
define APACHE_FIX_STAGING_APACHE_CONFIG
|
||||
$(SED) 's%"/usr/bin"%"$(STAGING_DIR)/usr/bin"%' $(STAGING_DIR)/usr/bin/apxs
|
||||
$(SED) 's%/usr/build%$(STAGING_DIR)/usr/build%' $(STAGING_DIR)/usr/bin/apxs
|
||||
$(SED) 's%^prefix =.*%prefix = $(STAGING_DIR)/usr%' $(STAGING_DIR)/usr/build/config_vars.mk
|
||||
endef
|
||||
APACHE_POST_INSTALL_STAGING_HOOKS += APACHE_FIX_STAGING_APACHE_CONFIG
|
||||
|
||||
define APACHE_CLEANUP_TARGET
|
||||
$(RM) -rf $(TARGET_DIR)/usr/manual $(TARGET_DIR)/usr/build
|
||||
endef
|
||||
APACHE_POST_INSTALL_TARGET_HOOKS += APACHE_CLEANUP_TARGET
|
||||
|
||||
define APACHE_INSTALL_INIT_SYSV
|
||||
$(INSTALL) -D -m 0755 package/apache/S50apache \
|
||||
$(TARGET_DIR)/etc/init.d/S50apache
|
||||
endef
|
||||
|
||||
define APACHE_INSTALL_INIT_SYSTEMD
|
||||
$(INSTALL) -D -m 644 package/apache/apache.service \
|
||||
$(TARGET_DIR)/usr/lib/systemd/system/apache.service
|
||||
endef
|
||||
|
||||
$(eval $(autotools-package))
|
||||
@@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=Apache HTTP Server
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
ExecStart=/usr/bin/apachectl start
|
||||
ExecReload=/usr/bin/apachectl graceful
|
||||
ExecStop=/usr/bin/apachectl stop
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Reference in New Issue
Block a user