Commit Graph

127 Commits

Author SHA1 Message Date
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
Teo Mrnjavac
7034985b74 Remove MM:loadModulesPrepare. 2014-07-11 14:41:53 +02:00
Teo Mrnjavac
2e47c248ac Load modules by phase, in preparation for actually using new settings. 2014-07-11 14:40:15 +02:00
Teo Mrnjavac
a09ab36386 Better settings format, rename a bit of stuff in module loading. 2014-07-11 14:21:50 +02:00
Teo Mrnjavac
1b4d62ef4d Add ProcessJobModule for loading external commands. 2014-07-10 17:11:03 +02:00
Teo Mrnjavac
8d36a13d92 Style fix. 2014-07-10 16:37:02 +02:00
Teo Mrnjavac
7894bb9462 Module type Core ==> Job, plus const correctness. 2014-07-10 12:27:53 +02:00
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.
2014-07-03 18:00:40 +02:00