50 Commits (8cf3c217f76b1505207fb1cdf80dc1cc403ab77c)

Author SHA1 Message Date
Adriaan de Groot f1aa22d9e8 [libcalamaresui] Sort signals chronologically 7 years ago
Adriaan de Groot c678cd80b4 [libcalamaresui] Refactor Requirements-Checking
- Move the actual checking into a separate object with some lifecycle-
   management signals.
 - Right now this is still single-threaded and blocking, so no net gain.
7 years ago
Adriaan de Groot bbb9ff0cbf [libcalamaresui] Remove useless #define 7 years ago
Adriaan de Groot 5aa4e52452 [libcalamaresui] Improve debug-logging 7 years ago
Adriaan de Groot d33752c66c [libcalamaresui] Refactor Requirements classes
- improve naming of member variables
 - expand documentation
7 years ago
Adriaan de Groot bf40f3bd23 Merge branch 'master' into requirements-checking 7 years ago
Adriaan de Groot d66393f1ae [libcalamares] Fix early failure mode
- There is more to failing out of loadModules() than just
   emitting modulesFailed, so instead share the failure
   code with the code after loading modules -- but don't load any.
7 years ago
Adriaan de Groot 08966ff933 [libcalamaresui] Check module dependencies
- Module dependency-checking is done in two phases:
   first, catch any unknown modules that are listed
   in *requiredModules* and bail out before loading
   anything. Second, check that the modules required
   by X occur before X in the sequence.
7 years ago
Adriaan de Groot 1a097f8c49 Style: run modulesystem through the style guide 7 years ago
Adriaan de Groot 58121abf06 [libcalamaresui] Wasted spaces 7 years ago
Adriaan de Groot a64de3dbfe [libcalamaresui] Assign the index to found
- Previous code assigns the result of the comparison to found,
   instead of the index, resulting in the wrong configuration
   map sent to each module.
7 years ago
Adriaan de Groot dd8e53dc22 Copyright: update copyright lines on files touched in 2018
Contributions from:
  Adriaan de Groot <groot@kde.org>
  Gabriel Craciunescu <crazy@frugalware.org>
  AlmAck <gluca86@gmail.com>
  Andrius Štikonas <andrius@stikonas.eu>
  Caio Carvalho <caiojcarvalho@gmail.com>
  Raul Rodrigo Segura <raurodse@gmail.com>
7 years ago
Adriaan de Groot 9918dfb95f [libcalamaresui] Reporting on failures
- Provide information on failed modules
 - Disallow further progress when configuration is borked
7 years ago
Adriaan de Groot 35124c149e [libcalamaresui] Drop the 'goodbye' message 7 years ago
Adriaan de Groot a40c36ef49 [libcalamaresui] Report on failed module loading
- Collect the failed modules, instead of bailing out on the first one
   (this also prevents crashes caused by quit() called from a timer).
 - Introduce a slot to report on failed module loading (no UI yet).
7 years ago
Adriaan de Groot 1999e4e5c2 [libcalamaresui] Error out consistently when module loading fails
- Some module-loading failures were ignored and produce only a
   warning, instead of erroring out.
7 years ago
Adriaan de Groot dccf6f16f5 [libcalamaresui] Lambdas are fun, but not always the solution 7 years ago
Adriaan de Groot a626e52bf3 [libcalamares] Introduce more descriptive type name 7 years ago
Adriaan de Groot e5ca8e091f [libcalamaresui] Use refactored loadYaml 8 years ago
bill auger b6673f6324 move thisModule->isLoaded assert to after it's warning message 8 years ago
Adriaan de Groot 032b33f56f [libcalamaresui] Improve logging.
- Put the (constant) 'Calamares will now quit' on its own debug line.
 - Tell the user what the search paths are if a module is not found
   (prompted by a mis-configuration in a Neon live image).
8 years ago
Adriaan de Groot c7629182e4 Merge branch 'master' into requirements-checking 8 years ago
Adriaan de Groot a72bdfac52 Merge branch 'master' into requirements-checking 8 years ago
Adriaan de Groot 60f440f72b [libcalamaresui] Use new convenience logging methods
- Remove a few confusing Q_FUNCINFO
8 years ago
Adriaan de Groot 762ad54344 Documentation: change http links to GitHub to https 8 years ago
Adriaan de Groot 27b921bde1 [libcalamaresui] Move requirements information out of welcome module.
- Move type and rename it; put in Calamares namespace
 - Emit signals from the viewmanager as results come in
 - Remove state changing from welcome view step based on its internal
   requirements checking (for now this breaks progressing past the
   welcome page)
 - Log checking of the requirements
