Commit Graph

3756 Commits

Author SHA1 Message Date
Adriaan de Groot
273461a497 [partition] Be verbose about handling osprober results 2019-02-11 05:32:42 -05:00
Arnaud Ferraris
91430a3cdb [rawfs] Add rawfs source to the partitions entry in global storage
When using the `rawfs` module for copying data, it may be useful to
save the source device used for later checks or actions. This commit
therefore adds a `source` field to each corresponding partition entry in
global storage, so that this information can be retrieved later during
the installation process.

Another small improvement is that global storage is now modified only
once (it was previously modified as many times as there were entries
processed by the `rawfs` module).

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-02-08 18:11:06 +01:00
Arnaud Ferraris
a14968a646 [bootloader] Fix systemd-boot installation
When choosing `systemd-boot` as the bootloader, numerous problems
occurred:

- the kernel and initrd were not copied to the EFI System Partition,
and therefore could not be reached by the bootloader
- the fallback entry used the default initramfs image instead of the
fallback image

`systemd-boot` provides the `kernel-install` utility, which
automatically copies the kernel + initramfs to the EFI partition, and
creates the corresponding bootloader entry.

Unfortunately, `kernel-install` cannot be used here as the module is not
executed in a chroot. As setting up one only for running a single
command would be overkill, this patch re-creates what `kernel-install`
usually does:

- copy the kernel and initramfs to their own subdirectory at the root of
the EFI partition
- create the corresponding entry configuration file

To this end, the `systemd-boot` installation code in the `bootloader`
module has been largely refactored, including removing a few duplicate
LOCs.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-02-08 18:00:58 +01:00
Adriaan de Groot
2c6ff26aaa [partition] Reduce warnings 2019-02-06 04:08:21 -05:00
Adriaan de Groot
d3ac29d98c
Merge pull request #1077 from a-wai/partition-layout-fix-sizes
Fix partition layout sizes parsing
2019-02-06 03:48:27 -05:00
Arnaud Ferraris
32a5a796f7 [rawfs] Allow use of symlinks in configuration
In its current state, the 'rawfs' module requires the source partition 
to be identified either by its mount point or device name, but using a 
symlink to either one (e.g '/dev/disk/by-uuid/...') would fail.

This patch fetches the real path of source partition, allowing the use 
of symlinks.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-02-01 14:23:59 +01:00
Arnaud Ferraris
cf45d55b32 [partition] Fix parsing of partition size in partition layout
When setting the size of a partition without indicating the unit, two
problems occur:

- the size is parsed as an integer, not as a string, hence the
configuration parsing fails
- the size parser doesn't recognize the fact that the size has no units
and defaults to 100%

This patch fixes the configuration parsing as well as the size string
parsing.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-02-01 14:02:40 +01:00
Arnaud Ferraris
18bb71aceb [partition] Fix minimum size parsing in partition layout
When a partition doesn't have a minimum size in the partition layout
configuration, it defaults to using 100% of the available space.

This patch fixes this error by setting the minimum partition size to 0
when the attribute has been omitted.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-02-01 13:57:33 +01:00
Adriaan de Groot
fe0c57c7af [calamares] Make loadmodule --help consistent
- Name job.yaml consistently, call it "job settings document"
2019-01-29 07:52:45 -05:00
Adriaan de Groot
958d15fb71 [libcalamares] Improve saveYaml()
- Write out Int, Double
 - Special-case empty lists
 - Do objects (not lists of objects) correctly

Now passes the tests for all the example config files.
2019-01-29 07:47:38 -05:00
Adriaan de Groot
3d6dd1202a [libcalamares] Extend tests to all example config files
- Do a `find ../src/ -name *.conf` to get files to load
 - Load and save all of them to check for correctness
2019-01-29 07:31:29 -05:00
Adriaan de Groot
e25deffa74 [libcalamares] Implement most of dumpYaml
- Write out bools, strings, lists and maps; this is enough to
   read and reproduce settings.conf
 - Fix infinite loop in writeIndent()
2019-01-28 18:25:47 -05:00
Adriaan de Groot
f72d6ca403 [libcalamares] Add very basic test for load/save YAML 2019-01-28 08:25:13 -05:00
Adriaan de Groot
8789b52cb1 Tests: add language and global-settings options
- The test-loader can be set to a specific language through the
   -l option (just like the Python one can) and can load a global
   configuration file.
2019-01-28 07:52:38 -05:00
Adriaan de Groot
5e1bcd9b4a [libcalamares] Stub of saveYaml
- This belongs alongside loadYaml, so place it in libcalamares
 - Doesn't actually save anything yet (it isn't used yet)
2019-01-28 07:50:30 -05:00
Adriaan de Groot
5efbf51ed3 [libcalamares] Improve naming in implementation
- The code in loadYaml was refactored out of the module-descriptor
   loading code, but the variable names in the implementation were
   not changed and still strangely specific to the prior task.
2019-01-25 11:59:17 -05:00
Adriaan de Groot
b3a7545217 [unpackfs] One more test case 2019-01-25 11:43:33 -05:00
Adriaan de Groot
b44fd65986 [libcalamares] load/save globals in YAML format 2019-01-25 10:58:43 -05:00
Adriaan de Groot
a36afc52df Tests: add command-line options to loadmodule
- The testing-application loadmodule gets -g and -j options
   for loading configurations (although -g is not implemented yet).
2019-01-25 10:01:12 -05:00
Adriaan de Groot
aebe67fde7 [libcalamares] Improve debug message while looking for gettext 2019-01-25 09:43:16 -05:00
Adriaan de Groot
d95193f646 [unpackfs] Translate and log other error messages 2019-01-25 08:02:56 -05:00
Adriaan de Groot
79ce2c2d0f [unpackfs] Translate pretty module name 2019-01-25 07:54:51 -05:00
Adriaan de Groot
28efe2b85a [unpackfs] Log messages in English, too
- For debugging purposes, need to log the message in English before
   returning the (user-visible) error description.
2019-01-25 07:53:39 -05:00
Adriaan de Groot
8ddf801bfb [unpackfs] Switch on translations for user-visible strings 2019-01-25 07:46:19 -05:00
Adriaan de Groot
18f172e80c [unpackfs] Add tests
- Add global- and job-configurations for test runs.
 - Add a driver script that sets up some assumptions on the host
   system so that the tests can complete.
 - The idea is that these tests together get a decent code-coverage
   for the module.
