Remove the hack that symlinks /usr/lib/lightdm/lightdm/gdmflexiserver as
/usr/bin/gdmflexiserver.
Upstream LightDM removed their gdmflexiserver implementation in 1.9.4 in
2013:
http://bazaar.launchpad.net/~lightdm-team/lightdm/trunk/revision/1841
In addition, LightDM was already adding the path containing its
gdmflexiserver implementation to PATH, so there was no use symlinking it
into /usr/bin, potentially overwriting the original version from GDM.
This must have been a workaround for an ancient LightDM version that
didn't even do that.
And finally, the hardcoded /usr/lib/lightdm/lightdm/gdmflexiserver path
was wrong on Fedora to begin with (we had used
/usr/libexec/lightdm/gdmflexiserver, but now the file is completely gone
because upstream removed it).
If a display manager is in the list, but not installed, do not return an
error message, but only print a debugging message and proceed.
This allows distributions that support multiple display managers to list
them all, independently of what the concrete live image will be using.
It turns out that I had messed this up. Issue #173 was addressed anyway
by the followup fix to unpackfs to only exclude the directories that are
actually mounted (which does work), but with this fix, /run is now
handled as intended.
PS: Should the mount job not check the return value of
libcalamares.utils.mount instead of failing silently?
Do not use a YAML list when only a single entry actually works. (It was
just silently using the last one.)
Create the default_desktop_environment DesktopEnvironment tuple. Before,
the setting was silently ignored altogether.
This reverts commit 9c799b32e9.
This was already right before. default_desktop_environment.desktop_file is not a
variable, it's a field of a variable. This commit is not valid Python:
"SyntaxError: invalid syntax".
The module creates /etc/machine-id and/or /var/lib/dbus/machine-id. By
default, it is enabled and creates both files, making the latter a
symlink to the former.
Add the following flags to rsync:
* `-H, --hard-links preserve hard links`
* `-A, --acls preserve ACLs (implies --perms)`
* `-X, --xattrs preserve extended attributes`
(i.e., the preservation options not already implied by -a).
Also exclude the special paths that do not make sense to rsync, because
reading the extended attributes from those can cause errors, at least
with SELinux enabled.
This fixes installation of Fedora systems with SELinux enabled.
If /etc/locale.gen (or the configured localeGenPath) does not exist,
assume that all the supported languages are already built into the
locale archive, and retrieve the list from "locale -a".
The list will then contain lines with only the locale rather than
locale + space + encoding, but that should not affect any of the rest of
the code. UTF-8 locales will still contain the string "UTF-8" (as part
of the ".UTF-8" suffix), we will not write a locale.gen file if we don't
have locale-gen, and everything else just strips away the encoding.
Some languages have 3-letter codes. So instead of splitting the output
of QLocale::name, use QLocale::language and the static
QLocale::languageToString.