summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2022-05-08 12:26:33 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-05-08 23:49:32 +0100
commitdd660e5c3fb74f7c4b7b8e863f7143066ae22813 (patch)
tree91e0e8bc135a8963aa8101fe8b432b2c91a40069
parent77d745bd49c979de987c75fd7a3af116e99db82b (diff)
downloadopenembedded-core-contrib-dd660e5c3fb74f7c4b7b8e863f7143066ae22813.tar.gz
package: Ensure we track whether PRSERV was active or not
Currently the signatures for do_packagedata don't reflect whether PRServ was active or not. This means that if you have mxiing of PRServ usage and non PRServ usage against the same sstate cache it can rarely become corrupted with one referencing the other. This likely doesn't happen in general but does on the autobuilder as PRServ is tested. Add in some variables to ensure the binary state of PRServ being enabled or disabled is tracked (but not the server value). We continue to assume one PRServ is used per sstate cache. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/package.bbclass3
1 files changed, 3 insertions, 0 deletions
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 44fbc32df6..62050a18b8 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -662,7 +662,10 @@ def runtime_mapping_rename (varname, pkg, d):
# Used by do_packagedata (and possibly other routines post do_package)
#
+PRSERV_ACTIVE = "${@bool(d.getVar("PRSERV_HOST"))}"
+PRSERV_ACTIVE[vardepvalue] = "${PRSERV_ACTIVE}"
package_get_auto_pr[vardepsexclude] = "BB_TASKDEPDATA"
+package_get_auto_pr[vardeps] += "PRSERV_ACTIVE"
python package_get_auto_pr() {
import oe.prservice