Commit Graph

3277 Commits

Author SHA1 Message Date
Adriaan de Groot
d59a44be44 [libcalamares] Asking for type of undefined node throws
- Use YAML-CPP API for finding out if a node has a value at all.
 - Asking for Type() of an undefined or NULL node throws an
   exception, so the existing code didn't **actually** catch
   cases where a required setting wasn't set at all.
2018-06-20 15:59:23 +02:00
Adriaan de Groot
25f249180b [localecfg] Be slightly more conservative interpreting comments
- A valid line (as explained in the comments at the top of
   the locale.gen file) is <locale> <encoding> (two fields),
   so lines with more than two fields can't be valid locale-
   listing lines. For them, pretend they name locale "",
   which won't be matched.
2018-06-20 09:11:23 -04:00
Adriaan de Groot
8551653575 [localecfg] Re-write the locale.gen file better
- Improved debug-logging
 - Fix the actual problem of listing locales more than once,
   by listing them all, uniqified, at the end, with an explanitory
   comment in the generated file.
 - Be more accepting of what constitutes a locale-line; this allows
   spaces before and after the `#` comment sign, but because we're
   uniquifying, this doesn't cause duplicates.
 - Because we write the enabled locales at the end, the full file
   comment-header is retained un-mangled (instead of accidentally
   enabling a locale mentioned as an example there).
2018-06-20 08:35:18 -04:00
Adriaan de Groot
413ee81ead [localecfg] Simplify handling of en_US
- By adding en_US to the set of locales-to-enable, we can
   drop the special-case code for it.
2018-06-20 07:13:36 -04:00
Adriaan de Groot
ec09272b81 [libcalamares] Fix inverted logic
Reported by bshah.
2018-06-19 18:08:14 +02:00
Adriaan de Groot
b283ad69d5 [libcalamares] Complain if key isn't set
- Previous check would also fail when the setting is false,
   not just when the key is missing.
2018-06-19 17:59:28 +02:00
Adriaan de Groot
efc977f7b4 [localecfg] Fix mismatch between filenames
Testing for existence of a file in the live system, and then
copying it in the target system, is not a recipe for success.

 - Fix the restore-from-backup part.
 - Document that your live and target system must both have
   /etc/locale.gen if you want this to work at all.
2018-06-19 08:56:37 -04:00
Adriaan de Groot
7498629b5f [localecfg] Move all path-setting to one spot
- Make the way the paths are constructed consistent
 - Name the paths more consistently
2018-06-19 08:46:50 -04:00
Adriaan de Groot
863d00f40c [localecfg] Document purpose of this module 2018-06-19 08:42:25 -04:00
Adriaan de Groot
1a097f8c49 Style: run modulesystem through the style guide 2018-06-18 10:56:10 -04:00
Adriaan de Groot
58121abf06 [libcalamaresui] Wasted spaces 2018-06-18 10:44:28 -04:00
Adriaan de Groot
a64de3dbfe [libcalamaresui] Assign the index to found
- Previous code assigns the result of the comparison to found,
   instead of the index, resulting in the wrong configuration
   map sent to each module.
2018-06-18 10:29:30 -04:00
Adriaan de Groot
398b6be4ba Update issue template 2018-06-18 10:24:35 -04:00
Kevin Kofler
15e9edca70 [packages]: Implement update_system for pkcon, yum, dnf
Also make install for yum and dnf follow the documented syntax: options
(-y) before the command (install), even though yum and dnf also accept
the other order. This also makes it consistent with remove.
2018-06-18 13:53:58 +02:00
Adriaan de Groot
9d17e7210a [partition] Change shortcut for "Create" to 'a'
Untangle the shortcuts; Create and Cancel had an overlap.
Skip 'r' (Revert all changes) and 'e' (Edit) and settle on
'a' (which might also mean "Add").

