Commit Graph

4459 Commits

Author SHA1 Message Date
Adriaan de Groot
7f8411c3b7 [welcome] Add standard language-chooser icon
- After discussion with Red Hat UI advice, switch to standard icon
 - Tooltip as well
2019-04-18 22:38:12 +02:00
Adriaan de Groot
f04d084548 [welcome] Start on a model for the locale choices 2019-04-18 14:27:37 +02:00
Adriaan de Groot
c99742bc70
Merge pull request #1127 from a-wai/partition-layout-size-checks
Add various checks for partition layout configuration
2019-04-18 13:48:50 +02:00
Adriaan de Groot
cf51eb7aab [keyboard] Apply source formatting
- Move errant attribution line to the copyright headers;
   unsure of the year though.
 - Apply Calamares coding style.
2019-04-18 13:41:42 +02:00
Adriaan de Groot
118f9255fd [keyboard] Refactor sectioning
- Look for section in a consistent fashion
 - Simplify parsing loops
2019-04-18 13:36:12 +02:00
Adriaan de Groot
fa70b3aa60 [keyboard] Refactor keyboard model loading
- Don't need private static methods
 - Pass char* if that's what we've got
2019-04-18 13:22:12 +02:00
Adriaan de Groot
3c014a868c [keyboard] Make keyboard preview more robust
- Replace #define with static const char
 - Handle FreeBSD as well (for testing purposes)
2019-04-18 13:06:50 +02:00
Adriaan de Groot
b704933b58 [keyboard] Avoid crash with unconfigured keyboards
- If there's no items at all, ->currentItem() can return nullptr,
   so don't dereference that.

Found on FreeBSD.
2019-04-18 12:56:56 +02:00
Adriaan de Groot
3e88b408fa [calamares] Remove unused item Role 2019-04-18 12:40:04 +02:00
Adriaan de Groot
3ccbcdc1bd [libcalamares] Don't moc on JobQueue
- There is no reason for JobThread to have a Q_OBJECT macro,
   so drop the moccing (this also stops some warnings from
   the generated moc code).
 - Define the (virtual) destructor out-of-line to avoid vtable
   warnings.
2019-04-18 12:21:29 +02:00
Adriaan de Groot
a1e08d2236 [keyboard] Don't use useless rvalue-ref
- Weird && usage here made redundant through RVO, just return
   something normally instead.
2019-04-18 12:06:17 +02:00
Adriaan de Groot
123c774a47 Use new automoc options 2019-04-18 12:06:16 +02:00
Adriaan de Groot
bdb7bf71a8 Reduce warnings from moc-generated code
- The auto-generated code produces a lot of warnings from
   Clang 8; this obscures the more meaningful warnings from
   actual Calamares code, so tone the warnings down.
 - For Clang, set CALAMARES_MOC_OPTIONS.
 - Add convenience CMake function for automoccing. It applies
   the options as needed to a given target.
2019-04-18 12:06:09 +02:00
Adriaan de Groot
cef2f50510 Reduce warnings about extra ;
- Trailing ; after Q_UNUSED
 - Trailing ; after CALAMARES_RETRANSLATE
2019-04-18 12:06:09 +02:00
Adriaan de Groot
c83395ff6d Reduce warnings for yaml-cpp
- Use only utils/YamlUtils.h to pull in yaml-cpp and supporting code.
 - When compiling with clang, turn off warnings that the system header
   for yaml-cpp would generate.
2019-04-18 12:06:09 +02:00
Adriaan de Groot
27140ff5bb [libcalamares] Reduce warnings in KDAB code
- This is an older copy of kdsingleapplicationguard, now updated for
   C++11 warnings; removed __ in header guards, fixed up last of 0-for-
   nullptr, signedness mismatch.
2019-04-18 12:06:09 +02:00
Arnaud Ferraris
123222c0a8 Add global checks for partition layout
This commit adds several checks while reading the configuration of the
`partition` module, in case the partition layout configuration is
misformed. If an error is encountered, an message is printed to the
console and the module reverts to the default partition layout.

Checks are also added when implementing the partition layout, in case a
problem occurs that couldn't be anticipated (for example, when a
partition size is in %, checking its absolute value require knowing the
total device size, which is not the case when the configuration is
being read).

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-04-18 10:55:47 +02:00
Arnaud Ferraris
d32733bf59 Switch to using PartSize class for partition sizes
Every call of `ParseStringSize` is replaced by using an instance of the
`PartUtils::PartSize` class.

This commit also removes the now-unused previous size parsing functions.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-04-18 10:55:47 +02:00
Arnaud Ferraris
3a58ae5e8b Introduce new partition size class based on NamedSuffix
In order to maintain consistency, and make use, create a new PartSize
class in the PartUtils namespace, which inherits from NamedSuffix for
easier parsing and handling of size strings.

The switch to using this class instead of the previous functions will be
done in a follow-up commit.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-04-18 10:55:47 +02:00
Arnaud Ferraris
680b0bc472 Add missing header to NamedEnum
Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-04-18 10:55:47 +02:00
Adriaan de Groot
92b60dac65 [libcalamares] Warnings-- over extra ; 2019-04-17 12:02:14 +02:00
Adriaan de Groot
620940c75b [libcalamaresui] Drop now-unused sortKey from LocaleLabel
- sortKey is unused
 - add englishLabel for reverse-i18n
2019-04-16 23:49:27 +02:00
The feren OS Dev
a7ac046b3d
Update copyright headers 2019-04-16 18:27:51 +01:00
The feren OS Dev
9cafd0a495
Update copyright headers 2019-04-16 18:27:30 +01:00
The feren OS Dev
455505ba78
Update copyright header 2019-04-16 18:27:03 +01:00
The feren OS Dev
825c92582a
Update ViewManager.cpp 2019-04-16 17:20:39 +01:00
The feren OS Dev
700e6f0ec6
Update Settings.h 2019-04-16 17:17:39 +01:00
The feren OS Dev
6d6c152f70
Update Settings.cpp 2019-04-16 17:14:55 +01:00
The feren OS Dev
d31f2d2116
Update Settings.cpp 2019-04-16 17:12:14 +01:00
The feren OS Dev
02d6e1a946
Update Settings.cpp 2019-04-16 17:11:39 +01:00
The feren OS Dev
a79dfa4135
Added myself to the copyright header 2019-04-16 16:58:19 +01:00
The feren OS Dev
c0d61b666d
Made amendments based on review
Fixed 'prepend' terminology in comments, restored old loop as it seems to work for me now in overwriting the file as one overall multiline instead of overwriting the file with each line at a time, code simplification based on review comments... credits-adding will come in the next commit.
2019-04-16 16:52:02 +01:00
Adriaan de Groot
5e951466df [libcalamaresui] Sort languages by ISO code
- this puts the Englishes together, and is less confusing than
   sorting with American first.
