Commit Graph

1120 Commits

Author SHA1 Message Date
Adriaan de Groot
ef436ac4d7 [libcalamares] add a convenience optional-setter for use with pointers 2021-06-18 13:49:08 +02:00
Adriaan de Groot
629fc83f21 [libcalamares] Add a pre-script for PythonJobs
This allows injecting arbitrary Python code before
the script of a module is even run. For testing
purposes, that gives us a chance to modify existing
(internal) modules before the script (e.g. to test
subprocess calls).
2021-06-15 21:50:59 +02:00
Adriaan de Groot
6ee0da41c8 [libcalamares] Avoid deprecation warning in network attributes 2021-06-15 11:45:29 +02:00
Adriaan de Groot
f0a25bd397 [libcalamares] Avoid warnings from deprecated country codes.
The Qt documentation does not mention @since for these values,
so we're going to let CI catch them.
2021-06-15 11:41:17 +02:00
Adriaan de Groot
cf341c53fa Merge branch 'calamares' into improve-partition 2021-05-25 17:37:15 +02:00
Adriaan de Groot
b68e535131 [libcalamares] Log to file and stdout consistently
- The log **file** got every QDebug object, while stdout only
  got the ones of sufficient logging level. A CDebug object checks the
  logging level before writing anything -- so those already were
  consistent, but any qDebug() in the program (not cDebug()!) would
  reach the writing-function anyway, and so log to the file.
  Fix this weird inconsistency by checking log-level just once,
  for both writes.
2021-05-31 11:39:13 +02:00
Adriaan de Groot
716328cafb [libcalamares] Un-clog Logging
- Map QtMsgType -- used by qDebug() and qWarning() -- to levels used
  by Calamares in a consistent fashion.
- Drop unused log levels (INFO, EXTRA unused in any Calamares code).
2021-05-31 11:26:49 +02:00
Adriaan de Groot
d731e12456 [libcalamares] Add an extra job-failure enum value 2021-05-15 07:46:03 +02:00
Adriaan de Groot
df20aa9ddb Merge branch 'calamares' into improve-partition 2021-04-23 23:33:49 +02:00
Adriaan de Groot
bac1108781 Merge branch 'issue-1550' into calamares
FIXES #1550
2021-04-23 22:37:12 +02:00
Adriaan de Groot
7521be3c5f [libcalamares] Add find() to namedenumtable that takes a default value 2021-04-23 18:03:24 +02:00
Adriaan de Groot
049b9f9c74 [libcalamares] Test the packages service API
- check that the variant and the string-list version of
  the API do the same thing, check independence of
  settings for different instance keys.
2021-04-23 11:49:06 +02:00
Adriaan de Groot
e400f79673 [libcalamares] Extend packages service API
- convenience method to install a (string) list of packages
  (doesn't do the installation, but adds to GS the list, so
  that the packages module can handle it).
2021-04-23 10:25:29 +02:00
Adriaan de Groot
1af8796b2b [libcalamares] Refactor translations-for-a-test CMake code
- turn the translations-QRC phase into a function, just in
  case other tests need translations as well.
- This CMake code might work as the base of translation-wrangling for
  plugins (externally).
2021-04-18 13:35:18 +02:00
Adriaan de Groot
cfbe722350 [libcalamares] Test the translated string with real translations
- introduce a bogus translation context, load translations,
  and check that the context-enabled translator does its job.
2021-04-18 13:19:55 +02:00
Adriaan de Groot
0143aa5515 [libcalamares] Make the branding-loading messages follow same format as the others 2021-04-17 22:13:16 +02:00
Adriaan de Groot
d72e42f7ba [libcalamares] Extend (configuration) translated string with context
Make it possible to pass in a context for strings not-from-config
maps, to allow programmatically set, but translatable, strings.
2021-04-17 14:41:08 +02:00
Adriaan de Groot
ed14c49a03 [libcalamares] Extend (configuration) translated string with context
Make it possible to pass in a context for strings not-from-config
maps, to allow programmatically set, but translatable, strings.
2021-04-16 14:38:39 +02:00
Adriaan de Groot
35f4a81768 [libcalamares] Extend packages service API
- convenience method to install a (string) list of packages
  (doesn't do the installation, but adds to GS the list, so
  that the packages module can handle it).