FIXES #977
2018-06-18 13:28:35 +02:00
Philip Müller
3a3a4ec363 [packages] update documentation 2018-06-17 13:15:55 +02:00
Philip Müller
c600c3ecca [packages] update documentation to reflect 'update_db' and 'update_system' differences 2018-06-17 13:10:59 +02:00
Philip Müller
1bd149c14e [packages] add initial support for update target system 2018-06-17 12:53:31 +02:00
Philip Müller
18bd455ae1 [bootloader] make paths for executable optional and adjustable 2018-06-17 07:47:58 +02:00
Calamares CI
88c168e6d5 i18n: [dummypythonqt] Automatic merge of Transifex translations 2018-06-16 19:27:46 -04:00
Adriaan de Groot
5643ee4b8f Merge branch 'master' into secureboot 2018-06-15 13:14:58 -04:00
Adriaan de Groot
374a9bdca6 Merge branch 'emergency-modules'
Introduce the notion of emergency modules and emergency jobs.
Initial use will probably center around the preservefiles module,
and possibly umount.

FIXES #928
2018-06-15 12:04:55 -04:00
Adriaan de Groot
264d135776 [libcalamares] Run emergency jobs
- After a failure, skip non-emergency jobs.
 - After running all emergency jobs, then emit failure message.
 - In log, distinguish emergency and non-emergency jobs.
2018-06-15 11:45:02 -04:00
Adriaan de Groot
8387d5d81f [libcalamares] Allow emergency jobs
Any job can be an emergency job; emergency modules spawn
emergency jobs (but conversely, a non-emergency module
can spawn an emergency job explicitly).
2018-06-15 10:20:07 -04:00
Adriaan de Groot
3ed6f13fa8 [libcalamaresui] Adjust the emergency-ness of modules
A potentially emergency module is one that has EMERGENCY
(in CMake) or emergency: true (in module.desc) set.
Any such module must also set emergency: true in the
configuration of the module. This is to allow for
instances of a module that **don't** run as emergency
modules, alongside actual emergency ones.
2018-06-15 09:32:19 -04:00
Adriaan de Groot
53161f6e36 [preservefiles] Mark this as an emergency module
- For C++ modules, don't need the module.desc file in the
   source repo, since the CMake macros can create it.
2018-06-15 07:29:55 -04:00
Adriaan de Groot
def459a29d [libcalamaresui] Read emergency setting from module.desc
- Read setting from the module descriptor
 - Document optional settings
 - Add EMERGENCY keyword to the CMake helper functions
2018-06-15 07:11:17 -04:00
Adriaan de Groot
b92bef21f8 [libcalamares] Avoid using namespace std; 2018-06-15 06:21:05 -04:00
Adriaan de Groot
fa08e0ad73 Copyright: fix bad email address 2018-06-15 06:15:43 -04:00
Adriaan de Groot
dd8e53dc22 Copyright: update copyright lines on files touched in 2018
Contributions from:
  Adriaan de Groot <groot@kde.org>
  Gabriel Craciunescu <crazy@frugalware.org>
  AlmAck <gluca86@gmail.com>
  Andrius Štikonas <andrius@stikonas.eu>
  Caio Carvalho <caiojcarvalho@gmail.com>
  Raul Rodrigo Segura <raurodse@gmail.com>
2018-06-15 05:59:11 -04:00
Adriaan de Groot
d2f2aa9a97 [branding] Link to the examples repository 2018-06-15 05:29:03 -04:00
Adriaan de Groot
99163c9a68 Style: stray space 2018-06-15 04:46:53 -04:00
Adriaan de Groot
ac769d1de8 Style: use QStringLiteral
- In many cases, using QLatin1String is a de-optimization, when
   applied to a C string literal. Kevin Kofler pointed out that
   those should basically all be QStringLiteral, instead. (Compile
   tests with -O3 show that in the optimized object file, the
   code size difference is negligible).
 - Drop the explicit constructor entirely in cases where we're calling
   QProcess::execute(), for consistency.
 - Do a little less messing around in the mapping of keyboard locales
   to keyboard map names.
2018-06-15 04:41:41 -04:00
Adriaan de Groot
2d7eea6d73 Merge branch 'master' into emergency-modules 2018-06-14 17:15:40 -04:00
Caio Carvalho
98a158c6e5 [partition] kpmcore latest release doesn't support FileSystem::Type::Luks2 2018-06-14 15:37:00 -03:00
Adriaan de Groot
290559f8c1
Merge pull request #986 from raurodse/configurationPythonQt
Add configuration values into pythonqt modules
2018-06-14 13:19:42 -04:00
Raul Rodrigo Segura
448c5eae16 style code 2018-06-14 16:33:58 +02:00
Adriaan de Groot
67ad37581f [contextualprocess] Document corner-case
The "*" will match its literal value, but is also used as a wildcard.
2018-06-14 14:57:17 +02:00
Adriaan de Groot
011310091c [contextualprocess] QLatin1String -> QString
As Kevin pointed out, there's an extra conversion involved here --
although with -O3 the difference boils away leaving only a call
to a from-ASCII helper or a from-Latin1 helper.

