git: Override uname result for cross-compilation. 9795/head
authorJakub Piotr Cłapa <jpc@loee.pl>
Tue, 31 Oct 2017 12:16:49 +0000 (13:16 +0100)
committerJakub Piotr Cłapa <jpc@loee.pl>
Thu, 22 Aug 2019 10:42:18 +0000 (12:42 +0200)
Based on: http://lists.busybox.net/pipermail/buildroot/2016-May/161696.html

Signed-off-by: Mauro Condarelli <mc5686@mclink.it>
Signed-off-by: Jakub Piotr Cłapa <jpc@loee.pl>
net/git/Makefile
net/git/patches/310-fix-uname-detection-for-crosscompiling [new file with mode: 0644]

index 2c8bc98cdecaac9e15c0f5db963ecd95f88aae1c..57ba817eb90cccda0e1b786119e8ca042b65641f 100644 (file)
@@ -87,7 +87,8 @@ MAKE_FLAGS := \
        GITWEB_JS="/gitweb/gitweb.js" \
        GITWEB_CSS="/gitweb/gitweb.css" \
        GITWEB_LOGO="/gitweb/gitweb-logo.png" \
-       GITWEB_FAVICON="/gitweb/gitweb-favicon.png"
+       GITWEB_FAVICON="/gitweb/gitweb-favicon.png" \
+       uname_S="Linux" \
 
 CONFIGURE_ARGS += \
        --without-iconv \
diff --git a/net/git/patches/310-fix-uname-detection-for-crosscompiling b/net/git/patches/310-fix-uname-detection-for-crosscompiling
new file mode 100644 (file)
index 0000000..3831958
--- /dev/null
@@ -0,0 +1,44 @@
+From 9dcf7e679c441b877b63ff8e6dfc3865af6c6720 Mon Sep 17 00:00:00 2001
+From: Mauro Condarelli <mc5686 at mclink.it>
+Date: Sun, 22 May 2016 20:44:26 +0200
+Subject: [PATCH 1/1] Fix config.mak.uname to allow cross-compilation
+
+Current implementation imperatively sets variables from "uname" output.
+This breaks cross-compilation because uname is run on host while target
+configuration may be different.
+
+Make current behavior a non-imperative default, so it's possible to
+force different values setting make variables.
+
+To cross-compile it will be necessary to explicitly set the various
+uname_X variables to values compatible with target.
+No change is needed with normal host compilation.
+Patch is trivial.
+
+Signed-off-by: Mauro Condarelli <mc5686 at mclink.it>
+---
+ config.mak.uname | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/config.mak.uname b/config.mak.uname
+index 40d6b29..d933b23 100644
+--- a/config.mak.uname
++++ b/config.mak.uname
+@@ -1,11 +1,11 @@
+ # Platform specific Makefile tweaks based on uname detection
+-uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
+-uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not')
+-uname_O := $(shell sh -c 'uname -o 2>/dev/null || echo not')
+-uname_R := $(shell sh -c 'uname -r 2>/dev/null || echo not')
+-uname_P := $(shell sh -c 'uname -p 2>/dev/null || echo not')
+-uname_V := $(shell sh -c 'uname -v 2>/dev/null || echo not')
++uname_S ?= $(shell sh -c 'uname -s 2>/dev/null || echo not')
++uname_M ?= $(shell sh -c 'uname -m 2>/dev/null || echo not')
++uname_O ?= $(shell sh -c 'uname -o 2>/dev/null || echo not')
++uname_R ?= $(shell sh -c 'uname -r 2>/dev/null || echo not')
++uname_P ?= $(shell sh -c 'uname -p 2>/dev/null || echo not')
++uname_V ?= $(shell sh -c 'uname -v 2>/dev/null || echo not')
+ ifdef MSVC
+   # avoid the MingW and Cygwin configuration sections