2019-01-25 07:20:16 -05:00
Adriaan de Groot
2d684bb385 [unpackfs] Be more resilient to globalStorage weirdness
- If no extraMount is defined, just don't mount anything
2019-01-25 07:14:23 -05:00
Adriaan de Groot
823b5e480e Tests: add script for running multiple Python-module tests
- This is a driver script for running testmodule.py multiple times
   with different global- and job-configurations.
 - Usage: testpythonrun.sh <modulename>
 - Run the script from the build-directory. It uses files from the
   tests/ (source) subdirectory to drive the test runs.
2019-01-25 06:42:26 -05:00
Adriaan de Groot
e96a29b1b9 [unpackfs] Improve error message wording 2019-01-25 06:08:56 -05:00
Adriaan de Groot
56d05d5834 [unpackfs] Reduce file-reading
- Only need to get the list of supported filesystems *once*,
   not for each and every filesystem that is going to be unpacked.
 - Be more Python-idiomatic.
2019-01-25 06:01:49 -05:00
Adriaan de Groot
4ceedf239c Merge remote-tracking branch 'origin/master' 2019-01-24 15:25:22 -05:00
Adriaan de Groot
73c39adf9c Merge branch 'improve-swap-ui' 2019-01-24 15:20:06 -05:00
Adriaan de Groot
ee5eef36d2
Merge pull request #1075 from a-wai/rawfs-module
Add a raw filesystem copy module
2019-01-24 21:08:52 +01:00
Adriaan de Groot
667c0594a4
Merge pull request #1074 from a-wai/disable-cancel-button
Add a settings.conf option to disable "Cancel" button
2019-01-24 21:05:38 +01:00
Adriaan de Groot
02416578cd Merge branch 'release-3.2.4' 2019-01-24 11:22:04 -05:00
Calamares CI
2f35ff96bb i18n: [dummypythonqt] Automatic merge of Transifex translations 2019-01-24 08:19:40 -05:00
Arnaud Ferraris
902772d9f8 [rawfs] Fix copyright notice in module header
Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-01-24 12:46:13 +01:00
Arnaud Ferraris
4e6492de28 Add a raw filesystem copy module
In some cases, we might want to copy a filesystem as if we were using a
simple 'dd' command, in order to create an exact copy, down to the block
level.
This can be useful in particular when working with dm-verity for
checking the rootfs integrity: that way, we can make a direct copy of
the rootfs and its verity partition and keep the system usable.

This patch adds a new 'rawfs' module to calamares, making possible to
block-copy a filesystem to a block device.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-01-23 16:36:31 +01:00
Arnaud Ferraris
db3d3a7d03 Add a settings.conf option to disable "Cancel" button
In some cases, e.g. when calamares is used as an "initial setup" tool,
we may want to user to go through all the configuration steps in order
to end up with a usable system.
Therefore, disabling the "Cancel" button can be useful in this case.

This commit adds an option to settings.conf which disables this button
when set to "true". If the option is not present in the settings file,
the default behavior ("Cancel" button enabled & visible) is enforced.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-01-23 15:56:07 +01:00
Adriaan de Groot
b913753831 [partition] No need to re-query the current choice 2019-01-21 08:54:09 -05:00
Adriaan de Groot
aef61a42bc [partition] Tidy up code
- avoid possible nullptr dereference on connect() if no swap choices
 - group retranslations together
2019-01-21 08:22:17 -05:00
Adriaan de Groot
24422b19bd [partition] Idiomatic connect() usage 2019-01-21 08:20:01 -05:00
Adriaan de Groot
fbef117fc8 [partition] Remove unused code 2019-01-21 07:52:23 -05:00
Adriaan de Groot
8ecae75dc8 [partition] Simplify code a little
- Document and make pickOne() more correct
 - Reduce calls to globalStorage(), it doesn't change
2019-01-21 07:41:47 -05:00
Adriaan de Groot
e85fedfd41 [partition] Drop comment that doesn't apply anymore 2019-01-18 15:57:21 +01:00
Adriaan de Groot
fee1794924 [partition] Use NamedEnumTable support code
- reduce amount of custom code by using the (new) generic implementation
2019-01-18 15:56:51 +01:00
Adriaan de Groot
a51a000681 Merge branch 'master' into improve-swap-ui 2019-01-14 15:57:22 +01:00
Adriaan de Groot
bcce704589 Merge branch 'resize-control'
FIXES #1062 #1038
2019-01-14 15:31:25 +01:00
Adriaan de Groot
12665192ae [libcalamaresui] Defend against missing config settings 2019-01-14 15:30:44 +01:00
Adriaan de Groot
ef94b1f689 [calamares] Support noexpand
- When in noexpand mode, just don't grow the window, and assume
   widgets elsewhere will get scrollbars automatically.
2019-01-14 14:25:01 +01:00
Adriaan de Groot
866797a6c9 [calamares] Support starting fullscreen 2019-01-14 14:17:39 +01:00
Adriaan de Groot
80569a746f [libcalamaresui] Relax validity check in branding
- A size of 64em has a value less than 1024, which is the minimum
   size **in pixels**. The check doesn't make sense as-is and would
   have to take the unit into account. Leave that to clients of
   branding (e.g. CalamaresWindow, which already does this).
2019-01-14 13:42:41 +01:00
Adriaan de Groot
79cee26b33 [libcalamares] Switch to std::vector
Keeping std::initializer_list around is fraught. Causes segfaults
because I'm not keeping the underlying temporary array around
properly. Switch to vectors because those initialize from the
underlying array.

TODO: look into making this sufficiently constexpr -- perhaps
just use std::array and make find() work on that.
2019-01-14 13:23:44 +01:00
Adriaan de Groot
097927eb3e [libcalamares] Fix off-by-one in taking substring for value 2019-01-14 13:23:14 +01:00
Adriaan de Groot
0648a3facf [fsresizer] Be explicit about type of string 2019-01-14 12:49:58 +01:00
Adriaan de Groot
f6c69db9ff [calamares] Use branding-settings for initial window-size 2019-01-14 12:23:38 +01:00
Adriaan de Groot
32ab377e43 [libcalamaresui] Record branding window-size 2019-01-14 12:06:04 +01:00
Adriaan de Groot
99a19c7c6b [libcalamares] Document NamedSuffix
- Add more constructors
 - Make the table-constructor public, no need to force
   subclassing on everyone
 - Declare some useful API
 - Document the bits.