While here, coding-style.
2018-06-14 14:54:14 +02:00
Adriaan de Groot
96cb42414c Merge remote-tracking branch 'origin/improve-settings-sanitization' 2018-06-14 07:34:53 -04:00
Adriaan de Groot
6cdb2daca3 Merge abucodonosor-plymouth 2018-06-14 07:01:41 -04:00
Gabriel Craciunescu
0ccca6902b [grubcfg] fix inter-module dependency with plymouthcfg modules
The plymouthcfg Calamares module is optional. Distributions which
  write filesystems with a full plymouth configuration won't even
  want to use it (see plymouthcfg docs).

  However, now grubcfg depends on plymouthcfg to run because
  the globalstorage value to trigger setting  'splash' in grub,
  is set in the plymouthcfg module.

  Just check for plymouth existence separately in the grub module.

  Fixes ea1c8a0e5d
2018-06-14 06:58:24 -04:00
Adriaan de Groot
2d29bf4449 [contextualprocess] Make conversion explicit
- Qt 5.7 doesn't like QLatin1Char comparison, so switch to
   a full string. Tested on Neptune Linux, #979
2018-06-14 06:46:06 -04:00
Adriaan de Groot
fa0518f968 [contextualprocess] Make conversion explicit
- Should help with Qt 5.7 compatibility. Reported from Neptune
   Linux, #979
2018-06-14 05:41:43 -04:00
Calamares CI
ef897f59f5 i18n: Add Korean (ko) language translations
Since this is a new language, it is currently 0% translated.
That is why it goes into _tx_bad. It will move to one of the
other categories once some translation has happened. Add the
(still empty) Transifex files already.
2018-06-14 05:03:14 -04:00
Calamares CI
0ea3d85ab0 i18n: [dummypythonqt] Automatic merge of Transifex translations 2018-06-14 04:47:53 -04:00
Adriaan de Groot
a8426730ca [libcalamaresui] Improve wording of modules failure warning 2018-06-14 02:48:52 -04:00
Adriaan de Groot
97a45db4bf [libcalamaresui] Reset font height when changing size
- defaultFontHeight() caches the result; clear cache
   when changing the default size, even though this happens
   only once in the current codebase.
2018-06-14 02:35:49 -04:00
Adriaan de Groot
bb5ac0326d [libcalamaresui] Improve layout of "blank" view step 2018-06-14 02:33:03 -04:00
Adriaan de Groot
9918dfb95f [libcalamaresui] Reporting on failures
- Provide information on failed modules
 - Disallow further progress when configuration is borked
2018-06-13 13:41:38 -04:00
Adriaan de Groot
3e24c3c58f [libcalamaresui] Provide standardised large font 2018-06-13 13:41:38 -04:00
Adriaan de Groot
8b406cac9b [libcalamaresui] Improve module loading
- Add a TODO for allowing modules to come from somewhere other
   than the module loader (this would allow "internal" modules
   that are always present)
 - Warnings are warnings
2018-06-13 04:37:52 -04:00
Raul Rodrigo Segura
d61b32aba6 Add configuration values into pythonqt modules 2018-06-12 13:44:28 +02:00
Caio Carvalho
3b6c764f75 [partition] Fixing revert device loop error in PartitionCoreModule::revertAllDevices. 2018-06-11 18:38:57 -03:00
Adriaan de Groot
35124c149e [libcalamaresui] Drop the 'goodbye' message 2018-06-11 13:35:12 -04:00
Adriaan de Groot
a732ce11bc [libcalamares] Warn more about badly-formed config 2018-06-11 08:35:35 -04:00
Adriaan de Groot
49622a6a30 Tests: expand test-application test_conf
- Add -v (verbose) and -b (load via bytearray)
 - Verbose prints the keys read from the file,
 - Bytes reads via an indirection through QByteArray, like Settings does