8 years ago
Adriaan de Groot 24e04645b6 [libcalamaresui] Stub requirements checking.
Introduce a method checkRequirements() into the module system so that
individual modules can do their own checking (as opposed to stuffing
it all into the welcome module).
8 years ago
Adriaan de Groot 8917d153da Drop the (inter-)module dependencies system.
- Was marked incomplete and unused; none of the existing modules
   set any requirements, and the descriptors are not set up to
   hold the requirements information anyway.
 - Dependencies are generally through globalStorage values, or if
   there are dependent jobs they should be created in-order by one
   source (e.g. though a View or a subclass of CppJob which overrides
   jobs() ).
 - It is the responsibility of deployers to formulate a settings.conf
   that includes all the required modules.
 - A 'real' dependency system is going to lead to the introduction
   of interface-definitions and a great deal of complexity, for a
   use case that can be handled with careful deployment instead.
8 years ago
Adriaan de Groot 463615a1c0 Clang: don't shadow local variable names 8 years ago
Adriaan de Groot e26d5ab206 Don't leak memory for allocated modules 8 years ago
Teo Mrnjavac de3c94fc97 Useless debug is useless. 9 years ago
Andrius Štikonas 9f0ca042fe Port away from most cases of Q_FOREACH to C++11 ranged for loop.
In order to avoid deep copies, Qt containers over which we iterate must be const
The remaining unported cases require qAsConst (Qt 5.7) or std::as_const (C++17)
9 years ago
Teo Mrnjavac fb44fb97b6 Massive refactor of module loading, configuration, startup, management. 10 years ago
Teo Mrnjavac 3b56c5c9e8 Use safe QTimer::singleShot connection. 10 years ago
Teo Mrnjavac 506e51598d Do not dereference a nullptr. 10 years ago
Teo Mrnjavac 11f5b729a8 Avoid dereferencing nullptr. 10 years ago
Teo Mrnjavac df9daf8fec Avoid accessing nullptr. 10 years ago
Teo Mrnjavac dda7ea211d Make ModuleManager accessible from outside CalamaresApplication. 11 years ago
Teo Mrnjavac 20bc34029d Copyright. 11 years ago
Teo Mrnjavac a670de3035 Add currentPhase to ModuleManager. 11 years ago
Teo Mrnjavac fef448833e And some more debug output readability improvements. 11 years ago
Teo Mrnjavac f2f73b2e87 More meaningful debug output. 11 years ago
Teo Mrnjavac 9ebc881223 Prevent segfault on exit when module not found. 11 years ago
Teo Mrnjavac 8f10c21e5b Big configuration overhaul.
Module descriptors are now module.desc, no configuration allowed inside.
Module config files are <modulename>.conf, installed in
share/calamares/modules.
settings.conf is read from /etc/calamares, then share/calamares, and if
running with --debug also in the current dir.
Module config files are read from /etc/calamares/modules, then
share/calamares/modules, and if running with --debug also in
src/modules/<modulename> relative to the current dir.
11 years ago
Aurélien Gâteau 551a6ff9ba Fix potential memleak 11 years ago
Teo Mrnjavac 8d28a2ea5d Generalized code path for Phase switching. Also load install modules. 11 years ago
Teo Mrnjavac 84bfb2aa95 Fixes for loading modules by phase. 11 years ago
Teo Mrnjavac 2e47c248ac Load modules by phase, in preparation for actually using new settings. 11 years ago
Teo Mrnjavac a09ab36386 Better settings format, rename a bit of stuff in module loading. 11 years ago
Teo Mrnjavac 4ec72f4afb Refactored calamares_bin into calamares_bin and libcalamaresui.
Now linking with -Wl,--no-undefined!
Moved find_package KF5 from the root CMakeLists.txt to the partitioning
module where it belongs. KF5 deps should be limited to plugins.
Lots of random fixage to make stuff link.
Removed CalamaresApplication reference from Settings.
Removed the use of AbstractPage, we don't need it right now.
11 years ago