Commit Graph

131 Commits

Author SHA1 Message Date
Adriaan de Groot
0020fd885c [libcalamares] Remove unused extern declaration 2018-01-16 13:23:51 +01:00
Adriaan de Groot
a2bdc12f25 [libcalamares] Drop unused plugin defines
- Remove some superfluous intermediate defines
 - baseFactory was not used (always Calamares::PluginFactory)
 - Move DECLARATION and DEFINITIONS apart
 - CALAMARES_PLUGIN_FACTORY_DEFINITION was redefined (identically)
 - CALAMARES_PLUGIN_FACTORY_DECLARATION was redefined (identically)
 - __VA_ARGS__ was constant
2018-01-16 13:23:09 +01:00
Adriaan de Groot
f01c7cda6b [libcalamares] Fix debug output classname 2018-01-15 08:41:24 -05:00
Adriaan de Groot
913690650f [libcalamares] Move CommandList into libcalamares
- Move CommandList so it can be used from more modules than
   just ShellProcess
 - Allow a CommandList to run itself. This centralizes
   code for executing one or more commands and simplifies
   the ShellProcess module.

Various small cleanups:
 - mention instance id in log message
 - code formatting / style
2018-01-15 06:52:55 -05:00
Adriaan de Groot
60f4dd7b3b [libcalamares] Improve explanation of failed processes. 2018-01-15 05:51:58 -05:00
Adriaan de Groot
4ff1a0d5ea [libcalamares] another convenience for running commands
Back targetEnvCommand() with a more general runCommand()
that takes an argument selecting the location to run
the command in. This allows us also to use the same
API for running processes in the host during install,
as we do for running them in the target system.

One reason for this change is wanting to run (user-specified)
commands and independently from the global dontChroot setting,
run those commands in the live system or the target.

This changes the ABI of the DLL, since targetEnvCommand()
is no longer exported. Plugins will need to be recompiled.

 - refactor targetEnvCommand() into more general runCommand().
 - While here, allow host system commands to run even if
   there is no global storage.
 - provide convenience accessors for ProcessResult members
 - Move explanation of process errors out of ProcessJob
   - Move from ProcessJob to ProcessResult, so it can be
     reused outside of ProcessJob (e.g. from ShellProcessJob).
   - Add some convenience functions, too.
2018-01-12 10:32:42 -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
8a053f3c9b [libcalamares] Allow retrieving chroot mode from system (as well as settings) 2017-12-03 10:09:00 -05:00
Adriaan de Groot
c284304872 [libcalamares] Adjust copyright lines 2017-11-28 11:41:17 -05:00
Adriaan de Groot
9d31380980 [libcalamares] Refactor target-environment calls
- Add a more general targetEnvCommand() that returns both
   error code and process output.
 - Change existing targetEnvCall() and targetEnvOutput()
   to use general form while discarding some data.