2019-01-14 11:50:06 +01:00
Adriaan de Groot
ef33aa01f3 [fsresizer] Port to NamedSuffix template 2019-01-11 19:49:39 +01:00
Adriaan de Groot
e28aeebb48 [libcalamares] Introduce helper NamedSuffix template
For (all?) those cases where we have configuration with
a value followed by a unit, introduce a class that
uses the NamedEnum properties to make parsing and split-up easier.
2019-01-11 19:48:11 +01:00
Adriaan de Groot
819a57e458 [libcalamaresui] Store resize configuration
- Use the named enums code for simplicity.
2019-01-11 17:35:06 +01:00
Adriaan de Groot
194f693412 [partition] Use new NamedEnum approach 2019-01-11 14:32:45 +01:00
Adriaan de Groot
9c2a6b03e4 [libcalamares] Slight refactor, move into NamedEnumTable
- expand documentation on find()
 - make find() methods
2019-01-11 14:30:21 +01:00
Adriaan de Groot
fb44113561 [libcalamares] Named enumeration support 2019-01-11 14:15:18 +01:00
Arnaud Ferraris
5cacc0ddc6 Merge remote-tracking branch 'upstream/master' into partition-layout 2019-01-11 10:03:46 +01:00
Adriaan de Groot
305249976f
Merge pull request #1069 from a-wai/preserve-selected-device
Preserve current device when going to manual partitioning and back
2019-01-11 00:08:23 +01:00
Adriaan de Groot
ba63084c7e [partition] Refactor fstype naming
- Use locale "C" for checking filesystem names
 - Also check other possibilities and case-insensitive, to
   be more forgiving of weird configurations (and localizations)
2019-01-10 23:54:57 +01:00
Arnaud Ferraris
dfb5412c57 [partition] Preserve current device when going to manual partitioning
Fixes #1043

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-01-10 16:28:05 +01:00
Calamares CI
807861c97d i18n: [dummypythonqt] Automatic merge of Transifex translations 2019-01-09 14:06:46 +01:00
Adriaan de Groot
44211ee19a Merge branch 'release-3.2.3'
- Pull in CHANGES and release-numbering modifications
 - Pull in locale fixes
 - Bump version again, to 3.2.4-RC1 in master
2019-01-09 13:07:32 +01:00
Adriaan de Groot
4b1b71dd3e [locale] Update Copyright statements 2019-01-08 22:30:12 +01:00
Adriaan de Groot
527392f0af [libcalamares] Update Copyright statement 2019-01-08 22:29:55 +01:00
Adriaan de Groot
200f68ae48 [locale] Reduce debug-chattiness 2019-01-08 22:18:01 +01:00
Adriaan de Groot
f1cbd5fcbf [locale] Provide API for setting language
- The language and BCP need to be in-sync
 - Existing code was inconsistent in setting things, which is why
   you could get through the locale page without setting a locale
   (at all) or it would keep English in spite of picking Germand on
   the welcome page.
 - Patch tests to use that API.
2019-01-08 18:09:34 +01:00
Adriaan de Groot
8cc0e1f5f9 [locale] Expand tests to check lang
- This shows that one constructor isn't doing it right.
2019-01-08 14:39:40 +01:00
Arnaud Ferraris
921f70d3bb [partition] Fix size and last sector computation
Due to a computation error when calculating the total drive space and
each partition's last sector, the last partition's last sector was out
of boundaries, leading to an error creating this partition.

This patch fixes the computation algorithm to get rid of this error.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-01-08 14:05:38 +01:00
Adriaan de Groot
2345b933cd [locale] Add operator << for LocaleConfiguration, for debugging 2019-01-08 13:40:20 +01:00
Adriaan de Groot
dbe50fe3db [locale] Improve LocaleConfiguration constructors
- Allow split-setting of the language and formats
 - Test new constructors
 - Since fromLanguageAndLocation can handle empty localeGen
   lists just fine, skip all the weird checks that return
   invalid guessed locale configurations.
2019-01-08 13:23:16 +01:00
Adriaan de Groot
0a526febae [locale] Refactor setting the BCP47 name and update test 2019-01-08 11:39:15 +01:00
Adriaan de Groot
b1921cced9 [locale] Add tests for some of the data classes 2019-01-08 11:30:49 +01:00
Adriaan de Groot
50e6f0fcbf [locale] Replace weird static-constructor
- Replace createDefault() with a constructor that takes a
   locale name; use it with en_US.UTF-8 in those places where
   createDefault was previously used.
2019-01-08 11:10:16 +01:00
Adriaan de Groot
093240c131 [libcalamares] Be less chatty in Python scripts
- When finding the gettext path, the debug output was very
   chatty and didn't include an indication that it was looking
   for translations.
2019-01-08 10:51:53 +01:00
Adriaan de Groot
9d871fb9db [locale] Update global locale setting when it changes
- use debugging to be a little more chatty
 - when changing the system language on the locale page,
   the global locale setting should change, too.
2019-01-07 18:49:08 +01:00
Arnaud Ferraris
cb60a3e7f1 [partition] Keep copyright notice for copied code
Some code was copied and adapted from PartitionActions.cpp. For full
compliance, it is best to copy the copyright holders list from this file
to PartitionLayout.cpp.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-01-07 18:40:12 +01:00
Adriaan de Groot
bc398756f5 [locale] Debugging support for Location
- code formatting
 - provide an operator << for debugging TZ widget
2019-01-07 18:34:25 +01:00
Adriaan de Groot
3ff480eaa9 [locale] Refactor to make updating global locale setting easier. 2019-01-07 17:29:54 +01:00
Arnaud Ferraris
fcd0e8d362 [partition] Apply partition layout when replacing free space
When chosing the "Replace partition" option, free space is not handled
like any partition. In order to apply the custom partition layout in
that case too, we have to modify the code where "replace free space" is
handled.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-01-07 17:28:02 +01:00
Arnaud Ferraris
ba673b17ee [partition] Add configuration option to disable manual partitioning
In some cases where a custom partition layout is used, use of this
layout is mandatory (this can be the case when using a read-only rootfs
which is updated by block-cpying an image file to it).

For these cases, the user must not be able to change the partition
layout, therefore we have to disable manual partitioning.

In order to stay consistent with current behaviour, manual partitioning
is still enabled by default. It will only be disabled if the partition
module's config file contains the corresponding option set to "false".

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-01-07 17:27:40 +01:00
Arnaud Ferraris
2f14a21456 [partition] Apply custom layout when installing "Alongside"
When choosing "Install alongside another system", the custom partition
layout is applied to the space freed by resizing the selected partition.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-01-07 17:27:12 +01:00
Arnaud Ferraris
74a59ae68a [partition] Display partition labels when they exist
Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-01-07 17:26:53 +01:00
Arnaud Ferraris
0d284759f5 [partition] Apply custom partition layout for Erase and Replace choices
This patches add new methods to both PartitionLayout and
PartitionCoreModule classes which apply the partition layout to the
available drive space.

