Commit Graph

301 Commits

Author SHA1 Message Date
Daniel unbrot Pätzold ac85c665a8 sync_client_software: remove unresolvable _gateway NTP entry from chrony.conf
Anaconda adds 'server _gateway iburst' as a fallback NTP source when
no NTP servers are specified in the kickstart. chronyd cannot resolve
the special hostname '_gateway' at startup, logging an error each boot.
The sourcedir /run/chrony-dhcp directive already handles DHCP-provided
NTP servers, making the _gateway line redundant.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 12:56:19 +02:00
Daniel unbrot Pätzold 01b39e892f 0040_autostart_logon_script: remove executable bit from .desktop file
systemd-xdg-autostart-generator warns that .desktop files with
execute permissions set are invalid. .desktop files should not be
executable.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 12:43:09 +02:00
Daniel unbrot Pätzold 5e0f268962 kwallet: remove ExecStop, stop old unit in user_run.sh instead
ExecStop on the user service caused an unmount race: it fired
asynchronously after logout while the next login's install.sh had
already remounted the wallet, then unmounted it again leaving
kwalletd6 without its wallet directory.

install.sh already handles umount/remount at login start, so no
ExecStop is needed. On gocryptfs systems the wallet becomes
inaccessible at logout naturally when ~/data is unmounted.

user_run.sh now explicitly stops any leftover kwalletd6-logon unit
from a previous session before creating a new one, avoiding the
systemd-run unit-name-conflict failure.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 12:29:20 +02:00
Daniel unbrot Pätzold b32cc96ca0 kwallet: stop kwalletd6-logon.service before remounting wallet
ExecStop (umount) fires asynchronously ~26s after logout, by which
time a second login's install.sh has already remounted the wallet.
ExecStop then unmounts the fresh mount, leaving kwalletd6 without
the wallet directory.

Fix: stop kwalletd6-logon.service at the top of install.sh so its
ExecStop fires and drains before the remount, eliminating the race.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 12:01:08 +02:00
Daniel unbrot Pätzold 5b13ea7372 kwallet: treat exit code 1 as success in kwalletd6-logon.service
kwalletd6 exits with code 1 when the Wayland compositor shuts down
during logout. Without SuccessExitStatus=1, the service is marked
failed and ExecStop (the bind mount umount) never runs. Treating
exit code 1 as success keeps the service in active-exited state so
systemd fires ExecStop cleanly on session end.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 11:49:12 +02:00
Daniel unbrot Pätzold 3429ffa48f kwallet: unmount bind mount cleanly on session logout
Switch kwalletd6-logon from --scope to a transient service with
RemainAfterExit=yes (kwalletd6 forks to background, so the service
must stay active after the main process exits). ExecStop runs
'sudo umount -l' to detach the wallet bind mount before gocryptfs
unmounts ~/data (Before=gocryptfs-home.service ordering).

