The build produces a zillion warnings about unsafe buffer usage
in the code that wrangles metaobjects and slot names. That is
generated code and we can't fix it.
dragging & zooming now needs QML entries
osm is the only qtlocation provided map plugin, preferred thus useless now
no solution yet for warning (API key required), upstream bug reports offer no fix,
example https://bugreports.qt.io/browse/QTBUG-115742
Currently we are running into an issue, when setting the default theme via "sed", since the "[DAEMON]" entry in /etc/plymouth/plymouthd.conf is commented, which results into that the theme is not correctly applied.
Signed-off-by: Peter Jung <admin@ptr1337.dev>
In Qt5, a QVariant created from a QString doesn't convert to a
QVariantList. In Qt6, it does. It is unclear if that is because it would
take two conversions (QString -> QStringList -> QVariantList) or
something else.
Exclude QStrings from being considered list-like; this works in both Qt5
and Qt6, and fixes weirdness in the Debug window.
open(path, "w") returns a TextIOWrapper,
open(path, "wb") returns a BufferedWriter,
.. neither of which is one of the types that os.chmod()
consumes. Use fileno(), an integer file-descriptor.
FIXES#2294
- rename fields so they are meaningful (this is a leftover
from it inheriting std::pair)
- add environment list member
- add constructor that consumes a QVariantMap
The difference wasn't being recorded in the ABI-parts of
the CalamaresConfig.h header file, and it was unclear if
the two builds were "clean", e.g. no pybind11 stuff in a
boost build and vice-versa.
Tidy that up by writing more ABI info to the header and
double-checking defines when including Python-related
Calamares headers.
Multiple reports of the following fatal error:
WARNING (Qt): QObject::connect(QItemSelectionModel, PartitionPage):
unique connections require a pointer to member function of a QObject subclass
suggest to replace the unique lambda by a "real" slot.
I just made this up, checked that the `dnf5` command
in Fedora 39 exists and can run the command-lines
created by this PM backend. (I did install dnf5 into
that Fedora 39 system first)
While tempting, none of the STL containers are intended
for inheritance, and there's risks of slicing when used
as value types. Make InstanceKey a regular value type
data class and add the few operators that we actually
used from std::pair by hand.
Do not rely on Q_DECL_EXPORT and the like. Since we support basically
only gcc and clang for the kinds of Linux targets Calamares gets used
on, use visibility-specifiers that those compilers understand.
Start from a clean slate of intentions when applying changes
in the edit dialog. While here, shuffle debugging around so
that we get more useful information at once.
Put the setChecked() calls together so that it is obvious
that only one is checked. *Keep* button is the inverse of
*Format* now. Previously, it used only the not-ZFS value,
and so would override the value obtained from the partition's
*format* setting.
16:23:24 [2]: WARNING (Qt): QThread::setPriority: Cannot set priority, thread is not running
Start the log widget's thread with a specific priority. This is
ignored on Linux anyway, but we'll avoid the setPriority() warning.
If the update-fs-label checkbox and drop-down depend on the
state of the format button, then set that up only once we're
done deciding on the format button.
When Netplan is installed in the target system:
In case NM is not yet set to be the default Netplan renderer (e.g. through a
/usr/lib/netplan/00-network-manager-all.yaml file shipped by an installed
package), create the /etc/netplan/01-network-manager-all.yaml configuration
and copy over all other Netplan configuration from the installer system.
When using BTRFS multiple subvolumes exist and whilst iterating them the
partition["mountPoint"] is inadvertently changed due to taking a
reference rather than a copy.
Closes: issue #2281
When running a command in the chroot, don't set TMP (and similar)
variables because those directories might nog make sense in the
target (yet).
FIXES#2269
Use case would be customization of default modules, eg packagechooser requires compat/Variant.h and packages/Globals.h to compile in the calamares-extension repo
Signed-off-by: artoo <artoo@artixlinux.org>
- 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.
Otherwise starting in one language will never change the
formatting of percentages when the language changes
later (example: Turkish writes %30, while Dutch writes 30%).
FIXES#2258
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
All unknown-variants return None, but this only
happens in practice with an empty variant (e.g.
a configuration key that is empty in the YAML).
FIXES#2237