2019-04-16 15:38:06 +02:00
Adriaan de Groot
329bd36929 [libcalamares] Sanitize logging 2019-04-15 10:59:57 -04:00
Adriaan de Groot
93be1a6582 [partition] Remove confusing spaces in logging 2019-04-15 10:16:09 -04:00
Adriaan de Groot
dbac9ecf7b [partition] Remove unused code
- The name table is in PartitionActions::Choices
2019-04-15 10:14:37 -04:00
Adriaan de Groot
d2404851cd [partition] Reduce warnings (shadow, ;, types) 2019-04-15 10:06:21 -04:00
Adriaan de Groot
1a4a265262 [partition] Refactor check for ISO9660 2019-04-15 10:06:03 -04:00
Adriaan de Groot
75f1a05fec [partition] No copy-constructor for CDebug 2019-04-15 10:05:29 -04:00
Adriaan de Groot
009dfd7de5 [locale] Reduce warnings (shadowed global) 2019-04-15 10:03:12 -04:00
The feren OS Dev
3ecd031d9d
Better LightDM Autologin Support
This change fixes a few issues and adds a few improvements to the LightDM Autologin configuration process:

Fixes:

- Fixes malforming of configuration file out of the box, as without `[SeatDefaults]`, `[Seat:*]` or similar in the configuration file LightDM will break on a lot of distributions using LightDM

- Preserves the intended lightdm.conf file settings outside of `autologin-user` if the distribution has an /etc/lightdm/lightdm.conf file of its own

Misc. changes:

- Small spelling fix
2019-04-15 15:01:08 +01:00
Adriaan de Groot
ef3b4c387c [libcalamaresui] Remove unused AbstractPage 2019-04-15 09:20:08 -04:00
Adriaan de Groot
4fec6731ba [calamares] [libcalamaresui] Improve includes
- avoid useless ../
 - sort alphabetically and by kind
2019-04-15 09:20:08 -04:00
Adriaan de Groot
520478847c Make logging more consistent.
- Across all the C++ modules, use Logger::SubEntry for sub/continues
   log lines, instead of somewhat-random indent strings.
2019-04-15 09:02:21 -04:00
Adriaan de Groot
d6cf0617f6 [libcalamaresui] Make logging more consistent 2019-04-15 09:02:21 -04:00
Adriaan de Groot
aaeea16871 [libcalamares] Make logging more consistent 2019-04-15 09:02:21 -04:00
Adriaan de Groot
8bb07528e2 [calamares] Make logging output more consistent
- Use Logger::SubEntry instead of various indents
 - Improve wording of message
2019-04-15 09:02:21 -04:00
Adriaan de Groot
5677a4bb28 [finished] Fix up string arguments
- The "set up" message only uses one argument.
2019-04-15 08:42:06 -04:00
Adriaan de Groot
63b317902d [libcalamares] [partition] Adjust to logging changes
- Use the un-paren'ed Continuation and SubEntry
2019-04-15 08:27:43 -04:00
Adriaan de Groot
d72e3b3c22 [libcalamares] Simplify writing of logging continuations
- Instead of Continuation(), write just Continuation
 - All that futzing with overloads and tag-classes isn't needed
   since the whole point is to output some constant string. Leave
   cleverness for later, if it's needed.
2019-04-15 08:27:29 -04:00
Adriaan de Groot
198acadd23 [partition] [fsresizer] Fix KPMCore API versions
- tests need the defines as well
 - scandevices API changed with API 3.3.1
2019-04-12 13:17:38 +02:00
Adriaan de Groot
c844188907 [partition] Fix build w/ "3.3.1" API
- Need older-style scanning, but new-style iteration
2019-04-12 12:54:13 +02:00
Adriaan de Groot
4e24ea29e2 [partition] [fsresizer] Adjust to post-3.3.0 API
- KDE neon ships a post-3.3.0 KPMCore, with deprecations, but not yet
   the KPMCore 4 API, so add another API-version check to handle the
   deprecations. Keeps warnings down.
2019-04-12 12:44:59 +02:00
Adriaan de Groot
c0710cabe4 [partition] [fsresizer] Adjust to new #define
- Using KPMCORE4API is clearer than just relying on a version number
2019-04-12 12:16:55 +02:00
Adriaan de Groot
9159761171 [partition] [fsresizer] Fix KPMCore API detection
- There will be a 3.3.1 which still has the "old" API,
   so look at 3.3.80 (pre-4.0) instead. Make the way
   compile flags are passed consistent.
2019-04-12 12:16:55 +02:00
Adriaan de Groot
9917bc27fc
Merge pull request #1119 from cjlcarvalho/master
[partition] Fixing LVM scanning according to new kpmcore API
2019-04-12 11:03:03 +02:00
Adriaan de Groot
1a063a9b5d [partition] Use modern tr() annotation 2019-04-11 10:28:35 -04:00
Adriaan de Groot
e664370b28 [libcalamaresui] Use modern tr() annotation 2019-04-11 10:28:09 -04:00
Adriaan de Groot
b6cd1c576a [plasmalnf] Don't translate placeholder text 2019-04-11 10:06:10 -04:00
Adriaan de Groot
78d6b51c3c [partition] Don't translate placeholder --- 2019-04-11 10:01:34 -04:00
Adriaan de Groot
369c5f4619 [tracking] Don't translate placeholder text 2019-04-11 09:59:58 -04:00
Adriaan de Groot
d0e1e46df2 [users] Don't translate CSS 2019-04-11 09:54:42 -04:00
Adriaan de Groot
95897bf83b [users] Mark as not-translated 2019-04-11 09:49:38 -04:00
Adriaan de Groot
5a95bf507f [libcalamaresui] Improve WindowDimensions class
- Make sure the class knows its own suffixes
2019-04-11 15:14:31 +02:00
Adriaan de Groot
6560c194ad [libcalamaresui] Reduce 0-for-nullptr warnings in 3rd party code
- replace = 0 with = nullptr to reduce warnings; not a meaningful
   or copyrightable change.