install.sh adds a per-user sudoers drop-in so the user service
can call umount as root without a password.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 11:07:01 +02:00
obel1x 40843b8295 Merge pull request 'gitignore: removed files in client_software' (#31) from unbrot/fedora-OEMDRV:main into main
Reviewed-on: obel1x/fedora-OEMDRV#31
2026-05-08 18:59:24 +02:00
Daniel unbrot Pätzold dc181fddf4 gitignore: removed files in client_software 2026-05-08 17:20:20 +02:00
obel1x fbf4faf6aa Merge pull request 'New customer software repository and small fixes' (#30) from unbrot/fedora-OEMDRV:main into main
Reviewed-on: obel1x/fedora-OEMDRV#30
2026-05-08 17:11:23 +02:00
unbrot 63b82b43cb Merge branch 'main' into main 2026-05-08 17:02:04 +02:00
Daniel unbrot Pätzold 6293ba22f6 Fix permissions after sync of cust repo 2026-05-08 16:53:31 +02:00
Daniel unbrot Pätzold 793bbc045a sync_client_software: Fixed parameter to skip software 2026-05-08 13:36:41 +02:00
Daniel unbrot Pätzold a250476b44 even more cosmetics 2026-05-08 13:28:14 +02:00
Daniel unbrot Pätzold 536bf095d4 Cosmetic changes 2026-05-08 13:20:37 +02:00
Daniel unbrot Pätzold 08a0a6d2f0 logon_script: skip parts when parameters are wrong 2026-05-08 13:04:40 +02:00
Daniel unbrot Pätzold 01e5a3ba85 logon_script: Add Check for right config values
sync_client_software move check to better place
2026-05-08 12:59:59 +02:00
Daniel unbrot Pätzold 198f17157d sync_client_software: type in paths 2026-05-08 12:51:38 +02:00
Daniel unbrot Pätzold 8dc8cca48c sync_client_software: fix location of checks 2026-05-08 12:48:57 +02:00
Daniel unbrot Pätzold aaa7b73d53 sync_client_software: fix permissions and parameter check 2026-05-08 12:40:08 +02:00
Daniel unbrot Pätzold a237f58813 Introduce client_software_cust
For customer setups, the software repository was split into client_software and client_software_cust.

Obsoleted sync for client_software.
2026-05-08 12:10:19 +02:00
Daniel unbrot Pätzold 84527d6384 client_software cosmetic changes 2026-05-08 12:07:54 +02:00
Daniel unbrot Pätzold 10517de84e Obsolete client_software/install.sh 2026-05-08 10:48:48 +02:00
Daniel unbrot Pätzold 1495c57a99 Obsoleted client_software/install.sh and user_run.sh
To make structure of client_software more clear for
following introduction of client_software.2nd
2026-05-08 10:42:34 +02:00
Daniel unbrot Pätzold 0b13f19f84 logon_script: Only Snc Mozilla if the Options are set in config. 2026-05-08 09:43:40 +02:00
obel1x ef5d6cbf7f Merge pull request 'gocryptfs: clean session mount/unmount via systemd service' (#29) from unbrot/fedora-OEMDRV:main into main
Reviewed-on: obel1x/fedora-OEMDRV#29
2026-05-07 18:07:11 +02:00
Daniel unbrot Pätzold b9d13e821d mount_ecrypt_home: run gocryptfs in foreground to fix premature ExecStop
Without -fg, gocryptfs forks to background and the parent exits,
causing systemd to consider the service done and immediately call
ExecStop (fusermount -u). With -fg, gocryptfs stays as the tracked
service process so ExecStop only fires on explicit service stop at
logout.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 18:05:19 +02:00
Daniel unbrot Pätzold 815fa46daa mount_ecrypt_home: wait for FUSE mount before removing passfile
systemd-run service mode returns as soon as the start request is
accepted, before gocryptfs has read the passfile. Poll /proc/mounts
for up to 10 seconds so the passfile is only removed after the mount
is confirmed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 18:05:19 +02:00
Daniel unbrot Pätzold 588f669a60 logon_script: gate KDE-specific settings on XDG_CURRENT_DESKTOP
Wrap kwriteconfig5 calls in a KDE check so they are skipped on
Cinnamon and other desktops. Also add empty-session setting so
previous apps are not restored on login.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 18:05:19 +02:00
Daniel unbrot Pätzold 4da2a3fa69 mount_ecrypt_home: unmount gocryptfs cleanly on session logout
Switch from --scope to a transient service so systemd can run
fusermount -u via ExecStop before terminating the process.
With KillMode=none, gocryptfs exits on its own once the FUSE
filesystem is detached.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 18:05:19 +02:00
Daniel unbrot Pätzold fdc2a44582 install: given repo url will be used intead of already existing ones 2026-05-07 18:05:19 +02:00
Daniel unbrot Pätzold 49a998fc12 Mozilla_pre: Make Firefox profile customizable 2026-05-07 18:05:19 +02:00
Daniel unbrot Pätzold 063011d404 0030_desktop_symbols does not need root for installing 2026-05-07 18:05:19 +02:00
obel1x 113bcc9a5d Merge pull request 'Fix offline auth and DNS failure handling' (#28) from unbrot/fedora-OEMDRV:main into main
Reviewed-on: obel1x/fedora-OEMDRV#28
2026-05-07 12:46:16 +02:00
Daniel unbrot Pätzold 253030228f logon_script: check DNS resolution before proceeding
If the IPA server FQDN cannot be resolved at startup (e.g. due to a
DNSSEC outage or network not yet ready), the logon script would silently
fail later. The new check prompts the user to retry, continue anyway, or
quit, so the problem is immediately visible.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 12:26:07 +02:00
Daniel unbrot Pätzold f59ba70bb9 sync_client_software: patch sssd.conf to add krb5_validate = False
SSSD >= 2.10.1 no longer raises CAP_DAC_READ_SEARCH to effective in
offline mode, so validate_tgt fails with EACCES reading /etc/krb5.keytab
before the cached-credential fallback is reached. Adding krb5_validate =
False disables the keytab validation step and restores reliable offline
authentication for FreeIPA domain users.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 12:26:07 +02:00
Daniel unbrot Pätzold 3906d19a4f kickstart: cinnamon - Okular is kde only, use evince on cinnamon 2026-05-07 12:26:07 +02:00
Daniel unbrot Pätzold 9b4d68ca72 kickstarter: Include ocular in packages 2026-05-07 12:26:07 +02:00
obel1x 5238f778ad Merge pull request 'kde: exclude plasma-setup and plasma-welcome to suppress first-boot wizard' (#27) from unbrot/fedora-OEMDRV:main into main
Reviewed-on: obel1x/fedora-OEMDRV#27
2026-05-06 17:05:06 +02:00
Daniel unbrot Pätzold 4c17ac0b1f kde: exclude plasma-setup and plasma-welcome to suppress first-boot wizard
F44 dropped @kde-spin-initial-setup; plasma-setup (mandatory in @kde-desktop)
is now the first-boot wizard and is not covered by firstboot --disable.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 16:56:58 +02:00
obel1x c061b6434f Merge pull request 'Improved configure.sh and fixing KDE on Fedora 44 kickstarter' (#26) from unbrot/fedora-OEMDRV:main into main
Reviewed-on: obel1x/fedora-OEMDRV#26
2026-05-06 09:20:47 +02:00
Daniel unbrot Pätzold b978771206 confige: source dists defaults to for robustnes
and docs
2026-05-06 09:06:30 +02:00
Daniel unbrot Pätzold ab7dc208ad configure: Better detection and choice between predefined configs 2026-05-06 08:42:53 +02:00
Daniel unbrot Pätzold 559e913c0f install: if config was found with other repourl as the user specified, use users repourl for configure call 2026-05-06 08:07:31 +02:00
Daniel unbrot Pätzold bc4c50218f kde: exclude kde spin initial setup, so that akanadi can be skipped 2026-05-05 21:53:12 +02:00
Daniel unbrot Pätzold 9fed049222 configure: comment if existing config was found 2026-05-05 21:33:25 +02:00
Daniel unbrot Pätzold 0dadf36230 Baseprofilenames and configure checks for existing preconfigure 2026-05-05 21:07:48 +02:00
Daniel unbrot Pätzold cf784b56a6 kde_fullsetup: expand akonadi exclusions to full chain
@kde-pim is optional and not selected, so all KDE PIM packages are
safe to exclude. Replaces the previous partial -akonadi-server/mysql
with the complete exclusion list matching cinnamon_fullsetup.cfg.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-05 14:18:03 +02:00
Daniel unbrot Pätzold c3c0a6ac85 cinnamon_fullsetup: exclude akonadi and all dependent KDE PIM packages
Anaconda's depsolve pulls in akonadi-server via kmymoney-libs (kmymoney
is an optional package in @office). Exclude the entire akonadi chain
so neither akonadi-server nor any package requiring it gets installed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-05 14:14:09 +02:00
Daniel unbrot Pätzold 6876c06ead nextcloud/user_run: centralise Flatpak app ID and data dir path
Introduce NC_FLATPAK_APP and NC_FLATPAK_DIR variables so the app ID
and ~/.var/app path are defined once and referenced everywhere, rather
than repeated as literals. Also fixes a stray leading '/' in the
nextcloud.cfg grep path.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-05 08:50:21 +02:00
Daniel unbrot Pätzold b5462e4781 NC: remove autostart from installed Version 2026-05-05 08:35:00 +02:00