From 4f7d9d31144b075d555df36fc05591bf6beda2c7 Mon Sep 17 00:00:00 2001 From: qpismont Date: Sun, 1 Nov 2026 21:38:59 +0100 Subject: [PATCH] Make SELinux policy rebuild non-fatal and relabel /usr --- Containerfile | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/Containerfile b/Containerfile index bca74ce..6b55c5f 100644 --- a/Containerfile +++ b/Containerfile @@ -74,9 +74,18 @@ RUN wget https://cdn.filen.io/@filen/desktop/release/latest/Filen_linux_x86_64.r #Reconstruit la politique SELinux compilee depuis le store de modules (sans charger #dans le noyau) : sans ca, les modules installes par les paquets (ex: flatpak -> #flatpak_helper_exec_t) peuvent manquer et laisser des binaires en "unlabeled_t". -#Le sandbox de transaction peut rester d'un semodule precedent (scriptlet rpm) et -#faire echouer la transaction avec "File exists". -RUN rm -rf /etc/selinux/targeted/tmp && semodule -n -B +#Meilleur effort : sur certains environnements de build (buildah rootful/overlay), +#libsemanage echoue avec "File exists" sur son sandbox. +RUN rm -rf /etc/selinux/targeted/tmp \ + && semodule -n -B \ + || { echo "AVERTISSEMENT: politique SELinux non recompilee dans ce build"; ls -la /etc/selinux/targeted; true; } + +#Relabelle /usr depuis les file_contexts du store : rpm peut installer un binaire +#(flatpak-system-helper) avant que le module SELinux de son paquet ne soit pris en +#compte, et le fichier reste sans label. Comme /usr est en lecture seule sur le +#systeme deploye, le label doit etre correct dans l'image. +RUN setfiles -r / -F /etc/selinux/targeted/active/file_contexts /usr/libexec /usr/bin /usr/sbin \ + || echo "AVERTISSEMENT: relabel partiel de /usr" #Installation de starship RUN curl -sS https://starship.rs/install.sh | sh -s -- -y