summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/fetch2/local.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/fetch2/local.py')
-rw-r--r--bitbake/lib/bb/fetch2/local.py15
1 files changed, 3 insertions, 12 deletions
diff --git a/bitbake/lib/bb/fetch2/local.py b/bitbake/lib/bb/fetch2/local.py
index 01d9ff9f8f..25d4557db6 100644
--- a/bitbake/lib/bb/fetch2/local.py
+++ b/bitbake/lib/bb/fetch2/local.py
@@ -17,7 +17,7 @@ import os
17import urllib.request, urllib.parse, urllib.error 17import urllib.request, urllib.parse, urllib.error
18import bb 18import bb
19import bb.utils 19import bb.utils
20from bb.fetch2 import FetchMethod, FetchError 20from bb.fetch2 import FetchMethod, FetchError, ParameterError
21from bb.fetch2 import logger 21from bb.fetch2 import logger
22 22
23class Local(FetchMethod): 23class Local(FetchMethod):
@@ -33,6 +33,8 @@ class Local(FetchMethod):
33 ud.basename = os.path.basename(ud.decodedurl) 33 ud.basename = os.path.basename(ud.decodedurl)
34 ud.basepath = ud.decodedurl 34 ud.basepath = ud.decodedurl
35 ud.needdonestamp = False 35 ud.needdonestamp = False
36 if "*" in ud.decodedurl:
37 raise bb.fetch2.ParameterError("file:// urls using globbing are no longer supported. Please place the files in a directory and reference that instead.", ud.url)
36 return 38 return
37 39
38 def localpath(self, urldata, d): 40 def localpath(self, urldata, d):
@@ -55,12 +57,6 @@ class Local(FetchMethod):
55 logger.debug(2, "Searching for %s in paths:\n %s" % (path, "\n ".join(filespath.split(":")))) 57 logger.debug(2, "Searching for %s in paths:\n %s" % (path, "\n ".join(filespath.split(":"))))
56 newpath, hist = bb.utils.which(filespath, path, history=True) 58 newpath, hist = bb.utils.which(filespath, path, history=True)
57 searched.extend(hist) 59 searched.extend(hist)
58 if (not newpath or not os.path.exists(newpath)) and path.find("*") != -1:
59 # For expressions using '*', best we can do is take the first directory in FILESPATH that exists
60 newpath, hist = bb.utils.which(filespath, ".", history=True)
61 searched.extend(hist)
62 logger.debug(2, "Searching for %s in path: %s" % (path, newpath))
63 return searched
64 if not os.path.exists(newpath): 60 if not os.path.exists(newpath):
65 dldirfile = os.path.join(d.getVar("DL_DIR"), path) 61 dldirfile = os.path.join(d.getVar("DL_DIR"), path)
66 logger.debug(2, "Defaulting to %s for %s" % (dldirfile, path)) 62 logger.debug(2, "Defaulting to %s for %s" % (dldirfile, path))
@@ -70,8 +66,6 @@ class Local(FetchMethod):
70 return searched 66 return searched
71 67
72 def need_update(self, ud, d): 68 def need_update(self, ud, d):
73 if ud.url.find("*") != -1:
74 return False
75 if os.path.exists(ud.localpath): 69 if os.path.exists(ud.localpath):
76 return False 70 return False
77 return True 71 return True
@@ -95,9 +89,6 @@ class Local(FetchMethod):
95 """ 89 """
96 Check the status of the url 90 Check the status of the url
97 """ 91 """
98 if urldata.localpath.find("*") != -1:
99 logger.info("URL %s looks like a glob and was therefore not checked.", urldata.url)
100 return True
101 if os.path.exists(urldata.localpath): 92 if os.path.exists(urldata.localpath):
102 return True 93 return True
103 return False 94 return False