1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-08 17:19:20 +00:00

bitbake: checksum: In FileChecksumCache don't follow directory symlinks

Before this patch, directory symlinks mathcing filename pattern (either
a file name or a glob pattern) were followed. However, directory
symlinks deeper in the search chain were omitted by os.walk(). Now
directory traversal behaves consistently, ignoring syminks on all
levels.

One reason for choosing not to "walk into" directory symlinks is that
dir symlinks in externalsrc.bbclass in oe-core are causing problems in
source tree checksumming.

[YOCTO #8853]

(Bitbake rev: 66dff37ebcd1dd14ebd6933d727df9cf0a641866)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Markus Lehtonen
2016-03-29 16:04:19 +03:00
committed by Richard Purdie
parent 326fc2916e
commit 292c3e82e3
+4 -2
View File
@@ -123,12 +123,14 @@ class FileChecksumCache(MultiProcessCache):
# Handle globs
for f in glob.glob(pth):
if os.path.isdir(f):
checksums.extend(checksum_dir(f))
if not os.path.islink(f):
checksums.extend(checksum_dir(f))
else:
checksum = checksum_file(f)
checksums.append((f, checksum))
elif os.path.isdir(pth):
checksums.extend(checksum_dir(pth))
if not os.path.islink(pth):
checksums.extend(checksum_dir(pth))
else:
checksum = checksum_file(pth)
checksums.append((pth, checksum))