Commit Graph

5198 Commits

Author SHA1 Message Date
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
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
d289b1bed4 Merge branch 'requirements-checking-segv' 2019-02-26 06:38:20 -05:00
Adriaan de Groot
616515cce5 Changes: document requirements-checker
- Name contributors
 - Document changes in requirements-checking
 - Document libparted no-longer-needed
2019-02-26 06:34:56 -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
633e2a87aa Merge branch 'remove-signal-done' 2019-02-25 08:11:32 -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
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
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
355987bfa1 CMake: QtConcurrent is required as well.
SEE #1082
2019-02-22 10:47:20 -05: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