Commit Graph

8266 Commits

Author SHA1 Message Date
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