]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commitdiff
package: Ensure we track whether PRSERV was active or not
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 8 May 2022 11:26:33 +0000 (12:26 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 8 May 2022 22:49:32 +0000 (23:49 +0100)
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>
meta/classes/package.bbclass

index 44fbc32df6aaa8ac1a7b1b9ed2c100a4cb7554e7..62050a18b8d32697ede27e6ced1564b5def0df4a 100644 (file)
@@ -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