diff options
author | Aníbal Limón <anibal.limon@linaro.org> | 2019-11-15 08:47:23 -0600 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-01-11 11:06:22 +0000 |
commit | f619b134039765e86bc0dec86485953b623ee89f (patch) | |
tree | 42ea7f779d84f6a761a2e4358ed4f8c3bd643cdb /bitbake/lib/bb/checksum.py | |
parent | b51364db489f9749c10a85c0a487d7ecb21d2e93 (diff) | |
download | poky-f619b134039765e86bc0dec86485953b623ee89f.tar.gz |
bitbake: lib/bb: Add BB_SIGNATURE_LOCAL_DIRS_EXCLUDE to speed-up taskhash on directories
The new BB_SIGNATURE_LOCAL_DIRS_EXCLUDE allows you to specify a list
of directories to exclude when making taskhash, our specific case
is using SRC_URI that points local VCS directory.
Use bb.fetch.module to set default to: "CVS .bzr .git .hg .osc .p4 .repo .svn"
(Bitbake rev: 4c7d689341f471efdf8ab7c2a7c6a19d2d370f5c)
Signed-off-by: Aníbal Limón <anibal.limon@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 923aff060d8aba8456979c35b16d300ba7c13ff9)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/checksum.py')
-rw-r--r-- | bitbake/lib/bb/checksum.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/bitbake/lib/bb/checksum.py b/bitbake/lib/bb/checksum.py index 5bc8a8fcb6..677020f497 100644 --- a/bitbake/lib/bb/checksum.py +++ b/bitbake/lib/bb/checksum.py | |||
@@ -74,7 +74,7 @@ class FileChecksumCache(MultiProcessCache): | |||
74 | else: | 74 | else: |
75 | dest[0][h] = source[0][h] | 75 | dest[0][h] = source[0][h] |
76 | 76 | ||
77 | def get_checksums(self, filelist, pn): | 77 | def get_checksums(self, filelist, pn, localdirsexclude): |
78 | """Get checksums for a list of files""" | 78 | """Get checksums for a list of files""" |
79 | 79 | ||
80 | def checksum_file(f): | 80 | def checksum_file(f): |
@@ -90,7 +90,8 @@ class FileChecksumCache(MultiProcessCache): | |||
90 | if pth == "/": | 90 | if pth == "/": |
91 | bb.fatal("Refusing to checksum /") | 91 | bb.fatal("Refusing to checksum /") |
92 | dirchecksums = [] | 92 | dirchecksums = [] |
93 | for root, dirs, files in os.walk(pth): | 93 | for root, dirs, files in os.walk(pth, topdown=True): |
94 | [dirs.remove(d) for d in list(dirs) if d in localdirsexclude] | ||
94 | for name in files: | 95 | for name in files: |
95 | fullpth = os.path.join(root, name) | 96 | fullpth = os.path.join(root, name) |
96 | checksum = checksum_file(fullpth) | 97 | checksum = checksum_file(fullpth) |