summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bitbake/lib/bb/fetch2/__init__.py16
-rw-r--r--bitbake/lib/bb/fetch2/local.py8
-rw-r--r--bitbake/lib/bb/tests/fetch.py2
3 files changed, 8 insertions, 18 deletions
diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py
index c1523fc1c1..0fb718b23e 100644
--- a/bitbake/lib/bb/fetch2/__init__.py
+++ b/bitbake/lib/bb/fetch2/__init__.py
@@ -1222,25 +1222,21 @@ def get_checksum_file_list(d):
1222 SRC_URI as a space-separated string 1222 SRC_URI as a space-separated string
1223 """ 1223 """
1224 fetch = Fetch([], d, cache = False, localonly = True) 1224 fetch = Fetch([], d, cache = False, localonly = True)
1225
1226 dl_dir = d.getVar('DL_DIR')
1227 filelist = [] 1225 filelist = []
1228 for u in fetch.urls: 1226 for u in fetch.urls:
1229 ud = fetch.ud[u] 1227 ud = fetch.ud[u]
1230
1231 if ud and isinstance(ud.method, local.Local): 1228 if ud and isinstance(ud.method, local.Local):
1229 found = False
1232 paths = ud.method.localpaths(ud, d) 1230 paths = ud.method.localpaths(ud, d)
1233 for f in paths: 1231 for f in paths:
1234 pth = ud.decodedurl 1232 pth = ud.decodedurl
1235 if f.startswith(dl_dir): 1233 if os.path.exists(f):
1236 # The local fetcher's behaviour is to return a path under DL_DIR if it couldn't find the file anywhere else 1234 found = True
1237 if os.path.exists(f): 1235 filelist.append(f + ":" + str(os.path.exists(f)))
1238 bb.warn("Getting checksum for %s SRC_URI entry %s: file not found except in DL_DIR" % (d.getVar('PN'), os.path.basename(f))) 1236 if not found:
1239 else: 1237 bb.fatal(("Unable to get checksum for %s SRC_URI entry %s: file could not be found"
1240 bb.fatal(("Unable to get checksum for %s SRC_URI entry %s: file could not be found"
1241 "\nThe following paths were searched:" 1238 "\nThe following paths were searched:"
1242 "\n%s") % (d.getVar('PN'), os.path.basename(f), '\n'.join(paths))) 1239 "\n%s") % (d.getVar('PN'), os.path.basename(f), '\n'.join(paths)))
1243 filelist.append(f + ":" + str(os.path.exists(f)))
1244 1240
1245 return " ".join(filelist) 1241 return " ".join(filelist)
1246 1242
diff --git a/bitbake/lib/bb/fetch2/local.py b/bitbake/lib/bb/fetch2/local.py
index e7d1c8c58f..0bb987c644 100644
--- a/bitbake/lib/bb/fetch2/local.py
+++ b/bitbake/lib/bb/fetch2/local.py
@@ -57,12 +57,6 @@ class Local(FetchMethod):
57 logger.debug2("Searching for %s in paths:\n %s" % (path, "\n ".join(filespath.split(":")))) 57 logger.debug2("Searching for %s in paths:\n %s" % (path, "\n ".join(filespath.split(":"))))
58 newpath, hist = bb.utils.which(filespath, path, history=True) 58 newpath, hist = bb.utils.which(filespath, path, history=True)
59 searched.extend(hist) 59 searched.extend(hist)
60 if not os.path.exists(newpath):
61 dldirfile = os.path.join(d.getVar("DL_DIR"), path)
62 logger.debug2("Defaulting to %s for %s" % (dldirfile, path))
63 bb.utils.mkdirhier(os.path.dirname(dldirfile))
64 searched.append(dldirfile)
65 return searched
66 return searched 60 return searched
67 61
68 def need_update(self, ud, d): 62 def need_update(self, ud, d):
@@ -78,8 +72,6 @@ class Local(FetchMethod):
78 filespath = d.getVar('FILESPATH') 72 filespath = d.getVar('FILESPATH')
79 if filespath: 73 if filespath:
80 locations = filespath.split(":") 74 locations = filespath.split(":")
81 locations.append(d.getVar("DL_DIR"))
82
83 msg = "Unable to find file " + urldata.url + " anywhere. The paths that were searched were:\n " + "\n ".join(locations) 75 msg = "Unable to find file " + urldata.url + " anywhere. The paths that were searched were:\n " + "\n ".join(locations)
84 raise FetchError(msg) 76 raise FetchError(msg)
85 77
diff --git a/bitbake/lib/bb/tests/fetch.py b/bitbake/lib/bb/tests/fetch.py
index 20d7953f35..7fcf57e7ea 100644
--- a/bitbake/lib/bb/tests/fetch.py
+++ b/bitbake/lib/bb/tests/fetch.py
@@ -468,6 +468,7 @@ class MirrorUriTest(FetcherTest):
468 "http://.*/.* file:///someotherpath/downloads/" 468 "http://.*/.* file:///someotherpath/downloads/"
469 469
470 def test_urireplace(self): 470 def test_urireplace(self):
471 self.d.setVar("FILESPATH", ".")
471 for k, v in self.replaceuris.items(): 472 for k, v in self.replaceuris.items():
472 ud = bb.fetch.FetchData(k[0], self.d) 473 ud = bb.fetch.FetchData(k[0], self.d)
473 ud.setup_localpath(self.d) 474 ud.setup_localpath(self.d)
@@ -925,6 +926,7 @@ class FetcherNetworkTest(FetcherTest):
925 926
926 @skipIfNoNetwork() 927 @skipIfNoNetwork()
927 def test_fetch_file_mirror_of_mirror(self): 928 def test_fetch_file_mirror_of_mirror(self):
929 self.d.setVar("FILESPATH", ".")
928 self.d.setVar("MIRRORS", "http://.*/.* file:///some1where/ file:///some1where/.* file://some2where/ file://some2where/.* https://downloads.yoctoproject.org/releases/bitbake") 930 self.d.setVar("MIRRORS", "http://.*/.* file:///some1where/ file:///some1where/.* file://some2where/ file://some2where/.* https://downloads.yoctoproject.org/releases/bitbake")
929 fetcher = bb.fetch.Fetch(["http://invalid.yoctoproject.org/releases/bitbake/bitbake-1.0.tar.gz"], self.d) 931 fetcher = bb.fetch.Fetch(["http://invalid.yoctoproject.org/releases/bitbake/bitbake-1.0.tar.gz"], self.d)
930 os.mkdir(self.dldir + "/some2where") 932 os.mkdir(self.dldir + "/some2where")