2017-11-28 10:27:24 -05:00
Adriaan de Groot
1f3f6111f7 [libcalamares] Log output from failed commands 2017-11-28 08:40:12 -05:00
Adriaan de Groot
7a7e2b16cb [libcalamares] Some extra system-information functions 2017-11-08 09:51:46 -05:00
Adriaan de Groot
e83b4d33f8 [libcalamares] Another convenience config-extraction function 2017-11-08 07:40:44 -05:00
Adriaan de Groot
f3eb557fdb [libcalamares] Provide some convenience functions for extracting configuration data 2017-11-03 11:02:06 -04:00
Adriaan de Groot
34761c4214 Clang: reduce 0-as-nullptr warnings 2017-09-20 09:24:22 -04:00
Adriaan de Groot
9693d7a5bd Memory: clean up interface used to get memory (RAM) size 2017-09-20 09:11:02 -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
6d880b5631 Replace memory-size detection.
- drop use of dmidecode to determine exact physical memory size
 - use sysinfo() to find memory size (assumes linux 2.3.48 or later)
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
297e97da19 Clang: tidy up warnings in logger 2017-09-11 11:03:25 +02:00
Adriaan de Groot
9116718448 Clang: warnings-reduction 2017-09-10 15:19:36 -04:00
Adriaan de Groot
a06911e9aa Clang: refactor units-converters, reduce warnings 2017-09-10 13:22:32 -04:00
Adriaan de Groot
106f18e074 Log process output of failed commands
FIXES #612
2017-08-23 16:44:09 -04:00
Adriaan de Groot
75b5303b49 i18n: stop trying to install Qt translations 2017-06-29 06:29:29 -04:00
Adriaan de Groot
5cd328dad3 Clang: if we're going to crash on purpose, crash the C++ way 2017-06-28 08:44:59 -04:00
Adriaan de Groot
0d884869e5 Clang: reduce warnings about code-documentation 2017-06-27 07:17:40 -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
2148538fac Clang: reduce warnings 2017-06-21 07:28:38 -04:00
Teo Mrnjavac
6c7cdb5f50 Documentation++ 2017-03-01 13:35:06 +01:00
Teo Mrnjavac
b1c67f429f Update headers. 2016-12-16 17:03:13 +01:00
Teo Mrnjavac
99ca3d768d Expose translator locale name. 2016-12-16 17:03:13 +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
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
576fdcc7a0 Print log file path. 2016-01-14 15:32:52 +01:00
Teo Mrnjavac
e59418e880 Add crash utility to CalamaresUtils. 2015-12-30 17:27:02 +01:00
Teo Mrnjavac
baa3553db5 Add CalamaresUtils::obscure. 2015-09-25 15:24:59 +02:00
Teo Mrnjavac
1534b0a27c Try to fix dontChroot command execution. 2015-09-15 16:48:41 +02:00
Teo Mrnjavac
a4ea7e65a2 Try running no-chroot commands in env rather than sh -c. 2015-09-15 16:48:41 +02:00
Rohan Garg
ca393d0a44 Set the default rootMountPoint when not chroot'ing 2015-09-15 16:48:41 +02:00
Teo Mrnjavac
7212aaec74 Fix the last fix. 2015-09-15 16:48:41 +02:00
Teo Mrnjavac
d8818e0280 Fix non-chroot target env call. 2015-09-15 16:48:41 +02:00
Teo Mrnjavac
42e465aa10 CalamaresUtils::System is now a class. 2015-09-15 16:48:41 +02:00
Teo Mrnjavac
0803d86c40 Don't duplicate code. 2015-09-15 16:48:41 +02:00
Teo Mrnjavac
2e3751ffa7 If dont-chroot is set, don't chroot target env calls. 2015-09-15 16:48:41 +02:00
Teo Mrnjavac
bf885d65db chroot calls are now generic "target env" calls. 2015-09-15 16:48:41 +02:00
Teo Mrnjavac
5e2f6ff2b8 Detect physical memory, with dmidecode and meminfo as backup. 2015-06-10 00:06:45 +02:00
Teo Mrnjavac
09ae0bcbd6 Add branding translations support to CalamaresUtils::installTranslator. 2015-05-07 16:10:42 +02:00
Teo Mrnjavac
8a02522d60 Add CALAMARES_RETRANSLATE_WIDGET 2015-05-07 16:10:42 +02:00
Teo Mrnjavac
8b98b1cc24 Do not filter out LanguageChange events when in a RETRANSLATE functor. 2015-04-08 18:25:03 +02:00
Gormogon
e2d05cb9f2 Align Pointers 2015-02-25 19:57:19 -05:00
Teo Mrnjavac
9622888d1d Load QML modules in a central place + dummy QML slideshow. 2015-01-23 20:24:45 +01:00
Teo Mrnjavac
8575240b95 Capture by-val in Retranslator macro. 2014-11-11 17:05:56 +01:00
Teo Mrnjavac
e5c3888be2 Allow multiple CALAMARES_RETRANSLATE blocks in the same widget. 2014-11-11 15:12:44 +01:00
Teo Mrnjavac
945b59748a Add RETRANSLATE macro to CalamaresUtils::Retranslator. 2014-11-11 15:12:44 +01:00
Teo Mrnjavac
08b90e975b Add retranslator class to CalamaresUtils. 2014-11-11 12:44:32 +01:00
Teo Mrnjavac
8b343ace4a QTranslator switching in CalamaresUtils. 2014-11-10 12:26:03 +01:00
Teo Mrnjavac
633c8512c2 Try to make compile on Qt 5.4 2014-10-28 18:20:28 +01:00
Teo Mrnjavac
a97297a3fe Attempt to fix #125 2014-10-28 12:02:08 +01:00
Teo Mrnjavac
d97bb47f09 Add proper QResrouce system to libcalamaresui, finish up prepare checks
This also adds ImageRegistry, a SVG cache, a bunch of utility functions
for shared pixmaps in CalamaresUtilsGui and renames several qrc files
in viewmodules.
2014-08-26 18:24:51 +02:00
Teo Mrnjavac
ec7edc4b83 Improve diacritics transliteration. 2014-08-19 11:14:26 +02:00
Teo Mrnjavac
6295f48ab7 Add removeDiacritics function to CalamaresUtils. 2014-08-13 17:15:56 +02:00
Teo Mrnjavac
7a3ce363b3 Add option to run process jobmodules in chroot. 2014-08-12 14:26:10 +02:00
Teo Mrnjavac
f90bf469dd Add chrootOutput/check_chroot_output to libcalamares utils API. 2014-08-08 14:17:34 +02:00
Teo Mrnjavac
5400afa540 Fix settings.conf loading. 2014-08-06 17:23:40 +02:00
Teo Mrnjavac
c64e229142 By default, chrootCall should never time out. 2014-08-04 16:23:12 +02:00
Teo Mrnjavac
45ac91c784 Add check_chroot_call to libcalamares Python interface. 2014-08-04 16:06:29 +02:00
Aurélien Gâteau
26e5500e33 chrootCall: Log messages on failure, as well as command outputs 2014-08-01 17:26:18 +02:00
Aurélien Gâteau
6376e1daef Start the process before calling waitForStarted() 2014-08-01 17:26:18 +02:00
Aurélien Gâteau
45101d15b0 Store log in ~/.cache by default 2014-08-01 11:36:22 +02:00
Aurélien Gâteau
1b695b7355 Fix crash when logging at exit time 2014-08-01 10:56:30 +02:00
Teo Mrnjavac
e7e57689d8 Make sure chrootCall with args list actually passes the args as list. 2014-07-30 12:43:15 +02:00
Teo Mrnjavac
63534f7154 Add mount and chrootCall utilities to libcalamares + Python wrappers. 2014-07-29 20:21:40 +02:00
Aurélien Gâteau
d30b6300ab Unbreak locating of config file when run without --config 2014-07-28 18:36:24 +02:00
Aurélien Gâteau
289704ab90 Make it possible to override the config dir from the command line 2014-07-28 18:12:08 +02:00
Aurélien Gâteau
3cc7fe3245 Rename config.h to CalamaresConfig.h
Avoid name clashes with partitionmanager's config.h
2014-06-26 14:22:13 +02:00
Teo Mrnjavac
6324feb2f3 Probably best to not even try to mkdir /usr/lib 2014-06-24 13:38:01 +02:00
Teo Mrnjavac
ef48f36445 Add modules path in build dir if --debug.
Also fix config.h location.
2014-06-24 13:35:21 +02:00
Teo Mrnjavac
05d355f21f Config files are YAML, not JSON. We depend on yaml-cpp for parsing. 2014-06-13 16:40:42 +02:00
Teo Mrnjavac
4e14ec7834 Fixed defines for Logger 2014-06-12 13:49:58 +02:00
Teo Mrnjavac
b21dc4fe4c Added Utils, Logger, Translations, QCommandLineParser, init boilerplate 2014-06-06 17:19:59 +02:00