Commit Graph

242 Commits

Author SHA1 Message Date
Adriaan de Groot
bb05deca33 [netinstall] Repair schema IDs
The schema is considered invalid by **some** versions of
configvalidator (or rather, the underlying jsonschema):

```
128: '#definitions/groups' does not match '^[^#]*#?$'
128:
128: Failed validating 'pattern' in metaschema['properties']['definitions']['additionalProperties']['$dynamicRef']['allOf'][0]['properties']['$id']:
128:     {'$comment': 'Non-empty fragments not allowed.',
128:      '$ref': '#/$defs/uriReferenceString',
128:      'pattern': '^[^#]*#?$'}
```

Remove the `#` from the IDs.
2022-06-27 23:12:31 +02:00
Adriaan de Groot
1c7c0b9af8 CI: apply coding style (clang-format 13) 2022-06-27 00:37:15 +02:00
Adriaan de Groot
72240d0d59 Merge branch 'work-3.3' into calamares 2022-05-29 17:22:36 +02:00
Adriaan de Groot
f8345a09a2 [netinstall] Add disambiguation to labels 2022-05-23 15:41:45 +02:00
Adriaan de Groot
66682b3e84 Merge branch 'calamares' into work-3.3 2022-05-18 15:13:21 +02:00
Adriaan de Groot
874a0c1f38 CI: apply coding style globally again 2022-05-18 12:44:55 +02:00
Adriaan de Groot
62f3055e5a [netinstall] Implement a special "blank" item
- If the name of an item is empty, treat it as a
  "separator line", do not paint it like a regular
  item. The branches of the tree just pass it by.
2022-05-18 00:25:04 +02:00
Adriaan de Groot
9e2728bcb7 [netinstall] Polish up SPDX headers 2022-05-17 14:40:36 +02:00
Adriaan de Groot
6bf710bed3 [netinstall] Introduce a custom class for the Tree Widget 2022-05-17 14:38:44 +02:00
dalto
152f99fb07 Remove useless emits 2022-05-13 17:24:07 -05:00
Adriaan de Groot
eefe65ad0e CMake: chase changed linking in libcalamares 2022-04-25 15:34:39 +02:00
Adriaan de Groot
e507a23795 Modules: make use of KF5::CoreAddons explicit 2022-02-08 16:12:25 +01:00
Adriaan de Groot
e9899d0345 [packagechooser,netinstall] Apply coding style 2022-01-31 23:42:20 +01:00
Adriaan de Groot
cf2899b1e6 [netinstall] Avoid negative row indexes 2022-01-31 12:59:03 +01:00
Adriaan de Groot
c0f4b80cbe [netinstall] Tighten up comments and code
- comment wandered away from the function it applies to
- use overloaded name for recursive helpers
- document this new feature
2022-01-31 12:55:54 +01:00
Adriaan de Groot
19afa46978 [netinstall] Match comment to code (casing of the identifier) 2022-01-31 12:51:56 +01:00
dalto
e597998021 [packagechooser,netinstall] Clean up duplication and pruning logic for netinstall-add 2022-01-27 19:31:34 -06:00
dalto
63ed2e5fb8 [packagechooser,netinstall] Change globalstorage keys to camel case 2022-01-25 17:43:19 -06:00
dalto
22c9d888b4 [packagechooser,netinstall] Proper implementation of source field 2022-01-24 17:01:16 -06:00
dalto
1db217931b [netinstall] Minor changes from code review 2022-01-24 15:39:14 -06:00
dalto
f4c2db7f21 [packagechooser,netinstall] Fix issues where going back and forth between pkgchooser and netinstall produced unexpected behavior 2022-01-23 13:58:10 -06:00
dalto
b4ac6b73c8 [packagechooser,netinstall] Add documentation for packagechooser/netinstall integration 2022-01-15 11:13:17 -06:00
dalto
2eda55d3af [packagechooser,netinstall] Add support for packagechooser to drive netinstall 2022-01-15 09:41:23 -06:00
Adriaan de Groot
03e621f4a2 Modules: clean up linking
- do not link (explicitly) to Calamares libraries, the CMake
  functions do that automatically.
- while here, tidy and remove commented-out-bits
- while here, remove unneeded includes
2021-07-26 15:04:43 +02:00
Adriaan de Groot
192d307d39 [netinstall] Warnings-- for unused variable 2021-04-23 12:48:25 +02:00
Adriaan de Groot
788c84dc41 [netinstall] SPDX-tag the syntax-error file 2021-04-18 13:37:58 +02:00
Adriaan de Groot
165e559866 [netinstall] Extend tests with mixed fallbacks
- insert bad or empty URLs in between successful loads,
  check tail end of loading process.
