Commit Graph

8978 Commits

Author SHA1 Message Date
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
Philip Mueller
fd10a4a4a2 Merge branch 'calamares' of https://github.com/calamares/calamares into development 2023-10-13 10:39:10 +07: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
Philip Mueller
b272011b21 Merge branch 'calamares' of https://github.com/calamares/calamares into development 2023-09-11 07:22:30 +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
Adriaan de Groot
cdb2eb8b9a libcalamares: deal with KF5 macro expansion
Since KF5 is not looked-for in the Qt6 build, mock up
a useless macro-expander in its place.
2023-09-03 23:00:13 +02:00
Adriaan de Groot
e0b820abbc libcalamares: deal with QtConcurrent::run
In Qt5, you pass the pointer-to-object for a member-function-call
first, and in Qt6, as a regular parameter.
2023-09-03 22:58:49 +02:00
Adriaan de Groot
fe8939e745 libcalamares: deal with QRegExp 2023-09-03 22:58:49 +02:00
Adriaan de Groot
99d012c5ce libcalamares: deal with QVariant
Compatibility header required, and logging was missing
a (transitively included in Qt5) include for QVariant.
2023-09-03 22:58:44 +02:00
Adriaan de Groot
27329a497a libcalamares: deal with QMutexLocker
- Add a compat/ directory with support for Calamares-named
  variations of Qt classes where there are relevant differences
  between Qt5 and Qt6
2023-09-03 22:58:33 +02:00
Adriaan de Groot
50f2a6ad4a libcalamares: deal with QPair
Use std::pair instead. Also applies to Qt5 build.
2023-09-03 22:53:43 +02:00
Adriaan de Groot
179796d598 CMake: can't mix KF5 and Qt6
This will fail to build because we require KDE Frameworks
CoreAddons, but I don't have one just now.
2023-09-03 22:53:43 +02:00
Adriaan de Groot
b905afb169 CMake: restrict Qt6 build
- build **only** libcalamares
- switch the finding and linking of Qt modules to use qtname
2023-09-03 22:53:43 +02:00
Adriaan de Groot
5ff9fcd59a libcalamares: prevent astyle from reformatting string 2023-09-03 22:53:30 +02:00
Adriaan de Groot
e6ce29ed33
Merge pull request #2194 from AsahiLinux/passwd-fix
[users] Use usermod to disable passwords
2023-09-03 21:19:01 +02:00
Adriaan de Groot
4b87d094fb initcpiocfg: repair test
Empty example config files break tests; there should be at
least a single key in there (for instance, *bogus*, but
setting a flag to the default value is also acceptable)
2023-09-03 21:15:44 +02:00
Hector Martin
a377df2e65 [users] Use usermod to disable passwords
On Fedora 38 (and probably others), this step fails with:

passwd -dl root
passwd: Only one of -l, -u, -d, -S may be specified.

Use usermod to wipe and disable the root password instead, which should
work properly. We use '!' (opinions seem to differ on how to mark
disabled/unused accounts, but all of '*' '!' '!!' should have the same
effect in practice).

Signed-off-by: Hector Martin <marcan@marcan.st>
2023-09-03 19:58:13 +09:00
dalto
7fa8fa680c [initcpiocfg] Make using systemd hook optional 2023-09-02 10:01:05 -05:00
Hector Martin
7806d264ab [keyboard] Fix locale1 support for alternate layouts
Copy&paste error caused setting the layout to fail for non-ASCII layouts
with an alternate layout/variant.

