Blob Blame History Raw
--- plugins/selinux.c.orig	2022-04-07 11:13:19.027518072 +0000
+++ plugins/selinux.c	2022-12-02 13:59:42.185032111 +0000
@@ -8,6 +8,7 @@
 #include <rpm/rpmlog.h>
 #include <rpm/rpmts.h>
 #include "lib/rpmplugin.h"
+#include <stdlib.h>
 
 #include "debug.h"
 
@@ -173,6 +174,13 @@ static rpmRC selinux_fsm_file_prepare(rp
 
 	    if (conrc == 0 || (conrc < 0 && errno == EOPNOTSUPP))
 		rc = RPMRC_OK;
+	    else {
+		char *tup = getenv("TRANSACTIONAL_UPDATE");
+		if (tup != NULL && !strncmp(tup, "true", 4)) {
+		    rpmlog(RPMLOG_DEBUG, "lsetfilecon failed, will be healed upon reboot (transactional update): (%s, %s)\n", path, scon);
+		    rc = RPMRC_OK;
+		}
+	    }
 
 	    rpmlog(loglvl(rc != RPMRC_OK), "lsetfilecon: (%d %s, %s) %s\n",
 		       fd, path, scon, (conrc < 0 ? strerror(errno) : ""));