Blame SPECS/0031-dbus-Fix-FileNotFoundError-in-org.selinux.relabel_on.patch

Packit Service 9fb14c
From 6e5ccf2dd3329b400b70b7806b9c6128c5c50995 Mon Sep 17 00:00:00 2001
Packit Service 9fb14c
From: Petr Lautrbach <plautrba@redhat.com>
Packit Service 9fb14c
Date: Fri, 15 Nov 2019 09:15:49 +0100
Packit Service 9fb14c
Subject: [PATCH] dbus: Fix FileNotFoundError in org.selinux.relabel_on_boot
Packit Service 9fb14c
Packit Service 9fb14c
When org.selinux.relabel_on_boot(0) was called twice, it failed with
Packit Service 9fb14c
FileNotFoundError.
Packit Service 9fb14c
Packit Service 9fb14c
Fixes:
Packit Service 9fb14c
    $ dbus-send --system --print-reply --dest=org.selinux /org/selinux/object org.selinux.relabel_on_boot int64:1
Packit Service 9fb14c
    method return sender=:1.53 -> dest=:1.54 reply_serial=2
Packit Service 9fb14c
    $ dbus-send --system --print-reply --dest=org.selinux /org/selinux/object org.selinux.relabel_on_boot int64:0
Packit Service 9fb14c
    method return sender=:1.53 -> dest=:1.55 reply_serial=2
Packit Service 9fb14c
    $ dbus-send --system --print-reply --dest=org.selinux /org/selinux/object org.selinux.relabel_on_boot int64:0
Packit Service 9fb14c
    Error org.freedesktop.DBus.Python.FileNotFoundError: FileNotFoundError: [Errno 2] No such file or directory: '/.autorelabel'
Packit Service 9fb14c
Packit Service 9fb14c
Signed-off-by: Petr Lautrbach <plautrba@redhat.com>
Packit Service 9fb14c
---
Packit Service 9fb14c
 dbus/selinux_server.py | 5 ++++-
Packit Service 9fb14c
 1 file changed, 4 insertions(+), 1 deletion(-)
Packit Service 9fb14c
Packit Service 9fb14c
diff --git a/dbus/selinux_server.py b/dbus/selinux_server.py
Packit Service 9fb14c
index b9debc071485..be4f4557a9fa 100644
Packit Service 9fb14c
--- a/dbus/selinux_server.py
Packit Service 9fb14c
+++ b/dbus/selinux_server.py
Packit Service 9fb14c
@@ -85,7 +85,10 @@ class selinux_server(slip.dbus.service.Object):
Packit Service 9fb14c
             fd = open("/.autorelabel", "w")
Packit Service 9fb14c
             fd.close()
Packit Service 9fb14c
         else:
Packit Service 9fb14c
-            os.unlink("/.autorelabel")
Packit Service 9fb14c
+            try:
Packit Service 9fb14c
+                os.unlink("/.autorelabel")
Packit Service 9fb14c
+            except FileNotFoundError:
Packit Service 9fb14c
+                pass
Packit Service 9fb14c
 
Packit Service 9fb14c
     def write_selinux_config(self, enforcing=None, policy=None):
Packit Service 9fb14c
         path = selinux.selinux_path() + "config"
Packit Service 9fb14c
-- 
Packit Service 9fb14c
2.23.0
Packit Service 9fb14c