2018-06-11 06:28:31 -04:00
Adriaan de Groot
a40c36ef49 [libcalamaresui] Report on failed module loading
- Collect the failed modules, instead of bailing out on the first one
   (this also prevents crashes caused by quit() called from a timer).
 - Introduce a slot to report on failed module loading (no UI yet).
2018-06-11 05:59:56 -04:00
Caio
0465cc4214 [partition] Including revert on creation of LVM VGs. 2018-06-08 20:20:05 -03:00
Adriaan de Groot
1999e4e5c2 [libcalamaresui] Error out consistently when module loading fails
- Some module-loading failures were ignored and produce only a
   warning, instead of erroring out.
2018-06-08 18:14:51 -04:00
Adriaan de Groot
dccf6f16f5 [libcalamaresui] Lambdas are fun, but not always the solution 2018-06-08 17:56:23 -04:00
Caio
f8897e0e0b [partition] Including new LVM PVs in LVM VG creation GUI. 2018-06-08 18:52:53 -03:00
Adriaan de Groot
a626e52bf3 [libcalamares] Introduce more descriptive type name 2018-06-08 17:36:29 -04:00
Caio
e5351cdf3c [partition] Don't show capacity of new LVM VGs in DeviceModel. 2018-06-07 17:49:25 -03:00
Caio
208d58bcd9 [partition] Including CreateVolumeGroupDialog and fixing some of its GUI issues. 2018-06-07 17:22:22 -03:00
Adriaan de Groot
24b0df3c04 [locale] Missing includes
- Implicitly included in recent Qt, but not in old versions

Reported from Neptune Linux
2018-06-07 09:03:54 -04:00
Adriaan de Groot
83688f2837 Merge remote-tracking branch 'origin/shuffle-cmake' 2018-06-07 08:45:19 -04:00
Adriaan de Groot
fe7f48662e Merge branch 'fix-iceland' (again) 2018-06-07 08:44:53 -04:00
Adriaan de Groot
15b97f8e3f [libcalamares] Add missing include-dir
- Fix build on FreeBSD, where the yaml-cpp headers don't live in
   any normally-searched include directory.
2018-06-07 13:31:12 +02:00
Caio
d15ce56c97 [partition] Initial implementation of VolumeGroupBaseDialog. 2018-06-04 16:31:58 -03:00
Calamares CI
54515688f7 i18n: [dummypythonqt] Automatic merge of Transifex translations 2018-06-04 08:21:59 -04:00
Adriaan de Groot
8430970e71 [preservefiles] Reduce copying by using const-ref into list 2018-06-07 13:47:41 +02:00
Gabriel Craciunescu
41d427e543 [modules]: hwclock fix typo
- methode -> method
2018-06-01 17:45:40 +02:00
Adriaan de Groot
b66d4856e7 [libcalamaresui] Use modern C++ for (auto)deleting failed modules 2018-05-30 07:51:23 -04:00
Adriaan de Groot
40b60abcb3 [locale] Move constants for map-munging
These don't have to be defines at all.
2018-05-29 11:29:44 -04:00
Adriaan de Groot
1ee87c3cde [locale] Drop debugging define 2018-05-29 08:16:43 -04:00
Adriaan de Groot
6b3299e6ff [locale] Adjust the North
- Fudge the numbers in the North, to improve location
   of the pins and lines of latitude.
 - Inuvik, Yellowknife, Cambridge Bay, Resolute look ok
 - Thule, Scoresbysund look ok; Danmarkshavn a pixel or so too far North
 - Reykjavik is a bit too far North
 - Longyearbyen is a bit too far North

Since these places are off by one or two pixels, this becomes
invisible when a large pin + text label is placed on it.
2018-05-29 08:16:43 -04:00
Adriaan de Groot
4bacafb411 [locale] Fix timezone pixel map for Tierra del Fuego region
- Punta Arenas, draw like it's in -4
 - Ushuaia, draw like it's in -3

FIXUP pixel
2018-05-29 08:15:33 -04:00
Adriaan de Groot
b7dbc8cc1f [locale] Name zones when debugging
- When debugging timezones, state their names (e.g. UTC offset)
   and also log the pixel position under consideration.
