Commit Graph

3920 Commits

Author SHA1 Message Date
Adriaan de Groot
cdb613bf02 [libcalamares] Move module-related things into subdirectory
- Currently just moves a single enum, but this is prep-work for
   moving the non-GUI parts of the module system into libcalamares,
   to better support GUI-less operation.
2019-05-07 07:48:40 -04:00
Adriaan de Groot
761205ecf7 [libcalamares] Tidy some bits
- Explain what the library is for (briefly) in the CMakeLists
 - Settings should use the right export macro
2019-05-07 07:02:55 -04:00
Adriaan de Groot
169159f888 [libcalamaresui] Switch to enum classes for Type, Interface
- Somewhat gratuitous change, but brings more enums into modern style.
2019-05-07 06:33:31 -04:00
Adriaan de Groot
6b89ac8461 [libcalamaresui] Remove TODO
- I don't know what this would mean, so it's not a TODO any more.
2019-05-07 06:26:43 -04:00
Kevin Kofler
a01d4707e1 [partition] Do not unmount /dev/mapper/live-* in ClearMountsJob
src/modules/partition/jobs/ClearMountsJob.cpp
(ClearMountsJob::getCryptoDevices): Skip not only `/dev/mapper/control`,
but also `/dev/mapper/live-*`. Fedora live images use
`/dev/mapper/live-*` internally. We must not unmount those devices,
because they are used by the live image and because we need
`/dev/mapper/live-base` in the `unpackfs` module.
2019-05-06 15:08:10 +02:00
Kevin Kofler
71d991e2e4 [unpackfs] Do not use -o loop on a device
src/modules/unpackfs/main.py (UnpackOperation.mount_image): Check
whether entry.source is a regular file or a device and only use
`-o loop` on regular files, not devices.

At least on Fedora >= 29, `-o loop` fails on the read-only device
`/dev/mapper/live-base` (though `-o loop,ro` would be accepted).
2019-05-06 15:04:58 +02:00
Kevin Kofler
02c7fe8345 [umount]: Fix default srcLog in umount.conf
Also fix the introductory comment, which also contained the old
location.
2019-05-06 15:01:30 +02:00
Adriaan de Groot
f7494864be [calamares] Tidying after fixing fit-text-in-sidepane
- Simplify delegate: unused m_parent, tidy up inheritance, then drop
   unnecessary custom constructor and extra Q_OBJECT macro.
 - Drop some unnecessary included headers
 - Drop single-use #define. APP was used in only one place; remove it
   (that would be stylistically correct, anyway).
 - Update copyright headers
 - Document new label-handling
2019-05-06 14:30:53 +02:00
Adriaan de Groot
dc8cfd2fce [calamares] Fit text into sidepane
- Shrink the font in an attempt to fit into the box,
   but only up to 4pt smaller; after that just clip on one line.
2019-05-06 14:14:20 +02:00
Adriaan de Groot
0f30acc13f [calamares] Fix off-center text in sidepane
- The text rectangle was **moved**, not shrunk-in-place. Add
   the missing - sign for the right and bottom margin.
 - While here, move from #define to constexpr.
2019-05-06 13:45:08 +02:00
Adriaan de Groot
fdc2cff65a [calamares] Keep text on a single line
- In the sidepane, don't wrap long texts
2019-05-06 13:36:27 +02:00
Adriaan de Groot
44107d6c33 [finished] Actually read the new-style config value 2019-05-06 12:23:10 +02:00
Adriaan de Groot
f3c86810a1 [finished] More (display) modes for restarting
- Use a named enum instead of a collection of booleans
 - Support old-style configuration but complain about it
 - Update AppImage config as well

