Make SELinux policy rebuild non-fatal and relabel /usr
ci/woodpecker/push/ci Pipeline was canceled

This commit is contained in:
qpismont committed 2026-11-01 21:38:59 +01:00
1 parent 16e9294c9b
commit 4f7d9d3114
1 file changed
+12 -3
+12 -3
View File
@@ -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