From: Felix Fietkau <nbd@openwrt.org>
Date: Mon, 29 Feb 2016 20:12:25 +0000 (+0000)
Subject: buildroot: improve git submodule handling for packages
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=59121fdd69f04ae766069944d10eacb2a4286316;p=openwrt%2Fsvn-archive%2Fopenwrt.git

buildroot: improve git submodule handling for packages

Move the `--recursive` switch from `git clone` to `git submodule`
so that submodules are cloned for upstream branches where the
PKG_SOURCE_VERSION commit-ish has a different .gitmodules
configuration than the repository default.

This is, for example, required when the master branch for a source
package does not use submodules, but its topic branch for OpenWRT
does.

This changes the buildroot dependency from git-1.6.2 to git 1.7.12.2,
which was released September 2012.

Signed-off-by: Darik Horn <dajhorn@vanadac.com>
Signed-off-by: Karl Palsson <karlp@tweak.net.au>

SVN-Revision: 48830
---

diff --git a/include/download.mk b/include/download.mk
index 988542f95a..63af908114 100644
--- a/include/download.mk
+++ b/include/download.mk
@@ -90,8 +90,9 @@ define DownloadMethod/git
 		cd $(TMP_DIR)/dl && \
 		rm -rf $(SUBDIR) && \
 		[ \! -d $(SUBDIR) ] && \
-		git clone $(URL) $(SUBDIR) --recursive && \
-		(cd $(SUBDIR) && git checkout $(VERSION) && git submodule update) && \
+		git clone $(URL) $(SUBDIR) && \
+		(cd $(SUBDIR) && git checkout $(VERSION) && \
+		git submodule update --init --recursive) && \
 		echo "Packing checkout..." && \
 		rm -rf $(SUBDIR)/.git && \
 		$(call dl_pack,$(TMP_DIR)/dl/$(FILE),$(SUBDIR)) && \
diff --git a/include/prereq-build.mk b/include/prereq-build.mk
index bcb2103047..23a5b932ed 100644
--- a/include/prereq-build.mk
+++ b/include/prereq-build.mk
@@ -154,8 +154,8 @@ $(eval $(call SetupHostCommand,python,Please install Python 2.x, \
 $(eval $(call SetupHostCommand,svn,Please install the Subversion client, \
 	svn --version | grep Subversion))
 
-$(eval $(call SetupHostCommand,git,Please install Git (git-core) >= 1.6.5, \
-	git clone 2>&1 | grep -- --recursive))
+$(eval $(call SetupHostCommand,git,Please install Git (git-core) >= 1.7.12.2, \
+	git submodule update --help 2>&1 | grep -- --recursive))
 
 $(eval $(call SetupHostCommand,file,Please install the 'file' package, \
 	file --version 2>&1 | grep file))