Fixes: 812d86130 (\"[keyboard] Add support for setting the layout via locale1\")
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-09-02 22:15:45 +09:00
Adriaan de Groot
6733815269 keyboard: prefer to clean up lists only once 2023-08-29 14:59:13 +02:00
Adriaan de Groot
b85fcff990 keyboard: removeEmpty doesn't need to be a method 2023-08-29 14:55:54 +02:00
Adriaan de Groot
55a2d71e3e
Merge pull request #2136 from ivan1986/fix-non-ascii-keyboard
Write layout information for non-ASCII keyboard to X11 and console settnigs.

FIXES #2135
2023-08-29 14:48:12 +02:00
Adriaan de Groot
3fc8febeea keyboard: require QtDBus at top-level, tidy includes 2023-08-29 14:37:01 +02:00
Adriaan de Groot
7157ed3854 keyboard: add new keys to schema
The stated schema-default for useLocale1 is not entirely correct,
since the code checks for X11 vs. Wayland to determine what the
default should be.
2023-08-29 14:33:21 +02:00
Adriaan de Groot
8d61345cd6
Merge pull request #2180 from AsahiLinux/keyboard-locale1
keyboard: Add locale1 support & option to keep defaults
2023-08-29 11:41:37 +02:00
Adriaan de Groot
8e19d6080d mount: use False as default for "claimed"
The regular tests would fail, because the sample global
configuration does not set the "claimed" value of a partition.
2023-08-28 22:54:22 +02:00
Adriaan de Groot
72bad83022 luksbootkeyfile: support explicit 'default' setting 2023-08-28 22:45:56 +02:00
Adriaan de Groot
3757fcf0bf libcalamares: drop useless variable 2023-08-28 22:33:56 +02:00
Adriaan de Groot
dc666d29b8 libcalamares: suppress unused-variable warning 2023-08-28 22:33:00 +02:00
dalto8
f804965a8d
Merge pull request #2183 from Boria138/initcpiocfg
Updated the initcpiocfg module
2023-08-27 20:54:37 +00:00
dalto8
0ddffad57c
Merge pull request #2187 from bkmo/bkmo
Update LuksBootKeyFileJob.cpp to check for unencrypted boot with encrypted root
2023-08-26 19:40:45 +00:00
dalto
b5e0ebe4c9 [luksBootKeyFile] Remove unused function hasEncryptedRoot() 2023-08-26 14:15:18 -05:00
dalto
3552691e57 [grubcfg] Add rd.luks.key for systemd-encrypt hook 2023-08-26 11:22:41 -05:00
dalto
d12e40bc34 [initcpiocfg] Fix encryption hook not being added with encrypted /boot 2023-08-26 09:55:45 -05:00
Brian Morison
ab8159a77f
Update LuksBootKeyFileJob.cpp 2023-08-20 13:28:06 -06:00
Brian Morison
f0fb39edd8
Update LuksBootKeyFileJob.cpp 2023-08-20 13:07:58 -06:00
dalto8
0eb431dd2b
Merge pull request #2181 from AsahiLinux/hello-im-a-mac
[users] Handle Device Tree platforms (e.g. Apple Silicon) for guessing the product name
2023-08-20 17:02:17 +00:00
dalto
a9547af8e2 [initcpiocfg,grubcfg,bootloader] Minor code improvements 2023-08-20 10:39:36 -05:00
Boria138
b97a5d535c Fixed a stupid typo 2023-08-19 23:08:44 +06:00
Boria138
950e9d1d0a Added setfont check in mkinitcpiocfg 2023-08-19 21:00:25 +06:00
Boria138
9f8b848631 uses_sd-encrypt was changed to uses_sd_encrypt to make it a valid variable name 2023-08-19 15:29:49 +06:00
Boria138
c0396cf28b Deleted quot 2023-08-19 14:26:36 +06:00
Boria138
bf7f5c6032 Fixed initcpiocfg 2023-08-19 12:52:35 +06:00
Boria138
7d6a04d3a8 Added the necessary edits 2023-08-17 21:14:47 +06:00
Boria138
543de65f33 Added rd.luks.name to grubcfg 2023-08-17 13:04:24 +06:00
Boria138
5769c9c6da Fixes https://github.com/calamares/calamares/issues/2182 2023-08-17 12:44:13 +06:00
Boria138
438e0c6575 Updated the initcpiocfg module
Added systemd (I took the code from CachyOS and modified it a bit)
Fixed the error "setfont: KDFONTOP: Function not implemented"
2023-08-17 11:13:19 +06:00
dalto8
3bec262d2d
Merge pull request #2176 from nintyfan/WIP/Packaging-Flatpak-2
Wip/packaging flatpak 2
2023-08-12 15:00:12 +00:00
Hector Martin
a899f76da2 [users] Clean up DMI model more for hostname
Remove anything in parentheses, and also drop the "Apple" prefix for
Apple machines. This converts:

"Apple MacBook Air (13-inch, M2, 2022)"

into:

"MacBookAir"

which is a lot more reasonable.

Other vendors could be added as needed (it's inconsistent whether DT
platforms prefix the model with the vendor or not).

Signed-off-by: Hector Martin <marcan@marcan.st>
2023-08-12 22:48:26 +09:00
Hector Martin
17e1027ea2 [users] Read product from the device tree on DT platforms
Non-DMI platforms may have a device tree instead (e.g. many embedded
devices, Apple Silicon Macs). If we find a model string in the DT, use
that as a fallback when DMI is not available.

Signed-off-by: Hector Martin <marcan@marcan.st>
2023-08-12 22:48:26 +09:00
Hector Martin
8be65003ce [keyboard] Use the current keyboard model as the default
If there is a valid keyboard model set in the system already, keep it.
This allows distributors to preconfigure the correct model if known.

Signed-off-by: Hector Martin <marcan@marcan.st>
2023-08-12 22:09:31 +09:00
Hector Martin
6678d95a5d [keyboard] Add an option to disable layout guessing
If the system has already pre-configured a sensible keyboard layout, we
do not need to guess based on the locale. Add a config option to keep
the existing keyboard layout as the default. This should work on both
XKB/X11 and locale1 modes.

Signed-off-by: Hector Martin <marcan@marcan.st>
2023-08-12 21:42:54 +09:00
Hector Martin
9e81d7cf21 [keyboard] Do not update configs in locale1 mode when root is /
If Calamares is running with no root path and we are using locale1 to
manage the keyboard configs, then the service has already updated the
X11 and VConsole keymap configs for us. In that case, we should not
touch the config files ourselves.

Signed-off-by: Hector Martin <marcan@marcan.st>
2023-08-12 21:42:32 +09:00
Hector Martin
25bb41f549 [keyboard] Add support for getting the layout via locale1
Getter counterpart to the previous commit, to support using locale1 to
fetch the current keyboard config.

Signed-off-by: Hector Martin <marcan@marcan.st>
2023-08-12 21:42:32 +09:00
Hector Martin
812d861307 [keyboard] Add support for setting the layout via locale1
setxkbmap only works on X11/XWayland, and even on XWayland does not
correctly change the Wayland keyboard layout.

The "modern" way to control the system keyboard layout is via the
locale1 DBus interface (or the localectl frontend). On compositors like
KWin, this will update the keyboard layout on the fly, which is what we
want.

Implement support for setting the layout/model configs using locale1.
This is enabled by default when Calamares runs under Wayland, and can be
controlled via a config setting.

Signed-off-by: Hector Martin <marcan@marcan.st>
2023-08-12 21:18:05 +09:00
dalto8
44da0b24e5
Merge pull request #2161 from abalfoort/showbootmsg
partitioning: Show/hide "Boot partition not encrypted" warning
2023-08-05 14:05:32 +00:00
Sławomir Lach
ab7b78e9ce Newer flatpak will remove unused, so do not instruct for do that 2023-08-05 15:55:00 +02:00
Sławomir Lach
79085b5e80 - Uninstalling flatpak is possible (repair bad command) 2023-08-03 19:08:55 +02:00
Sławomir Lach
ec30fe1b61 - Force flatpak do not asks questions 2023-08-02 17:42:11 +02:00
Sławomir Lach
3666e3af7b Revert "Made possible to select flatpaks to install (fill list of netinstall)"
This reverts commit cc90dcf556.
2023-08-02 10:28:50 -04:00
Sławomir Lach
cc90dcf556 Made possible to select flatpaks to install (fill list of netinstall) 2023-08-01 08:30:05 -04:00
Sławomir Lach
d77215c227 - Made installing of flatpaks possible 2023-08-01 08:28:48 -04:00
Ivan Borzenkov
8ca841d08e refactor after review - use QStringList 2023-07-08 19:19:38 +03:00
Ivan Borzenkov
2d0940e555 fix non ascii keyboard 2023-07-08 18:41:05 +03:00
Ficelloo
39e2b527eb
Update PartUtils.cpp 2023-07-06 21:05:51 +02:00
Ficelloo
cb7258249d
Fixing partutils.cpp 2023-07-06 19:16:37 +02:00
Adriaan de Groot
e7161443d6 partition: simplify Arm code
- introduce a helper function for accessing the globalstorage value
- add consts and calculate the initial gap in a single expression
2023-06-25 22:21:01 +02:00
Adriaan de Groot
baf580f0ac partition: apply layout 2023-06-25 22:15:56 +02:00
Adriaan de Groot
e78f8840ea Merge branch 'calamares' of github.com:calamares/calamares into calamares 2023-06-25 22:05:28 +02:00
Adriaan de Groot
f00fa429bf
Merge pull request #2142 from Rippanda12/armInstall
partition: Add armInstall
2023-06-25 22:05:10 +02:00
abalfoort
48fd148b8a Handle show warning in function 2023-06-25 10:53:19 +02:00
abalfoort
240f18e5bd Show/hide "Boot partition not encrypted" warning 2023-06-23 15:56:02 +02:00
Philip Mueller
d6471d93e2 [branding] update background 2023-06-16 15:20:09 +02:00
Philip Mueller
100f408dae Merge branch 'calamares' of https://github.com/calamares/calamares into development 2023-06-15 20:05:16 +02:00
ABalfoort
20b4cefedb
Merge branch 'calamares:calamares' into luksbootkeyfile 2023-06-13 08:49:54 +02:00
Philip Mueller
9ef9e9b7fa [branding] adopt the enum names as keys 2023-06-03 18:36:35 +02:00
Philip Mueller
e99d0bc081 Revert "[branding] adopt the enum names as keys"
This reverts commit 73e4c46756.
2023-06-03 18:35:48 +02:00
Philip Mueller
73e4c46756 [branding] adopt the enum names as keys 2023-06-03 18:22:02 +02:00
abalfoort
33aeabd617 Implement requested changes 2023-05-31 18:25:16 +02:00
abalfoort
1963dd3412 Optional luks2Hash with enum 2023-05-31 18:23:00 +02:00
abalfoort
c4496ef86b Add configurable variable m_luks2Hash 2023-05-31 14:43:39 +02:00
abalfoort
1e2a51f952 Remove NO_CONFIG 2023-05-31 14:42:39 +02:00
abalfoort
06d6f217b5 Added luksbootkeyfile.conf/yaml 2023-05-31 14:42:18 +02:00
dalto8
63c3f68619
Merge pull request #2141 from Rippanda12/calamares
Initcipiocfg fix for non x86 cpus
2023-05-27 13:24:11 +00:00
Philip Müller
b419ce34ca [displaymanager] add plasma-mobile support 2023-05-26 13:20:39 +02:00