summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@windriver.com>2019-01-23 10:28:17 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-01-24 17:45:49 +0000
commit9238a725897e8ec18079c46f80edb9f2248133fc (patch)
tree9559c0e8f2bea451f331be215c54015bb39d222b /bitbake/lib/bb
parentb51ccdbda8949d37254198417227ccb583328ebd (diff)
downloadpoky-9238a725897e8ec18079c46f80edb9f2248133fc.tar.gz
bitbake: gitsm.py: Fix relative URLs
Prior code happened to work with relative URLs, when the code was recently restructured it caused all relative urls to no longer work. Restore the prior code flow for relative support and better comment why that code is there. (Bitbake rev: 14bb383af0ca98e0e04ec217e537b6a899f3658e) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb')
-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