Reason:
1) We use mock to build a RPM. Mock does all the SCM-stuff via its plugin.
2) This plugin actually does NOT do a "git submodule update --init --recursive" 
after the branch checkout.
3) This leads to wrong (old) submodule references.
4) Compile error.
---
 py/mockbuild/scm.py | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/py/mockbuild/scm.py b/py/mockbuild/scm.py
index e76293d..dc67bf0 100644
--- a/py/mockbuild/scm.py
+++ b/py/mockbuild/scm.py
@@ -39,6 +39,7 @@ class scmWorker(object):
 
         self.branch = None
         self.postget = None
+        self.afterpostget = None
         if 'branch' in opts:
             self.branch = opts['branch']
         if self.branch:
@@ -46,6 +47,7 @@ class scmWorker(object):
                 self.get = self.get.replace("SCM_BRN", "-r " + self.branch)
             elif self.method == "git":
                 self.postget = "git checkout " + self.branch
+                self.afterpostget = "git submodule update --init --recursive"
             elif self.method == "svn":
                 self.get = self.get.replace("SCM_BRN", self.branch)
             else:
@@ -73,6 +75,7 @@ class scmWorker(object):
 
         self.log.debug("SCM checkout command: " + self.get)
         self.log.debug("SCM checkout post command: " + str(self.postget))
+        self.log.debug("SCM checkout after post command: " + 
str(self.afterpostget))
         self.environ = os.environ.copy()
         # Set HOME properly while checking out from SCM since tools like
         # Subversion might have there settings needed to carry out checkout
@@ -90,6 +93,8 @@ class scmWorker(object):
         mockbuild.util.do(shlex.split(self.get), shell=False, 
cwd=self.wrk_dir, env=self.environ)
         if self.postget:
             mockbuild.util.do(shlex.split(self.postget), shell=False, 
cwd=self.src_dir, env=self.environ)
+        if self.afterpostget:
+            mockbuild.util.do(shlex.split(self.afterpostget), shell=False, 
cwd=self.src_dir, env=self.environ)
         self.log.debug("Fetched sources from SCM")
 
     decorate(traceLog())
-- 
1.9.1

--
buildsys mailing list
[email protected]
https://admin.fedoraproject.org/mailman/listinfo/buildsys

Reply via email to