2021-04-16 14:29:39 +02:00
Adriaan de Groot
bf7b41f548 [libcalamares] Document the Once class for logging 2021-03-29 15:31:41 +02:00
Adriaan de Groot
d4f28e863f [libcalamares] Allow rvalue Once to be used in logging 2021-03-29 15:23:55 +02:00
Adriaan de Groot
0ccd55e33f [libcalamares] Warn (python only) about unknown GS keys
This makes it easier to spot problems where key-names are mis-spelled
in Python (or other modules change a name and it's not applied
to consumers)
2021-03-29 10:50:32 +02:00
Adriaan de Groot
b04d59ba2e [libcalamares] More variant->python translations
- There's still 49 enumeration values not handled, leading to
  an annoying Clang warning, but there's just no **point**
  in listing them all: that's what 'default' is for.
2021-03-29 10:46:28 +02:00
Adriaan de Groot
9c2a26bed5 [libcalamares] Apply coding style 2021-03-27 15:41:58 +01:00
Adriaan de Groot
ac8f99a206 [libcalamares] Don't double-include FileSystem
The partitioning header 'FileSystem.h' is for KPMCore support;
it is already included by Global.h and guarded by ifdefs for
KPMCore. Do not unconditionally include it from the implementation.
2021-03-27 02:38:45 +01:00
Adriaan de Groot
559b79f920 [partition] Use (better documented) filesystem-use API 2021-03-23 12:09:06 +01:00
Adriaan de Groot
10bec1d970 [libcalamares] Expand API to allow clearing out the filesystem use 2021-03-23 12:09:01 +01:00
Adriaan de Groot
9665af0e5a [libcalamares] Make keys case-insensitive (as documented) 2021-03-23 12:09:01 +01:00
Adriaan de Groot
48541629f9 [libcalamares] Extend tests to handle case-insensitive 2021-03-23 12:09:01 +01:00
Adriaan de Groot
f3681a533e [libcalamares] Rearrange filesystem-use API
- make the functies that take a GS* first-class
- use the convenience functions from JobQueue for the others
- inline so only the explicit-GS* functions are in the library
2021-03-23 12:09:01 +01:00
Adriaan de Groot
488631824d [libcalamares] Make the KPMCore global storage filesystem handlers inline 2021-03-23 12:09:01 +01:00
Adriaan de Groot
75eb2c3cd4 [libcalamares] Add tests for filesystem_use service 2021-03-23 12:08:52 +01:00
Adriaan de Groot
afdf431b77 [libcalamares] Add partition service for managing global storage
- the global storage key filesystem_use has a structured meaning,
  so give it a (trivial-ish) API for reading and writing.
2021-03-23 12:08:52 +01:00
Adriaan de Groot
1e1b7b7ece [libcalamares] Introduce a convenience getter for GlobalStorage 2021-03-23 12:07:11 +01:00
Adriaan de Groot
dc0164d508 [libcalamares] Also install the version header 2021-03-22 13:36:52 +01:00
Adriaan de Groot
5ed1dff655 Merge branch 'issue-1579' into calamares
FIXES #1579
2021-03-19 13:13:27 +01:00
Adriaan de Groot
9341a84820 [libcalamares] Make the RETRANSLATE macros more statement-line
Require a ; after RETRANSLATE macros. They are statement-like;
this makes it easier for some of them to be recognized by
clang-format and resolves some existing weird formatting.
2021-03-16 14:55:26 +01:00
Adriaan de Groot
f1446736f8 [libcalamares] Expand tests a little
- do some additions and check they work
- drop the ";add" annotation on the source, this is not
  needed in the current situation with only adds available.