2019-04-11 15:14:31 +02:00
Adriaan de Groot
1008a91eba [libcalamaresui] Reduce warnings
- getting a (sensible) uint from an int is tougher than you might think
2019-04-11 15:14:31 +02:00
Adriaan de Groot
8dd22dcbbf [libcalamaresui] bail() is a [[noreturn]] function 2019-04-11 15:14:31 +02:00
Adriaan de Groot
365f83b789 [libcalamares] Reduce warnings in KDAB code
- Use nullptr and suitable include guards
2019-04-11 15:14:31 +02:00
Adriaan de Groot
2777b5dd30 [libcalamares] Reduce copying and warnings 2019-04-11 15:14:31 +02:00
Adriaan de Groot
5279e78c9f [libcalamares] Reduce warnings
- improve variable names, don't shadow
2019-04-11 15:14:31 +02:00
Adriaan de Groot
c13c7c4891 [libcalamares] Don't use (bare) endl
- Use '\n' instead of endl (which should have been std::endl).
2019-04-11 15:14:31 +02:00
Adriaan de Groot
d2941d335e [libcalamares] Reduce unused-parameter warnings
- The tag-class "parameters" are empty anyway
2019-04-11 15:14:31 +02:00
Adriaan de Groot
b416842c20 [calamares] Reduce compile warnings in tests
- Switch debug-level to unsigned
 - Don't shadow usings; the first TR type is enough
 - The (bogus) return values were commented as // NOTREACHED,
   but still yield unreachable code warnings. Drop them
   instead, and rely on the compiler understanding [[noreturn]]
   on parser.usage().
2019-04-11 15:14:31 +02:00
Adriaan de Groot
b10c7ad9c6 [locale] Reduce warnings for gcount()
- The read is at most sizeof(arr), so int is fine. Do
   the cast explicitly.
2019-04-11 15:14:31 +02:00
Adriaan de Groot
620d2a769a [users] Reduce compile warnings
- Avoid C-style casts
 - Unfortunately needs some verbose casting machinery to do
   it "right" wrt. C++ type system.
2019-04-11 15:14:31 +02:00
Adriaan de Groot
189e192c83 [shellprocess] Reduce warnings
- The old-style cast still causes a warning, but do the
   more idiomatic (void) rather then casting to (void*)
2019-04-11 12:29:53 +02:00
Adriaan de Groot
6cfb5a9c88 [welcome] Reduce unused-parameter warnings
- Don't use this if we don't need it (QObject::tr is static).
 - C++14 allows (copy) binding to arbitrary expresstions in lambda's,
   so detach from this.
2019-04-11 12:29:17 +02:00
Adriaan de Groot
713370da55 Merge remote-tracking branch 'origin/issue-1100' 2019-04-11 11:47:00 +02:00
Adriaan de Groot
547dc7d334
Merge pull request #1117 from a-wai/partition-layout-add-maxsize
[partition] Add max size parameter
2019-04-11 11:39:44 +02:00
Caio Carvalho
2c33535ee8 [partition] Using std::find_if to search in container for elements according to a condition 2019-04-09 23:14:34 -06:00
Caio Carvalho
34e091833d [partition] Fixing LVM scanning according to new kpmcore API 2019-04-09 23:12:31 -06:00
Arnaud Ferraris
6463e5f83c [users] Adjust messages to setup mode
Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-04-08 18:02:23 +02:00
Arnaud Ferraris
dddebc98b5 [finished] Adjust messages to setup mode
Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-04-08 17:55:03 +02:00
Arnaud Ferraris
e3cebd9da9 [plasmalnf] Adjust explanation message to setup mode
Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-04-08 13:44:41 +02:00
Arnaud Ferraris
9b77e5b17d [summary] Adjust summary text to setup mode
Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-04-08 13:43:38 +02:00
Arnaud Ferraris
866afcfe47 [welcome] Adjust checker-messages for setup mode
Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-04-08 13:42:15 +02:00
Arnaud Ferraris
cbf7f4fb17 [calamares] Adjust window title for setup mode
Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-04-08 13:41:21 +02:00
Arnaud Ferraris
5358e2314d [partition] Add max size parameter
When using a custom partition layout with partition sizes in %, it can
be useful to set an upper limit to the partition size.

For instance, using a 20% size for the `/` partition will create a 24G
partition on a 120GB drive, but a 200GB partition on a 1TB drive, which
is not useful, and could be avoided by setting a maximum partition size.

This commit adds the `maxSize` parameter (with a default value of 100%).

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-04-08 12:19:35 +02:00
Philip Müller
b144449cfe Merge branch 'master' of https://github.com/calamares/calamares into development 2019-04-05 20:01:14 +02:00
Adriaan de Groot
4caa401a07 [partition] Use structured logging
- Structured logging
 - Reduce chattiness
 - Use helper functions
 - Some TODO were done a while ago
2019-04-04 17:58:03 +02:00
Adriaan de Groot
04146df36b [partition] Reduce logging for mounted partitions
- The other log entries say when something is possible,
   not when something is **not** possible.
2019-04-04 17:46:48 +02:00
Adriaan de Groot
6bccbcd1f5 [partition] Improve logging of status of choice buttons 2019-04-04 17:37:37 +02:00
Adriaan de Groot
b5a997d11e [partition] Use structured logging 2019-04-04 17:13:57 +02:00
Adriaan de Groot
01f5ac22a0 CMake: use conventional method for setting version
- Using project() to set up the version is idiomatic for CMake
   and more standardised than doing it by hand. Do retain the
   RC flag, because that's used in other parts of versioning.
2019-04-04 15:58:07 +02:00
Adriaan de Groot
b18e0a0bd8 [libcalamares] Use structured logging tags 2019-04-04 14:44:44 +02:00
Adriaan de Groot
09ae721038 [libcalamares] Structure continuations and sub-entries 2019-04-04 14:44:44 +02:00
Adriaan de Groot
b6ea171365 [libcalamares] Reduce chatty logging
- Only log module-search entries when they are bad.
2019-04-04 14:14:59 +02:00
Adriaan de Groot
53cdf0b054 [calamares] Log version and supported languages
- These logging statements happened before logging was configured,
   so never ended up in the session log. Move them to be executed later.
2019-04-04 14:10:50 +02:00
Adriaan de Groot
caba74438e [libcalamares] Improve XDG handling
- When environment is empty, use default values from spec
 - Search in application-named subdirs first (but keep previous
   behavior of also searching directly in the named dirs)
 - Don't consider empty XDG_* elements
 - Settings XDG_DATA_DIRS=":" would yield an empty list of extra
   directories to check; don't bother setting haveExtraDirs for that.
