- the prettyName() function returns names, labels. Use @title context.
- the prettyDescription() is for the summary page. Use @info context.
- the prettyStatus() is for status during installation. Use @status context.
While here, tighten up the wording some.
The comment and examples above the mountOptions already indicate
zstd:1 for compression. Empirically, this has proven out to be a
reasonable default choice and should be actually used in the default
configuration.
The usage of noatime has subtle negative impacts on the system,
including breaking various utilities that rely on that information.
If a user or distribution explicitly chooses this, then they
acknowledge this problem and account for it, but it should not be
an uninformed default.
It's left in place for swap because it does not matter there and
likely reduces thrashing for swap files.
This adds support for Clear Boot Manager to handle the bootloader installation and configuration.
When this option is selected in the bootloader.conf, clr-boot-manager will be used to install the bootloader (systemd-boot on EFI systems). If the system is non-EFI, Grub must be installed first, because clr-boot-manager doesn't do that, despite it running grub_mkconfig after.
Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net>
This attempts to locate the presense of the crypt_gensalt function in the crypto library in use. Many distributions have switched to libxcrypt, which provides this function. This means that Calamares can use the native library implementation instead of generating password salts itself, which, depending on the distro's configuration, may be more secure.
If the function can not be found, fallback to the current method of generating password salts.
Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net>
with 2588d1e796
KPMCore is Qt6 only, so any version from 24.01.75 on is Qt6, no need to check for Qt version this way
add missing NO_CONFIG to summaryq
The filesystems may contains huge sparse files (for example the docker
data file at path /var/lib/docker/devicemapper/devicemapper/data that is
100G big).
These files causes rsync to fail if the target file-system is too small
to copy them.
The option --sparse tells rsync to turn sequences of nulls into sparse
blocks.
--sparse, -S
Try to handle sparse files efficiently so they take up less
space on the destination. If combined with --inplace the file
created might not end up with sparse blocks with some
combinations of kernel version and/or filesystem type. If
--whole-file is in effect (e.g. for a local copy) then it will
always work because rsync truncates the file prior to writing
out the updated version.
Note that versions of rsync older than 3.1.3 will reject the
combination of --sparse and --inplace.
This adds the rsync short option -S to let rsync handle sparse files.
Fixes:
18:03:36 [6]: static CalamaresUtils::ProcessResult CalamaresUtils::System::runCommand(CalamaresUtils::System::RunLocation, const QStringList&, const QString&, const QString&, std::chrono::seconds)
Running "env" ("sync")
.. Finished. Exit code: 0
.. Target cmd: ("sync") output:
rsync: [receiver] write failed on "/tmp/calamares-root-81qie5d1/var/lib/docker/devicemapper/devicemapper/data": No space left on device (28)
rsync error: error in file IO (code 11) at receiver.c(378) [receiver=v3.2.3]
Signed-off-by: Jeremy Whiting <jpwhiting@kde.org>
When testing with a / mountPoint set to subvolume: "" it tried and
failed to mount the subvolume:
.. Running ("mount", "-t", "btrfs", "-o", "subvol=,", "/dev/sda3", "/tmp/calamares-root-ylvhpxys/")
.. Target cmd: ("mount", "-t", "btrfs", "-o", "subvol=,", "/dev/sda3", "/tmp/calamares-root-ylvhpxys/") Exit code: 32 output:
mount: /tmp/calamares-root-ylvhpxys: wrong fs type, bad option, bad superblock on /dev/sda3, missing codepage or helper program, or other error.
This fix makes the following config in mount.conf let us drop out of any
subvolume handling:
btrfsSubvolumes:
- mountPoint: /
subvolume: ""
use alias for all -qt6.qrc QML files, so no change is needed for Qml.cpp searchQML files
most QMl does not need QtGraphicalEffects
keyboardq duplicate all .xml files too
The described behavior of the "Replace" option was incorrect, it does not keep the same filesystem type that the partition already had, rather it uses the `defaultFileSystemType` value. See:
https://github.com/calamares/calamares/issues/1970
Build failure looks like
/usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld:
src/modules/users/CMakeFiles/users_internal.dir/users_internal_autogen/mocs_compilation.cpp.o:
relocation R_X86_64_32 against symbol `_ZN6Config16staticMetaObjectE' can not be used when making a shared object; recompile with -fPIC
/usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: failed to set dynamic section sizes: bad value
This was the original reason for starting to change the library type.