In addition, the partition creation code from PartitioinActions is
removed to call the newly created methods instead, thus applying the
custom partition layout when the "Erase whole disk" and "Replace
partition" choices are selected.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-01-07 17:26:37 +01:00
Arnaud Ferraris
f863912a2f [partition] export PartitionActions::bytesToSectors for future use
As we move some of the partition creation code away from
PartitionActions, we will need the bytesToSectors function. Rather than
copying it, we export it in the PartitionActions namespace, so that
other classes can use it.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-01-07 17:26:12 +01:00
Arnaud Ferraris
b2bf873ede [partition] Initialize partition layout from config file
In order to keep the partition layout during calamares' execution, we
add a PartitionLayout object instance to PartitionCoreModule. This class
will therefore be used to initialize the PartitionLayout object and
interact with it thoughout the program's execution.

When no partition layout is present in the config file, we initialize
the layout with a single ext4 partition mounted on '/', as it was
previously done.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-01-07 17:25:39 +01:00
Arnaud Ferraris
f1ead5193d [partition] Create PartitionLayout class
In order to use a custom partition layout in the partition module, we
need to write this layout in the module's config file, and store it into
a dedicated object.

As it doesn't look appropriate to extend an existing class with layout
information, we create a new PartitionLayout class, which will be used
to parse the layout from the config file and keep it in memory.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-01-07 17:25:22 +01:00
Adriaan de Groot
e52f0318fe [locale] Call timedatectl only when needed
- When testing and running not-as-root, only call the timedatectl
   when the settings actually change; this reduces the number of
   times kauth pops up.
2019-01-07 15:16:37 +01:00
Adriaan de Groot
2bb7a5f686 [branding] Document intended settings for window size
- Control Calamares window size through the branding file
 - This is for #1062 and #1038
2019-01-03 15:46:44 +01:00
Adriaan de Groot
8b72c93d67 [branding] Group the welcome-settings together 2019-01-03 15:38:20 +01:00
Adriaan de Groot
b1ea96e463 [partition] Don't autoremove the tempdir
- Dangerout since we're mounting things inside that tempdir,
   and then doing a "weak" unmount
2019-01-03 15:10:07 +01:00
Calamares CI
e572784eb5 i18n: [dummypythonqt] Automatic merge of Transifex translations 2019-01-03 15:06:55 +01:00
Adriaan de Groot
fe3a88f834 [packages] Fix cut-and-paste-o in packages try_remove
- Copied from_local from the code for install, which doesn't
   make sense and causes a NameError.

FIXES #1063
2019-01-03 14:36:48 +01:00
Adriaan de Groot
56a71c232f [locale] Use the re-factored LocaleLabel 2018-12-14 13:27:32 +01:00
Adriaan de Groot
210965aca4 [libcalamaresui] Allow always-show-country setting in locale label 2018-12-14 13:20:32 +01:00
Adriaan de Groot
8790985fca [libcalamaresui] Code-formatting, remove dead code 2018-12-14 11:33:13 +01:00
Adriaan de Groot
3dda9ab860 [libcalamaresui] LocaleLabel doesn't need to inherit QObject
- Use static QObject::tr instead.
2018-12-14 11:30:05 +01:00
Adriaan de Groot
1f4ac45bb5 [libcalamaresui] Cleanup locale-labeling code
- Support translations of the "language (country)" format instead
   of forcing English parenthesis.
2018-12-14 11:22:47 +01:00
Adriaan de Groot
084f4d2445 [libcalamaresui] Refactor: move LocaleLabel to UI library
- This is prep-work for making locale labels consistent everywhere.
 - While here, improve code documentation.
2018-12-14 10:52:55 +01:00
Harald Sitter
311af6de5d [locale] prefer native language and country names when available
This basically means we talk about localization in the respective
localized variant. e.g. "German (Germany)" ➡ "Deutsch (Deutschland)".

If geoip lookup failed or isn't configured for whatever reason it's a
stretch to expect the user to know english enough to find their own
language. Preferring the localized strings resolves this issue.

Additionally this happens to bypass #712 respectively
https://bugreports.qt.io/browse/QTBUG-34287
as the native names are properly spelled. So, as long as Qt has localized
names the names will also be properly spelled.
2018-12-13 23:18:37 +01:00
Calamares CI
bf976b3de0 i18n: [dummypythonqt] Automatic merge of Transifex translations 2018-12-11 19:31:23 +01:00
Adriaan de Groot
4973d00ace [partition] Only create drop-down if there is something to select
- Swap choices may be 0 (then choose none), 1 (choose that one)
   or more (currently undecided)
2018-12-11 13:52:23 +01:00
Adriaan de Groot
00df8a9fb1 [partition] Remove unused code
- Swap choice for replace and alongside will happen much, much later.
2018-12-04 12:21:02 +01:00
Adriaan de Groot
a456687924 [partition] Include all possible SwapChoices in example 2018-12-04 12:11:35 +01:00
Adriaan de Groot
a66ea106d6 [partition] Missing implicit include 2018-12-04 11:40:27 +01:00
Adriaan de Groot
2998c27545 [partition] Use configured swap choices in choice page 2018-12-04 11:35:35 +01:00
Adriaan de Groot
5945e9584d [partition] Refactor name-to-enum and back for swap choices 2018-12-04 11:15:38 +01:00
Adriaan de Groot
edc6c64657 [partition] Create swap-combo from a set
- Alternate way to create swap-combobox, using configuration
   values rather than an initializer list.
2018-12-04 11:01:16 +01:00
Adriaan de Groot
988a0a5388 [partition] Changing swap choice also changes preview
- When selecting *erase*, you may be able to change the swap
   settings. If so, changing swap settings should change the
   preview.
2018-12-04 10:34:02 +01:00
Adriaan de Groot
0231619c7c [partition] Refactor slot for change in action
- Let's not go overboard on lambdas,
 - Needed for others that also want to update the partitioning preview