2021-03-16 14:37:13 +01:00
Adriaan de Groot
5b609565e2 [libcalamares] Make Packages API more flexible
- pass in the GS object; this makes mostly **testing** much easier
2021-03-16 14:14:02 +01:00
Adriaan de Groot
b868894371 [libcalamares] Start a packages service for netinstall and others 2021-03-16 13:50:15 +01:00
Adriaan de Groot
a90f510b85 [libcalamares] Convenience for logging subentries
For methods that log a bunch of things, and which want to
consistently use SubEntry, but don't know when the **first**
log entry is within the method, Logger::Once can be used
to log one regular message (with function info) and the
rest are subentries.
2021-03-15 22:45:29 +01:00
Adriaan de Groot
72f67286a4 [libcalamares] Preserve type CDebug() if possible. 2021-03-15 21:41:27 +01:00
Adriaan de Groot
a3a1350dc7 [libcalamares] Don't complain if there isn't a preset
- If the module knows about a preset, then it should be registered
  even if there is not a value set for it specifically; this avoids
  complaints from isEditable() for fields that are known, but
  do not have a preset. (Reported by Anke)
2021-03-15 21:18:10 +01:00
Adriaan de Groot
a4c1f07521 [libcalamares] Reduce indentation-depth in apply() through early-return 2021-03-15 21:11:01 +01:00
Adriaan de Groot
33fec86ef6 [welcome] Improve logging of requirements-checking
- less chatty when 0-results come in
- compress the welcome debug to one output chunk
2021-03-15 20:53:59 +01:00
Adriaan de Groot
b4a21d7aca [libcalamares] Add macro CONFIG_PREVENT_EDITING to handle uneditable fields
Boilerplate code for avoiding accidental setting of an internal
field when the UI is editable and the underlying data isn't.
2021-03-14 13:30:26 +01:00
Adriaan de Groot
2e90a8d829 [libcalamares] Report preset mis-configurations
- warn about fields applied twice (program error)
- warn about fields not used (configuration error)
- add operator<< for "clean" looking preset application
2021-03-14 12:14:33 +01:00
Adriaan de Groot
d8dff3dc65 [libcalamares] Replace loadPresets() with an applicative style
Build up the list of known presets by what the Config-object
expects, not by what the Config file provides. This allows
early detection of mis-matched configurations.

Presets can only apply to Q_PROPERTY properties, and the
preset must match the property name.
2021-03-14 12:14:33 +01:00
Adriaan de Groot
8b10a9cfc2 [libcalamares] Add isEditable() check
This adds support for checking whether a field is editable;
Config objects should reject changes if the field is not
editable. There is an "unlock" setting to override the
check, although this is currently always locked.
2021-03-14 12:14:33 +01:00
Adriaan de Groot
0be5e04c2e [libcalamares] Add a base class for Config-objects
This is an optional (until 3.3) base class, which can handle
Presets consistently for configurations.
2021-03-12 13:49:37 +01:00
Adriaan de Groot
d9f2f5e988 [libcalamares] Start a 'presets' configuration datastructure 2021-03-12 13:16:36 +01:00
Adriaan de Groot
ea63f48c31 [libcalamares] Put the units in a nested namespace
- this makes it much easier to use the literal suffixes
  by using the namespace rather than individual operators.
2021-03-09 18:21:58 +01:00
Adriaan de Groot
24e129a413 Merge branch 'issue-1634' into calamares
FIXES #1634
2021-02-23 16:17:57 +01:00
Adriaan de Groot
e49f0cf3ba [libcalamares] Document NamedEnum in much more detail 2021-02-09 17:03:19 +01:00
Adriaan de Groot
f045e4f00e [libcalamares] Switch default language in Belarus
*If* the distro has GeoIP enabled and auto-selects the language for
Calamares, then Belarus now selects Russian, rather the Belarusian.
This is based on some personal input, mostly, and Wikipedia census data.

