fixed wrong installation-path

This commit is contained in:
humocs-man
2026-09-27 13:24:07 +02:00
parent 8e182a7311
commit d657dca512
3 changed files with 23 additions and 15 deletions
+12 -11
View File
@@ -134,20 +134,21 @@ COPY configs/greetd/config.toml /etc/greetd/config.toml
COPY configs/noctalia-greeter/greeter.toml.default /usr/share/noctalia-greeter/greeter.toml.default COPY configs/noctalia-greeter/greeter.toml.default /usr/share/noctalia-greeter/greeter.toml.default
COPY configs/tmpfiles/noctalia-greeter-seed.conf /usr/lib/tmpfiles.d/noctalia-greeter-seed.conf COPY configs/tmpfiles/noctalia-greeter-seed.conf /usr/lib/tmpfiles.d/noctalia-greeter-seed.conf
# Fail-fast: Greeter-Integration verifizieren (lieber Build-Abbruch als # Fail-fast + Selbstheilung: Der Session-Wrapper-Pfad wird aus dem real
# defekter Login-Screen). Terra paketiert eigenstaendig, daher wird der # installierten Paket aufgeloest und in die greetd-Config uebernommen.
# real installierte Wrapper-Pfad gegen /etc/greetd/config.toml abgeglichen # (Terra paketiert eigenstaendig, z.B. /usr/sbin statt /usr/bin.)
# plus D-Bus/polkit/Session auf Vorhandensein geprueft. # Fehlt Wrapper, D-Bus, polkit oder Session -> Build-Abbruch statt
# defektem Login-Screen.
RUN set -u; \ RUN set -u; \
cfg="$(sed -n 's/^command = "\(.*\)"/\1/p' /etc/greetd/config.toml | head -n 1)"; \
wrapper="$(command -v noctalia-greeter-session || true)"; \ wrapper="$(command -v noctalia-greeter-session || true)"; \
echo "Greeter config-Pfad: ${cfg}"; \
echo "Gefundener Wrapper: ${wrapper}"; \ echo "Gefundener Wrapper: ${wrapper}"; \
test -n "${cfg}" && test "${cfg}" = "${wrapper}" && test -x "${cfg}" && \ test -n "${wrapper}" || { echo "FEHLER: noctalia-greeter-session nicht installiert (Terra-Repo/includepkgs pruefen)"; exit 1; }; \
command -v dbus-run-session >/dev/null && test -x /usr/bin/pkexec && \ sed -i "s|^command = \".*\"|command = \"${wrapper}\"|" /etc/greetd/config.toml; \
test -f /usr/share/wayland-sessions/labwc.desktop && \ grep -Eq "^command = \"${wrapper}\"" /etc/greetd/config.toml || { echo "FEHLER: Wrapper-Pfad konnte nicht in /etc/greetd/config.toml uebernommen werden"; exit 1; }; \
echo "Greeter-Check OK" || \ command -v dbus-run-session >/dev/null || { echo "FEHLER: dbus-run-session fehlt"; exit 1; }; \
{ echo "FEHLER: Noctalia-Greeter-Integration unvollstaendig (Wrapper-Pfad, D-Bus, polkit oder labwc-Session fehlt/weicht ab)"; exit 1; } test -x /usr/bin/pkexec || { echo "FEHLER: pkexec fehlt"; exit 1; }; \
test -f /usr/share/wayland-sessions/labwc.desktop || { echo "FEHLER: labwc-Session fehlt"; exit 1; }; \
echo "Greeter-Check OK (${wrapper})"
# ============================================================================= # =============================================================================
# SYSTEMD SERVICES (Modern Bootc Architecture) # SYSTEMD SERVICES (Modern Bootc Architecture)
+7 -2
View File
@@ -29,8 +29,7 @@ dnf5 clean all
# accounts-daemon: liefert User-Avatare auf dem Login-Screen. # accounts-daemon: liefert User-Avatare auf dem Login-Screen.
systemctl enable accounts-daemon.service systemctl enable accounts-daemon.service
# System-Setup des Greeters: legt /var/lib/noctalia-greeter/ + greeter.toml # System-Setup des Greeters: richtet u.a. /etc/pam.d/greetd ein.
# fuer den greetd-Session-User an und gibt die fertige config.toml-Zeile aus.
# Pfad laut PACKAGING.md: share/noctalia-greeter/setup_greeter_system.sh # Pfad laut PACKAGING.md: share/noctalia-greeter/setup_greeter_system.sh
if [[ -x /usr/share/noctalia-greeter/setup_greeter_system.sh ]]; then if [[ -x /usr/share/noctalia-greeter/setup_greeter_system.sh ]]; then
/usr/share/noctalia-greeter/setup_greeter_system.sh || true /usr/share/noctalia-greeter/setup_greeter_system.sh || true
@@ -38,6 +37,12 @@ else
echo "WARN: setup_greeter_system.sh nicht gefunden - Greeter-State wird erst beim Boot angelegt" echo "WARN: setup_greeter_system.sh nicht gefunden - Greeter-State wird erst beim Boot angelegt"
fi fi
# bootc-Hygiene: /var-Inhalte aus dem Build werden beim Deployment verworfen
# und wuerden nur den var-tmpfiles-Lint triggern. Die /etc-Anteile des Setups
# (PAM) bleiben erhalten; /var/lib/noctalia-greeter wird zur Laufzeit via
# tmpfiles.d angelegt (Paket-eigen + unsere Seed-Regel).
rm -rf /var/lib/noctalia-greeter
# Alte Display-Manager explizit aus (zwei DMs = Blackscreen). # Alte Display-Manager explizit aus (zwei DMs = Blackscreen).
# Auf fedora-bootc-Basis existieren sie i.d.R. nicht -> Fehler tolerieren. # Auf fedora-bootc-Basis existieren sie i.d.R. nicht -> Fehler tolerieren.
systemctl disable sddm.service gdm.service lightdm.service 2>/dev/null || true systemctl disable sddm.service gdm.service lightdm.service 2>/dev/null || true
+3 -1
View File
@@ -8,7 +8,9 @@
vt = 1 vt = 1
[default_session] [default_session]
command = "/usr/bin/noctalia-greeter-session" # HINWEIS: Der Pfad wird beim Image-Build automatisch auf den real
# installierten Wrapper normalisiert (Terra: /usr/sbin/ statt /usr/bin/).
command = "/usr/sbin/noctalia-greeter-session"
user = "greeter" user = "greeter"
# --- Fallback, falls der grafische Greeter je streikt --- # --- Fallback, falls der grafische Greeter je streikt ---