2018-12-04 10:22:08 +01:00
Calamares CI
6ac872e724 i18n: [dummypythonqt] Automatic merge of Transifex translations 2018-12-03 21:09:30 +01:00
Adriaan de Groot
c5d707399d Merge branch 'fix-swap-ui' 2018-12-03 21:02:10 +01:00
Adriaan de Groot
14c72824f0 [partition] Be chatty when deciding a partition isn't resizable 2018-12-03 16:42:40 +01:00
Adriaan de Groot
b798c27bc4 [partition] Be more verbose while looking for fstab entries 2018-12-03 16:33:12 +01:00
Adriaan de Groot
1f2d547d5b Merge remote-tracking branch 'origin/partitioning-fixes' 2018-11-30 12:50:03 +01:00
Adriaan de Groot
e074959ede Merge remote-tracking branch 'origin/package-scripts'
FIXES #1057
2018-11-30 12:29:31 +01:00
Adriaan de Groot
1fb1189f74 Merge remote-tracking branch 'origin/mount-conf-flexible' 2018-11-30 12:28:07 +01:00
Adriaan de Groot
e4d67b5572 [mount] Handle missing configuration keys gracefully
- If a key is missing from mount.conf, don't raise KeyError
 - If both keys are missing, suggest that mount.conf might
   be missing instead (a consequence of INSTALL_CONFIG=OFF, for
   instance).
 - Simplify code a bit.
 - Don't bother returning None explicitly.
2018-11-28 13:26:40 +01:00
Adriaan de Groot
0a73d57808 [packages] Add support for pre- and post- scripts everywhere
- for remove and localInstall, add support for pre- and post-
   scripts like there already was for install.

This feels like there's code duplication going on, but I haven't
thought of an elegant way to distinguish the available operations
so that I can pass around functions instead.
2018-11-27 12:52:24 +01:00
Adriaan de Groot
34255b4cf5 [packages] Document *localInstall* operation. 2018-11-27 12:48:31 +01:00
Adriaan de Groot
05588a1ffd [packages] Improvide conf documentation
- about LOCALE packages
 - about pre- and post-scripts

CC: #1057
2018-11-27 12:39:19 +01:00
Calamares CI
94dcf56282 i18n: [dummypythonqt] Automatic merge of Transifex translations 2018-11-20 13:17:21 +01:00
Adriaan de Groot
38d58fb6ed [partition] Check for suitable FS before passing -o noload
- The noload option prevents journal re-play (so it's an extra-
   strong read-only) but is only applicable to ext3 and ext4.
   Check the FS type before mounting; other FS types don't
   accept -o noload and will fail to mount.
2018-11-12 17:07:18 +01:00
Adriaan de Groot
e0ce500f36 [partition] Improve debug-output after os-prober 2018-11-12 16:31:30 +01:00
Adriaan de Groot
c522004575 [partition] Mount fs read-only when searching for fstab
Submitted by aliveafter1000

FIXES: #1044
CLOSES: #1050
2018-11-12 15:26:15 +01:00
Adriaan de Groot
9459ef7d93 [partition] Set FlagBoot for the root partition
- This only applies to legacy (non-EFI) BIOS systems, and
   adds the FlagBoot to whatever is already set for the root
   filesystem, and only when autopartitioning the device.

Submitted by aliveafter1000.

FIXES: #1046
CLOSES: #1049
2018-11-12 15:15:22 +01:00
Adriaan de Groot
a1143e8fef [partition] Document flags parameter to createPartition() 2018-11-12 14:16:33 +01:00
Adriaan de Groot
8144295e98 [partition] Make new partition flags explicit
Suggested by aliveafter1000: having a default value, and then
filling in the default in one place it is used and not others,
is weird. Instead of dropping the one use, remove the default
value: partition flags are important enough to be explicit.
2018-11-09 08:25:26 -05:00
Adriaan de Groot
1def06cfd3 [calamares] Reduce warnings about signedness 2018-11-09 08:24:31 -05:00
Adriaan de Groot
97c9e5bdcd [partition] Debug-log available file-system types 2018-11-06 06:22:02 -05:00
Adriaan de Groot
463b1441a5 [partition] Be more verbose about default file-system settings
- Log the type that is configured
 - Document that this is a delicate setting, case-sensitive and
   dependent on KPMCore.
2018-11-06 05:54:45 -05:00
Adriaan de Groot
6de55e6951 [partition] Construct, then winnow, the fstab entries 2018-11-02 12:13:29 -04:00
Adriaan de Groot
ebbc1a1bcb [partition] "constructor-like" needs to be static 2018-11-02 12:13:06 -04:00
Adriaan de Groot
516ae494bf [partition] Complain if unmount fails
- If unmount fails, then warn and don't autoremove
2018-11-02 12:04:09 -04:00
Adriaan de Groot
bd1b482242 [partition] Don't autoremove the tempdir
- Dangerout since we're mounting things inside that tempdir,
   and then doing a "weak" unmount
2018-11-02 11:58:49 -04:00
Adriaan de Groot
f1c1d07dca [partition] Add convenience methods to FstabEntry
- Add something like a constructor
 - Add validity checking
2018-11-02 11:57:49 -04:00
Adriaan de Groot
417eeedd9f [partition] Calamares is spaced-out enough without extra's 2018-10-11 06:35:45 -04:00
Adriaan de Groot
c7645af358 [partition] Translate swap-choice-strings to enum
- Handle legacy and modern config, mixed-configs,
 - Translate strings to enum values,
 - Default and warn as appropriate.
 - Doesn't **do** anything with the config, though.
2018-10-11 06:27:39 -04:00
Adriaan de Groot
f7cc571635 Merge branch 'fix-swap-ui' of github.com:calamares/calamares into fix-swap-ui 2018-10-08 16:49:18 -04:00
Adriaan de Groot
3d543e9063 [partition] Refactor to use current config-reading methods 2018-10-09 05:46:12 -04:00
Adriaan de Groot
caa4b8ab53 [partition] Document intention of new-style swap config 2018-10-09 05:30:14 -04:00
Adriaan de Groot
2a61116b3c [partition] Disable swap choice for replace & alongside 2018-10-08 15:32:02 -04:00
Adriaan de Groot
779542a5d1 Merge branch 'master' into fix-swap-ui 2018-10-08 13:56:28 -04:00
Adriaan de Groot
3b8d2835e0 [calamares] Use XDG_{DATA,CONFIG}_DIRS as appropriate
- Use DATA for the qml and branding directories (looks for qml/
   and branding/<name>/ in those directories).
 - Use CONFIG for the global settings and module settings (looks
   for settings.conf and module/<name>/ in those directories).

