Adriaan de Groot
58121abf06
[libcalamaresui] Wasted spaces
2018-06-18 10:44:28 -04:00
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.
2018-06-18 10:29:30 -04:00
Adriaan de Groot
374a9bdca6
Merge branch 'emergency-modules'
...
Introduce the notion of emergency modules and emergency jobs.
Initial use will probably center around the preservefiles module,
and possibly umount.
FIXES #928
2018-06-15 12:04:55 -04:00
Adriaan de Groot
3ed6f13fa8
[libcalamaresui] Adjust the emergency-ness of modules
...
A potentially emergency module is one that has EMERGENCY
(in CMake) or emergency: true (in module.desc) set.
Any such module must also set emergency: true in the
configuration of the module. This is to allow for
instances of a module that **don't** run as emergency
modules, alongside actual emergency ones.
2018-06-15 09:32:19 -04:00
Adriaan de Groot
def459a29d
[libcalamaresui] Read emergency setting from module.desc
...
- Read setting from the module descriptor
- Document optional settings
- Add EMERGENCY keyword to the CMake helper functions
2018-06-15 07:11:17 -04:00
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>
2018-06-15 05:59:11 -04:00
Adriaan de Groot
2d7eea6d73
Merge branch 'master' into emergency-modules
2018-06-14 17:15:40 -04:00
Adriaan de Groot
290559f8c1
Merge pull request #986 from raurodse/configurationPythonQt
...
Add configuration values into pythonqt modules
2018-06-14 13:19:42 -04:00
Raul Rodrigo Segura
448c5eae16
style code
2018-06-14 16:33:58 +02:00
Adriaan de Groot
9918dfb95f
[libcalamaresui] Reporting on failures
...
- Provide information on failed modules
- Disallow further progress when configuration is borked
2018-06-13 13:41:38 -04:00
Adriaan de Groot
8b406cac9b
[libcalamaresui] Improve module loading
...
- Add a TODO for allowing modules to come from somewhere other
than the module loader (this would allow "internal" modules
that are always present)
- Warnings are warnings
2018-06-13 04:37:52 -04:00
Raul Rodrigo Segura
d61b32aba6
Add configuration values into pythonqt modules
2018-06-12 13:44:28 +02:00
Adriaan de Groot
35124c149e
[libcalamaresui] Drop the 'goodbye' message
2018-06-11 13:35:12 -04:00
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).
2018-06-11 05:59:56 -04:00
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.
2018-06-08 18:14:51 -04:00
Adriaan de Groot
dccf6f16f5
[libcalamaresui] Lambdas are fun, but not always the solution
2018-06-08 17:56:23 -04:00
Adriaan de Groot
a626e52bf3
[libcalamares] Introduce more descriptive type name
2018-06-08 17:36:29 -04:00
Adriaan de Groot
b66d4856e7
[libcalamaresui] Use modern C++ for (auto)deleting failed modules
2018-05-30 07:51:23 -04:00
Adriaan de Groot
eddee7d76a
[libcalamaresui] No point in isLoaded() being virtual.
2018-05-29 03:38:17 -04:00
Adriaan de Groot
a04915e6fa
[libcalamaresui] Add 'emergency' concept to modules.
2018-05-29 03:37:37 -04:00
Adriaan de Groot
cdadc2f003
[libcalamares] Improve error logging during module loading
2018-05-24 06:47:13 -04:00
Adriaan de Groot
e5ca8e091f
[libcalamaresui] Use refactored loadYaml
2018-05-24 06:46:11 -04:00
Adriaan de Groot
f26ac63c07
[libcalamaresui] Make Python code const
...
- This is always loaded into the Python context, so it may as well
be done only once.
2018-05-24 06:46:02 -04:00
bill auger
b6673f6324
move thisModule->isLoaded assert to after it's warning message
2018-05-22 03:39:16 -04:00
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).
2018-04-04 11:25:28 -04:00
Adriaan de Groot
3e30bb682e
[libcalamaresui] Use cError() for logging errors, not cLog()
2018-03-28 09:22:37 -04:00
Adriaan de Groot
c7629182e4
Merge branch 'master' into requirements-checking
2018-03-06 17:06:35 +01:00
Adriaan de Groot
a72bdfac52
Merge branch 'master' into requirements-checking
2018-03-06 14:57:17 +01:00
Adriaan de Groot
60f440f72b
[libcalamaresui] Use new convenience logging methods
...
- Remove a few confusing Q_FUNCINFO
2018-02-12 11:58:34 -05:00
Adriaan de Groot
845986d48f
[libcalamaresui] Mark virtual QObject destructors override
2018-01-17 09:17:40 -05:00
Adriaan de Groot
762ad54344
Documentation: change http links to GitHub to https
2017-12-20 08:39:09 -05:00
Adriaan de Groot
b6fed964ce
[libcalamaresui] Defer requirements checking of ViewModules to their ViewSteps
2017-12-02 11:30:26 -05:00
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
2017-12-02 10:59:33 -05:00
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).
2017-12-02 09:26:22 -05:00
Adriaan de Groot
5a07f6ef8a
Merge branch 'master' into requirements-checking
2017-11-29 09:02:07 -05:00
Adriaan de Groot
2d31e987c0
[libcalamaresui] Unrelated typedef for JobList
2017-11-03 11:02:06 -04:00
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.
2017-09-27 05:34:06 -04:00
Adriaan de Groot
866d338894
Clang: warnings--
2017-09-25 16:28:08 +02:00
Adriaan de Groot
337903db09
Clang: reduce warnings about overriden destructors
2017-09-20 09:11:18 -04:00
Adriaan de Groot
13807ceabf
Licensing: add self
...
- to all the files I've touched recently
- to (very incomplete) AUTHORS list
Licensing: add license info to top-level CMakeLists.txt
2017-09-19 15:57:25 +02:00
Adriaan de Groot
ddb6455365
Revert be2338ff0
(intended just to reduce warnings)
...
- keep the calamaresstyle formatting changes,
- drop shadowing and nullptr changes.
FIXES #805
2017-09-18 15:11:18 +02:00
Adriaan de Groot
be2338ff08
Clang: reduce warnings
2017-09-13 08:03:18 -04:00
Adriaan de Groot
463615a1c0
Clang: don't shadow local variable names
2017-09-10 13:22:54 -04:00
Adriaan de Groot
764fb742ba
Clang: clean up documentation markup
2017-09-10 13:22:54 -04:00
Adriaan de Groot
e26d5ab206
Don't leak memory for allocated modules
2017-08-31 04:13:52 -04:00
Adriaan de Groot
2fdccdf090
Merge branch 'simplify-module-desc'
2017-08-02 11:29:58 -04:00
Adriaan de Groot
e3008657c4
Modules: accept 'viewmodule' as alias of 'view', improve logging on error.
2017-08-02 11:05:32 -04:00
Adriaan de Groot
10eaf06f60
Python: Be more descriptive when modules can't be loaded.
2017-07-05 06:30:23 -04:00
Adriaan de Groot
8ea14d7957
Release: add copyright to files I've touched
2017-06-21 08:27:10 -04:00
Adriaan de Groot
14cba59ab3
Logging: distinguish different failures in module instantiation.
2017-06-06 09:10:13 -04:00
Adriaan de Groot
367fe716b3
Configs: empty config files are ok.
...
The default umount.conf contains no keys -- so it isn't a map,
but it is a valid config file. Avoid the warning by accepting
empty files.
FIX 707
2017-06-02 16:10:08 +02:00
Teo Mrnjavac
99a1c2245f
Documentation++
2017-02-28 18:08:20 +01:00
Teo Mrnjavac
de3c94fc97
Useless debug is useless.
2017-02-28 18:08:20 +01:00
Teo Mrnjavac
d3845144bb
Start from empty str for entry point annotation.
2016-12-16 17:03:00 +01:00
Teo Mrnjavac
a3887d268a
Expose global_storage and utils as objects in PythonQt.calamares.
2016-12-16 17:03:00 +01:00
Teo Mrnjavac
9aefeed648
Expose PythonQt.calamares.global_storage.
2016-12-16 17:03:00 +01:00
Teo Mrnjavac
9570bd94e8
Nor this.
2016-12-16 17:03:00 +01:00
Teo Mrnjavac
c618999418
Properly load new PythonQtViewModule.
...
Only initialize Python if it's not initialized yet.
Inject @calamares_module decorator to fetch the entry class.
2016-12-16 17:03:00 +01:00
Teo Mrnjavac
2736ad6e09
User-visible Type and Interface strings in Module.
2016-12-16 17:03:00 +01:00
Teo Mrnjavac
553062fc11
Fix build.
2016-12-16 17:03:00 +01:00
Teo Mrnjavac
2c3b56c803
Link against PythonQt; new PythonQtViewModule stub.
2016-12-16 17:03:00 +01:00
Kevin Kofler
00d9f211f5
Add support for C++/Qt batch job plugins
...
These job plugins work similarly to view modules, with the following
differences:
* These jobs need to link only libcalamares, not libcalamaresui. For
this reason, PluginFactory was moved from libcalamaresui to
libcalamares. (It depends only on QtCore.)
* Instead of deriving from ViewModule, derive from CppJob (which is a
subclass of Job).
* Like process and Python jobs, a job plugin is a single job, whereas a
ViewModule can generate a whole list of jobs.
The CppJob and CppJobModule classes are new. In Module::fromDescriptor,
the combination type=job, intf=qtplugin is now supported and mapped to
CppJobModule.
2016-09-27 17:25:09 +02:00
Teo Mrnjavac
4662c9c877
Remove irrelevant debug output.
2016-09-19 12:34:45 +02:00
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)
2016-09-01 16:46:14 +01:00
Teo Mrnjavac
c1d1e7cb5a
Prevent memory leak on bad module dir (fix Coverity defect 114172).
2016-02-26 13:22:03 +01:00
Teo Mrnjavac
fb44fb97b6
Massive refactor of module loading, configuration, startup, management.
2015-09-15 16:48:42 +02:00
Teo Mrnjavac
3b56c5c9e8
Use safe QTimer::singleShot connection.
2015-09-15 16:48:41 +02:00
Teo Mrnjavac
506e51598d
Do not dereference a nullptr.
2015-06-21 01:39:28 +02:00
Teo Mrnjavac
11f5b729a8
Avoid dereferencing nullptr.
2015-06-14 01:10:50 +02:00
Teo Mrnjavac
df9daf8fec
Avoid accessing nullptr.
2015-06-14 01:02:50 +02:00
Teo Mrnjavac
233d759a00
Initialize all members even in private ctor.
2015-06-13 21:41:49 +02:00
Teo Mrnjavac
8e16bea3d9
Remove unused members.
2015-06-13 21:32:06 +02:00
Teo Mrnjavac
dda7ea211d
Make ModuleManager accessible from outside CalamaresApplication.
2015-03-10 19:51:08 +01:00
Teo Mrnjavac
4e2e964503
Return configurationMap from Module.
2015-03-10 19:51:08 +01:00
Gormogon
e2d05cb9f2
Align Pointers
2015-02-25 19:57:19 -05:00
Teo Mrnjavac
20bc34029d
Copyright.
2015-01-29 22:46:07 +01:00
Teo Mrnjavac
a670de3035
Add currentPhase to ModuleManager.
2015-01-29 22:46:07 +01:00
Teo Mrnjavac
fef448833e
And some more debug output readability improvements.
2014-10-30 17:36:56 +01:00
Teo Mrnjavac
f2f73b2e87
More meaningful debug output.
2014-10-30 17:30:13 +01:00
Teo Mrnjavac
aaa696f543
Even less debug noise.
2014-10-30 17:25:16 +01:00
Teo Mrnjavac
5b01925d99
Remove debug noise.
2014-10-30 16:26:54 +01:00
Teo Mrnjavac
519ba038cf
Fix build on Qt 5.4, again.
2014-10-28 18:30:37 +01:00
Teo Mrnjavac
9ebc881223
Prevent segfault on exit when module not found.
2014-10-07 16:07:28 +02:00
Teo Mrnjavac
7a3ce363b3
Add option to run process jobmodules in chroot.
2014-08-12 14:26:10 +02:00
Aurélien Gâteau
df89a391c4
Do not try to dereference m_viewStep if it's invalid
2014-08-09 09:10:26 +02:00
Teo Mrnjavac
f5b4de67c4
Properly load module config files with an explicit config path.
2014-08-07 18:05:46 +02:00
Teo Mrnjavac
014469c849
Improve logging in Module.cpp
2014-08-06 16:16:25 +02:00
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.
2014-08-06 11:54:45 +02:00
Aurélien Gâteau
551a6ff9ba
Fix potential memleak
2014-07-30 22:37:05 +02:00
Aurélien Gâteau
b5b72855c3
Queue module jobs in the order they are listed in the "install" section of settings.conf
2014-07-22 16:54:34 +02:00
Teo Mrnjavac
d9f4c74537
Add support for config map to Python job API.
...
Rename PythonJobHelper ==> CalamaresPython::Helper.
Add QVariant to boost::python::object conversion functions.
Rename some constants in the libcalamares Python API.
2014-07-18 14:36:30 +02:00
Teo Mrnjavac
2f03dfa43b
CalamaresPrivate ==> CalamaresPython
2014-07-18 14:36:30 +02:00
Teo Mrnjavac
50ba57a33a
Add optional Python jobmodules support to libcalamaresui.
2014-07-16 16:09:53 +02:00
Teo Mrnjavac
df9f803572
Actually load the additional config map into the ViewStep.
2014-07-15 11:29:21 +02:00
Teo Mrnjavac
2ef5df314b
Make extra configuration map protected in Module.
2014-07-15 11:27:26 +02:00
Teo Mrnjavac
c7c4e52849
Load additional module-specific configuration into a Module object.
2014-07-14 18:10:48 +02:00
Teo Mrnjavac
2dd88344e5
Instantiate the correct type of module from module.conf.
2014-07-14 14:29:24 +02:00
Teo Mrnjavac
1dca92947c
Add already loaded check to ProcessJobModule
2014-07-14 12:08:41 +02:00
Teo Mrnjavac
8d28a2ea5d
Generalized code path for Phase switching. Also load install modules.
2014-07-12 14:38:33 +02:00
Teo Mrnjavac
84bfb2aa95
Fixes for loading modules by phase.
2014-07-12 13:13:15 +02:00