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.
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".
This also fixes some issues with the previous code:
* The code for LightDM only supported Xfce.
* The case where multiple desktop environments are installed was not
handled in a good way.
* We now also check that the xsession definition actually exists. This
allows handling the case where upstream changed the xsession
definition's name without renaming the invoked binary.