bitbake: fetch: bb.fatal when trying to checksum non-existing files

If the local fetcher was not able to find the file anywhere but it
was included in the SRC_URI for checksumming just make it a fatal
error. Ensure a list of searched locations is included too to match
the runtime error that would have resulted.

(Bitbake rev: 5e3b2ad90d9cd0f248b1cb740637caa24442d101)

Signed-off-by: Paulo Neves <ptsneves@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Paulo Neves
2022-07-08 22:54:07 +02:00
committed by Richard Purdie
parent 43fa40ba51
commit 9b398909bd
2 changed files with 8 additions and 1 deletions

View File

@@ -1235,7 +1235,9 @@ def get_checksum_file_list(d):
if os.path.exists(f):
bb.warn("Getting checksum for %s SRC_URI entry %s: file not found except in DL_DIR" % (d.getVar('PN'), os.path.basename(f)))
else:
bb.warn("Unable to get checksum for %s SRC_URI entry %s: file could not be found" % (d.getVar('PN'), os.path.basename(f)))
bb.fatal(("Unable to get checksum for %s SRC_URI entry %s: file could not be found"
"\nThe following paths were searched:"
"\n%s") % (d.getVar('PN'), os.path.basename(f), '\n'.join(paths)))
filelist.append(f + ":" + str(os.path.exists(f)))
return " ".join(filelist)

View File

@@ -693,6 +693,11 @@ class FetcherLocalTest(FetcherTest):
flst.sort()
return flst
def test_local_checksum_fails_no_file(self):
self.d.setVar("SRC_URI", "file://404")
with self.assertRaises(bb.BBHandledException):
bb.fetch.get_checksum_file_list(self.d)
def test_local(self):
tree = self.fetchUnpack(['file://a', 'file://dir/c'])
self.assertEqual(tree, ['a', 'dir/c'])