Installing a global theme on the immutable distro, Fedora Kinoite, fails if the theme contains root components (obviously). If an SDDM theme is included, the install fails and the theme does not appear to be installed. It should probably fail more gracefully?
STEPS TO REPRODUCE
1. On an immutable system, install a global theme with Get New Global Themes
2. Enter password in prompt for extracting SDDM to root
User is presented with an error and the install of the theme fails.
Install should proceed (perhaps if a component is non-critical, which should be everything in a theme?) and simply omit the SDDM theme, leaving the other components
Linux/KDE Plasma: Fedora Linux 36 (Kinoite)
(available in About System)
KDE Plasma Version: 5.24.3
KDE Frameworks Version: 5.91.0
Qt Version: 5.15.3
Hmm, yeah, this would be a problem.
How could we detect an immutable OS?
(In reply to Alexander Lohnau from comment #2)
> How could we detect an immutable OS?
I wasn't really looking for any detection, really just a more graceful fail. I could have sworn themes still installed even if an individual component couldn't be installed.
Not too keen on specifics, but some avenues might be checking for the presence of things like OSTree, or how the /sysroot is mounted? https://fedoraproject.org/wiki/Changes/Silverblue_Kinoite_readonly_sysroot
I suppose trying to write something to root would be the ultimate test.
On Kinoite, /usr is read only but /etc is not. I would recommend that SDDM supports reading themes from two locations, one in /usr for distribution installed themes and one in /etc for user/admin installed themes.
You can also use a path under /var such as /var/lib/sddm/themes which is also writable on Kinoite.
>On Kinoite, /usr is read only but /etc is not. I would recommend that SDDM supports reading themes from two locations
That seems like a good idea. Maybe you could file a bug for SDDM?
Heads up, fixing this bug will break nearly every popular SDDM theme on the store. This is because the path to most assets is hardcoded and expects things to be in /usr/share/sddm/themes/. So, it might not actually help all that much for immutable users.
Anyway, I suppose I needed a reason to learn how to supply relative paths to Plasma Components anyway.
>Heads up, fixing this bug will break nearly every popular SDDM theme on the store
It will break every theme, because the installer wants t put them in /usr :)