summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2022-02-06 14:45:07 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-04-14 09:48:27 +0100
commit57e2fc4d7f60afea4d4b2c84761324dd99e74a87 (patch)
tree5505b5bf7e5aa60b0ed4317d51450dcee8334331
parent41eeb4f34fb2306303f7688ec5e0ae965a573aa4 (diff)
downloadbitbake-57e2fc4d7f60afea4d4b2c84761324dd99e74a87.tar.gz
checksum: Allow spaces in URI filenames
If there are spaces in the URI filenames it can break the code. We already solved this issue once somewhere else in the code so use the same regex trick here as well. We should ultimately refactor this code but at least fix the issue for now. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/bb/checksum.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/bb/checksum.py b/lib/bb/checksum.py
index fb8a77f6a..557793d36 100644
--- a/lib/bb/checksum.py
+++ b/lib/bb/checksum.py
@@ -11,10 +11,13 @@ import os
import stat
import bb.utils
import logging
+import re
from bb.cache import MultiProcessCache
logger = logging.getLogger("BitBake.Cache")
+filelist_regex = re.compile(r'(?:(?<=:True)|(?<=:False))\s+')
+
# mtime cache (non-persistent)
# based upon the assumption that files do not change during bitbake run
class FileMtimeCache(object):
@@ -109,7 +112,12 @@ class FileChecksumCache(MultiProcessCache):
return dirchecksums
checksums = []
- for pth in filelist.split():
+ for pth in filelist_regex.split(filelist):
+ if not pth:
+ continue
+ pth = pth.strip()
+ if not pth:
+ continue
exist = pth.split(":")[1]
if exist == "False":
continue