2018-05-29 06:33:50 -04:00
Adriaan de Groot
2c18ba6ddb [locale] Adjust latitude calculation in the southern hemisphere
The scaling on the map was a little off; the degrees of latitude
are a little wider there than around the equator and Europe.

 - Johannesburg is in the right spot
 - Hobart is no longer a suburb of Melbourne
 - Punta Arenas is in Chile
2018-05-29 06:09:25 -04:00
Adriaan de Groot
9f8f76befc [locale] Introduce timezone-widget debugging
Replace pin and text label with just a dot (to pinpoint where
locations are) and draw latitude lines on the globe when
DEbUG_TIMEZONE is set at compile time. Since there's probably
still timezone-related bugs (in particular in the images that
map points on the globe to timezones), leave this in the codebase.
2018-05-29 06:09:25 -04:00
Adriaan de Groot
eddee7d76a [libcalamaresui] No point in isLoaded() being virtual. 2018-05-29 03:38:17 -04:00
Adriaan de Groot
a04915e6fa [libcalamaresui] Add 'emergency' concept to modules. 2018-05-29 03:37:37 -04:00
Adriaan de Groot
fdda1ef840 [bootloader] Mimic openSUSE's efibootmgr calls 2018-05-28 11:47:47 -04:00
Adriaan de Groot
dad3669eae [bootloader] Take a stab at determining the shim name 2018-05-28 09:26:20 -04:00
Adriaan de Groot
e4bda546cf [bootloader] factor our EFI-platform-bitness discovery 2018-05-28 09:24:43 -04:00
Adriaan de Groot
cbd62fbeb1 Merge branch 'master' into secureboot 2018-05-28 05:04:03 -04:00
udeved
a878c1a610 add openrccfg 2018-05-28 01:31:55 +02:00
Calamares CI
51b50b9366 i18n: [dummypythonqt] Automatic merge of Transifex translations 2018-05-26 07:24:36 -04:00
Adriaan de Groot
50dea6ded3 [interactiveterminal] Make optional if requirements not met
This is orthogonal to the SKIP_* mechanism already documented
for avoiding modules. If the module is enabled, but its dependencies
are not present, don't bother building the module. This follows
e.g. plasmalnf as an "avoidably heavy dependency".

Related to a misplaced comment in ISSUE #956
2018-05-26 07:09:01 -04:00
Adriaan de Groot
ce3e09318a [preservefiles] Improve failure messages 2018-05-24 07:03:19 -04:00
Adriaan de Groot
28a42a7230 Merge branch 'filepreserver' 2018-05-24 06:52:27 -04:00
Adriaan de Groot
cdadc2f003 [libcalamares] Improve error logging during module loading 2018-05-24 06:47:13 -04:00
Adriaan de Groot
182458ad5a [calamares] Need a JobQueue and global storage before running any job.
The 'singleton' instances don't do a very good job of being singletons
or ensuring their own creation.
2018-05-24 06:46:11 -04:00
Adriaan de Groot
48771f968a [calamares] Load and execute the modules
This runs dummyprocess, at least, but the other three dummies coredump.
2018-05-24 06:46:11 -04:00
Adriaan de Groot
308f508c7e [calamares] Add a test-application.
This test-application should load a single module and execute it --
that can be used to quickly test configurations, loading, etc. This
is preparation for loading all sorts of Python modules by PythonQt.

The loader does some internals initialization and gets the module,
but doesn't actually run it yet.
2018-05-24 06:46:11 -04:00
Adriaan de Groot
fdda0e14aa [libcalamaresui] Improve explainYamlException
- overloads for common kinds of label
 - improve error reporting when reading settings and branding files
2018-05-24 06:46:11 -04:00
Adriaan de Groot
e5ca8e091f [libcalamaresui] Use refactored loadYaml 2018-05-24 06:46:11 -04:00
Adriaan de Groot
261c545476 [libcalamaresui] Refactor loading of YAML to QVariantMap 2018-05-24 06:46:11 -04:00
Adriaan de Groot
f26ac63c07 [libcalamaresui] Make Python code const
- This is always loaded into the Python context, so it may as well
   be done only once.
2018-05-24 06:46:02 -04:00