Blame selinux_transactional_update.patch
|
|
5b17a5 |
--- plugins/selinux.c.orig 2023-12-12 10:57:31.000000000 +0000
|
|
|
5b17a5 |
+++ plugins/selinux.c 2023-12-13 13:28:30.509647090 +0000
|
|
|
5b17a5 |
@@ -1,3 +1,5 @@
|
|
|
fda951 |
+#include <stdlib.h>
|
|
|
5b17a5 |
+
|
|
|
5b17a5 |
#include "system.h"
|
|
|
fda951 |
|
|
|
5b17a5 |
#include <selinux/selinux.h>
|
|
|
5b17a5 |
@@ -166,6 +168,13 @@ static rpmRC selinux_fsm_file_prepare(rp
|
|
|
e0a517 |
|
|
|
fda951 |
if (conrc == 0 || (conrc < 0 && errno == EOPNOTSUPP))
|
|
|
fda951 |
rc = RPMRC_OK;
|
|
|
fda951 |
+ else {
|
|
|
fda951 |
+ char *tup = getenv("TRANSACTIONAL_UPDATE");
|
|
|
e0a517 |
+ if (tup != NULL && !strncmp(tup, "true", 4)) {
|
|
|
fda951 |
+ rpmlog(RPMLOG_DEBUG, "lsetfilecon failed, will be healed upon reboot (transactional update): (%s, %s)\n", path, scon);
|
|
|
fda951 |
+ rc = RPMRC_OK;
|
|
|
fda951 |
+ }
|
|
|
fda951 |
+ }
|
|
|
fda951 |
|
|
|
e0a517 |
rpmlog(loglvl(rc != RPMRC_OK), "lsetfilecon: (%d %s, %s) %s\n",
|
|
|
e0a517 |
fd, path, scon, (conrc < 0 ? strerror(errno) : ""));
|