diff options
Diffstat (limited to 'meta')
-rw-r--r-- | meta/classes-global/sstate.bbclass | 12 | ||||
-rw-r--r-- | meta/lib/oe/utils.py | 12 |
2 files changed, 14 insertions, 10 deletions
diff --git a/meta/classes-global/sstate.bbclass b/meta/classes-global/sstate.bbclass index 2676f18e0a..5b27a1f0f9 100644 --- a/meta/classes-global/sstate.bbclass +++ b/meta/classes-global/sstate.bbclass | |||
@@ -937,6 +937,7 @@ def sstate_checkhashes(sq_data, d, siginfo=False, currentcount=0, summary=True, | |||
937 | sstatefile = d.expand("${SSTATE_DIR}/" + getsstatefile(tid, siginfo, d)) | 937 | sstatefile = d.expand("${SSTATE_DIR}/" + getsstatefile(tid, siginfo, d)) |
938 | 938 | ||
939 | if os.path.exists(sstatefile): | 939 | if os.path.exists(sstatefile): |
940 | oe.utils.touch(sstatefile) | ||
940 | found.add(tid) | 941 | found.add(tid) |
941 | bb.debug(2, "SState: Found valid sstate file %s" % sstatefile) | 942 | bb.debug(2, "SState: Found valid sstate file %s" % sstatefile) |
942 | else: | 943 | else: |
@@ -1183,16 +1184,7 @@ python sstate_eventhandler() { | |||
1183 | if not os.path.exists(siginfo): | 1184 | if not os.path.exists(siginfo): |
1184 | bb.siggen.dump_this_task(siginfo, d) | 1185 | bb.siggen.dump_this_task(siginfo, d) |
1185 | else: | 1186 | else: |
1186 | try: | 1187 | oe.utils.touch(siginfo) |
1187 | os.utime(siginfo, None) | ||
1188 | except PermissionError: | ||
1189 | pass | ||
1190 | except OSError as e: | ||
1191 | # Handle read-only file systems gracefully | ||
1192 | import errno | ||
1193 | if e.errno != errno.EROFS: | ||
1194 | raise e | ||
1195 | |||
1196 | } | 1188 | } |
1197 | 1189 | ||
1198 | SSTATE_PRUNE_OBSOLETEWORKDIR ?= "1" | 1190 | SSTATE_PRUNE_OBSOLETEWORKDIR ?= "1" |
diff --git a/meta/lib/oe/utils.py b/meta/lib/oe/utils.py index a3b1bb1087..14a7d07ef0 100644 --- a/meta/lib/oe/utils.py +++ b/meta/lib/oe/utils.py | |||
@@ -7,6 +7,7 @@ | |||
7 | import subprocess | 7 | import subprocess |
8 | import multiprocessing | 8 | import multiprocessing |
9 | import traceback | 9 | import traceback |
10 | import errno | ||
10 | 11 | ||
11 | def read_file(filename): | 12 | def read_file(filename): |
12 | try: | 13 | try: |
@@ -528,3 +529,14 @@ def directory_size(root, blocksize=4096): | |||
528 | total += sum(roundup(getsize(os.path.join(root, name))) for name in files) | 529 | total += sum(roundup(getsize(os.path.join(root, name))) for name in files) |
529 | total += roundup(getsize(root)) | 530 | total += roundup(getsize(root)) |
530 | return total | 531 | return total |
532 | |||
533 | # Update the mtime of a file, skip if permission/read-only issues | ||
534 | def touch(filename): | ||
535 | try: | ||
536 | os.utime(filename, None) | ||
537 | except PermissionError: | ||
538 | pass | ||
539 | except OSError as e: | ||
540 | # Handle read-only file systems gracefully | ||
541 | if e.errno != errno.EROFS: | ||
542 | raise e | ||