2021-04-16 11:54:18 +02:00
Adriaan de Groot
21d24eeb8d [netinstall] Add tests for fallback loading
- first success that has data is kept
2021-04-16 11:47:37 +02:00
Adriaan de Groot
4dd6ecd54e [netinstall] Edge cases of zero, or unset, groups urls
- consumers may wait for loadingDone(), so always emit that
  even if no URL list is set.
2021-04-16 11:41:04 +02:00
Adriaan de Groot
9569105575 [netinstall] Extend tests with YAML syntax error and no-files-at-all 2021-04-16 11:35:10 +02:00
Adriaan de Groot
850825f70f [netinstall] Leave the last status on the queue
- Reaching the end means there's no data, but leave the last load result
  (presumably bad-something) around rather than overwriting.
2021-04-16 11:32:04 +02:00
Adriaan de Groot
bd2fb552b5 [netinstall] let queue finish properly
- if the queue is emptied, there was no usable data; set
  failure to NoData rather than BadData.
- FetchNextUnless::done() is done only if the parameter is true (that
  is, it's done!); otherwise should continue.
2021-04-16 11:20:04 +02:00
Adriaan de Groot
67effe4214 [netinstall] check in test that loading did not time out 2021-04-14 13:05:11 +02:00
Adriaan de Groot
bd118bb457 [netinstall] Massage test data
- hidden groups aren't counted at all
- count() at top-level of the model counts groups
2021-04-14 13:05:11 +02:00
Adriaan de Groot
dfedc0fb21 [netinstall] Extend tests
- add an "empty" groups file
- run an event loop to give the loader the opportunity to load
2021-04-14 13:05:11 +02:00
Adriaan de Groot
a21665011f [netinstall] The status is ready (done) when the queue is done
- Don't signal ready every time data is sent to the model, since
  if the model ends up empty, loading will continue with the next
  fallback entry.
2021-04-14 13:05:11 +02:00
Adriaan de Groot
294d07db7b [netinstall] When starting to load YAML data, set appropriate status
- if a list is required, then we don't have data yet and should complain;
  otherwise we're OK even if no data is ever added.
2021-04-14 13:05:11 +02:00
Adriaan de Groot
5af37b0be3 [netinstall] Stub of tests for fallback-loading 2021-04-14 13:05:11 +02:00
Adriaan de Groot
3c398bd15e [netinstall] Only wrap-up if the packages list is OK
Avoid situation where the YAML is ok but doesn't contain
a list of netinstall packages, so the packages list (the model)
is still empty.

FIXES #1673
2021-04-14 13:05:11 +02:00
Adriaan de Groot
5ed1dff655 Merge branch 'issue-1579' into calamares
FIXES #1579
2021-03-19 13:13:27 +01:00
Adriaan de Groot
3588f06767 [netinstall] Document groupsUrl with multiple entries 2021-03-19 12:49:37 +01:00
Adriaan de Groot
fdfe52efe2 [netinstall] Improve loader queue API a bit
- use load() to start loading
- the FetchNextUnless class is useful in more spots in
  the loading process
- set status explicitly on success (otherwise, a failure in a
  previous URL would leave a failure message lying around even
  when the module shows something useful)
2021-03-19 12:30:09 +01:00
Adriaan de Groot
03d086a233 [netinstall] Missing initialisations, split out slot
- m_queue was not initialized to nullptr, crashes
- split queue-is-done to a separate slot rather than a lambda
- prefer queueing calls to fetchNext(), for responsiveness
2021-03-19 11:46:46 +01:00
Adriaan de Groot
404a9ef98a [netinstall] Split off requesting netinstall data into a queue-manager
This is the actual "meat" of the branch, which makes the
netinstall module request one URL at a time until one succeeds.
2021-03-17 00:09:15 +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
603a7106b3 [netinstall] Move package-listing wrangling to the Config object
Now all the business logic is in Config, the door is open to
building a QML-ified netinstall module. I'm not sure that
would be worth it: packagechooser offers more space for a
nice UI and should be QML'ed first.
2021-03-16 14:51:01 +01:00
Adriaan de Groot
9acd2fe458 [netinstall] Use the packages service 2021-03-16 14:38:52 +01:00
Adriaan de Groot
6662cb5f2d [netinstall] Swap parameters to makeSourceItem and document it 2021-03-16 13:17:33 +01:00
Adriaan de Groot
79b4f918fc [netinstall] Apply coding style 2021-03-16 13:10:35 +01:00
Adriaan de Groot
8e8525a941 [netinstall] Simplify slots in the UI page 2021-03-16 13:10:09 +01:00