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.
Fixes#110.
This is based on Daniel Hillenbrand's submissions, but it makes the same
adjustments already done in the bootloader module that's already merged:
* Put detect_firmware_type into the grub module itself until a better
place is found.
* Get the distribution name from the branding configuration and use the
file_name_sanitizer on it.
* Get the grub-install executable name from the module configuration.
It also fixes a Python syntax error in the original submission.