summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoland Hieber <rhi@pengutronix.de>2022-05-10 08:05:42 -1000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-05-12 13:41:35 +0100
commite14ed7dd866334ab40cd335d9c006e5d7b447abd (patch)
tree83be5bf6e7b87b48415d0a678de74f43506e9b6e
parent7eb0ef75fd08b6e4ca1e9dca9c96a7b590e5147b (diff)
downloadbitbake-e14ed7dd866334ab40cd335d9c006e5d7b447abd.tar.gz
cache: correctly handle file names containing colons
File names containing colons cause split() to return a list with more than two elements, which will lead to a stack trace ending in: ValueError: too many values to unpack (expected 2) Split only once at the last colon, thereby making sure that only two elements are returned. Signed-off-by: Roland Hieber <rhi@pengutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit a70a7376a8708bde07959deb5d5842d7f84ee5f8) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/bb/cache.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/bb/cache.py b/lib/bb/cache.py
index fcb15796c..92e9a3ced 100644
--- a/lib/bb/cache.py
+++ b/lib/bb/cache.py
@@ -619,7 +619,7 @@ class Cache(NoCache):
for f in flist:
if not f:
continue
- f, exist = f.split(":")
+ f, exist = f.rsplit(":", 1)
if (exist == "True" and not os.path.exists(f)) or (exist == "False" and os.path.exists(f)):
self.logger.debug2("%s's file checksum list file %s changed",
fn, f)