FIXES #1634
2021-02-07 22:35:32 +01:00
Adriaan de Groot
38fa1d9567 [libcalamares] Distinguish logging raw, shared and unique pointers
- It shouldn't be necessary to explicitly .get() pointers for
  logging, and it's convenient to know when a pointer is smart.
  * no annotation means raw (e.g. @0x0)
  * S means shared
  * U means unique
2021-02-03 01:06:25 +01:00
Adriaan de Groot
c98a330bf9 [libcalamares] Store DBus reply value, drop debug-logging 2021-02-03 00:46:00 +01:00
Adriaan de Groot
1704ad5977 [partition] Add a job to handle automount behavior
- while here, nudge CalamaresUtils automount API a little,
  since it doesn't really need an rvalue-ref.
2021-02-02 19:18:19 +01:00
Adriaan de Groot
b9210721e6 Merge branch 'issue-1613' into calamares
The popup now cuts down messages to a manageable length.
Hopefully the part that is preserved, will still show
something meaningful for the user (8 lines of text should
be sufficient for the kind of things we do).

FIXES #1613
2021-02-02 16:35:10 +01:00
Adriaan de Groot
eafb8149b3 [libcalamares] Test some degenerate truncation cases 2021-02-02 15:35:53 +01:00
Adriaan de Groot
caff0176b1 [libcalamares] Need <memory> for unique_ptr
FIXES #1631
2021-01-31 21:40:41 +01:00
Adriaan de Groot
7ab9c63903 [libcalamares] Extend test with some degenerate cases 2021-01-29 11:53:36 +01:00
Adriaan de Groot
5c402ffd66 [libcalamares] Truncate to a character count as well 2021-01-28 22:13:44 +01:00
Adriaan de Groot
1542bad224 [libcalamares] Truncate strings without trailing newline properly 2021-01-28 15:30:00 +01:00
Adriaan de Groot
8e3ed3c933 [libcalamares] Remove redundant variable, use NEWLINE instead of character-literal 2021-01-28 15:24:05 +01:00
Adriaan de Groot
3623e9aefc [libcalamares] Extend tests of string-truncation 2021-01-28 14:47:03 +01:00
Adriaan de Groot
319a720d1b [libcalamares Expand tests 2021-01-28 01:06:09 +01:00
Adriaan de Groot
b144d81979 [libcalamares] Fix up smart-string-truncation
- off-by-one when source ends with a newline
- lastNewLine was being calculated as a left-index into the string,
  then used as a count-from-right
2021-01-28 01:02:46 +01:00
Adriaan de Groot
3be360e433 [libcalamares] Add tests to string truncation
- check that basic manipulations succeed
- trailing-lines selection fails, though
2021-01-28 00:23:13 +01:00
Adriaan de Groot
8cc114bf2c [libcalamares] Move smart-string-truncation to library
Expand the API a little to support first-lines, last-lines,
and something of both. Use strong types to make the names
clear for each.
2021-01-27 23:51:03 +01:00
Adriaan de Groot
f0fd47eeb3 [libcalamares] Simplify logging-manipulators
Writing `Logger::NoQuote{}`` has annoyed me for a while, so
switch it to a constant, like SubEntry, so it looks more
like a regular manipulator object.
2021-01-26 00:13:10 +01:00
Adriaan de Groot
9a4c599e22 [libcalamares] Tidy logging a little for Python errors 2021-01-22 14:49:20 +01:00
Adriaan de Groot
3ade1fd84a Merge branch 'add-automount-control' into calamares 2021-01-18 16:28:12 +01:00
Adriaan de Groot
b709ba7a5b
Merge pull request #1590 from deprov447/Back/Next_buttons_at_installation
Navigation buttons hideability during installation
2021-01-18 16:24:10 +01:00
Adriaan de Groot
9482935034
Merge pull request #1572 from gportay/partition-output-more-things-in-overiew
[partition] output more things in overiew
2021-01-18 15:08:19 +01:00
Gaël PORTAY
bf9c9a64f1 [libcalamares] Introduce new function getPartitionTable 2021-01-08 08:54:02 -05:00
Adriaan de Groot
132ff59d9c [libcalamares] Make running commands less chatty
If there's no output, don't mention it; don't mention failure modes
if the command was successful.
2021-01-06 00:07:35 +01:00
Adriaan de Groot
a3eae323f1 [libcalamares] Rename test-executable: avoid clashes with 'cala<tab>' 2020-12-22 22:08:23 +01:00
Adriaan de Groot
d74bdbcfd0 [libcalamares] coding-style, logging in calautomount 2020-12-22 22:07:17 +01:00
Adriaan de Groot
3150785ff1 [libcalamares] Use shared_ptr instead of unique_ptr
The value inside a unique_ptr can't be opaque, it needs to be known
at any site where the pointer may be deleted. shared_ptr does not
have that (deletion is part of the shared_ptr object, which is larger
than the unique_ptr) and so can be used for opaque deletions.
2020-12-22 21:29:49 +01:00
Adriaan de Groot
1c4bf58fb4 [libcalamares] automount-manipulation test-program 2020-12-22 21:25:00 +01:00
Adriaan de Groot
f0a33a235c [libcalamares] Make automountDisable() more flexible 2020-12-22 21:24:30 +01:00
Adriaan de Groot
9e6bddf31a [partition] Add new AutoMount-manipulating helpers 2020-12-22 16:05:20 +01:00
Adriaan de Groot
1c285f011b [libcalamares] Export partition-syncer symbols 2020-12-22 16:03:51 +01:00
Anubhav Choudhary
0f2320bd47 Initializing bools in settings.h 2020-12-07 21:40:59 +05:30
Anubhav Choudhary
03d1fe434c Navigation button hideability added 2020-12-06 04:32:18 +05:30
Adriaan de Groot
f4133a97db [libcalamares] Make test a bit more verbose (before failing) 2020-11-30 15:38:17 +01:00
Adriaan de Groot
fa7d2bda16 [libcalamares] Misplaced space in a test-filename 2020-11-30 15:28:08 +01:00
Adriaan de Groot
b4aca7e188 [libcalamares] Tidy up documentation for System::runCommand
- Make explicit which one runs in the host, which one is selectable.
- Document *location* parameter in the selectable version.
- Tidy up alignment of apidox.
2020-11-11 14:03:23 +01:00
Adriaan de Groot
83b2b95381 [libcalamares] Reduce object churn
- we don't need to allocate a new translator each time the language changes
2020-11-05 00:09:23 +01:00
Adriaan de Groot
59255c7a57 Changes: apply coding style 2020-11-05 00:00:29 +01:00
Adriaan de Groot
be7b63051e Enable keyboard-model and layout-name translations.
SEE #1515
2020-11-04 23:36:33 +01:00
Adriaan de Groot
0bad5469fc [libcalamares] Fix tests failures from JobQueue asserts
Some compile flags changed recently, triggering assert()
in the jobqueue when there is more than one. There's no
real reason for JobQueue to be a singleton, but it wants
to be. So clean up pointers a little more enthusiastically.
2020-11-01 17:59:41 +01:00
Adriaan de Groot
4a08fdbb92 [partition] Reduce warnings from KPMCore
- make KPMHelper.h an "everything include" and suppress warnings
  from it, then use it in the tests.
2020-11-01 00:20:17 +01:00
Adriaan de Groot
d26fde6647 [partition] Reduce warnings
- Add a helper header that munges the warnings-settings so that
  KPMcore headers can be included.
2020-11-01 00:05:05 +01:00
Adriaan de Groot
b72eba8157 [libcalamares] Extend the Deleter-helper with "preserve"
Sometimes you want to keep the thing around after all.
2020-10-30 15:58:38 +01:00
Adriaan de Groot
7659dfdb9d [libcalamares] Expose a translations-loading function 2020-10-30 15:58:38 +01:00
Gaël PORTAY
03df5f6891 [libcalamares] Fix constness of functions 2020-10-30 09:42:59 -04:00
Gaël PORTAY
aec066359a [libcalamares] Fix coding style 2020-10-30 09:42:59 -04:00
Adriaan de Groot
ac6c9fae4a [libcalamares] Do not use moved-from object 2020-10-30 13:51:53 +01:00
Adriaan de Groot
98c7cec732 CMake: restore NOTREACHED, without the macro-mess
- gcc (up to at least version 10) is worse at recognizing that all
  cases have been handled, so it complains about all the switches
  that cover enum values.
2020-10-25 18:52:38 +01:00
Adriaan de Groot
fea403186f [libcalamares] Search for balance between warnings and annotations
- CI's gcc is too old to analyse a switch() for completeness,
  so the CI build fails.
2020-10-25 17:49:26 +01:00
Adriaan de Groot
2b9fa0f982 CMake: drop the NOTREACHED macro
- both clang and g++ support __builtin_unreachable(); (as Kevin
   Kofler pointed out) so we don't need the macro to do different things;
 - the compilers have gotten better at detecting unreachable code,
   so instead of inserting macros or fiddly bits, just drop them
   and the unreachable code they comment.
2020-10-25 12:49:49 +01:00
Adriaan de Groot
7fa1c1b787 [libcalamares] Avoid object-slice
g++ warns that error_already_set is polymorphic, and we're catching
by-value (although we don't use that value). Avoid that.
2020-10-25 12:49:49 +01:00
Adriaan de Groot
b28a50de6f [libcalamares] Remove useless variable
- describe() is for debugging purposes, doesn't need to calculate
  whether the requirements are accepted.
2020-10-24 12:35:19 +02:00
Adriaan de Groot
6c7d295712 CMake: simplify C and C++ flags
- reduce the difference between clang and g++ builds, factor
  common flags out of the CMake-if
- drop special boost-warning-suppression, we do that differently
  most of the time in the affected source files
2020-10-24 12:32:07 +02:00
Adriaan de Groot
c412e285c2 [libcalamares] Link publicly to yaml-cpp
Needed on FreeBSD, where you otherwise might not get the
include paths for yaml-cpp added -- and utils/Yaml.h
expects them to be there.
2020-10-23 12:01:29 +02:00
Adriaan de Groot
3313a5341d [partitions] Adapt to KPMcore 4.2 changes 2020-10-17 14:59:01 +02:00
Adriaan de Groot
81f12cb230 [libcalamares] Do GeoIP lookups with a fake User-Agent 2020-10-16 13:55:31 +02:00
Adriaan de Groot
3b14e354b0 [libcalamares] Log more HTTP errors during requests 2020-10-16 13:07:57 +02:00
Adriaan de Groot
436e1de820 [libcalamares] Be more chatty in GeoIP test application 2020-10-16 12:36:03 +02:00
Adriaan de Groot
86fd014bbd [libcalamares] Fallback from status -> description -> name for progress 2020-10-13 00:00:37 +02:00
Adriaan de Groot
2f83d85e29 [libcalamares] Explain process failure in debug log a bit better 2020-10-12 23:19:15 +02:00
Adriaan de Groot
a955791766 Apply coding style globally again 2020-10-12 14:27:01 +02:00
Adriaan de Groot
9ce08beead [libcalamares] Fix build
- The API definitions are just the symbols to define; these
  are variously added through add_definitions() (needs -D)
  or target_add_definitions() (doesn't).
2020-10-07 01:15:12 +02:00
Adriaan de Groot
40aa0fcaba CMake: add a helper module for finding KPMcore
I think we had this (kind of) module a long time ago and it was
removed for over-complicating things; re-introduce one now that
KPMcore is used in 3 different places and all would benefit
from consistent API handling / defines.
2020-10-07 00:11:18 +02:00
Adriaan de Groot
faa496be4a
Merge pull request #1522 from kadler15/issue-1521
[preservefiles] Fix global storage JSON dump
2020-10-06 21:53:32 +02:00
Adriaan de Groot
44f8a7ae47 [libcalamares] Reduce chattiness again of job progress 2020-10-06 11:03:55 +02:00
Kris Adler
e92927cff9 [preservefiles] Fix global storage JSON dump
fixes calamares/calamares#1521
2020-10-03 17:38:20 -05:00
Adriaan de Groot
ace6323987 [libcalamares] Be even more chatty in job progress
This is for debugging-job-progress reports.
2020-09-28 11:35:41 +02:00
Adriaan de Groot
75b01cfc0a [libcalamares] Some debugging output for job progress, so you can double-check that the settings are being picked up 2020-09-23 16:14:09 +02:00
Adriaan de Groot
2878c474c5 Warnings-- (~T() override)
Change all the places that had
	virtual ~T() override
to the less redundant form without override.
2020-09-22 22:49:30 +02:00
Adriaan de Groot
2126be6d6d Warnings-- (~T() override)
Consistently use
	~T() override;
in class declarations (so no virtual in front, and avoid
warnings due to the missing override in back).
2020-09-22 22:40:52 +02:00
Adriaan de Groot
8b66009d59 [libcalamares] Warnings-- in tests (~T() override) 2020-09-22 22:37:29 +02:00
Adriaan de Groot
0cffac10c6 [libcalamares] Ignore more warnings for system header YAML 2020-09-22 22:37:29 +02:00
Adriaan de Groot
fbab554dfa [libcalamares] Remove unused parameter for PythonJob
- parameter instanceKey was left over from previous work that
  special-cased the weight of Python modules.
- while here, consistently do `~T() override`
2020-09-22 22:35:55 +02:00
Adriaan de Groot
e0ba5a6ba2 [libcalamares] Convenience functions for localeConf GS entry 2020-09-03 20:21:37 +02:00
Adriaan de Groot
32649f78ea [libcalamares] Restore finish() slot to job queue
FIXES #1507
2020-09-03 15:39:04 +02:00
Adriaan de Groot
ba2b52ed1d Merge branch 'fix-debugwindow-queue' into calamares
3.2.29 dropped the Job Queue information from the debug
window, this restores the list of names.
2020-08-28 15:54:13 +02:00
Adriaan de Groot
b37a675657 [libcalamares] Reimplement JobQueue::queueChanged
- switch to QStringList as parameter, since consumers (that is,
  the debug dialog, which is what this is for) are interested
  just in the **names** of the jobs.
- to allow mutex locking in const methods, mark them mutable.
2020-08-28 14:39:32 +02:00
Adriaan de Groot
9afe7a3711 [libcalamares] Document JobQueue signals 2020-08-28 14:24:06 +02:00
Asif Mahmud Shimon
c6a3e9b816 Internet accessibility checking done by ping method 2020-08-27 11:36:55 +06:00
Adriaan de Groot
a2180936ef CI: apply coding style across the entire codebase again 2020-08-26 02:28:43 +02:00
Adriaan de Groot
1cd9b93a22 REUSE: Giant boilerplate cleanup
- point to main Calamares site in the 'part of' headers instead
  of to github (this is the "this file is part of Calamares"
  opening line for most files).
- remove boilerplate from all source files, CMake modules and completions,
  this is the 3-paragraph summary of the GPL-3.0-or-later, which has
  a meaning entirely covered by the SPDX tag.
2020-08-26 02:28:38 +02:00
Adriaan de Groot
92a6cbc773 REUSE: (CC0-1.0) generated files & PD files
- the translations generated from public-domain files are CC0-1.0
- the files derived from Unicode tables are close to CC0-1.0,
  possibly except that there is a FileCopyrightText line
2020-08-26 02:22:49 +02:00
Adriaan de Groot
3480988f53 REUSE: SPDX tagging of application library and main
- CC0-1.0 for the uninteresting version-headers
- GPL-3.0-or-later for the services

- add SPDX identifiers to Calamares C++ libraries and application sources
- add SPDX identifiers to Calamares QML (panels and slideshow)
- the `qmldir` is a list of names of things in the directory,
  so CC0-1.0 it as "uninteresting"
- QRC files are lists of names of things in the directory,
  so CC0-1.0 them as well
2020-08-26 02:05:46 +02:00
Adriaan de Groot
2eecd431fe REUSE: (CC0-1.0) test data
There's lots of (YAML) test data that is just trivial configurations
for modules. Since the configurations themselves are **also** CC0-1.0,
and the tests are less interesting, license them equally liberally.
2020-08-26 02:05:46 +02:00
Adriaan de Groot
95ceb1e8c7 REUSE: (BSD-2-Clause) all CMakeLists
The build instructions are not that interesting, it's a toss-up
between CC0 and BSD-2, but because other CMake bits are BSD-2-Clause,
apply that to more CMakeLists. The copyright date isn't all that
accurate, but these are just inconsequential files.

While here, tidy up and get rid of some useless intermediates.
2020-08-26 02:05:46 +02:00
Adriaan de Groot
42417ed3b2 [libcalamares] Rip out the broken jobqueue information signals (break build) 2020-08-20 22:30:12 +02:00
Adriaan de Groot
2b86d2481c [libcalamares] finish() is a private implementation detail for the job queue 2020-08-20 22:28:52 +02:00
Adriaan de Groot
ade7a22314 Merge branch 'module-weight' into calamares
Re-jig the module-weight calculations.

- modules can have a weight
- module instances can have a weight
- jobs, from the module, can have a weight

This is now configurable on a case-by-case basis, rather than having
C++ only as an option and a weird hack for unpackfs.
2020-08-19 16:20:28 +02:00
Adriaan de Groot
9d395e82f0 [libcalamares] Try to avoid progress going backwards
This is more a test-inspired hack than anything else: since signals
are delivered asynchronously, we can end up delivering progress
signals out-of-order, and then the signal spy lists them wrong:
progress goes backwards.

Insert a tiny delay between jobs to allow signals to be delivered
in-order.
2020-08-19 15:32:19 +02:00
Adriaan de Groot
053321d4d2 [libcalamares] Test for progress reporting
- add a dummy job class for tests
- run a queue with 3 jobs from 2 modules to check progress reporting
2020-08-19 15:07:47 +02:00
Adriaan de Groot
521015b1b4 [libcalamares] Match types to existing qreal usage, signal progress 2020-08-19 13:06:50 +02:00
Adriaan de Groot
941b5af3a2 [libcalamares] Rip out the guts of job-queue-running
- compute weights and accumulations beforehand
- mutex-lock structures so you can enqueue while running jobs
- simplify progress reporting calculations
- doesn't actually run any jobs
2020-08-19 12:54:40 +02:00
Adriaan de Groot
4b4d7f3b10 [libcalamares] Print a big fat warning before a typical now-crash situation 2020-08-18 17:17:29 +02:00
Adriaan de Groot
2ac518d8b9 [libcalamares] Change in stringlist extraction also changes single-string 2020-08-18 16:44:56 +02:00
Adriaan de Groot
41e2de85b1 [libcalamares] Fix up test -- 'lam' isn't supposed to be in the loaded data 2020-08-18 16:43:18 +02:00
Adriaan de Groot
a5555c3f94
Merge pull request #1491 from asif-mahmud/calamares
[libcalamares] retrieving string list fix
2020-08-18 16:41:56 +02:00
Adriaan de Groot
e55def87e9 [libcalamares] Test for Variant methods
In advance of PR #1491, test loading and stringlist extraction.

- from code, extraction works "normally"
- for YAML data, the stringlist isn't actually a stringlist
2020-08-18 16:40:33 +02:00