Commit Graph

8323 Commits

Author SHA1 Message Date
Adriaan de Groot
10acebff46 [displaymanager] repair tests by removing extra / 2024-03-03 23:11:55 +01:00
Adriaan de Groot
1ca9c7516b [displaymanager] Use (optional) configuration value
FIXES #1757
2024-03-03 21:16:21 +01:00
Adriaan de Groot
25ab3f7f03 [displaymanager] Add SDDM config-file setting 2024-03-03 21:12:37 +01:00
Adriaan de Groot
012138c1f2 [libcalamares] Start with 3.5 TODOs, improve naming 2024-03-03 21:01:01 +01:00
dalto
9992cf2507 [calamares] Fir preprocessor directives 2024-03-02 15:04:44 -06:00
dalto
7fd9d48a20 [calamares] Add python integration type and build type to log 2024-03-02 14:52:16 -06:00
dalto
74ccb4d28b [calamares] Add Qt version to debug log 2024-03-02 14:21:58 -06:00
Adriaan de Groot
098bbd520e [calamares] do not treat strings as lists
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.
2024-02-29 00:35:12 +01:00
Adriaan de Groot
49afa16b1c [calamares] factor out variant-type-checking in debug window 2024-02-29 00:33:08 +01:00
Adriaan de Groot
5568d22549 [networkcfg] fix python crash
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
2024-02-27 22:16:14 +01:00
Adriaan de Groot
91454a71d0 [calamares] missing include
Include for getpid() is needed on FreeBSD.
2024-02-27 00:52:21 +01:00
Adriaan de Groot
c4e0456acc [locale] avoid crash when there are no good locales
If the running locale doesn't match any locale in the list,
nothing is selected. Avoid a crash when referring to
first() of an empty list.
2024-02-27 00:28:36 +01:00
Adriaan de Groot
9925d6666f [calamares] Improve "crash self" functionality
Instead of UB, use POSIX signals and terminate the Calamares
process with a recognizable signal number (TRAP, which is
highly unusual).
2024-02-27 00:08:41 +01:00
Adriaan de Groot
2555b5baf4 [calamares] avoid double-quit message
In Qt5, QApplication::quit() was sufficient.
In Qt6, QApplication::quit() sends close events to top-level
windows, so we get a duplicate prompt for quit.