2019-04-02 10:32:55 -04:00
Adriaan de Groot
4282e4c31f [partition] Instantiate the manual-partitioning page on-demand
- When the manual partitioning page exists, it reacts to
   changes in a bunch of models; these models can be changed
   repeatedly from the choice page.
 - the manual partitioning page really only needs to deal with
   the relevant selections at the moment it is instantiated.
2019-04-02 05:46:37 -04:00
Adriaan de Groot
71fd3ab010 [partition] Check-which-page consistently 2019-04-02 05:46:37 -04:00
Adriaan de Groot
8f9b9a2ccf [partition] Remove unused include 2019-04-02 05:46:37 -04:00
Adriaan de Groot
7074829c24 [partition] Initialising BootLoader model is atomic
- don't send a bunch of update signals, do only a single
   model-reset when the BootLoaderModel is (re-)initialised.
2019-04-02 05:46:37 -04:00
Adriaan de Groot
cccd4402d8 [partition] Simplify DeviceModel sorting 2019-04-01 08:53:35 -04:00
Adriaan de Groot
544131c4bc [partition] Improve type notation 2019-04-01 08:48:25 -04:00
Adriaan de Groot
dd6d1bf1c1 [partition] Protect PartitionModel against concurrent access
- Try to avoid concurrent access while the model is being reset.
2019-04-01 08:14:39 -04:00
Adriaan de Groot
df921606b9 [partition] Update copyright headers
- Files modified in 2019 by me
2019-04-01 07:55:14 -04:00
Adriaan de Groot
b55a6cf716 [partition] Improve type-constness
- Don't bother copying the vector of available PVs, we need the
   contained pointers.
2019-04-01 07:50:59 -04:00
Adriaan de Groot
7806ccbe72 [partition] Drop superfluous debug logging
- While here, update copyright header
2019-04-01 07:39:19 -04:00
Adriaan de Groot
752a922bde [partition] Lock the bootloader model during reset
- Try to avoid races between resetting the model and getting
   data from it for the UI.
2019-04-01 07:36:18 -04:00
Adriaan de Groot
3248aba899 [libcalamares] Make oem-setup independent of dont-chroot
- At least for testing purposes it makes sense to decouple dont-chroot
   from the OEM-setup wording, so introduce a separate setting for it.
2019-04-01 06:26:42 -04:00
Adriaan de Groot
3a0bd254c0 [libcalamaresui] Adjust quit-messages to setup-mode 2019-04-01 06:16:37 -04:00
Adriaan de Groot
8ee2375ee6 [welcome] Adjust welcome message to setup-mode 2019-04-01 06:16:37 -04:00
Adriaan de Groot
57ccefa1e5 [libcalamares] Distinguish "install" and "setup" modes.
- This initial bit of code re-uses the *dont-chroot* setting;
   it may need to be made independent.
 - This branch will use `isSetupMode()` to adjust user-visible
   strings to match the intended use.

