[oe-commits] [bitbake] 02/02: fetch/gitsm: avoid live submodule fetching during unpack()

git at git.openembedded.org git at git.openembedded.org
Fri May 11 06:55:58 UTC 2018


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch master-next
in repository bitbake.

commit fc2837aeaeb76fd4dd8b4b6eb1e466da7079c61b
Author: Matt Hoosier <matt.hoosier at gmail.com>
AuthorDate: Wed May 9 21:33:57 2018 -0500

    fetch/gitsm: avoid live submodule fetching during unpack()
    
    Although the submodules' histories have been fetched during the
    do_fetch() phase, the mechanics used to clone the workdir copy
    of the repo haven't been transferring the actual .git/modules
    directory from the repo fetched into downloads/ during the
    fetch task.
    
    Fix that, and for good measure also explicitly tell Git to avoid
    hitting the network during do_unpack() of the submodules.
    
    [YOCTO #12739]
    
    Signed-off-by: Matt Hoosier <matt.hoosier at gmail.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 lib/bb/fetch2/gitsm.py | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/lib/bb/fetch2/gitsm.py b/lib/bb/fetch2/gitsm.py
index 0aff100..1f3fc44 100644
--- a/lib/bb/fetch2/gitsm.py
+++ b/lib/bb/fetch2/gitsm.py
@@ -132,4 +132,14 @@ class GitSM(Git):
 
         if self.uses_submodules(ud, d, ud.destdir):
             runfetchcmd(ud.basecmd + " checkout " + ud.revisions[ud.names[0]], d, workdir=ud.destdir)
-            runfetchcmd(ud.basecmd + " submodule update --init --recursive", d, workdir=ud.destdir)
+
+            # Copy over the submodules' fetched histories too.
+            if ud.bareclone:
+                repo_conf = ud.destdir
+            else:
+                repo_conf = os.path.join(ud.destdir, '.git')
+            runfetchcmd("cp -pr %s %s" % (os.path.join(ud.clonedir, 'modules'), repo_conf), d)
+
+            # Careful not to hit the network during unpacking; all history should already
+            # be fetched.
+            runfetchcmd(ud.basecmd + " submodule update --init --recursive --no-fetch", d, workdir=ud.destdir)

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list