Commit Graph

1777 Commits

Author SHA1 Message Date
Adriaan de Groot
9b0ef5fce5 [partition] Use unsigned sizes
Reduce warnings by using unsigned consistently; this fights
the KPMCore API (which uses signed sizes for, e.g. sectorSize)
a little, but states more clearly that a disk cannot have a
negative size.
2022-03-22 15:23:24 +01:00
Adriaan de Groot
8ce92d450c [partition] Warnings-- for int / double / size_t confusions 2022-03-22 15:23:24 +01:00
Adriaan de Groot
982f9c8458 [partition] Hide implementation function 2022-03-22 15:23:24 +01:00
Adriaan de Groot
aedb55ea36 [partition] Require modern KPMCore 2022-03-21 23:44:20 +01:00
Adriaan de Groot
49c56add7d Merge branch 'calamares' into work-3.3 2022-03-21 23:21:54 +01:00
Adriaan de Groot
6f28120401 [partition] Fix typo in example configuration 2022-03-21 14:16:54 +01:00
Adriaan de Groot
f4a10a313c [partition] Address default-labeling issues 2022-03-18 14:35:35 +01:00
Adriaan de Groot
7d89643146 [partition] More const in getters 2022-03-18 14:30:31 +01:00
Adriaan de Groot
fa28999561
Merge pull request #1905 from santoshmahto7/santo/avoid-root-naming
Avoid setting rootfs partition name to "root" by default.
2022-03-18 13:51:33 +01:00
Adriaan de Groot
20c44ff99a [partition] Obtain flag name from KPMCore
- makes the displayed flag name consistent between dialog and
  pop-up and debug-messages.
2022-03-14 16:45:56 +01:00
Adriaan de Groot
f60def5ecc [partition] Don't reinitialize partition layout
Existing code reinitialized the layout, losing whatever
layout was set in the config. Refactor so that you can
access the partition-layout API, and change the default
FS through that -- which is the point of the code block
here in `doAutopartition()`, to look up the currently-
selected default FS.

Inspired by Santosh's work in #1903, #1759.
2022-03-14 11:27:00 +01:00
Santosh Mahto
4b905d5b52 Avoid setting rootfs partition name to "root" by default.
By default, calamares renames the label of root partition
to "root" overriding the name specified in partiton.conf

Signed-off-by: Santosh Mahto <santosh.mahto@collabora.com>
2022-03-14 12:01:06 +05:30
Adriaan de Groot
4fe55533d7 [partition] Log in more human-readable form 2022-03-01 14:37:52 +01:00
Adriaan de Groot
7e51731167 [partititon] Slightly better debug-logging for automount 2022-03-01 13:52:50 +01:00
Adriaan de Groot
92f4ab30ea [partition] Add a note and an icon about unusually-configured partition module 2022-02-21 13:00:40 +01:00
Adriaan de Groot
682ae24b7d [partition] Introduce skipping-partitioning-jobs
Don't do the actual KPM work, but pretend that they were done.
This can be useful -- independently of the existing unsafe-
options and failing partitioning entirely -- for testing
partition layouts in modules following the *partition* one.
2022-02-21 12:39:56 +01:00
Adriaan de Groot
7129a2239c [partition] Tidy up description in prettyStatus
- the length parameter to diskDescription() is worse than
  useless, because it doesn't say anything about what will
  be done if there's more than one disk.
2022-02-21 12:30:34 +01:00
Adriaan de Groot
f04f0a7e1d [partition] Remove unused text 2022-02-21 12:13:11 +01:00
Adriaan de Groot
99d11f754f [partition] Tighten up determining job labels for description 2022-02-21 12:12:20 +01:00
Adriaan de Groot
62888f7984 [partition] Rename setting to BAIL_OUT
- unsafe partitioning will bail out (and end the installation)
  if BAIL_OUT is set (previously _LAME).