SEE #1100
2019-04-01 05:37:34 -04:00
Calamares CI
7259ddd3d8 i18n: [dummypythonqt] Automatic merge of Transifex translations 2019-04-01 05:02:12 -04:00
Philip Müller
f364ee5660 Merge branch 'master' of https://github.com/calamares/calamares into development 2019-03-31 19:27:12 +02:00
Adriaan de Groot
b03d72952b [partition] Improve logging 2019-03-30 06:36:51 -04:00
Adriaan de Groot
fb412c177c [unpackfs] Improve human-readable name 2019-03-29 17:32:52 -04:00
Adriaan de Groot
5c4f2423f8 [unpackfs] Fix error in error-handling (warn -> warning) 2019-03-29 17:27:26 -04:00
Adriaan de Groot
d87badbf45 [unpackfs] Add test with too-small destination FS 2019-03-29 17:22:47 -04:00
Adriaan de Groot
2a6bf50621 [unpackfs] Don't let ir-phase reduce total number of files 2019-03-29 16:53:02 -04:00
Adriaan de Groot
fae0b8c2f8 [unpackfs] Re-jig progress reporting
- rsync reports its own progress, and reports on files that
   find -type f doesn't. This meant that the numbers didn't
   match what was stored in entry.total
 - The ir-phase adds files to be handled; to-phase happens once
   ir-phase is over and the remaining files are processed.
   By adding the to-phase files, percentages over 100% were
   reported (in part because the number of files doesn't match).
 - Update expected entries total from rsync output.
 - Re-jig computation of how done everything is: tally it
   up in integers, and do only one global progress percentage.
2019-03-29 16:48:46 -04:00
Adriaan de Groot
6d85fd3586 [unpackfs] One last progress call afterwards 2019-03-29 16:24:22 -04:00
Adriaan de Groot
9ce34782ee [unpackfs] Avoid double / at end 2019-03-29 16:09:11 -04:00
Adriaan de Groot
dc2fafe324 [unpackfs] to-chk is also progress information
- ir-chk happens first, and then there's a phase with to-chk
   messages; use those as well.
2019-03-29 12:51:00 -04:00
Adriaan de Groot
38821f47ba [unpackfs] Make comment match code
- The mismatch between "ir-chk" and the comment "to-check" led me
   to check (ha!) the output of rsync, and it outputs "to-chk"
   during small transfers; make sure the comment reflects what
   is actually being used to track progress (which is "ir-chk").
2019-03-29 12:39:45 -04:00
Philip Müller
26578f849e Merge branch 'master' of https://github.com/calamares/calamares into development 2019-03-29 17:17:35 +01:00
Adriaan de Groot
273c32705d [partition] Restore selected bootloader
- After the BootLoader model is reset, if a bootloader location
   has been selected before, try to find it in the (now-reset)
   model to preserve the selection.
2019-03-29 12:00:27 -04:00
Adriaan de Groot
3eae445ead [partition] Don't signal changes from model before they're done
- clear() signals modelReset(), which is true, but inconvenient
   when we do a bunch of changes afterwards. Block signals,
   and rely on own signaling when all of the changes are done.
 - Keep blocking signals while updating the model, since the row
   appends otherwise trigger a change in the connected combo box.
2019-03-29 11:59:51 -04:00
Adriaan de Groot
dc04aa999d [partition] Introduce post-reset slot for boot loader selection 2019-03-29 11:34:07 -04:00
Adriaan de Groot
17aeaa134a [partition] Simplify display-role code for bootloader 2019-03-29 10:54:04 -04:00
Calamares CI
bab2e2ca2f i18n: [dummypythonqt] Automatic merge of Transifex translations 2019-03-29 05:25:54 -04:00
Adriaan de Groot
affc73d3d2 [fsresizer] Avoid KPMCore warnings about scanDevices() 2019-03-20 18:20:56 +01:00
Adriaan de Groot
478168c841 [fsresizer] Make sure KPMCore version definitions are consistent
- Duplicate setting from partition module to fsresizer
2019-03-20 18:16:54 +01:00
Adriaan de Groot
e8c18c0b5c [partition] Prepare scanDevices for post-KPMCore 3.3.0 2019-03-20 18:13:39 +01:00
Adriaan de Groot
68f29ebf20 [partition] Handle partition flag FlagEsp post KPMCore 3.3.0 2019-03-20 18:13:39 +01:00
Adriaan de Groot
2a2795c54c [partition] Avoid KPMCore warnings
- Get ready for KPMCore post-3.3.0, which deprecates a bunch of
   Flag<foo> and State<foo> in preparation of enum classes.
2019-03-20 18:13:39 +01:00
Adriaan de Groot
5d6d2b8078 [partition] Make convenienceName() available for debugging
- Function for human-readable names is useful in more parts of
   the partition module.
2019-03-20 11:26:02 +01:00
Adriaan de Groot
1ffc0bf77d [partition] Allow all the unsafe options
- If the unsafe actions are enabled, but won't be executed,
   allow more unsafe actions like erasing mounted partitions
   and everything.
2019-03-20 11:26:02 +01:00
Adriaan de Groot
cd545e51b0 [partition] Reduce superfluous logging 2019-03-20 11:26:02 +01:00
Adriaan de Groot
8db004ce45 [partition] Use the FailJob to stop installation
- For unsafe installations (compile-time option), make sure
   things fail before partitions are actually written, unless
   the other option is also turned off.
2019-03-20 11:26:02 +01:00
Adriaan de Groot
62f03d8aad [partition] Allow unsafe partitioning decisions
- This is a compile-time choice, and off by default. This may be useful
   for developers that need to get through installation to a different
   partition on their root drive.
 - Add an option to avoid actually doing unsafe things. This is an extra
   safeguard; you need to turn on one and turn off the other option to
   really be unsafe.
2019-03-20 11:26:02 +01:00
Adriaan de Groot
2caefce3cb [locale] Add a CMake option for debugging 2019-03-20 11:26:02 +01:00
Adriaan de Groot
3db708dd04 [keyboard] qDebug -> cDebug 2019-03-20 11:26:02 +01:00
Adriaan de Groot
826453aa65 [calamares] Note that qDebug() is sometimes ok 2019-03-20 11:26:02 +01:00
Adriaan de Groot
4b486cfe82 [libcalamares] Add some debugging Jobs
- FailJob always fails, and GoodJob always succeeds, both without doing
   anything. These aren't particularly useful, except for debugging.
2019-03-20 11:26:02 +01:00
Adriaan de Groot
2b7832857c [libcalamaresui] Simplify checking dependencies
- Avoid crash due to invalid iterator, when modules
   are removed due to missing requirements.
 - Simplify code, factor out the determination of
   which required modules are missing.
2019-03-19 11:11:43 -04:00
Adriaan de Groot
5f308e8e17 [calamares] Check that a sequence has been set 2019-03-19 11:11:43 -04:00
Adriaan de Groot
7515f36b96 [libcalamares] Refactor settings-loading some more
- Load instances list in a separate method
 - Load sequence list in a separate method
 - Don't rely on QASSERT, explicitly throw if something is missing.
2019-03-19 11:11:43 -04:00
Adriaan de Groot
5a8ed8583f [libcalamaresui] Complain about missing config files
- When no config file is found, tell where it wasn't.
2019-03-19 05:42:28 -04:00
Adriaan de Groot
e18e4e3d6f [libcalamares] Refactor module-search path
- Refactor code that fills up the module search path from
   the *modules-search* configuration key.
 - Improve debug logging while here.
2019-03-18 17:48:39 -04:00
Adriaan de Groot
540d27d0c3 [libcalamares] Convenience function YAML->QStringList
- operator>> already existed, but here's a version that
   can be used in function-call context.
2019-03-18 17:38:44 -04:00
Adriaan de Groot
43f6405714 [welcome] Simplify team listing
- There are a lot more contributors who should be named, but
   it's not going to fit here. Instead, link to the website.
2019-03-17 04:43:42 -04:00
Philip Müller
4929a26e89 Merge branch 'master' of https://github.com/calamares/calamares into development 2019-03-12 08:15:35 +01:00
Adriaan de Groot
105f9c4861 [partition] Set firmware type
- This got lost in 3.2.4.
 - Thanks Gabriel for hunting it down; patch applied with some changes.
2019-03-11 17:50:27 -04:00
Adriaan de Groot
bc26c3e009 [welcome] Remove unused method
- This **should** be used, though. See #1104. It should be used
   somewhere else.
2019-03-11 17:25:21 -04:00
Adriaan de Groot
a93df6fcfb [bootloader] Requires partition before it. 2019-03-11 17:07:05 -04:00
Adriaan de Groot
5513b5a697 Docs: mention python module descriptor key 2019-03-11 17:04:47 -04:00
Adriaan de Groot
2fdf799ee1 Docs: document the requiredModules descriptor key 2019-03-11 16:59:00 -04:00
Adriaan de Groot
eab36a098f Docs: shuffle the modules README 2019-03-11 16:52:06 -04:00
Adriaan de Groot
53fb53454f Docs: fix up explanations, mention INSTALL_CONFIG 2019-03-11 12:10:34 -04:00
Philip Müller
4b96a4ab24 Revert "Revert "Merge branch 'issue-1098'""
This reverts commit ce4d0e6aea.
2019-03-02 17:36:59 +01:00
Philip Müller
ce4d0e6aea Revert "Merge branch 'issue-1098'"
This reverts commit fdb4311a70, reversing
changes made to 6b369dc5de.
2019-03-02 15:51:36 +01:00
Philip Müller
c55e426fd9 Merge branch 'master' of https://github.com/calamares/calamares into development 2019-03-02 10:53:31 +01:00
Adriaan de Groot
fdb4311a70 Merge branch 'issue-1098'
- Doesn't fix the issue, but adds useful things I want in master
   already, also for debugging other issues.
2019-03-01 07:09:45 -05:00
Adriaan de Groot
2b149fb944 [partition] Uncomment updateButtons()
- This was commented out to combat the crash in device->type()
 - I believe the crash was caused by double-deletion, which was
   fixed in 2092ec3c9a by not re-
   parenting an immutable copy of something.
 - Restore the button-fix, since we need that to keep the
   *create* button in-sync with the selected partition.

FIXES #1097
2019-03-01 06:56:52 -05:00
Adriaan de Groot
3e067e617e [partition] Add accessor and documentation to BootLoaderInstallPath 2019-02-28 10:26:17 -05:00
Arnaud Ferraris
982840bafd [partition] Allow a configurable EFI System Partition size
As requested, this commit adds a new configuration option to the
partition.conf file, name `efiSystemPartitionSize`.

When this option is absent, the default size of 300MiB will be used.

Fixes #1090

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-02-28 13:51:32 +01:00
Arnaud Ferraris
a5258f07a1 [partition] move bytesToSectors() and sizeToSectors() to PartUtils
In order to allow the use of these functions across the whole partition
module and keep all partition size-related functions in the same
namespace, this commit moves them to PartUtils.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-02-28 13:50:34 +01:00
Arnaud Ferraris
c3ccc0de0e [libcalamares] Add a KiB unit
This commit creates a _KiB operator for future use by the partition
module.
It also fixes a typo in one instance of MiBtoBytes(), requiring a couple
extra fixes.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-02-28 13:49:15 +01:00
Arnaud Ferraris
90eb6afd52 [partition] move parseSizeString() function to PartUtils
In order to be able to parse partition size strings using the same
functions across the partition module, the parseSizeString() function is
exported to the PartUtils namespace.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-02-28 13:49:15 +01:00
Philip Müller
afa70e1944 Merge branch 'master' of https://github.com/calamares/calamares into development 2019-02-26 18:15:19 +01:00
Adriaan de Groot
b4cefff975 [partition] Avoid heap-wrangling
- The CreatePartitionDialog doesn't need to be on the heap, it's
   modal here. Avoid QPointer weirdness as well.
2019-02-26 07:21:36 -05:00
Adriaan de Groot
943f3fb1f9 [partition] Improve debug-logging
- Use cDebug() instead of qDebug()
 - Be more chatty when selecting a bootloader installation path
2019-02-26 07:10:56 -05:00
Adriaan de Groot
92d9c9491a [partition] Reduce lambda-happiness
- Make some methods that are called mostly as slots, actual slots,
   instead of going through extra lambdas.
 - Use QOverload<>::of for disambiguation instead of homebrew casts.
2019-02-26 07:05:32 -05:00
Adriaan de Groot
4d8acdf425 [welcome] Code-formatting
- Update copyright headers
 - Apply calamaresstyle
2019-02-26 06:26:20 -05:00
Adriaan de Groot
54ba0aaf13 [welcome] Use convenience function
- Introduce a hasDetails() for RequirementEntry, which is just
   a short-cut, but makes code more readable.
2019-02-26 06:20:20 -05:00
Adriaan de Groot
bfb5a4efb9 [welcome] Chase file renaming
- Rename classes inside
 - Rename include guards
2019-02-26 06:05:34 -05:00
Adriaan de Groot
1240f63a39 [welcome] Rename files to reflect their purpose 2019-02-26 05:09:54 -05:00
Adriaan de Groot
ba9a6981b3 [welcome] Fix SEGV
- In the retranslate function, need to check if the waiting
   widget still exists.
 - Tighten up lifetime of the CheckerWidget.
2019-02-26 05:08:07 -05:00
Adriaan de Groot
7cfaba2d53 [partition] In logging, name device nicely
- Provide a convenience method that names a Partition* with the
   best human-readable name we can find (worst-case, spit out a
   pointer representation which will at least help figure out
   the identity of the Partition*).
2019-02-25 16:39:19 -05:00
Adriaan de Groot
33bd6c67c0 [welcome] Without libparted, don't even check size available 2019-02-25 10:07:21 -05:00
Adriaan de Groot
8cf3c217f7 Merge branch 'requirements-checking' 2019-02-25 10:00:43 -05:00
Adriaan de Groot
9889bd6cbe [welcome] Be louder when libparted is disabled 2019-02-25 08:54:35 -05:00
Adriaan de Groot
c3d13e3451 [libcalamaresui] Add documentation to ViewStep methods 2019-02-25 08:15:01 -05:00
Adriaan de Groot
64ca9d0d5a [libcalamaresui] Document multi-page support. 2019-02-25 08:11:03 -05:00
Adriaan de Groot
cece01e3c5 [partition] Simplify next() 2019-02-25 07:59:58 -05:00
Adriaan de Groot
6071489788 [libcalamaresui] Provide default implementations of next() and back()
- These methods are used for multi-page view-steps, which are rare.
   For all the others, just drop the empty implementation and defer
   to the base class.
2019-02-25 07:49:10 -05:00
Adriaan de Groot
08565b5f17 [libcalamaresui] Remove the signal done() from ViewStep
- The signal is emitted, generally from next(), but not actually used.
2019-02-25 07:34:40 -05:00
Adriaan de Groot
40a7082bfc [libcalamaresui] Handle no-requirements-to-check case
- If there's no requirements at all, none of the watchers
   will call finished(), so do it once extra.
2019-02-25 07:15:51 -05:00
Adriaan de Groot
987cf36f51 [welcome] Use convenience types 2019-02-25 07:05:12 -05:00
Adriaan de Groot
8a8ec01380 [welcome] Don't enable next early
- Next was enabled early; presumably to cover the case that no requirements
   were checked and the requirements checker never emitted an update signal.
   Drop that since the module manager is now responsible for doing that checking.
2019-02-25 07:00:22 -05:00
Adriaan de Groot
fbb513eee3 [partition] Remove artificial delay
- The sleep(3) was meant as a debugging aid for the multi-threaded
   part of requirements checking.
2019-02-25 06:45:17 -05:00
Adriaan de Groot
0ad115732e [libcalamaresui] Report elapsed time as well.
- While waiting on modules, report the elapsed time in seconds
   based on the number of progress-ticks that have passed.
2019-02-25 06:39:50 -05:00
Adriaan de Groot
5ddf7b980b [libcalamaresui] Report progress also while waiting
- Ping the progress every 1.2 seconds, so the user sees more than
   just the throbber.
2019-02-25 06:33:46 -05:00
Adriaan de Groot
452b51304d [welcome] Update next button when checking is complete 2019-02-25 06:11:14 -05:00
Adriaan de Groot
40de1bd2eb [partition] Give requirement entry a description
- The description is used in the Details dialog when the
   requirements fail. This one should be visible.
2019-02-25 05:12:03 -05:00
Adriaan de Groot
2092ec3c9a [partition] Drop some re-parenting trickery
- Can't re-parent across threads easily
 - If device is made by immutableDeviceCopy(), then it's still owned by the
   PartitionCoreModule; giving it away to the widget is not a good idea.
2019-02-25 04:36:46 -05:00
Adriaan de Groot
ac652a2bc1 [libcalamaresui] Report module-name in italics 2019-02-25 04:19:05 -05:00
Adriaan de Groot
41fecf341b [libcalamaresui] Avoid metatype warnings at runtime
- Register the types with the Qt type system. This is needed
   because we're passing them as signal and slot parameters
   across threads.
2019-02-24 15:57:36 -05:00
Adriaan de Groot
f1aa22d9e8 [libcalamaresui] Sort signals chronologically 2019-02-24 09:08:02 -05:00
Adriaan de Groot
c508e3ed4d [welcome] Show progress during requirements checking 2019-02-24 09:07:44 -05:00
Philip Müller
3f70007410 Merge branch 'master' of https://github.com/calamares/calamares into development 2019-02-24 10:54:03 +01:00
Adriaan de Groot
b169281b69 [libcalamaresui] Use convenience type 2019-02-23 17:41:24 -05:00
Adriaan de Groot
2cdfe35430 [welcome] Avoid threading warnings
- The NAM is being created from a method call on the GeneralRequirements
   object in the requirements-checking thread, while the GR object itself
   was created in a different thread. This cross-thread parenting
   produces a warning, and we don't need the parent relationship here
   anyway.
2019-02-23 17:14:52 -05:00
Adriaan de Groot
e50c2bcb44 [grubcfg] REVERT d775cee4cf
This is causing issue #1073 and needs further thought.
2019-02-23 16:52:10 -05:00
Adriaan de Groot
a19d81e38c [welcome] Chase renaming of files
- Rename the classes to match
 - Drop some unused includes
2019-02-23 12:29:59 -05:00
Adriaan de Groot
c1cd88d5fa [welcome] Rename files before class-rename 2019-02-23 12:22:08 -05:00
Adriaan de Groot
6090a464f8 [libcalamaresui] Switch requirementschecking to threaded mode
- Use QFuture and QFutureWatcher to spawn threads that do the actual
   checking of the requirements; collect results and report on
   them as they come in.
2019-02-23 11:12:55 -05:00
Philip Müller
54a7f31433 Merge branch 'master' of https://github.com/calamares/calamares into development 2019-02-22 22:47:35 +01:00
Adriaan de Groot
e366e7d83a [displaymanager] It's not fatal to have no DM
- If a distro provides an install-scenario that doesn't provide a DM,
   (e.g. via netinstall) then that should be ok; if there **is** a DM
   it should be configured.

FIXES: #1095
2019-02-22 16:38:02 -05:00
Adriaan de Groot
be5abf08dc
Merge pull request #1094 from a-wai/fix-default-fs
[partition] Fix default fs

FIXES: #1093
2019-02-22 15:55:44 -05:00
Arnaud Ferraris
74ead4c7ba [partition] improve filesystem search operation
Due to changes to the FileSsytem::typeForName() function, more
processing is needed to deal with locales and different cases.
This is done by refactoring the findFS() function, initially located in
the PartitionViewStep class, and making it available to the whole module.

Additionnally, more checks have been implemented regarding the use of
global storage in the PartitionLayout class, and the filesystem types
now use the correct FileSystem::Type, as requested.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-02-22 18:42:16 +01:00
Adriaan de Groot
cd92b8dd5e [libcalamares] Simplify logging code
- log() was never called with a non-default value for toDisk,
   so simplify to true. Keep the if() around to indicate block scope.
2019-02-22 09:21:22 -05:00
Arnaud Ferraris
5084c44b54 [partition] fix naming of PartitionLayout class member variables
Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-02-22 13:08:59 +01:00
Adriaan de Groot
79c20b8fbd [partition] Fix user-visible strings
- The default window title in the designer file wasn't a good string
   to translate. Use one of the titles instanced from elsewhere.
 - The window titles set in subclasses were not translatable.

FIXES #1092
2019-02-22 07:03:38 -05:00
Arnaud Ferraris
586cb63ef5 [partition] use configured default filesystem type instead of ext4
When using the default partition layout (only a `/` partition), the
filesystem used was ext4, ignoring the `defaultFileSystemType`
configuration option.

This commit fixes this bug, so that any supported filesystem can now be
used for the default partitioning scheme.

Fixes #1093

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-02-22 12:58:55 +01:00
Adriaan de Groot
3ea6c6cfbe [users] Rename badly-named variable 2019-02-21 06:40:49 -05:00
Adriaan de Groot
c678cd80b4 [libcalamaresui] Refactor Requirements-Checking
- Move the actual checking into a separate object with some lifecycle-
   management signals.
 - Right now this is still single-threaded and blocking, so no net gain.
2019-02-20 05:48:15 -05:00
Dan Simmons
651b52ead9 Fix spelling typo 2019-02-20 05:00:58 -05:00
Adriaan de Groot
bbb9ff0cbf [libcalamaresui] Remove useless #define 2019-02-18 10:19:06 -05:00
Adriaan de Groot
ff10e1301d [libcalamaresui] Fix struct/class mismatch 2019-02-18 10:10:16 -05:00
Adriaan de Groot
18efcf2200 [welcome] Drop unnecessary parameter 2019-02-18 09:42:22 -05:00
Adriaan de Groot
5aa4e52452 [libcalamaresui] Improve debug-logging 2019-02-18 09:09:37 -05:00
Adriaan de Groot
946c5a493f [services-*] Fix translations
- Strings like "{} the {} with {}" are terrible for translators:
   - no context
   - no possibility to re-order grammatical units
   - substituting in English parts-of-speech is going to make a mess
 - Write the strings out with explicitly named substitutions,
   no part-of-speech substitution, and better formatting.
2019-02-18 06:27:36 -05:00
Adriaan de Groot
d33752c66c [libcalamaresui] Refactor Requirements classes
- improve naming of member variables
 - expand documentation
2019-02-15 20:53:55 +01:00
Adriaan de Groot
43eae0bc47 Merge branch 'master' into requirements-checking 2019-02-15 00:32:45 +01:00
Adriaan de Groot
723358e145 [partition] Reduce Transifex warnings
- Add a (superfluous, since they don't have their own signals or slots)
   Q_OBJECT macro to the VG jobs, to silence a Transifex warning (this
   does make sure that the tool knows about the context for the translated
   messages)
2019-02-14 16:12:43 -05:00
Adriaan de Groot
6fbc467795 [partition] Reduce Transifex warnings
- the string here has no context (no QObject-derived class that
   it is called in) so use the static method instead.
2019-02-14 16:08:55 -05:00
Adriaan de Groot
b7c77e7323 [services-systemd] Make user-visible messages translatable 2019-02-14 18:52:19 +01:00
Adriaan de Groot
544c1b708c [services-openrc] Make user-visible messages translatable 2019-02-14 18:50:29 +01:00
Adriaan de Groot
c9f89e2929 [modules] Translate name of services-* modules. 2019-02-14 15:30:48 +01:00
Adriaan de Groot
4178d5841c [modules] Enable translations on some Python modules
- Python modules should have human-readable names, which
   means that the description should be translated in `pretty_name()`
2019-02-14 15:30:48 +01:00
Adriaan de Groot
0f80a6295b [libcalamares] Reduce warnings about trailing ; 2019-02-12 17:11:01 +01:00
Philip Müller
870d9200e8 Release v3.2.4
-----BEGIN PGP SIGNATURE-----
 
 iHUEABEIAB0WIQTnwx6uJD15hBW87wASjwCHPgWvHQUCXGLH4QAKCRASjwCHPgWv
 HeCzAP4/cwoZOBtOFAdDy6IlolCC42wAyTdW8NOrA8A7jNmETAD/bIsYGRlVEQeG
 i9CW7IgRLRjlSM+hJPVYY8GYbF3k0Us=
 =0y3i
 -----END PGP SIGNATURE-----

Merge tag 'v3.2.4' of https://github.com/calamares/calamares into development

Release v3.2.4
2019-02-12 15:43:56 +01:00
Adriaan de Groot
496f9fdaf1 [libcalamares] Fix tests
- The test wants to read settings.conf, but by default it's run
   from way inside the build dir, where there is no such file.
   Go looking for one (but not too far).
2019-02-12 08:15:05 -05:00
Adriaan de Groot
9b36783961 [rawfs] Add example configuration
- Part of the tests checks that the example configuration
   is not empty. So uncomment the example. (Distro's should
   not be installing the example configs, and this one in
   particular needs to be customized).
2019-02-12 08:03:45 -05:00
Adriaan de Groot
f825a63bfe [fsresizer] Fix tests
- Test used 127% as value; this is now considered an invalid
   percentage (greater than 100%) and yields different values.
2019-02-12 07:57:35 -05:00
Philip Müller
9baebce7fd Merge branch 'master' of https://github.com/calamares/calamares into development 2019-02-12 13:45:54 +01:00
Adriaan de Groot
2a8960cd0f [partition] Ensure combobox pre-selects consistently
- Match the selected item in the combobox with a given default,
   which should be whatever is selected from the available set of
   choices.
2019-02-12 07:30:34 -05:00
Adriaan de Groot
5f20eedb6e [partition] Use swap-choice member, not the combobox pointer
- Store changes to the selected swap-choice when the combobox changes
 - Use that member instead of dereferencing the combobox

This avoids nullptr crashes when the combobox isn't even created
(e.g. when there is only one swap choice).
2019-02-12 07:21:35 -05:00
Adriaan de Groot
a4e6d4cd35 [partition] Rename combo box
- Too much confusion possible between the different members all
   named variations of *SwapChoice*
 - Update copyright years, too
2019-02-12 05:40:11 -05:00
Adriaan de Groot
335976e32c [partition] Improve defaultFS handling
- drop the localized comparisons; that's just confusing
 - warn when no default FS is set (then use ext4)
 - fix case-insensitive fallback; it used fsType, which was
   set to Unknown in the for loop.
2019-02-12 05:15:56 -05:00
Adriaan de Groot
faa3392cc5 Merge branch 'smooth-partition-crash' 2019-02-11 19:07:32 -05:00
Adriaan de Groot
dff5afe227 [partition] Reduce refreshes when reverting 2019-02-11 19:03:09 -05:00
Adriaan de Groot
b9fa0398c0 [partition] Disable one call to updateButtons()
- suggested by @abucodonosor, removing this one call seems
   to solve the data race for the device model.
2019-02-11 18:26:45 -05:00
Adriaan de Groot
ebc9a00bcf [users] Massage text widths
- Make the explanations about 3 times as wide as the text-boxes
   that they are explaining. This is partly moot because the
   text-boxes have fixed pixel sizes in the designer file, but keep
   it flexible for now.
2019-02-11 18:18:34 -05:00
Adriaan de Groot
1adf4da736 [users] Small space between password explanation and checkboxes 2019-02-11 18:07:27 -05:00
Adriaan de Groot
6316173f1b [partition] More conservative handling of device pointers
- thanks @abucodonosor
2019-02-11 17:45:23 -05:00
Adriaan de Groot
a6edb3ed34 [partition] Refactor PartitionEntry
- add a constructor that parses size and min
 - minor reduction in code duplication
2019-02-11 17:37:14 -05:00
Adriaan de Groot
5863300f67 [partition] Use const QString&
- minor code-layout and idiomatic-C++
2019-02-11 17:27:45 -05:00
Adriaan de Groot
abf1f14604 [partition] Initialize members of PartitionEntry 2019-02-11 17:14:39 -05:00
Adriaan de Groot
04b4e37bd0 [partition] Don't display unsupported swap styles
- Suppress unsupported options while reading the config file.
2019-02-11 09:23:50 -05:00
Adriaan de Groot
0fdc737968 [partition] Fix logging output
- Using the assignment-operator just generates blank lines.
 - Using QLog with a log-level avoids the cDebug()-style special
   handling of warnings and errors (useless here, but may as well
   fix code style).
2019-02-11 09:21:43 -05:00
Adriaan de Groot
2fda5957f1 [partition] Complain about unsupported swap choices 2019-02-11 09:06:27 -05:00
Calamares CI
33ed176b2e i18n: [dummypythonqt] Automatic merge of Transifex translations 2019-02-11 08:52:00 -05:00
Adriaan de Groot
7711cb0ad3
Merge pull request #1080 from a-wai/fix-systemd-boot-install
[bootloader] Fix systemd-boot installation
2019-02-11 08:49:22 -05:00
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