FIXES #941
2018-10-08 10:28:30 -04:00
Adriaan de Groot
c489320af5 [calamares] Add option to obey XDG dirs
- Prep-work for #941
 - This does nothing, yet, just sets the stage for using
   XDG_CONFIG_DIRS and XDG_DATA_DIRS as well as the regular
   directories.
2018-10-08 07:02:35 -04:00
Adriaan de Groot
4a2ca8bb77 [libcalamares] Fix compilation of tests
- QCOMPARE is picky with types, enum vs unsigned int, so just
   hit it with a hammer.
2018-10-08 06:46:35 -04:00
Adriaan de Groot
fc99824c8d [fsresizer] Fix string error, thanks Lithuanian translators 2018-10-05 17:22:12 +02:00
Adriaan de Groot
bb586de056 [partition] Remove some slowdown methods when debugging is off
- Running lsblk and mount for debugging purposes can be
   skipped when the debugging is going to be suppressed anyway.
   This will speed things up just a little for regular users.
2018-10-05 09:41:37 -04:00
Adriaan de Groot
74ab06e20a [partition] Drop redundant logging 2018-10-05 09:41:37 -04:00
Adriaan de Groot
02a6b7dd12 [partition] Log the newly-created partition table
- Log individual partitions instead of printing QObject(<ptr>)
2018-10-05 09:41:37 -04:00
Adriaan de Groot
4757496c3d [partition] Improve partition-UUID logging. 2018-10-05 09:41:37 -04:00
Adriaan de Groot
5b936f33ec [libcalamares] Add tests
- Test only the new debug-level query methods
2018-10-05 09:41:37 -04:00
Adriaan de Groot
0b1c969a80 [libcalamares] Allow querying debug settings 2018-10-05 09:41:37 -04:00
Adriaan de Groot
7515386cf8 CMake: clean up test setup
- Remove redundant searches for ECM and Qt::Test, move
   them to top-level.
2018-10-05 09:41:37 -04:00
Adriaan de Groot
a33b0c4f24 [partition] Log the flags that are used to create a partition 2018-10-05 07:45:05 -04:00
Calamares CI
36161461e2 i18n: [dummypythonqt] Automatic merge of Transifex translations 2018-10-05 07:36:40 -04:00
Adriaan de Groot
292bc57523 [partition] Fix build with suitable operator << 2018-10-03 13:49:52 -04:00
Adriaan de Groot
b38316365e [partition] Be more verbose about why UI buttons appear 2018-10-03 13:58:50 +02:00
Adriaan de Groot
800f9d34f9 [partition] In logging, distinguish more cases
- While winnowing devices, the zram and nullptr cases
   were mixed together; split them, for the sake of
   logging more accurately.
 - While here, fix up some coding-style issues.
2018-10-03 13:46:08 +02:00
Adriaan de Groot
1a248e0574 [preservefiles] Apply restrictive default permissions 2018-10-01 11:31:54 +02:00
Adriaan de Groot
eb6fc01c01 [preservefiles] Document new permissions key 2018-10-01 11:22:57 +02:00
Adriaan de Groot
d3d08241e2 [preservefiles] Support perm setting
- Use settings from config file
 - Refactor copy operation
 - Apply permissions inside target system
2018-10-01 11:22:57 +02:00
Adriaan de Groot
91c94c6022 [preservefiles] Tidy up permissions code
- superfluous const
 - add default constructor
 - Add octal-string accessor to permissions
2018-10-01 11:18:44 +02:00
Adriaan de Groot
1c85a648a4 [preservefiles] Tie permissions into the build, file header 2018-10-01 10:45:39 +02:00
Adriaan de Groot
3ef4842a4d [preservefiles] Add permissions-parsing code from Scott Harvey 2018-10-01 10:40:43 +02:00
Adriaan de Groot
21fedfce65 [fsresizer] Calamares oding style 2018-10-01 04:22:25 -04:00
Adriaan de Groot
39902d1c3f [fsresizer] "can not" -> "cannot" 2018-10-01 04:19:14 -04:00
Adriaan de Groot
eb7c6385cd [fsresizer] Bail out if resize required but not feasible 2018-10-01 04:19:14 -04:00
Adriaan de Groot
0b4c0f9c38 [fsresizer] Add setting required
- If resize is required, fail if it doesn't happen.
2018-10-01 04:06:01 -04:00
Adriaan de Groot
29bae61610 Merge branch 'master' into fix-swap-ui 2018-10-01 03:21:06 -04:00
Adriaan de Groot
7e88f637b1 [localecfg] Fix error in string-formatting. 2018-09-30 18:56:48 +02:00
Adriaan de Groot
b42a36e5ad [fsresizer] Don't need to check KPMCore version 2018-09-28 14:24:25 +02:00
Adriaan de Groot
ed841d1674 [fsresizer] Typo 2018-09-28 12:34:40 +02:00
Adriaan de Groot
aaf27ac2ab [fsresizer] Apply sizes properly
- Distinguish size and atleast; in percentages they mean different
   things (atleast is a bit weird as a percentage, but hey).
 - Fix bug in percentage calculation.
 - Avoid percentage above 100.
 - Add documentation in config-file.
2018-09-28 12:32:08 +02:00
Adriaan de Groot
c725f6b552 [fsresizer] Distinguish error from no-useful-resize 2018-09-28 12:05:41 +02:00
Adriaan de Groot
5dc11b223a [fsresizer] Do the resize itself
- handle weird partition tables
 - ignore unallocated space -- that's what we want to expand into
 - use ResizeOperation for the actual work
2018-09-28 11:55:16 +02:00
Adriaan de Groot
14b6755714 [fsresizer] Initialize harder 2018-09-27 21:47:54 +02:00
Adriaan de Groot
e627633c44 [fsresizer] initialize FS support 2018-09-27 21:39:22 +02:00
Adriaan de Groot
2556891e39 [fsresizer] Fix backwards logic in error message 2018-09-27 20:49:28 +02:00
Adriaan de Groot
869357a89c Merge branch 'master' into oem-resizer 2018-09-27 20:47:17 +02:00
Adriaan de Groot
a749f041f0 [calamares] More verbose failure in test-loader 2018-09-27 20:45:13 +02:00
Adriaan de Groot
e7c62c114f [keyboard] Improve debugging output 2018-09-27 13:35:33 +02:00
Adriaan de Groot
9124281bcb [fsresizer] Calculate resize parameters
- apply() a relativesize to a device to find out how much it
   means in sectors
 - find the space into which the configured FS can grow.
