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.
Convert Python bool type from/to C++/QVariant bool (QVariant::Bool) in
PythonHelper::variantToPyObject and PythonHelper::variantFromPyObject.
This fixes the "override" option and any booleans in the "defaults" list
in grubcfg.conf.
Also adds a grubcfg.conf with the following settings:
* overwrite: If set to true, always creates /etc/default/grub from
scratch even if the file already existed. If set to false, edits the
existing file instead. The default is "false".
* defaults: Default entries to write to /etc/default/grub if it does not
exist yet or if we are overwriting it. Note that in addition,
GRUB_CMDLINE_LINUX_DEFAULT and GRUB_DISTRIBUTOR will always be
written, with automatically detected values. The default in the code
is empty. The shipped grubcfg.conf currently reproduces the default
settings from the Fedora installer Anaconda.
Fixes#128.
Don't talk about "Windows 7 programs, documents, photos, music, and
other files" when we actually have no idea what the other operating
system is or when there are multiple ones.
The method creates a map called "branding" in the global storage, and
inserts an entry for each of the branding strings. This makes the
branding information accessible to the Python modules.
The method is called by CalamaresApplication::initJobQueue.
This is necessary because the Branding class is in libcalamaresui, so
Python modules cannot access it directly.
/etc/locale.conf should always be written before generating the
initramfs, because it will be added to the initramfs. So move the step
up to where the other locale-related jobs run.
Also add commented-out placeholders for the displaymanager and dracut
jobs so people will get the ordering right.
Point the lib/calamares/libcalamares.so symlink for the Python modules
directly to the versioned lib/libcalamares.so.VERSION library rather
than to the lib/libcalamares.so symlink. This allows distributions to
install the lib/libcalamares.so symlink to a development package and
only ship lib/libcalamares.so.VERSION and lib/calamares/libcalamares.so
in the runtime package. It is also marginally faster (because only one
level of symlinks has to be resolved instead of two).
(I know this works because I have been manually fixing up this symlink
in the Fedora specfile so far.)