buildroot: improve git submodule handling for packages
authorFelix Fietkau <nbd@openwrt.org>
Mon, 29 Feb 2016 20:12:25 +0000 (20:12 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Mon, 29 Feb 2016 20:12:25 +0000 (20:12 +0000)
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

include/download.mk
include/prereq-build.mk

index 988542f..63af908 100644 (file)
@@ -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)) && \
index bcb2103..23a5b93 100644 (file)
@@ -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))