Commit Graph

8411 Commits

Author SHA1 Message Date
Adriaan de Groot
1e59092bf5 [partition] Clear jobs and reset intent
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.
2024-02-18 22:38:03 +01:00
Adriaan de Groot
d640f17ddf [partition] When format is selected, clear out existing jobs
When editing a partition multiple times, do not leave
jobs from previous edits around. Apply fresh jobs each time.
2024-02-17 23:49:13 +01:00
Adriaan de Groot
2ea5a2b5d5 [partition] Set radio buttons conistently
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.
2024-02-17 22:47:19 +01:00
Adriaan de Groot
3881737bbd [partition] Set intent while creating FS-labeling job 2024-02-17 17:55:34 +01:00
Adriaan de Groot
23d203b00b [partition] Set label intentions for filesystems
FIXES #1992
2024-02-17 17:37:02 +01:00
Adriaan de Groot
fc2bb1ede0 [partition] Add a helper for intended FS labels
The KPMCore partition label returns what **is**, not
what is intended. While here, fix some typo's in comments.
2024-02-17 17:37:02 +01:00
Adriaan de Groot
d5f32be5e3 [partition] Repair enable/disable status of FS label
The entry field was always enabled, but the label of the
FS-label entry field depended on the format button.
2024-02-17 17:03:27 +01:00
Adriaan de Groot
14e9da251a [libcalamaresui] Avoid Qt warning
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.
2024-02-17 16:52:06 +01:00
Adriaan de Groot
f23b4ff267 [partition] Preserve the will-it-be-formatted flag of the partition 2024-02-17 16:17:46 +01:00
Adriaan de Groot
ecd8839ac9 [partition] Set up label checkbox later
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.
2024-02-17 14:26:39 +01:00
Adriaan de Groot
a2b21ee087 [partition] Improve readability in edit-existing-partition
Pick out the condition and give it a name. The logic is the
same -- and is made worse because of the if() which looks
redundant at this point.
2024-02-17 14:18:24 +01:00
Adriaan de Groot
283668cb01 [libcalamares] Update sponsor / maintainer information 2024-02-17 11:25:40 +01:00
Lukas Märdian
562cae387c networkcfg: Configure NetworkManager to be the default renderer
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.
2024-02-13 16:13:31 +01:00
Adriaan de Groot
f5e09cd676 [partition] Write out translation context
lupdate isn't smart enough to pick up `context` when it's
a variable, and then the whole string is not found for
translation.
2024-02-12 21:30:52 +01:00
Adriaan de Groot
f8448e3c97 [partition] Clarify documentation of static functions 2024-02-12 21:28:15 +01:00
dalto8
11522fa44e
Merge pull request #2280 from ArrayBolt3/calamares
[partition] Allow specifying unencrypted partitions when encryption is used
2024-02-08 19:58:52 +00:00
Tj
1d996d1f9a fstab: do not overwrite partition["mountPoint"]
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
2024-02-07 16:21:24 +00:00
Aaron Rainbolt
546bedef11 [partition] Allow specifying unencrypted partitions when encryption is used 2024-02-05 19:24:05 -06:00
Adriaan de Groot
4e065b1ba9 [qml] Tidy up cmake bits, credit to contributor 2024-02-04 22:26:03 +01:00
Adriaan de Groot
25f9eaf523 [libcalamares*] Prefer < comparisons in Qt version 2024-02-04 22:06:55 +01:00
Adriaan de Groot
7d7a4597c1 [libcalamaresui] prefer < comparison of Qt versions 2024-02-04 22:06:55 +01:00
Adriaan de Groot
fd2610c739 [*] Remove pre-Qt-5.15 compatibility ifdefs 2024-02-04 22:06:51 +01:00
Jonathan Esk-Riddell
7b13d0b62f rename directory 2024-01-26 14:50:42 +00:00
Jonathan Esk-Riddell
c9685168e0 fix selection logic 2024-01-26 14:49:21 +00:00
Jonathan Esk-Riddell
ed540673d9 port slideshow to Qt 6 2024-01-25 15:42:19 +00:00
Adriaan de Groot
881347b9c2 [locale,packagechooser] (Auto-)Tests should not require GUI 2024-01-15 00:14:56 +01:00
Adriaan de Groot
1b655c26ef [libcalamares] Remove TMP-related environment variables
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
2024-01-12 23:04:26 +01:00
artoo
78eeb963a3 libcalamares: add compat and packages headers to be installed;
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>
2024-01-02 22:57:08 +01:00
Adriaan de Groot
d38a48e900 [packagechooser] Make AppData and AppStream optional default OFF
If set to *ON*, then the dependencies for these two are required
(e.g. QtXml and/or AppStreamQt).
2024-01-02 22:40:10 +01:00
Adriaan de Groot
062171a2f0 [packagechooser] Use the found-directory for AppStream headers 2024-01-01 21:45:48 +01:00
Adriaan de Groot
8a199aaaf9 [packagechooser] Split out helper for AppStreamQt
- add a CMake helper for finding variations of AppStreamQt
- adapt packagechooser and packagechooserq
- adopt a slightly more modern CMake style here
2023-12-31 01:07:08 +01:00
Adriaan de Groot
fa2b96e9cc [partition] Fix build 2023-12-30 20:55:04 +01:00
Adriaan de Groot
7971bff2da
Merge pull request #2106 from Sunderland93/gtkgreet-css-config
greetd: Add custom CSS file path to gtkgreet
2023-12-30 20:45:40 +01:00
Adriaan de Groot
6cbed0f458 [partition] Remove extra-extra context string 2023-12-30 19:27:16 +01:00
Adriaan de Groot
e326758900 [partition] Massage types of job messages 2023-12-30 19:23:52 +01:00
Adriaan de Groot
ee09fd6613 [partition] Tidy up strings in flag job messages
- 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.
2023-12-30 17:42:16 +01:00
Emir SARI
1401f4ff21 Improve context 2023-12-28 00:07:31 +03:00
Adriaan de Groot
040f424931 [locale] Tweak string to avoid lupdate inserting {1?} 2023-12-27 00:53:26 +01:00
Adriaan de Groot
93ce2daff0 [machineid] Drop namespace to avoid lupdate warnings 2023-12-27 00:41:03 +01:00
Adriaan de Groot
0ac170c3de [summary] Split out classes to help lupdate
One QObject-based class per source file helps lupdate
figure out what goes where, avoids warning about unknown
class / namespace ::Config.
2023-12-27 00:28:26 +01:00
Adriaan de Groot
115f00f5cd [libcalamares] Rename tr() functions to avoid confusing lupdate 2023-12-25 14:24:06 +01:00
Adriaan de Groot
e73f5fb9fe [libcalamaresui] update percentage indicator on language change
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
2023-12-25 00:06:00 +01:00
Adriaan de Groot
1d8a197242 [partition] Repair test
Was picking up settings stored from a previous test,
leading to a spurious failure.
2023-12-12 00:04:06 +01:00
Adriaan de Groot
8e5fbef390 [users] Repair test of now-removed "nonempty" option 2023-12-11 22:55:36 +01:00
Adriaan de Groot
558f045b65
Merge pull request #2252 from calamares/issue-2225
Add support for systemd-machine-id variations
2023-12-11 22:18:03 +01:00
Neal Gompa
5f897468ef [mount] Set btrfs compression default to zstd:1 to match comment default
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.
2023-12-09 17:45:55 -05:00
Neal Gompa
84e66f8512 [mount] Drop noatime for baseline and btrfs defaults
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.
2023-12-09 17:45:40 -05:00
Adriaan de Groot
acd0875f1d [users] Use more-modern CMake constructs 2023-12-09 00:59:26 +01:00
Adriaan de Groot
b2d9b20edc
Merge pull request #2248 from EbonJaeger/add-crypt-gensalt-support
users: Add support for crypt_gensalt for user passwords
2023-12-09 00:25:43 +01:00
Adriaan de Groot
1b37eb1262 [machineid] Read systemd-style from config 2023-12-09 00:08:38 +01:00
Adriaan de Groot
89348910c3 [machineid] Document aliases (not visible in schema) 2023-12-09 00:08:19 +01:00
Adriaan de Groot
2f740564c6 [machineid] Run systemd-machine-id in host, telling it to modify target 2023-12-08 23:37:48 +01:00
Adriaan de Groot
e04e0260c9 [machineid] Apply coding style 2023-12-08 23:15:32 +01:00
Adriaan de Groot
e5ee28329d [machineid] Handle different settings of systemd-style 2023-12-08 22:43:00 +01:00
Adriaan de Groot
0eb387d6de [machineid] Default to running systemd-machine-id 2023-12-08 22:26:32 +01:00
Adriaan de Groot
0d11de4525 [libcalamares] Add missing parameter name 2023-12-08 22:04:46 +01:00
Aaron Rainbolt
7e6ac140c4 [grubcfg] Write config keys even if they don't already exist 2023-12-01 15:46:36 -06:00
Adriaan de Groot
d2214b8d2e [users] Document retirement of 'nonempty' 2023-12-01 18:15:00 +01:00
Adriaan de Groot
4e3de90cd0 [users] Document password settings 2023-12-01 18:01:58 +01:00
Adriaan de Groot
4262d9f051 [users] Expand documentation of the settings 2023-11-29 21:55:20 +01:00
dalto8
e8d0fa140a
Merge pull request #2249 from EbonJaeger/add-clr-boot-manager-support
bootloader: Add clr-boot-manager support
2023-11-28 18:51:21 +00:00
Evan Maddock
1b07de6fa7
Apply suggestions from code review
Co-authored-by: Adriaan de Groot <groot@kde.org>
2023-11-27 19:02:50 -05:00
dalto8
63ce03680b
Merge pull request #2246 from fhdk/initcpiocfg-bash-array-update
[initcpiocfg] use f-string - use new style bash array (issue #2243)
2023-11-27 18:22:38 +00:00
Evan Maddock
7a4d03e2c1
bootloader: Write all kernel params to the kernel cmdline file for CBM
Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net>
2023-11-27 10:47:51 -05:00
Evan Maddock
e13dbc621a
bootloader: Add clr-boot-manager support
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>
2023-11-26 17:27:57 -05:00
Evan Maddock
559d19018c
users: Add support for crypt_gensalt for user passwords
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>
2023-11-26 16:54:07 -05:00
Adriaan de Groot
7a9a50d702 [libcalamares] AutoMount / kded6 has been tested by KaOS 2023-11-26 21:53:04 +01:00
Frede Hundewadt
98d534d5dd [initcpiocfg] use f-string - use new style bash array (issue #2243) 2023-11-26 14:57:19 +01:00
Adriaan de Groot
01e7cf44c2 [libcalamares] Placeholder for KF6 automount DBus calls 2023-11-21 15:22:09 +01:00
Adriaan de Groot
8748a52c68 [keyboard] Add explanatory translation comment 2023-11-20 20:31:58 +01:00
demmm
0e2fa42b60 [CMake] use KPMCore version to select Qt6
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
2023-11-19 15:40:29 +01:00
Adriaan de Groot
146f549552 [libcalamares] Return None for empty GS keys
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
2023-11-16 23:17:33 +01:00
Adriaan de Groot
8305b6cb1a [dummypython] Demonstrator for #2237 2023-11-16 23:10:53 +01:00
demmm
de85a02f74 [partition] make the tests also build with Qt6 2023-11-15 14:19:15 +01:00
Adriaan de Groot
8868ae956a [partition] Repair comparison 2023-11-14 13:50:08 +01:00
Adriaan de Groot
12413ad9e8 [partition] Add test demonstrating size edge-case 2023-11-13 21:32:05 +01:00
Adriaan de Groot
5c0b20d06a [partition] Enforce minimum <= recommended. 2023-11-13 21:28:10 +01:00
Adriaan de Groot
2ab0041180 [localeq] Repair translation-related typo
This would lead to a runtime error when loading the QML.
2023-11-13 20:10:52 +01:00
Adriaan de Groot
6b1226d5ea
Merge pull request #2206 from geckolinux/patch-1
Correct the comment description of the "Replace" partition behavior
2023-11-13 19:18:00 +01:00
Adriaan de Groot
eb77b208f8
Merge pull request #2226 from bitigchi/strings
Improve string formatting and context
2023-11-13 19:17:12 +01:00
Adriaan de Groot
1e1e12fad2 Merge branch 'issue-2018' into calamares
FIXES #2018
2023-11-13 00:47:31 +01:00
Adriaan de Groot
196dd55784 [partition] Test mixed-with-overlap settings 2023-11-13 00:40:58 +01:00
Adriaan de Groot
3e758d2d5c [partition] Extend test, fix bug indicated by test
Copy-paste-o, was using wrong string value for minimum size,
found by failing unit test.
2023-11-13 00:37:03 +01:00
Adriaan de Groot
45c11135b8 [partition] Extend tests with more config examples 2023-11-13 00:31:18 +01:00
Adriaan de Groot
d9aeb88275 [libcalamares] Add a clear() to GlobalStorage
While this isn't useful in production, it makes tests a lot
simpler to write since you don't have to wrestle with
creating new GS objects in order to start fresh.
2023-11-12 22:41:02 +01:00
Adriaan de Groot
f07e31de29 [partition] Test for basic legacy configuration 2023-11-12 22:28:27 +01:00
Adriaan de Groot
13acdace42 [partition] Start of tests for config 2023-11-11 23:46:00 +01:00
Emir SARI
37178b2273 Improve context 2023-11-10 13:34:01 +03:00
Adriaan de Groot
85350e63ef [partition] Put EFI settings in a sub-map 2023-11-09 23:31:17 +01:00
Adriaan de Groot
eb08c3facd [partition] Use API for consistent EFI-size GS key
While here, remove the textual entry in GS, which was unused.
2023-11-09 22:29:33 +01:00
Adriaan de Groot
449fba03be [partition] Factor out GS keys for EFI-size sharing 2023-11-09 22:17:51 +01:00
Adriaan de Groot
b06afd9074 [partition] Read minimum EFI size from GS 2023-11-09 22:06:12 +01:00
Adriaan de Groot
b72508546c [partition] Simplify variables for error messages 2023-11-09 21:57:55 +01:00
Adriaan de Groot
6e9dac3417 libcalamares: apply coding style 2023-11-07 23:43:09 +01:00
Adriaan de Groot
c506808d72 partition: factor out 32_MiB constant 2023-11-07 23:41:10 +01:00
Adriaan de Groot
d0ae922439 partition: introduce accessor for minimum-size EFI 2023-11-07 23:37:31 +01:00
Adriaan de Groot
45529ebdc1 partition: rename API to emphasize recommended and strict-minimum 2023-11-07 23:30:56 +01:00
Adriaan de Groot
bc45f57b48 partition: introduce more settings for EFI size 2023-11-07 22:46:39 +01:00
Adriaan de Groot
1051033324 libcalamares: create Python module libcalamares by hand
From inside Calamares, register libcalamares to the
interpreter by hand; from external Python processes
the regular extension library hooks are called.

Tested by running ./build/localmodule dummypython
(which means that the shared library is not present
in the current directory, so then `import libcalamares`
fails if the module is not already registered --
a test scenario that previous attempt at module
import missed).
2023-11-07 21:42:05 +01:00
Adriaan de Groot
a629e2650a libcalamares: importing the embedded python module can fail 2023-11-07 13:40:10 +01:00
Adriaan de Groot
5346008b7a libcalamares: repair names for recent translations
bqi is one possible name of Luri / Lhur language,
as far as I can tell -- there is also Northern Luri,
which is supported by Qt and has code lrc.

ie is Interlingue, which Qt maps to C locale.
Work around that by mapping it to interlingua.
2023-11-07 13:25:37 +01:00
Adriaan de Groot
d2c3f7a326 libcalamares: improve formatting of Qt error messages
These come through without function information, but we
can format them in one line by mis-using function info.
2023-11-07 00:53:10 +01:00
Adriaan de Groot
b57db97412 libcalamares: massage logging
Make the log-to-file always follow columns (with time
at the start of each line) so that stdout and the
log file look more alike.
2023-11-07 00:53:10 +01:00
Adriaan de Groot
cdd50681cd calamares: log settings and logfile paths again
When setting up the application, output goes to stdout,
so do it again once the logfile is configured, so that
these specific settings are in the log file as well.
2023-11-07 00:53:10 +01:00
Adriaan de Groot
18689074a8 libcalamares: add accessor for settings path 2023-11-07 00:53:10 +01:00
dalto8
ce1ecdba32
Merge pull request #2227 from jpwhiting/work/whiting/dontmountemptysubvolume
If a mountPoint has subvolume: "" don't try to mount the subvolume with a wrong "subvol=," argument.
2023-11-05 18:55:23 +00:00
Gaël PORTAY
194ebeba94 Use rsync option -S
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>
2023-11-03 09:59:06 -06:00
Jeremy Whiting
deb35d8b49 If a mountPoint has subvolume: "" don't use subvol= arguments.
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: ""
2023-11-03 08:27:36 -06:00
Adriaan de Groot
44d12379bd machineid: pass around enum for style 2023-11-02 21:22:35 +01:00
Adriaan de Groot
083b0fb1e5 machineid: add configuration option for machine-id
SEE #2225
2023-10-30 23:25:21 +01:00
Adriaan de Groot
d3a767bad8 Merge branch 'issue-2018' into calamares
FIXES #2018
2023-10-30 22:40:34 +01:00
Adriaan de Groot
f6d1d81b01 partition: re-jig the EFI partition messages 2023-10-30 22:40:13 +01:00
Adriaan de Groot
026d1cb5e4 partition: add checks for absolute minimum size of EFI 2023-10-30 21:24:24 +01:00
Adriaan de Groot
f55161c06a Merge branch 'issue-2202' into calamares
FIXES #2202
2023-10-30 20:08:52 +01:00
Adriaan de Groot
757f8a8f9e packagechooser: handle differences in AppStreamQt API 2023-10-30 20:08:19 +01:00
Adriaan de Groot
a6dd49ac07 packagechooser: rename #define for AppStreamQt
Make explicit that it is set to a version (if it is defined at all).
2023-10-30 00:37:38 +01:00
Adriaan de Groot
b7545fded3 dummypython: add a ton of calls to setprogress()
Stress testing for #1912
2023-10-29 22:03:28 +01:00
Adriaan de Groot
741fe03969 netinstall: repair schema
The URIs were now being resolved (to the calamares.io domain) rather
than looked up locally. Make them local by prepending #/ in $ref s
2023-10-29 21:41:33 +01:00
Adriaan de Groot
350be92cd1 Merge branch 'work/adridg/pybind-fix' into calamares
FIXES #2223
2023-10-29 00:38:22 +02:00
Adriaan de Groot
fe45d32ef9 luksbootkeyfile: repair schema (add missing enum value) 2023-10-29 00:34:57 +02:00
Adriaan de Groot
db02ae0ce7 bootloader: repair schema (add missing properties) 2023-10-29 00:30:57 +02:00
DemonKiller
8f82dc8668
fix small typo in docs 2023-10-26 13:17:50 +05:30
Adriaan de Groot
e68f7b0bf3 dummypython: log things more sensibly 2023-10-25 00:35:50 +02:00
Adriaan de Groot
c5139e62bc libcalamares: one more round with module
Tested with:

- python -c 'import libcalamares ; print(libcalamares.VERSION);'
- loadmodule dummypython
- full install of KaOS
2023-10-24 23:46:58 +02:00
Adriaan de Groot
1c0559affa libcalamares: don't bind to temporaries
Clang warns about range-for-loop binding a reference
to temporaries, and these are pybind11 handles anyway
so are cheap to copy.
2023-10-24 22:18:10 +02:00
Adriaan de Groot
d435ddd955 libcalamares: don't name unused parameters 2023-10-24 22:15:10 +02:00
Adriaan de Groot
5d1b94a708 libcalamares: don't name unused parameters 2023-10-24 22:14:26 +02:00
Adriaan de Groot
f24df7ccc9 libcalamares: use Pybind11Helpers consistently
This header includes all of the needed pybind11 headers,
but also wrangles defines and warnings in one spot.
2023-10-24 22:13:06 +02:00
Adriaan de Groot
019450132e libcalamares: add missing parent constructor call to PythonJob 2023-10-24 22:06:25 +02:00
Adriaan de Groot
1c2480a308 packagechooser: suppres signedness warning 2023-10-24 21:55:03 +02:00
Adriaan de Groot
d0bb6134ae keyboard: remove unused variable 2023-10-24 21:48:58 +02:00
Adriaan de Groot
dac6931e81 libcalamares: switch Python to an embedded module
This breaks python scripts that `import libcalamares` running
outside of the framework (e.g. outside of a Calamares job).
2023-10-24 15:33:26 +02:00
Adriaan de Groot
8bea736651 libcalamares: make VERSION in Python modules the full-version 2023-10-24 15:31:09 +02:00
Adriaan de Groot
da0ce1d3d6 libcalamares: move Python module-definitions to the Job 2023-10-24 15:29:07 +02:00
Adriaan de Groot
3ffa4f5bf6 libcalamares: mount() is part of the Python API 2023-10-24 15:24:12 +02:00
Adriaan de Groot
0d3519fe79 libcalamares: tidy up API documentation
The __attribute__ on the namespace confuses clang-tidy, which is
why this one namespace is indented.
2023-10-24 15:14:08 +02:00
Adriaan de Groot
ede1c29a0e libcalamares: embed the pybind11 API differently 2023-10-24 15:04:08 +02:00
Adriaan de Groot
6ba8d9fd7d modules: adapt to changes in network manager 2023-10-24 02:01:19 +02:00
Adriaan de Groot
8ebba4fcff libcalamares*: adapt consumers of network manager 2023-10-24 02:01:19 +02:00
Adriaan de Groot
35998066c2 libcalamares: re-do singleton-ness of NetworkAccessManager
The Calamares Manager should not be a singleton; it is needed
in multiple threads (e.g. from QML). It can have a singleton
Private manager that caches and shares things, though.
2023-10-24 02:01:19 +02:00
Adriaan de Groot
cfc5b03264 contextualprocess: repair typo from string-fix 2023-10-24 00:01:06 +02:00
Adriaan de Groot
8edb5f4290
Merge pull request #2222 from bitigchi/strings
Improve string formatting and context
2023-10-23 23:06:23 +02:00
Adriaan de Groot
f0d13fc9c4 libcalamares: repair build for Qt6 2023-10-23 22:20:02 +02:00
Emir SARI
682cbe6951 Improve string formatting and context 2023-10-23 13:39:26 +03:00
Adriaan de Groot
8bd2d684b9 libcalamares: catch Python errors in more places
- (syntax) errors in the pre-script or the module's script
  should not trigger a fatal error in Calamares (i.e. terminate
  called because of uncaught Python exception).
- Log more clearly where the error is being caught.
2023-10-23 01:18:45 +02:00
Adriaan de Groot
e5c2066d28 libcalamares: fix build 2023-10-22 14:38:25 +02:00
Adriaan de Groot
4297a00537
Merge pull request #2210 from bitigchi/strings
Improve string formatting and context
2023-10-22 13:50:38 +02:00
Adriaan de Groot
ff760d84a3 libcalamares: implement mount() for Python 2023-10-22 13:32:22 +02:00
Adriaan de Groot
af9b41e1a9 libcalamares: provide pybind11 constructor for GS
This constructor (of the proxy object) is used only by
test-code (see also comment in the Boost implementation)
but needs to be made explicit now.
2023-10-22 13:20:29 +02:00
Adriaan de Groot
b2337c82a7 libcalamares: repair submodule utils 2023-10-21 16:34:07 +02:00
Adriaan de Groot
71d27eee8e hostinfo: ditch flaky test 2023-10-21 15:47:10 +02:00
Adriaan de Groot
5846ea384a machineid: ditch flaky test 2023-10-21 15:43:19 +02:00
Adriaan de Groot
a649b67880 machineid: document flaky test 2023-10-17 22:54:08 +02:00
Adriaan de Groot
aaa82386d8 libcalamaresui: always use KOSRelease
The places where KOSRelease was ifdeffed always set the ifdef in
the surrounding CMake code, so make it unconditional.
2023-10-17 22:46:11 +02:00
Adriaan de Groot
63b0589382 CI: apply style tool across the entire codebase 2023-10-17 22:24:46 +02:00
Adriaan de Groot
3594a64bd1 Python: add the processing-output functions, too 2023-10-16 20:07:39 +02:00
Adriaan de Groot
42172826ca loadmodule: extend test-module-loader application
- Introduce -S to load settings beforehand, allows testing
  in dont-chroot and debug and OEM modes.
2023-10-16 20:07:39 +02:00
Adriaan de Groot
d0dd4b765c Python: add checked and stdout-returning API 2023-10-16 20:07:39 +02:00
Adriaan de Groot
995f6c8ce3 Python: add target_env_call API 2023-10-16 20:07:39 +02:00
Adriaan de Groot
89ede4bcce Python: add the API to the public header again
- add libcalamares.job
- add libcalamares.globalstorage
2023-10-16 20:07:39 +02:00
Adriaan de Groot
ec5a4cb423 Python: support injected pre-script (for testing) 2023-10-16 20:07:39 +02:00
Adriaan de Groot
24de6b69c4 Python: deal with Qt5 compatibility
QDebug can't log std::string in Qt5, it seems
2023-10-16 20:07:39 +02:00
Adriaan de Groot
0468ff400b Python: add top-level descriptive variables 2023-10-16 20:07:39 +02:00
Adriaan de Groot
30e677a762 Python: call the module's run() function 2023-10-16 20:07:39 +02:00
Adriaan de Groot
bfb23b3b84 Python: get pretty_name from Python module
Add a convenience method for logging pybind11 objects.
2023-10-16 20:07:39 +02:00
Adriaan de Groot
dd2da734ba Python: load a module
- add enough API so that the dummypython module does load
- interpreter only imports the module, does not run any part of it
2023-10-16 20:07:39 +02:00
Adriaan de Groot
4411c54ba2 Python: do preliminary script-checks 2023-10-16 20:07:39 +02:00
Adriaan de Groot
61f0100cd9 Python: add new Python job implementation
The implementation is quite incomplete: it does not
actually run any Python code.
2023-10-16 20:07:39 +02:00
Adriaan de Groot
1eba9c828c Python: mini-API implementation
Just some string-related functions for a very basic module.
2023-10-16 20:07:39 +02:00
Adriaan de Groot
5cad467a49 Python: use the vendored pybind11
Add a target that resembles what you would get from "normal"
use of pybind11 when following the examples. Link with it.
Drop Boost:Python sources from libcalamares.
2023-10-16 20:07:39 +02:00
Adriaan de Groot
35ae45e3ec Docs: mention Boost::Python retired 2023-10-15 22:23:27 +02:00
Emir SARI
125a58f7c0 Process more messages 2023-10-15 14:39:17 +03:00
Emir SARI
814f5f0ccc Improve formatting 2023-10-15 14:19:57 +03:00
demmm
2d2436f9a5 [QML modules] add Qt6 needed files
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
2023-10-14 19:56:53 +02:00
Adriaan de Groot
7abbcd685e users: repair broken tests
Applying the styling tool breaks the string literals.
2023-10-14 00:33:04 +02:00
Adriaan de Groot
d8415cfd53 shellprocess: repair broken tests
Applying calamaresstyle to this file re-formats the
raw-string-literals, which breaks the tests. Restore
the previous string formatting.
2023-10-14 00:27:44 +02:00
Adriaan de Groot
2b147a2998 welcomeq: have Qt5 and Qt6 versions of the QML as an example 2023-10-12 22:35:32 +02:00
Adriaan de Groot
4a5e7af9a4 libcalamaresui: support Qt6 QMLViewStep 2023-10-10 23:51:52 +02:00
Adriaan de Groot
628c98becb libcalamaresui: apply coding style (include order) 2023-10-10 23:51:52 +02:00
Emir SARI
e60d981e07 Improve string formatting and context 2023-10-10 12:55:31 +03:00
Adriaan de Groot
cf9f283a8e
Merge pull request #2209 from lubuntu-team/lubuntu/netplan-configs
Quick vendor patch to add support for Netplan-based configs
2023-10-09 22:31:34 +02:00
Simon Quigley
e5db326a7e Quick vendor patch to add support for Netplan-based configs 2023-10-08 21:37:26 -05:00
Emir SARI
108b6759f7 Improve string formatting and context
Improves some strings according to the KDE HIG, and specifies
whether they are titles, buttons, or tooltips.
2023-10-06 07:05:42 +03:00
GeckoLinux
d4accae21b
Correct the comment description of the "Replace" partition behavior
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
2023-10-01 19:23:35 -05:00
Adriaan de Groot
309fa9718e users: repair build on openSUSE Qt6
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.
2023-10-02 00:37:59 +02:00
Adriaan de Groot
364e940a9a CMake: don't default to SHARED libraries, require explicit 2023-09-28 20:56:09 +02:00
Adriaan de Groot
77d489b5e5 users: repair previous "fix"
The build failure on openSUSE is real, but the "fix" switched
the internal library accidentally to SHARED, without installing it.
It shouldn't be a library at all, really (if STATIC won't do).

FIXES #2203
2023-09-28 20:55:39 +02:00
Adriaan de Groot
1efb12e332 libcalamares: rename CalamaresUtilsSystem and Gui 2023-09-11 20:40:10 +02:00
Adriaan de Groot
eb840d4117 libcalamares: ditch namespace CalamaresUtils
- Most CalamaresUtils things go to Calamares
- YAML support to Calamares::YAML and then remove redundant "yaml"
  from the function names.
2023-09-11 20:34:01 +02:00
Adriaan de Groot
f4e3964ee5 libcalamares: use namespace Calamares::Partition consistently 2023-09-11 00:09:31 +02:00
Adriaan de Groot
641e186b7c libcalamares: use namespace Calamares::Packages consistently 2023-09-10 23:55:48 +02:00
Adriaan de Groot
a9ef587705 libcalamares: use namespace Calamares::Network consistently 2023-09-10 22:32:49 +02:00
Adriaan de Groot
d199288034 libcalamares: use namespace Calamares::GeoIP consistently 2023-09-10 22:26:32 +02:00
Adriaan de Groot
47cbcbd348 libcalamares: move all locale-related things into namespace Calamares::Locale
The locale bits were spread over Calamares::Locale and CalamaresUtils::Locale.
2023-09-10 22:26:32 +02:00
Adriaan de Groot
766c28ca82 interactiveterminal: prepare for Qt6
- Try to build with KF6
- Bodge out the actual loading-of-konsole-part
2023-09-10 22:26:32 +02:00
Adriaan de Groot
8925c34ff7 CMake: massage finding-of-things to be less demanding
1- Need to be careful switching dependencies from REQUIRED to OPTIONAL
2- Don't do ECM REQUIRED all over the place
3- Workaround neon CI not having KCrash (which translated to KF5 not
   found, which translated to a missing REQUIRED dependency, see 1).
2023-09-10 21:10:02 +02:00
Adriaan de Groot
472c07008e keyboardq: don't bother re-finding required Qt components 2023-09-10 20:23:19 +02:00
dalto
f3f5bd8a5d [initcpiocfg] Revert addition of setfont 2023-09-10 12:53:31 -05:00
dalto
09ccdb4ecb [initcpiocfg] Fix typo in initcpiocfg.conf 2023-09-09 10:10:02 -05:00
dalto
23c4aa0aa4 [bootloader] Fix error in condition with uses_sd_encrypt 2023-09-09 10:09:30 -05:00
Adriaan de Groot
0500eb54da users: workaround build failure
x86_64-suse-linux/bin/ld: libusers_internal.a(mocs_compilation.cpp.o):
  relocation R_X86_64_32 against symbol `_ZN6Config16staticMetaObjectE'
  can not be used when making a shared object; recompile with -fPIC
x86_64-suse-linux/bin/ld: failed to set dynamic section sizes: bad value
collect2: error: ld returned 1 exit status
2023-09-09 01:27:13 +02:00
Adriaan de Groot
60df29d734
Merge pull request #2164 from ivan1986/add-keyboard-group
add keyboard layout switch selector
2023-09-08 21:45:36 +02:00
Adriaan de Groot
c2064124b9 libcalamares: needs to link in QtNetwork 2023-09-08 21:41:31 +02:00
Adriaan de Groot
57746be66e kpmcore: factor out sometimes-needed dependencies 2023-09-07 23:45:57 +02:00
Adriaan de Groot
7dffabef43 netinstall, tracking: KF6 use 2023-09-07 23:39:39 +02:00
Ivan Borzenkov
4d00eef822 fixes 2023-09-07 23:31:48 +03:00
Ivan Borzenkov
ea725da79b keyboard switch to same line 2023-09-07 21:57:58 +03:00
Ivan Borzenkov
1ac3459afa add keyboard layout switch selector 2023-09-07 21:57:58 +03:00
Adriaan de Groot
1b235e56a3
Merge pull request #2199 from demmm/calamares
[users] CheckPWQuality.cpp Qt6 correction
2023-09-07 20:03:32 +02:00
demmm
b8dd4ef20a [partition] Qt6 conversion completed
adjust QMouseEvents, update CHANGES
2023-09-07 18:10:21 +02:00
demmm
07e5a3a113 [partition] start Qt6 work
make kpmcorehelper usable for both kf5 & 6, though no section added yet dealing with set to NOT for Qt6
adjust CalamaresConfig to not be hardcoded to kf5
one more var needed in Variant.h, used in PartitionInfo.cpp
adjust QVariant & QtConcurrent use
2023-09-07 13:03:16 +02:00
dalto8
7c55529072
[initcpiocfg] Remove noconfig since a config file was added 2023-09-06 22:20:53 +00:00
demmm
14419ac26f [users] CheckPWQuality.cpp Qt6 correction
2 additional QVariant replacements
2023-09-06 18:33:24 +02:00
Adriaan de Groot
bf7983dac8 Merge branch 'work/qt6-i18n' into calamares 2023-09-05 23:55:14 +02:00
Adriaan de Groot
e1bb6f1eb3 CMake: remove Qt6 handholding of modules 2023-09-05 23:54:44 +02:00
Adriaan de Groot
ead610b429 zfs: adapt to Qt6 2023-09-05 23:54:44 +02:00
Adriaan de Groot
9d324bcccd users: adapt to Qt6 2023-09-05 23:54:36 +02:00
Adriaan de Groot
680d4f8dc2 preservefiles: adapt to Qt6 2023-09-05 23:54:36 +02:00
Adriaan de Groot
2eff5f74a5 plasmalnf: not compatible with Qt6 2023-09-05 23:54:36 +02:00
Adriaan de Groot
d7df1a8eca packagechooser: Adapt to Qt6
While here, deal with the WITH_ -> BUILD_ change of options.
2023-09-05 23:54:36 +02:00
Adriaan de Groot
7b36dfb351
Merge pull request #2196 from AsahiLinux/keyboard-init-order
keyboard: Do the autodetection stuff after setConfigurationMap
2023-09-05 15:54:15 +02:00
Adriaan de Groot
1ca6b27afe
Merge pull request #2195 from AsahiLinux/wayland-hidpi
Make HiDPI SVG rendering work on Wayland
2023-09-05 15:53:53 +02:00
Adriaan de Groot
07e7757c31 oemid: adjust to Qt6 2023-09-05 15:36:09 +02:00
Adriaan de Groot
f56250624f netinstall: adjust to Qt6 2023-09-05 15:34:04 +02:00
Adriaan de Groot
e781e4eb5f license: adapt to Qt6 2023-09-05 15:24:02 +02:00
Adriaan de Groot
427311f2c3 keyboard: port to QRegularExpression 2023-09-05 15:18:02 +02:00
Adriaan de Groot
22bd80daac hostinfo: adjust to Qt6 2023-09-05 00:05:57 +02:00
Adriaan de Groot
1b5206cb90 locale: adjust to Qt6 2023-09-05 00:05:57 +02:00
Adriaan de Groot
93e9990df8 keyboard: adapt to Qt6 2023-09-05 00:05:46 +02:00
Adriaan de Groot
6ffafe1c45 interactiveterminal: consider this KF5-only for now
It seems unlikely that a KF6-based terminal part from konsole
becomes available any time soon, so don't bother.
2023-09-05 00:05:46 +02:00
Adriaan de Groot
5f8b6ed437 dummycpp: adapt to Qt6
- since HashVariantType has more than one consumer, move it to header
2023-09-05 00:05:46 +02:00
Adriaan de Groot
e07b6c90d3 contextualprocess: adapt to Qt6 2023-09-05 00:05:46 +02:00
Adriaan de Groot
ca9006a1bc i18n: move translation helper-function to CMakeModules 2023-09-04 22:44:08 +02:00
Adriaan de Groot
8a8860e75c Qt6: resolve TODOs against missing KF6
- On FreeBSD, no KF6 was available
- On KDE Neon Unstable, there are somewhat wonky KF6 packages available
- Adjust CMake to find the KDE Neon versions, then fix the C++ code
2023-09-04 21:51:03 +02:00
Hector Martin
1ca3ce7145 keyboard: Do the autodetection stuff after setConfigurationMap
Since we now rely on the layout1 mode being set from the config, we need
to defer the initial keymap detection until after that's initialized.

Signed-off-by: Hector Martin <marcan@marcan.st>
2023-09-04 17:11:46 +09:00
Hector Martin
15027f40b2 Make HiDPI SVG rendering work on Wayland
Branding SVGs were rendering at 1x on Wayland and then scaling up to the
display DPI, which looks ugly. To get this to work properly we need to
explicitly multiply the devicePixelRatio into the dimensions that
QPixmaps render at, since QPixmap is DPI-unaware.

This probably only takes care of a subset of the problem codepaths, but
at least it makes the sidebar logo and welcome screen work properly.

Signed-off-by: Hector Martin <marcan@marcan.st>
2023-09-04 14:35:14 +09:00
Adriaan de Groot
4b3278058b libcalamares: repair test
The calamaresstyle tool reformatted a bunch of R-strings,
leading to test failures. Mark them with INDENT-OFF so
astyle doesn't break them again.
2023-09-03 23:16:54 +02:00
Adriaan de Groot
8f836969eb Merge branch 'work/qt6' into calamares 2023-09-03 23:04:12 +02:00
Adriaan de Groot
95aa8d8127 libcalamares: update maintainer and sponsor 2023-09-03 23:02:47 +02:00
Adriaan de Groot
246d3f243d branding: update silly fake distro to 2023 2023-09-03 23:02:47 +02:00
Adriaan de Groot
30a8b337e1 finished: enable Qt6 build 2023-09-03 23:02:47 +02:00
Adriaan de Groot
c5929e30d1 welcome: enable Qt6 build
- Adjust for QVariant changes
- Fix tests, no more conversion available from QFile to QFileInfo
2023-09-03 23:02:09 +02:00
Adriaan de Groot
2ffcfb3ddd calamares: adapt UI-parts to Qt6 2023-09-03 23:02:09 +02:00
Adriaan de Groot
e1b20fe0a9 calamares: ignore about data (KF5) and highdpi
The application attribute for HighDPI is gone in Qt6.
2023-09-03 23:02:09 +02:00
Adriaan de Groot
8ea7c578b3 libcalamaresui: deal with QMessageBox::question 2023-09-03 23:02:09 +02:00
Adriaan de Groot
159eccbda0 libcalamaresui: enable build for Qt6
Compatibility code for mutex and variant is already in place.
2023-09-03 23:02:09 +02:00
Adriaan de Groot
bc9d5aae58 libcalamares: repair locale tests for Qt6 compatibility 2023-09-03 23:02:09 +02:00
Adriaan de Groot
49d449c211 i18n: enable Qt6 build of lang/ and libcalamares translations 2023-09-03 23:00:13 +02:00
Adriaan de Groot
ad8c87e5d3 libcalamares: repair tests for Qt6 compatibility 2023-09-03 23:00:13 +02:00
Adriaan de Groot
25250179da libcalamares: handle variants in Python
The Python helpers need a couple of obscure QVariants,
do not add them to the "global" list of compatible variant types.
2023-09-03 23:00:13 +02:00