guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/13: guix-install.sh: Install SELinux policy only if tools are present


From: guix-commits
Subject: 01/13: guix-install.sh: Install SELinux policy only if tools are present.
Date: Sun, 23 Jul 2023 14:40:07 -0400 (EDT)

nckx pushed a commit to branch master
in repository guix.

commit c89e0b4d2008e930af4fe428ef4a954384e150ce
Author: Tobias Geerinckx-Rice <me@tobias.gr>
AuthorDate: Sun Jul 16 02:00:01 2023 +0200

    guix-install.sh: Install SELinux policy only if tools are present.
    
    * etc/guix-install.sh (sys_maybe_setup_selinux): Silently return if
    the ‘semodule’ or ‘restorecon’ commands are missing.
---
 etc/guix-install.sh | 25 ++++++++++++++++++-------
 1 file changed, 18 insertions(+), 7 deletions(-)

diff --git a/etc/guix-install.sh b/etc/guix-install.sh
index fc14471f1a..10645ac7ac 100755
--- a/etc/guix-install.sh
+++ b/etc/guix-install.sh
@@ -600,15 +600,26 @@ fi
 
 sys_maybe_setup_selinux()
 {
-    if [ -f /sys/fs/selinux/policy ]
+    if ! [ -f /sys/fs/selinux/policy ]
     then
-       prompt_yes_no "Install SELinux policy required to run guix-daemon?" \
-           || return
-
-       local var_guix=/var/guix/profiles/per-user/root/current-guix
-       semodule -i "${var_guix}/share/selinux/guix-daemon.cil"
-       restorecon -R /gnu /var/guix
+       return
     fi
+
+    local c
+    for c in semodule restorecon
+    do
+        if ! command -v "$c" &>/dev/null
+       then
+           return
+       fi
+    done
+
+    prompt_yes_no "Install SELinux policy that might be required to run 
guix-daemon?" \
+       || return
+
+    local var_guix=/var/guix/profiles/per-user/root/current-guix
+    semodule -i "${var_guix}/share/selinux/guix-daemon.cil"
+    restorecon -R /gnu /var/guix
 }
 
 welcome()



reply via email to

[Prev in Thread] Current Thread [Next in Thread]