See https://blog.broulik.de/2023/11/on-the-road-to-plasma-6-vol-4/
2024-02-27 00:02:03 +01:00
Adriaan de Groot
f57ee158b7 Merge branch 'issue-2212' into calamares 2024-02-26 22:38:28 +01:00
Adriaan de Groot
028e9e68f9 [libcalamares] Add ${LANG} to process expansions 2024-02-26 22:37:20 +01:00
Adriaan de Groot
0f2bceb72f Docs: process jobmodules now expand variables 2024-02-26 21:58:40 +01:00
Adriaan de Groot
ab3612d18d [partition] tidy up constructor - use initializer-list 2024-02-26 21:39:37 +01:00
Victor Fuentes
01cbe07641
Make default partition entry have partNoEncrypt be false 2024-02-26 01:55:26 -05:00
Adriaan de Groot
2697c35fc7 [libcalamares] Run ProcessJobs with CommandLine
This makes the behavior of process jobs and shellcommands the same.
2024-02-25 23:22:19 +01:00
Adriaan de Groot
4329b824d4 [libcalamares] Test command-expansion with environment 2024-02-25 23:22:19 +01:00
Adriaan de Groot
0ced01ddc3 [libcalamares] Test environment-setting for CommandLine 2024-02-25 23:22:19 +01:00
Adriaan de Groot
d5555eba32 [libcalamares] Add environment-setting to CommandLine
This class is shared -- used by shellprocess and contextualprocess --
to collect the command settings for a single shell invocation.
2024-02-25 23:22:19 +01:00
Adriaan de Groot
6770f781e3 [libcalamares] Tests for new CommandLine constructors 2024-02-25 23:22:19 +01:00
Adriaan de Groot
ae3e609024 [libcalamares] Get default timeout from CommandList 2024-02-25 23:22:19 +01:00
Adriaan de Groot
4aa2c4988c [libcalamares] Replace factory method with constructor 2024-02-25 23:22:19 +01:00
Adriaan de Groot
0d9d2ac59a [libcalamares] Extend CommandLine
- 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
2024-02-25 23:22:19 +01:00
Adriaan de Groot
15c514326c [shellprocess] Improve config docs 2024-02-25 23:22:19 +01:00
Adriaan de Groot
b795fd82bb [contextualprocess] Improve config docs 2024-02-25 23:22:19 +01:00
Adriaan de Groot
dc91255ff5 Changes: document process changes
FIXES #2212
2024-02-25 23:22:19 +01:00
Adriaan de Groot
7379e7f28d
Merge pull request #2288 from calamares/issue-2145
[packages] Add a DNF5 PM backend
2024-02-25 20:24:23 +01:00
Adriaan de Groot
633d6bda0d [libcalamaresui] Be more careful about which bindings are in use 2024-02-24 21:47:24 +01:00
Adriaan de Groot
dbddeaba68 CMake: be more noisy about python technologies
- log enabled and disabled features
- enabled python gets logged twice, that's fine
2024-02-24 21:27:45 +01:00
Adriaan de Groot
809d6cdda0 CMake: do not put PYBIND11 on the command-line
This is already stored in CalamaresConfig.hfor ABI purposes.
2024-02-24 18:54:33 +01:00
Adriaan de Groot
be5ce2e60f [libcalamares] repair boost / pybind split
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.
2024-02-24 13:27:44 +01:00
Adriaan de Groot
34888edae1 [libcalamares] repair visibility also for Boost::Python modules 2024-02-24 12:45:20 +01:00
Adriaan de Groot
7a3bff5117 [libcalamares] repair visibility also for Boost::Python modules 2024-02-24 12:28:36 +01:00
demmm
283c1f92bb [welcomeq] add Markdown example
use the release_notes.qml example, move from Richtext to Markdown
2024-02-23 17:09:56 +01:00
Adriaan de Groot
903fed07a9 [partition] Modernize signal-slot connection 2024-02-22 20:43:05 +01:00
Adriaan de Groot
9d1fec3668 [partition] Use a "real" slot for UniqueConnection 2024-02-22 20:37:01 +01:00
Adriaan de Groot
c69e229be0 [calamares] Use a "real" slot for UniqueConnection
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.
2024-02-22 20:26:56 +01:00
demmm
281f4c64bc [plasmalnf] CMake correction
libplasma is not required, if not found just skip the module, like in kf5
2024-02-22 11:50:02 +01:00
Adriaan de Groot
8a5876410e [packages] Add a DNF5 PM backend
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)
2024-02-20 13:54:45 +01:00
demmm
b2ef6f9a28 [interactivetermianl] enable konsole for Qt6 builds too
4 lines of code duplicated to avoid even more ifdefs
2024-02-20 13:32:33 +01:00
Adriaan de Groot
54265f87b1 [libcalamaresui] Make symbols visible as needed 2024-02-20 12:07:57 +01:00
Adriaan de Groot
dc39791766 [libcalamares] Default symbols to hidden 2024-02-20 11:23:12 +01:00
Adriaan de Groot
ecf55cb65b
Merge pull request #2286 from demmm/calamares
[plasmalnf] enabled Plasma 6 build
2024-02-20 11:00:00 +01:00
Adriaan de Groot
a6591fcaf3 [libcalamares] Make symbols visible as needed 2024-02-20 00:44:48 +01:00
Adriaan de Groot
84b0262f31 [libcalamares] Default symbols to hidden
This restores the purpose of DLLEXPORT and helps keep the ABI
small-and-stable.
2024-02-19 23:23:03 +01:00
Adriaan de Groot
54250887e1 [locale] Adapt to changed RegionZonePair
- add method that takes a pair directly
- don't act like a pair is a std::pair
2024-02-19 23:04:37 +01:00
Adriaan de Groot
c09953e15e [libcalamares] Adapt tests to changed RegionZonePair
Don't access the pair like it is a std::pair
2024-02-19 23:04:37 +01:00
Adriaan de Groot
d131f51468 [libcalamares] don't inherit RegionZonePair from std::pair
There is no reason to stick with std::pair, make this
a regular value type with accessors with meaningful names.
2024-02-19 23:04:37 +01:00
Adriaan de Groot
5a1428154c [libcalamares] don't inherit CommandLine from std::pair
There's no reason not to write out the two data fields,
and we do not use anything else that std::pair offers.
2024-02-19 23:04:22 +01:00
Adriaan de Groot
0c9b3b2f16 [libcalamares] don't inherit InstanceKey from std::pair
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.
2024-02-19 22:18:17 +01:00
Adriaan de Groot
c945cca93a [libcalamares] untangle GeoIP implementation details
Some implementation details should just be compiled
multiple times, rather than wrestling with visibility.
2024-02-19 21:40:10 +01:00
Adriaan de Groot
1444d9d73a [libcalamares] Repair misleading comment
The class used to be a `using Descriptor =` but that was changed without
updating the comment. Make it class documentation.
2024-02-19 19:22:08 +01:00
demmm
61126b424b [plasmalnf] enabled Plasma 6 build
plasma-framework has been renamed to libplasma and moved away from frameworks
now part of plasma (6 only)
2024-02-19 19:11:55 +01:00
Adriaan de Groot
38d78404b1 [locale*] Modernize setting compile definitions 2024-02-19 00:13:26 +01:00
Adriaan de Groot
a5dbe793d9 [packagechooser*] Modernize linking with dependencies 2024-02-19 00:06:45 +01:00
Adriaan de Groot
cefb437324 [libcalamares] Improve CMake bits
- use modern CMake commands, target-based
- make DLLEXPORT_PRO local to the build of libcalamares
- improve locality of includes
2024-02-18 23:19:43 +01:00
Adriaan de Groot
4eba859236 [libcalamares] Simplify symbol-visibility
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.
2024-02-18 23:10:35 +01:00
Adriaan de Groot
d7bbfd055c Merge branch 'issue-2283' into calamares 2024-02-18 22:45:29 +01:00
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