The new setup allows four different restart modes: never,
always, user-unchecked and user-checked. The user-modes
are interactive and give the user a choice (defaulting to
unchecked-don't-restart and checked-do-restart respectively).
The non-interactive versions vary in how they are
displayed.
2019-05-06 10:35:09 +02:00
Adriaan de Groot
e281a74552 [finished] Fix up include guards and include style 2019-05-06 10:04:28 +02:00
Adriaan de Groot
d6c7e53966 [finished] Warnings should be logged as such 2019-05-06 09:57:19 +02:00
Adriaan de Groot
ef4196dbd8 [finished] Simplify configuration code 2019-05-06 09:57:19 +02:00
Adriaan de Groot
5f01a8ccc5 [oemid] If the configuration is broken, complain loudly
- Adds an InvalidConfiguration value for internal errors

SEE #1136
2019-05-03 09:01:19 -04:00
Adriaan de Groot
e0a79f4c0f [partition] Reduce scope for nullptr dereference
- document what types are in use
 - avoid at least one nullptr deref
2019-05-03 08:47:34 -04:00
Adriaan de Groot
dd33848975 [oemid] Tweak layout some more 2019-04-30 14:47:46 +02:00
Adriaan de Groot
6b137d6fd2 CMake: don't reset project() in a subdir 2019-04-30 13:43:57 +02:00
Adriaan de Groot
a01262a535 CMake: massage dependency-finding
- If KPMCore is not found, don't require the KF5 components
   that it would depend on.
 - If ECM is found, use KDEInstallDirs always, not just when
   the partitioning module is used.
2019-04-30 13:38:46 +02:00
Adriaan de Groot
2620829515 [webview] Make optional based on presence of dependencies 2019-04-30 13:12:16 +02:00
Adriaan de Groot
ea95913be9 [oemid] Expand documentation a little. 2019-04-29 11:25:34 -04:00
Adriaan de Groot
127c425a9a [oemid] Write batch-identifier into standard file location 2019-04-29 11:22:53 -04:00
Adriaan de Groot
2b12bd82e4 [oemid] Stub of a Job
- Create job, run it, and just debug-log what it should do.
2019-04-29 10:41:33 -04:00
Adriaan de Groot
1df726fc1d [oemid] Add summary widget text 2019-04-29 10:37:32 -04:00
Adriaan de Groot
672634547b [oemid] Tweak UI layout 2019-04-29 10:19:28 -04:00
Adriaan de Groot
e510c829e1 [oemid] Add form explanation 2019-04-29 10:16:59 -04:00
Adriaan de Groot
ae85381aae [oemid] Initial version of UI 2019-04-29 09:40:13 -04:00
Adriaan de Groot
96828c1df0 [oemid] Handle substitution in config-string 2019-04-29 09:03:10 -04:00
Adriaan de Groot
7d8b122835 [oemid] New module, stub
- OEMID is a module for configuring phase-0 things for an OEM,
   like batch-ID. This is just a stub.
 - Currently planned functionality is limited to just batch-ID.
2019-04-29 08:49:53 -04:00
Adriaan de Groot
8d0f076591 [libcalamares] Rename CalamaresUtils -> String
- The only remaining functions in the file are string-related, so
   rename to match their purpose.
 - Drop this include file from most places, since they don't actually
   use the string functionality at all.
2019-04-29 06:49:16 -04:00
Adriaan de Groot
eaba696173 [libcalamares] Move the crash() function to the one place it's used 2019-04-29 06:49:16 -04:00
Adriaan de Groot
66c4445077 [libcalamares] Move translation-related functions to Retranslator.h 2019-04-29 06:49:16 -04:00
Adriaan de Groot
ac095d9ed0 [libcalamares] [libcalamaresui] [calamares] Adjust to moved Dirs.h 2019-04-29 06:49:16 -04:00
Adriaan de Groot
50694ef610 [libcalamares] Split dirs-functionality into separate file 2019-04-29 06:49:16 -04:00
Adriaan de Groot
2907b48844 [libcalamaresui] Move RESPATH #define to the one place it's used 2019-04-29 06:14:21 -04:00
Adriaan de Groot
432b8848ab [libcalamares] Make #include guards consistent 2019-04-29 06:14:21 -04:00
Adriaan de Groot
f076dd76ad [libcalamares] Rename YamlUtils.h
- Since we have the utils/ filesystem namespace, and use CalamaresUtils::
   as C++ namespace, simplify naming.
2019-04-29 06:14:21 -04:00
Adriaan de Groot
090aee9196 Modules: adjust to split-out utils/Variant.h
- Most modules only needed the variant support, not the "whole"
   CalamaresUtils header.
 - While here improve ordering of headers as well.
2019-04-29 06:14:21 -04:00
Adriaan de Groot
6e0e06078b [libcalamares] Split out the variant-manipulation bits
- We already have utils/ as the filesystem namespace, may as well
   make clearer what the various parts are.
 - Adjust CommandList to the moved API.
2019-04-29 06:14:21 -04:00
Adriaan de Groot
3e011d1419 [libcalamares] Don't link with PythonQt
- PythonQt is only needed (and used) from the GUI library.
2019-04-29 04:36:32 -04:00
Adriaan de Groot
d2dd4fd76b Modules: Improve error reporting
- Remaining modules [networkcfg] [openrcdmcryptcfg] [rawfs] with
   code that throws on bad configuration. Replace with meaningful
   error messages, to better check cases of SyntaxError &c.
2019-04-28 14:43:39 -04:00
Adriaan de Groot
7d0874e23b [mount] Bail on bad config
- One might argue whether an empty list of partitions to mount is
   a bad thing. It suggests that the partition module wasn't used,
   and so we're in an OEM situation -- but then everything should
   already be mounted anyway. That's why I choose empty -> bail.
2019-04-28 14:36:56 -04:00
Adriaan de Groot
ec0fe2ccd3 Modules: Improve error reporting
- [initcpio] remove superfluous inner function
 - [initcpio] catch errors from mkinitcpio itself and report them in a nice
   readable format.

 - Save translators the effort of doing a dozen messages
   with just the name of the module changed. All of these modules
   bail out on bad configurations with a meaningful message.
   - [initcpiocfg]
   - [fstab]
   - [initramfscfg]
   - [localecfg]
   - [luksbootkeyfile]
   - [luksopenswaphookcfg]

 - [machineid] Warn on bad config. It's conceivable that this is run
   with an empty rootMountPoint (i.e. "") to modify the running system,
   so only bail on None.
2019-04-28 14:34:39 -04:00
Adriaan de Groot
1f7dfafe9a [libcalamares] Provide accessor to error code.
- Document meaning of error codes.
 - The test-loader considers internal errors a real (test) failure,
   while errors returned normally by the modules (e.g. because the
   configuration is broken) to be ok for testing purposes.
2019-04-28 14:34:39 -04:00
Adriaan de Groot
7149b80146 [libcalamares] Distinguish kinds of errors
- errors can now carry an integer what-am-I code apart from
   the message; all errors have a code != 0 (and ok has code 0).
2019-04-28 14:34:39 -04:00
Adriaan de Groot
b8be07573b [initramfs] Fix syntax error 2019-04-27 14:12:03 -04:00
Adriaan de Groot
e072b76fea [shellprocess] [contextualprocess] Unneeded module.desc
- C++ modules should have a CMakeLists.txt which does the
   right thing, e.g. calamares_add_plugin() , and don't need
   a textual module.desc
2019-04-27 11:37:12 -04:00
Adriaan de Groot
6f9548af34 CMake: Check module interfaces
- Only allow meaningful interface strings
 - Improve documentation of which interfaces work for
   which module types.
2019-04-27 11:30:16 -04:00