Commit Graph

149 Commits (881661e94bec05031ecd050c860a65eae8ef77b3)

Author SHA1 Message Date
Adriaan de Groot 881661e94b [partition] Migrate InstallChoice to the Config object
Adriaan de Groot b41e4624c9 [partition] Move 'selected installation option' to Config
Adriaan de Groot 3bb5adcfca [partition] Simplify *efiSystemPartition* settings
Adriaan de Groot f155c8351b [partition] Only one setting for partitionLayout is supported
Adriaan de Groot 1cd9b93a22 REUSE: Giant boilerplate cleanup
- point to main Calamares site in the 'part of' headers instead
  of to github (this is the "this file is part of Calamares"
  opening line for most files).
- remove boilerplate from all source files, CMake modules and completions,
  this is the 3-paragraph summary of the GPL-3.0-or-later, which has
  a meaning entirely covered by the SPDX tag.
Adriaan de Groot 30a85668b7 REUSE: (GPL-3.0-or-later) C++ modules
Adriaan de Groot 41ce42cd4b [partition] Drop InstallChoice enum from Page
- The enum for install choice was copied into PartitionActions and
  used in the Config object; its definition does not belong in the UI.
- Chase the renamings required.
Adriaan de Groot 824dac62d8 [partition] ChoicePage to use Config object
Adriaan de Groot d103c42091 [partition] Fix build now swapChoices lives in config
Adriaan de Groot baabcc5bb4 Merge branch 'calamares' into issue-1297
Adriaan de Groot 0eb1f002db [partition] defuse is-next-enabled
Both the KPMCore and the ChoicePage -- asynchronously -- were connected
to the nextStatusChanged() signal. So if the core said next was true,
that could end up communicated to the ViewManager, enabling the *next*
button in the UI.

Changing to the *erase* page generally triggers a KPMCore reload,
which later emits a `hasRootMountPointChanged()` signal, once the
layout is applied and the disk gets a root mount point. So we'd
get a `true` from KPMCore, which -- because it was connected directly
to the signal to the VM -- would override any other considerations.

Hook up both signals to an intermediate slot that just recalculates
whether the next button should be enabled, based on the state
both of the Choice page and whatever else.
Adriaan de Groot 240c703549 [partition] Don't leak the PM core object
Adriaan de Groot 4ae398c18d [partition] Move swap choices into config
Adriaan de Groot a381d6794f [partition] Migrate required-storage setting to Config object
- Create and use the config object in the view step
- Add setConfigurationMap() to Config
Adriaan de Groot c0a3614f09 [partition] Chase Branding API change
Adriaan de Groot cb99f446b3 Merge branch 'issue-1192'
FIXES 

(Calls it the *boot* flag when using KPMCore4, which also shows the
flag *boot* in the flags list of the partitioning dialogs)
Adriaan de Groot 479b467bb6 [partition] Substitute in the right flag name
- This uses "esp" in KPMCore 3 and "boot" in KPMCore 4
Gaël PORTAY d6c373c48d [partition] Allow a configurable EFI System Partition name
This commit adds the new configuration `efiSystemPartitionName` to the
file partition.conf.

This option sets the partition name to the EFI System Partition that is
created. If this option is unset, the partition is left unnamed.
Adriaan de Groot b271ed19b7 [partition] Fix typo in message
Adriaan de Groot 26dd93b67c [partition] Simplify code
- isEfi only used meaningfully once
- if (isEfi) followed by if (!isEfi) can be simpler
- create bios-but-not-GPT strings in one go
- mark TODO that this should warn only if needed
- use weird * notation for branding-strings
Adriaan de Groot b57e198c29 [partition] Apply coding style
- This isn't particularly related to the change at hand, though.
demmm b6228d137c Adding popup warning/instructions for GPT with BIOS
see https://github.com/calamares/calamares/issues/1339#issuecomment-600862507
this is a very generic warning, used downstream since 2016
stopped virtual all BIOS GPT failures and questions
Adriaan de Groot 1bb43e06e2 Merge branch 'master' into kpmcore-manager
Yuri Chornoivan ea82a26dae
Fix typo:; partitons -> partitions
Many thanks in advance for reviewing.
Adriaan de Groot e72ecaafd3 Merge branch 'kpmcore-manager'
Introduces a "partitioning service" into libcalamares,
shuffles a bunch of things into it, tries to help out
with settling the system between partitioning actions.
Adriaan de Groot ca67534cd2 [partition] Improve logging of bad configs
Adriaan de Groot f6d89354a1 Merge branch 'master' into kpmcore-manager
Adriaan de Groot 7fd218d7bf [partition] Chase deprecations in Qt
Andrius Štikonas 490c14d93d QLatin1Literal->QLatin1String.
Adriaan de Groot 9f0f08b571 [partition] Replace useless qobject_cast
- We know the type of the widget, but were declaring it as
   a QWidget. Just forward-declare the class and be done with it.
Adriaan de Groot 74432f698f [partition] Allow the requiredStorage setting to propagate
- store into globalStorage if the welcome module hasn't already done so.
 - this ends up used in PartUtils (via globalStorage).
Adriaan de Groot e6a2cb607f [partition] Add setting for requiredstorage
- If the welcome module isn't used, can set a required amount
   of storage for the installation here.
Adriaan de Groot 8d451622db [partition] Idiomatic use of Calamares::JobList
Adriaan de Groot e2b71e669e [partition] When running UNSAFE, no-install-partition is a warning
Adriaan de Groot 090aee9196 Modules: adjust to split-out utils/Variant.h
- Most modules only needed the variant support, not the "whole"
   CalamaresUtils header.
 - While here improve ordering of headers as well.
Adriaan de Groot 3533bb3c2d Merge branch 'master' into issue-1061
Adriaan de Groot dbac9ecf7b [partition] Remove unused code
- The name table is in PartitionActions::Choices
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.
Adriaan de Groot 71fd3ab010 [partition] Check-which-page consistently
Adriaan de Groot 8f9b9a2ccf [partition] Remove unused include
Adriaan de Groot df921606b9 [partition] Update copyright headers
- Files modified in 2019 by me
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.
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 

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
Adriaan de Groot 8cf3c217f7 Merge branch 'requirements-checking'
Adriaan de Groot cece01e3c5 [partition] Simplify next()
Adriaan de Groot 08565b5f17 [libcalamaresui] Remove the signal done() from ViewStep
- The signal is emitted, generally from next(), but not actually used.
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.
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.
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>
Adriaan de Groot 43eae0bc47 Merge branch 'master' into requirements-checking