2022-02-21 11:56:41 +01:00
Adriaan de Groot
03291fb726 [partition] Don't set empty labels 2022-02-08 19:01:41 +01:00
Adriaan de Groot
0be88f1453 [partition] Use signed sizes 2022-02-08 16:42:31 +01:00
Adriaan de Groot
cf097850de CMake: apply gersemi styling 2022-02-08 16:18:47 +01:00
Adriaan de Groot
8f769006d6 Merge branch 'calamares' into work-3.3 2022-02-08 13:28:20 +01:00
Adriaan de Groot
0fff01e36e [partition] Use signed sizes
Unfortunate effect of having ints in some parts of the API
is that signedness trickles down everywhere; either cast
all over, or stick to signed ints.
2022-02-07 11:21:53 +01:00
Adriaan de Groot
d1e4740e70 Merge branch 'calamares' into work-3.3 2022-02-02 14:41:58 +01:00
Adriaan de Groot
cf913b87ff [partition] Apply coding style
This applies the new(er) style to the whole module,
rather than just the files that recently changed.
2022-02-01 16:35:19 +01:00
Adriaan de Groot
7f90b99388 [partition Simplify mountpoint-input
- if nothing is selected (index -1, which now shows the placeholder), the text is empty
- if something has been entered, return it (e.g. if the user is typing)
- if something is selected, the text gets set to that anyway
2022-02-01 16:01:04 +01:00
Adriaan de Groot
f4720ae02c [partition] <pre> formatting is block-oriented 2022-02-01 14:54:49 +01:00
Adriaan de Groot
45fff23499 [partition] Move message closer to input field
The warning about the mount point -- that it was in-use or
invalid -- had been separated from the drop-down by the
FSLabel field. Move it back, rename the variable for
clarity while we're at it.
2022-02-01 14:50:53 +01:00
Adriaan de Groot
82dcc1b57b [partition] Refactor common validate-the-mount-point logic 2022-02-01 14:42:18 +01:00
Adriaan de Groot
d8be9a9443 [partition] Mount points should start with a / 2022-02-01 14:07:38 +01:00
Adriaan de Groot
fbcd1ffbbe [partition] Make the "no mount point" a placeholder 2022-02-01 14:06:30 +01:00
Adriaan de Groot
d8c875f351 [partition] UI-tweak mount-point and fs-label boxes
- make the boxes expand, rather than stick to a minimum
  size that doesn't align with other boxes in the dialog,
  and which may be too small to contain the text they display.
2022-02-01 13:13:29 +01:00
Adriaan de Groot
51f67f6c3e [partition] If initialSwapChoice can't be satisfied, add it
There is a mismatch between how the configuration interprets
*initialSwapChoice* when it is not a valid choice, and how
the UI interprets it. If you e.g. do not have a *userSwapChoices*
setting at all, whatever *initialSwapChoice* is set is interpreted
by the UI as "suspend".

Avoid that by putting the choice in the configuration and
warning the user (which ought to be a warning to the distro).

FIXES #1881
2022-01-31 23:15:04 +01:00
Adriaan de Groot
95122fdcf5 [partition] Warn if the system won't support encryption in a useful way
This is the infrastructure bit; if someone can come up with a way
of **meaningfully** detecting support, the detection function can
be given a better implementation.

FIXES #1725
2022-01-22 22:52:50 +01:00
Adriaan de Groot
5e4866c439 [partition] Simplify ClearTempMounts
- use the shared function for reading mtab entries
2022-01-18 13:22:20 +01:00
Adriaan de Groot
2aaaabe152 [partition] Set bigtime on XFS filesystems
FIXES #1874
2022-01-17 14:50:43 +01:00
Adriaan de Groot
4e61f24960 [partition] Tidy up iso9660 detection 2021-12-25 18:27:13 +01:00
Adriaan de Groot
24a881ad75 Merge branch 'calamares' into work-3.3 2021-12-24 17:01:08 +01:00
Adriaan de Groot
587a18a6fa [partition] Use runCommand() for future-proofing 2021-12-14 12:50:27 +01:00
Adriaan de Groot
f04394d014 [partition] Improve rendering of KPMCore errors 2021-12-13 20:02:52 +01:00
Adriaan de Groot
07354a26a9 [partition] Simplify debug calls to executables
- Use the Calamares support-functions for running lsblk and mount
  (these might need to have privilege support if Cala is not
  running as root, so this is future-proofing)
2021-12-13 20:02:52 +01:00
Adriaan de Groot
fdf0f208f0 [partition] Use lvalue-overload of execute() convenience
- These jobs may take a long time, and report progress; we need
  the operation around to be able to connect the signals and slots
2021-12-13 20:02:52 +01:00
Adriaan de Groot
6680584724 [partition] Use convenience function execute()
This job needs the lvalue-overload of execute() because it needs to
call a method on the operation after execute() finishes successfully.
2021-12-13 20:02:52 +01:00
Adriaan de Groot
c5573a1997 [partition] Add non-const lvalue overload for execute() 2021-12-13 20:02:52 +01:00
Adriaan de Groot
b8ce21d572 [partition] Use convenience function for running operations 2021-12-13 20:02:52 +01:00
Adriaan de Groot
1356012fb4 [partition] With rvalue, code becomes even more compact 2021-12-13 20:02:52 +01:00
Adriaan de Groot
8bb2c5fc6b [partition] Use convenience-method for running operation 2021-12-13 20:02:52 +01:00
Adriaan de Groot
dc7a1e43b7 [partition] Add helper for running a KPMCore operation
Most *partition* module jobs run an operation and turn that into
a JobResult -- ok if it succeeds, and with the report text otherwise.
Factor it out into a separate method that can be used as shorthand.
2021-12-13 20:02:52 +01:00
Adriaan de Groot
03da766b39 [partition] Keep 64-bit integers for swap sizes
FIXES #1849
2021-12-11 13:19:08 +01:00
Adriaan de Groot
1d96c5af46 [partition] Table type 'none' is a late addition. 2021-12-05 01:32:51 +01:00
Adriaan de Groot
f0eb7ffbda [partition Untangle, Warnings--
The translations apply to labels and a tooltip, which depends on
the partition-table type. Move the strings together and make
the whole range of the switch explicitly.
2021-12-08 00:59:20 +01:00
Adriaan de Groot
e8ca298712 [partition] Reduce warnings 2021-12-08 00:15:01 +01:00
Adriaan de Groot
13700b18c8 [partition] Warnings--
- remove superfluous `break`
- massage types around partition sizes
2021-12-08 00:06:17 +01:00
Adriaan de Groot
09f47b5762 [partition] Build tests with consistent flags (in particular, KPMCore4-API flags) 2021-12-07 15:51:45 +01:00
Adriaan de Groot
6e715205d7 [partition] Warnings-- by calling formatting consistently 2021-12-07 15:36:11 +01:00
Adriaan de Groot
09a03fbbc0 [partition] Warnings--: we don't care about one-byte-in-10^12 2021-12-07 15:31:49 +01:00
Adriaan de Groot
bb3f4442f5 [partition] Warnings-reduction
- use consistent size-formatting
- needs an out-of-line virtual function
2021-12-07 15:30:21 +01:00
Adriaan de Groot
5b05110351 [partition] Add convenience function formatByteSize
We want to use the KPMCore function consistently, but Calamares
uses a qint64 most of the time. Centralize the cast to double
in one place in the code.
2021-12-07 15:29:02 +01:00
Adriaan de Groot
149f3ff3fe [partition] Reduce warnings about shadowed variables 2021-12-06 14:52:33 +01:00
Adriaan de Groot
d89553a777 [partition] Avoid problems with MessageAndPath in containers (drop const) 2021-12-06 14:46:26 +01:00
Adriaan de Groot
ce23efae99 Merge branch 'calamares' into work-3.3 2021-11-30 11:39:30 +01:00
dalto
f5b882a075 [partition] Remove setState call to resolve compat issue with older kpmcore 2021-11-18 13:36:23 -06:00
Adriaan de Groot
ece1e338e0
Merge pull request #1822 from dalto8/zfs-wip
[zfs] Support for installing to root-on-ZFS
2021-11-17 12:20:34 +01:00
Adriaan de Groot
efe84bc6c0 [partition] Don't log private names
- log device node (/dev/sdb) instead of its name
- don't log job's prettyName() because that's translated, and also
  contains user-visible private names (introducing a non-translated,
  nicely redacted version of prettyName() seems like too much effort
  for something that can be reconstructed from bits earlier in the log)
2021-11-16 15:31:35 +01:00
Adriaan de Groot
5a4e2b73ab [libcalamares][partition] Give RedactedName a convert-to-QString
- use hex-trailer
- while here, convert DebugRow to use a copy rather than a reference,
  to avoid dangling references when applied to temporaries
- convert *partition* module to use the RedactedNames
2021-11-16 15:22:04 +01:00
Adriaan de Groot
7cc84b89be [partition] Clarify the meaning of the various UUIDs in debug-output 2021-11-16 14:15:00 +01:00
Adriaan de Groot
4db4e983e3 [partition] Don't format tables of attributes in source 2021-11-16 14:04:00 +01:00
Adriaan de Groot
3aac4dea67 [partition] Remove logging-of-a-pointer during device detection 2021-11-16 13:52:10 +01:00
dalto
490ac8d086 [partition] Ensure format is selected for existing zfs partitions 2021-11-15 18:41:35 -06:00
dalto
c48c91a5bd [partition] Add support for zfs encryption when erase disk is selected 2021-11-15 18:41:35 -06:00
dalto
ee99ee48f6 Add support for multiple zpools 2021-11-15 18:41:35 -06:00
dalto
6da9bad272 [partition][zfs] Add support for zfs encryption 2021-11-15 18:41:34 -06:00
dalto
24a376493b [partition] Add support for manually creating a partition for zfs 2021-11-15 18:41:34 -06:00
dalto
ca3f0e2892 [partition] Add zfs to the filesystem list if the zfs modules is enabled 2021-11-15 18:41:34 -06:00
Adriaan de Groot
8639c9a79f [partition] Fix up tests 2021-11-09 16:37:25 +01:00
Adriaan de Groot
cd0785164b [partition] Fix compatibility with Qt 5.12 2021-11-09 15:57:20 +01:00
Adriaan de Groot
bd4bed1438 Merge branch 'calamares' into work-3.3 2021-11-09 15:31:37 +01:00
Adriaan de Groot
575654941f [partition] Move required partition table type to Config
- remove from GS
- remove duplication across Config and ChoicePage
- improve translations (presumably "msdos or gpt" is the most
  complicated it will get)

FIXES #1735
2021-11-09 12:25:47 +01:00
Philip Müller
0486e48c4e [partition] offer /boot also when other EFI partition was specified
- it still makes sense to offer /boot in EFI
- example: /boot ext4, /boot/efi vfat
- this partly reverts 60f8a7c5fb
2021-11-09 01:51:49 +01:00
Adriaan de Groot
e8209089c6 Merge branch 'issue-1740' into calamares
FIXES #1740
2021-11-03 15:49:03 +01:00
Adriaan de Groot
a0cb4b63a8 [partition] Fix build for old Qt 2021-11-03 11:14:22 +01:00
Adriaan de Groot
344948b5ab Modules: clean up QProcess (part 1) 2021-11-02 23:46:26 +01:00
Adriaan de Groot
b5dba9108c [partition] Check for LVs that will be formatted, don't close them
- when (manually) using an existing LV, it shouldn't be closed
  prior to formatting, since that kills the volume and then the
  path (/dev/myvg/mylv) no longer exists. Then creating the
  filesysytem on that device path fails.
2021-11-02 15:33:34 +01:00
Adriaan de Groot
7b45793b60 [partition] Allow exceptions when closing /dev/mapper
- some names should not be closed, like "control"
- allow a list of names to be added which should not be closed
2021-11-02 15:26:25 +01:00
Adriaan de Groot
1410157356 [partition] Simplify and document ClearMounts
- note that the job indiscriminately closes all LUKS and LV
- don't hang on to lists we don't need
2021-11-02 11:55:13 +01:00
Adriaan de Groot
0253977778 [partition] Coding style 2021-11-02 11:50:51 +01:00
Adriaan de Groot
ca4a187d1a [partition] Extract the get-PV-groups code to its own function
- get the list (once)
- move the lambda to a named function for readability
2021-11-02 11:18:14 +01:00
Adriaan de Groot
7fa02fd41c [partition] Extract the get-LVM-volumes code to its own function 2021-11-02 11:10:09 +01:00
Adriaan de Groot
2a1ec84c87 [partition] Don't hang on to pointer longer than needed 2021-11-02 11:03:10 +01:00
Adriaan de Groot
04b119b051 [partition] Crypto device-list needn't be a member, either 2021-11-02 00:25:37 +01:00
Adriaan de Groot
f49389a408 [partition] Fix logic errors in stringification of MessageAndPath 2021-11-02 00:09:52 +01:00
Adriaan de Groot
c322eaa430 [partition] Fix translation issues
- Strings were being used as logical values, and then logged
  (which should be in English) and also used in the UI (which
  should be localized). Replace with a MessageAndPath class,
  used only locally, that defers the translation until called-
  upon explicitly.
- Replace some VG stuff with similar calls to apply().
2021-11-01 23:59:39 +01:00
Adriaan de Groot
e56158f5b4 [partition] Generate partition paths with /dev/
Returning partition full-paths instead of only the block-device-name
simplifies later code -- which would prepend /dev/ to the block-
device-name and umount that.
2021-11-01 20:54:48 +01:00
Adriaan de Groot
6c2b2b0daa [partition] Factor out loops, document return values
- the tryX() functions weirdly return a string that is used for
  debug-logging. Document that. The untranslated string is
  later used for user-facing messages. Mark that as FIXME.
- factor out the loop-over-names-and-append to news, because that
  makes the overall story of what is happening hard to read.
- all calls to tryCryptoClose() called tryUnmount() first, so
  put that call inside tryCryptoClose(), so the interface is simpler.
2021-11-01 20:54:18 +01:00
Adriaan de Groot
0c84a87c67 [partition] Make internal methods static 2021-11-01 20:28:47 +01:00
Adriaan de Groot
105517fed7 [partition] Coding style 2021-11-01 20:24:47 +01:00
Adriaan de Groot
ac34cfadea [partition] Factor out finding the swap-partitions 2021-11-01 20:23:49 +01:00
Adriaan de Groot
3e58639a68 [partition] Improve logging in ClearMountsJob
- mark internal bits as static
- explain what is being looked-for

SEE #1817
SEE #1564
2021-11-01 16:44:28 +01:00