This commit adds support for LUKS2 behind a new `partition.conf` key:
`luksGeneration`.
A bit of context, LUKS2 is the default encryption operating mode since
cryptsetup >= 2.1.0 (See [Arch
wiki](https://wiki.archlinux.org/title/dm-crypt/Device_encryption#Encryption_options_with_dm-crypt).
It is considered more secured and allows additional extensions. It also
comes with Argon2id as the default Password Based Key Derivation
Function (`--pbkdf` option). So it's important to provide this as an
option for Calamares in order to make Linux installs more secure, for
those who wish to encrypt their system.
This commit was tested on a custom Manjaro installer with:
- grub bootloader with the [argon patches](https://aur.archlinux.org/packages/grub-improved-luks2-git).
- [rEFInd](https://wiki.archlinux.org/title/REFInd) bootloader with
unencrypted `/boot` partition because rEFInd [doesn't support booting
from an encrypted volume](https://sourceforge.net/p/refind/discussion/general/thread/400418ac/)
**Important consideration for distribution maintainers**:
- You need to have compile flag `WITH_KPMCORE4API` on
- If you are shipping with grub by default please note that you need to
ship it with the Argon patches. Example on Arch Linux: [grub-improved-luks2-git](https://aur.archlinux.org/packages/grub-improved-luks2-git)
- If `luksGeneration` is not found in partition.conf, it will default to
luks1
- Please test this on your own distribution as this was only tested on
Manjaro installer (see above).
i18n.qml no longer needed
add color setting options to localeq.qml
Offline.qml updated to be inline with keyboardq UI, set index number according to default
America/New York
Note that in 3.2 branch, the version in CMakeLists now changes just before
the next release, not in post-release housekeeping. That is because
the CALAMARES_VERSION_RC remains 0 (release mode), by convention.
(cherry picked from commit aa09664601)
Since this CMakeLists.txt writes out a C program, the formatting
is a bit weird; just start the written TU with a blank line to
make gersemi happy and keep the C-code aligned.
To avoid git complaining about duplicate worktrees, detach
the temporary trees. To avoid python modules translations
changing order (depending on how find traverses the tree),
sort the filenames before extraction.
- find the best score and match relative to a specific
set of parts; make it easy to update the country-setting
- look for a complete match, or best match, with three
country settings
Argument *text* is an addition in 3.7, while the Calamares 3.3
branch supports Python 3.6 and later. Use the 'backwards compatibility'
name of the parameter, *universal_newlines*.
Cherry-picked from 33961ff6f (in the 3.2 branch, though, Python 3.3
is supported).
- Put this in a method of its own even though it's used
only once, so we can put a good name on it.
- If there are no FS choices (e.g. the sample settings file)
then there is no combo-box, and the check was crashing.
FIXES#2029
This works around older CMakes that refuse to set arbitrary
properties on a target. Instead, use calamares::kpmcore
as the specific indicator that kpmcore was found.
Breaks build of libcalamares, since that needs **something**
regardless of whether KPMcore was found.