Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package rpm for openSUSE:Factory checked in at 2022-11-12 17:40:05 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rpm (Old) and /work/SRC/openSUSE:Factory/.rpm.new.1597 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rpm" Sat Nov 12 17:40:05 2022 rev:303 rq:1035056 version:4.17.1.1 Changes: -------- --- /work/SRC/openSUSE:Factory/rpm/rpm.changes 2022-10-20 11:09:20.543731687 +0200 +++ /work/SRC/openSUSE:Factory/.rpm.new.1597/rpm.changes 2022-11-12 17:40:07.369794253 +0100 @@ -1,0 +2,7 @@ +Tue Oct 25 12:15:12 UTC 2022 - Johannes Segitz <jseg...@suse.com> + +- Add selinux_transactional_update.patch to ignore errors when setting + file labels during transactional updates. They will be set upon + reboot once the new policy is loaded (bsc#1204605) + +------------------------------------------------------------------- New: ---- selinux_transactional_update.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rpm.spec ++++++ --- /var/tmp/diff_new_pack.MyMn5w/_old 2022-11-12 17:40:08.421800516 +0100 +++ /var/tmp/diff_new_pack.MyMn5w/_new 2022-11-12 17:40:08.425800539 +0100 @@ -111,6 +111,7 @@ Patch131: posttrans.diff Patch133: zstdpool.diff Patch134: zstdthreaded.diff +Patch135: selinux_transactional_update.patch # touches a generated file Patch180: whatrequires-doc.diff Patch6464: auto-config-update-aarch64-ppc64le.diff @@ -222,6 +223,7 @@ %patch -P 100 -P 102 -P 103 %patch -P 117 %patch -P 122 -P 123 -P 131 -P 133 -P 134 +%patch -p1 -P 135 %patch -P 180 %ifarch aarch64 ppc64le riscv64 ++++++ selinux_transactional_update.patch ++++++ Index: rpm-4.17.1.1/plugins/selinux.c =================================================================== --- rpm-4.17.1.1.orig/plugins/selinux.c +++ rpm-4.17.1.1/plugins/selinux.c @@ -7,6 +7,7 @@ #include <rpm/rpmlog.h> #include <rpm/rpmts.h> #include "lib/rpmplugin.h" +#include <stdlib.h> #include "debug.h" @@ -165,9 +166,15 @@ static rpmRC selinux_fsm_file_prepare(rp char *scon = NULL; if (selabel_lookup_raw(sehandle, &scon, dest, file_mode) == 0) { int conrc = lsetfilecon(path, scon); - 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: (%s, %s) %s\n", path, scon, (conrc < 0 ? strerror(errno) : ""));