summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bitbake/lib/bb/fetch2/gitsm.py11
-rw-r--r--bitbake/lib/bb/tests/fetch.py4
2 files changed, 8 insertions, 7 deletions
diff --git a/bitbake/lib/bb/fetch2/gitsm.py b/bitbake/lib/bb/fetch2/gitsm.py
index 86198ee6cd..faffb4c77e 100644
--- a/bitbake/lib/bb/fetch2/gitsm.py
+++ b/bitbake/lib/bb/fetch2/gitsm.py
@@ -98,6 +98,12 @@ class GitSM(Git):
98 uris[m] = md['url'] 98 uris[m] = md['url']
99 subrevision[m] = module_hash.split()[2] 99 subrevision[m] = module_hash.split()[2]
100 100
101 # Convert relative to absolute uri based on parent uri
102 if uris[m].startswith('..'):
103 newud = copy.copy(ud)
104 newud.path = os.path.realpath(os.path.join(newud.path, uris[m]))
105 uris[m] = Git._get_repo_url(self, newud)
106
101 for module in submodules: 107 for module in submodules:
102 # Translate the module url into a SRC_URI 108 # Translate the module url into a SRC_URI
103 109
@@ -120,11 +126,6 @@ class GitSM(Git):
120 # This has to be a file reference 126 # This has to be a file reference
121 proto = "file" 127 proto = "file"
122 url = "gitsm://" + uris[module] 128 url = "gitsm://" + uris[module]
123 if uris[module].startswith('..'):
124 # Local on disk relative reference
125 newud = copy.copy(ud)
126 newud.path = os.path.realpath(os.path.join(newud.path, md['url']))
127 url = "gitsm://" + Git._get_repo_url(self, newud)
128 129
129 url += ';protocol=%s' % proto 130 url += ';protocol=%s' % proto
130 url += ";name=%s" % module 131 url += ";name=%s" % module
diff --git a/bitbake/lib/bb/tests/fetch.py b/bitbake/lib/bb/tests/fetch.py
index 1497a3cff7..de3b0ce7bb 100644
--- a/bitbake/lib/bb/tests/fetch.py
+++ b/bitbake/lib/bb/tests/fetch.py
@@ -894,9 +894,9 @@ class FetcherNetworkTest(FetcherTest):
894 @skipIfNoNetwork() 894 @skipIfNoNetwork()
895 def test_git_submodule(self): 895 def test_git_submodule(self):
896 # URL with ssh submodules 896 # URL with ssh submodules
897 url = "gitsm://git.yoctoproject.org/git-submodule-test;branch=ssh-gitsm-tests;rev=f53765f515e0eeca569ed385bb1c89ce008bb058" 897 url = "gitsm://git.yoctoproject.org/git-submodule-test;branch=ssh-gitsm-tests;rev=049da4a6cb198d7c0302e9e8b243a1443cb809a7"
898 # Original URL (comment this if you have ssh access to git.yoctoproject.org) 898 # Original URL (comment this if you have ssh access to git.yoctoproject.org)
899 url = "gitsm://git.yoctoproject.org/git-submodule-test;branch=master;rev=132fea6e4dee56b61bcf5721c94e8b2445c6a017" 899 url = "gitsm://git.yoctoproject.org/git-submodule-test;branch=master;rev=a2885dd7d25380d23627e7544b7bbb55014b16ee"
900 fetcher = bb.fetch.Fetch([url], self.d) 900 fetcher = bb.fetch.Fetch([url], self.d)
901 fetcher.download() 901 fetcher.download()
902 # Previous cwd has been deleted 902 # Previous cwd has been deleted