2018-09-27 05:28:20 -04:00
Adriaan de Groot
9e1c95ad05 [fsresizer] Refactor finding device
- Find device in separate function
 - If device isn't found, bail out
2018-09-27 04:10:25 -04:00
Adriaan de Groot
1c2714d832 [fsresizer] Match configuration to system
- Bail out earlier before doing any work if the configuration
   is invalid.
 - If it's valid, look for a matching device.
2018-09-27 03:56:57 -04:00
Adriaan de Groot
aae4b38e69 [fsresizer] Fix endless loop
- Improve variable names
 - Missing iterator++
2018-09-27 03:44:39 -04:00
Adriaan de Groot
3ab891793a [keyboard] Add Austrian keyboard layout
- Map xkb 'at' to 'de' on the text console
 - Thanks Philip Mueller, Kevin Kofler

FIXES #1035
2018-09-26 16:54:39 +02:00
Adriaan de Groot
06a00a15c6 [fsresizer] Scan for devices, list partitions
- The is just debugging output, but it's the start of what needs
   to happen to find the FS that needs resizing.
2018-09-25 06:39:14 -04:00
Adriaan de Groot
35ca813064 [partition] Use "" for including from current directory 2018-09-25 06:34:03 -04:00
Adriaan de Groot
d752223d0b [libcalamaresui] When reporting failure, use full product name. 2018-09-24 17:58:22 +02:00
Adriaan de Groot
0396ed28b7 [keyboard] Update some origin information for the keyboard map 2018-09-24 17:05:36 +02:00
Adriaan de Groot
88c973f7cc [partition] Simplify space calculations
- Q_ASSERT doesn't work in constexpr functions because it's not
 - May as well calculate bytes at compile-time, no need to give
   the runaround via number-of-MiB
2018-09-24 13:50:19 +02:00
Adriaan de Groot
428929b64f [fsresizer] Tiny step towards getting data from KPMcore 2018-09-22 11:11:19 -04:00
Adriaan de Groot
e3bf9fc220 [partition] Fix build with KPMCore <= 3.3.0
- Reported by Philip Mueller
2018-09-21 16:19:05 -04:00
Adriaan de Groot
45195b9f7e [fsresizer] Remove over-enthusiastic constexpr 2018-09-20 10:34:46 -04:00
Adriaan de Groot
499dd2ce83 [fsresizer] Document configuration
- Add some notes on configuration of fsresizer
 - Convenience methods for checking validity.
2018-09-20 15:38:26 +02:00
Adriaan de Groot
3b8fa187e1 [fsresizer] Fix syntax error in YAML 2018-09-20 07:49:49 -04:00
Adriaan de Groot
bf092de76f [calamares] Explain config-file failures better 2018-09-20 07:48:06 -04:00
Adriaan de Groot
39a0d2315b [calamares] Better config-loading diagnostics
- Be more verbose when things go wrong while loading module-
   configuration files.
 - Allow more forms of paths to be specified. In debug mode, this
   is mostyle helpful for the module test-loader.
2018-09-20 07:39:43 -04:00
Adriaan de Groot
c6e8cdf65b [calamares] Better command-line help in module test-loader 2018-09-20 07:07:17 -04:00
Adriaan de Groot
40e031411c [calamares] Improve debug log in module test-loader 2018-09-20 07:01:27 -04:00
Adriaan de Groot
745629b659 [fsresizer] Turn on KPMCore requirement again 2018-09-17 06:58:18 -04:00
Adriaan de Groot
d2f4079a18 [partition] Move partitioning options into a class
- As (auto) partitioning grows more options, the parameter
   list becomes more unwieldy. Add some structure to it.
2018-09-17 06:42:14 -04:00
Adriaan de Groot
3f09857cb7
Merge pull request #1013 from cjlcarvalho/master
Some RAID fixes
2018-09-17 12:25:24 +02:00
Adriaan de Groot
a6c3899e10 [fsresizer] Add tests
- Test the parsing of configuration values, that it gets the right
   values when given correct(-ish) configurations. Doesn't test
   any situations with bad config.
2018-09-14 17:59:50 +02:00
Adriaan de Groot
a81588190a [fsresizer] Simplify and make safer
- Make RelativeSize public so we can use it in non-member functions
 - Make a template out of matching the string suffixes; this is
   safer because the length of the suffix can be computed at compile-time
   (+1 for the trailing NUL) rather than writing it out in boilerplate.
2018-09-14 16:51:09 +02:00
Adriaan de Groot
cdfb55e5cf [fsresizer] Just right now it doesn't need KPMCore
- Drop the dependency while developing the configuration parser
   part of the module and writing initial tests.
2018-09-14 16:49:07 +02:00
Adriaan de Groot
4d5eb90a04 [fsresize] Add new module fsresizer
- Non-functional as yet, WIP
 - Intended for use on SBC images and similar, which need to resize
   the root partition to the size of the SD card they're on.

FIXES #921
2018-09-14 07:56:18 -04:00
Adriaan de Groot
5136021416 [partition] Move SwapChoice to another namespace
- The choice of swap needs to be handled in more places,
   so make the enum available in the partition module core instead
   of just inside the choice page.
2018-09-13 06:29:59 -04:00
Adriaan de Groot
846e496d76 [partition] Tidy includes 2018-09-13 05:50:46 -04:00
Adriaan de Groot
8c79c981b1 [partition] Simplify space calculations
- Q_ASSERT doesn't work in constexpr functions because it's not
 - May as well calculate bytes at compile-time, no need to give
   the runaround via number-of-MiB
2018-09-13 05:33:39 -04:00
Adriaan de Groot
959cd7b224 [partition] Simplify creation of comboboxes for swap choices 2018-09-13 04:45:36 -04:00
Adriaan de Groot
cfa940b35c [partition] Support translations of swap choices
- Introduce enum to indicate what is selected
 - Support translations
 - Fill selections for erase
2018-09-12 11:18:17 -04:00
Adriaan de Groot
7d0451fe69 [partition] Rename Choice -> InstallChoice
- There are more choices to be made (or to come) when partitioning,
   so don't take the most generic term for one enum.
2018-09-12 10:16:48 -04:00
Adriaan de Groot
10f7bac2df [partition] Reorder initialization 2018-09-12 10:05:14 -04:00
Adriaan de Groot
c3f3276188 [partition] Improve presentation of swap options 2018-09-12 09:20:44 -04:00
Adriaan de Groot
dc492b301c [partition] Drop label on swap-options box 2018-09-12 08:42:21 -04:00
Adriaan de Groot
a791818a65 [partition] Add swap drop-down
- This is WIP; the drop-down contents should be customised,
   depending on configuration and the state of the device being
   installed-to.
2018-09-12 08:18:45 -04:00
Adriaan de Groot
c813375908 [partition] Prepare for swap options
- Extend PrettyRadioButton with options (combo-boxes which may
   be added later).
2018-09-12 08:09:01 -04:00
Calamares CI
5291072cbc i18n: [dummypythonqt] Automatic merge of Transifex translations 2018-09-12 05:01:25 -04:00
Adriaan de Groot
e0cd90cab1 Update the documentation and implementation of swap calculation.
Make the ramps consistent between suspend-to-disk and not,
and don't do the weird drop from 8GiB swap down to 4GiB for
large-memory systems.
2018-09-11 11:30:01 -04:00
Adriaan de Groot
c104d14086 [partition] Call the helpers in the right order.
This fixes the crash by calling the model-reset first, then
refreshing. Previously, the destructors that do the work
were still being called in the wrong order.

FIXES #1019
2018-09-03 15:21:30 -04:00
Adriaan de Groot
fe662345bd [partition] Extra helper classes for doing reset and refresh
- The ResetHelper only finalized changes to the module on
   destruction, but calls to refresh() assumed it was already
   done. This leads to crashes when refresh() uses an intermediate
   state of the model.

Introduce extra helpers, and rename refresh() to avoid calling the
old implementation from any code. The new helper just creates and
destroys a ResetHelper, before creating and destroying an object
that calls the new refreshAfterModelChange().

FIXES #1019
2018-09-03 10:57:20 -04:00
Adriaan de Groot
4602b30264 [libcalamaresui] Use PYTHONQT_INCLUDE_DIRS
- document new variable from the CMake module
 - use it in libcalamaresui to simplify #include'ing the
   header for the "all" extension.

Suggested by Denis Proskurin.
2018-09-03 06:26:26 -04:00
Adriaan de Groot
42d606171d
Merge pull request #1020 from apachelogger/esp-eq-boot
do not set boot flag on ESP (thanks @philmmanjaro for testing)
2018-09-03 10:28:59 +02:00
Adriaan de Groot
8b6fb1f5fa
Merge pull request #1021 from apachelogger/no-active-esp
do not set active flags on the to-be ESP (thanks @philmmanjaro for testing)
2018-09-03 10:28:40 +02:00
Adriaan de Groot
a796981ace
Merge pull request #1022 from ximion/master
grubcfg: Only try to decrypt disk that /boot is on (thanks @philmmanjaro for testing)
2018-09-03 10:28:24 +02:00
Philip Müller
e3ca2dd857
[displaymanager] fix desktop_environment_setup ldm 2018-08-26 21:15:03 +02:00
Matthias Klumpp
d775cee4cf grubcfg: Only try to decrypt disk that /boot is on 2018-08-25 15:21:40 +02:00
Harald Sitter
84ad2852bf do not set boot flag on ESP
ESP == boot. at best this is duplicated information, at worst kpmcore may
implode if you try to set a boot flag since that is technically an MBR
type flag and means nothing within the context of GPT where ESP is the flag
to set.
2018-08-22 10:14:49 +02:00
Harald Sitter
81cab43701 do not set active flags on the to-be ESP
having ESP as active flag AND then trying to set ESP means nothing is
set since kpmcore will think ESP is already set (it is listed as active
after all). this ultimately meant that nothing was set since there was
no delta between the requested flags and the already active flags.
2018-08-22 10:12:36 +02:00
Adriaan de Groot
c3219a4905 [displaymanager] Fix call in LightDM code
- The parameter list was wrong, and could never have worked
   (apparently noone mixes LightDM with basic setup, even though
   it's one of the few with basic_setup()).
 - Shorten some lines.
2018-08-21 07:31:46 -04:00
Adriaan de Groot
858c959285 Merge branch 'master' into refactor-dm 2018-08-20 17:25:26 -04:00
root
fa45e21e15 Fix default desktop environment variable in displaymanager. Closes #1016. 2018-08-20 22:21:39 -07:00
Adriaan de Groot
a83ee4984d [displaymanager] Enable translation for user-visible messages
See also #991
2018-08-20 12:30:44 -04:00
Adriaan de Groot
5191400d89 [displaymanager] Fix LightDM error message
- Error tuple was not being constructed properly
 - Fix capitalization consistency
2018-08-20 12:30:44 -04:00
Adriaan de Groot
ebae7e1f47 [displaymanager] Re-arrange initializations
- Move variable initializations closer to where they are first used
 - Also warn if no implementations are available
 - Handle sysconfig as any other DM; there's no real reason
   to treat it specially.
2018-08-20 12:30:44 -04:00
Adriaan de Groot
229cc241fa [displaymanager] Massage do_autologin
- Move getting the global setting closer to where it is used
 - Initialize variable
2018-08-20 12:30:44 -04:00
Adriaan de Groot
59a003a41f [displaymanager] Expand check for no-DMs
- The message refers to an empty list or unset variable,
   but the if only checked for unset. Also bail out if
   the list is empty.
2018-08-20 12:30:44 -04:00
Adriaan de Groot
2d0660a54a [displaymanager] Fix up missing methods
- Add (empty) implementations of all the abstract methods that
   are not needed (or supported) by various DMs.
 - Order the abstract methods by calling order
 - Fix up have_dm
2018-08-20 12:30:44 -04:00
Adriaan de Groot
155e212616 [displaymanager] Call all configuration methods through instance
- Make root_mount_point a parameter of the DM classes
 - Create instances as needed, then check if they're available
 - Keep instances that actually need to be configured
 - Clean up remaining cruft from removing old setup_autologin()
   with all the string-comparison magic.
2018-08-20 12:30:44 -04:00
Adriaan de Groot
18392cb216 [displaymanager] Refactor greeter setup
- Only lightdm has support for dynamically configuring the
   greeter based on what is installed. Still, refactory that
   to something general.
2018-08-20 12:30:44 -04:00
Adriaan de Groot
383e0e4f25 [displaymanager] Refactor setting up default DE
- Some DMs allow setting up the default DE. Factor that
   out into a method like basic_setup() and setup_autologin()
   and add it to the configuration chain.
2018-08-20 12:30:44 -04:00
Adriaan de Groot
1c0b9e6a2a [displaymanager] Call basic_setup through instance
- Now that basic_setup is factored out into the classes,
   call it via an instance before doing set_autologin.
2018-08-20 12:30:44 -04:00