Commit Graph

242 Commits

Author SHA1 Message Date
Adriaan de Groot
f5aec1ad8a [libcalamares] Add output to CalledProcessError
- Refactor, internal _handle_check_target_env_call_error doesn't need
   to be in header or visible.
 - Add optional output (of the command) to the Python exception.
2017-11-28 08:53:40 -05:00
Adriaan de Groot
1f3f6111f7 [libcalamares] Log output from failed commands 2017-11-28 08:40:12 -05:00
Adriaan de Groot
b4d4351825 [libcalamares] Better Python traceback handling:
- log the whole error message as plain text
 - convert to HTML only for the ui
2017-11-28 08:33:32 -05:00
Adriaan de Groot
188050a77c Merge branch 'master' into usertracking 2017-11-21 07:29:49 -05:00
Adriaan de Groot
e8e284f724 Merge remote-tracking branch 'origin/kcrash' 2017-11-13 13:18:53 +01: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
2d31e987c0 [libcalamaresui] Unrelated typedef for JobList 2017-11-03 11:02:06 -04:00
Adriaan de Groot
33f78b375d Merge branch 'master' into kcrash 2017-09-27 09:52:01 -04:00
Adriaan de Groot
dcc66c2793 Clang: for gcc, don't produce empty COMPILE_FLAGS 2017-09-25 17:08:09 +02:00
Adriaan de Groot
6924bd7d23 Clang: produce fewer warnings (all caused by boost headers) 2017-09-25 16:33:48 +02:00
Adriaan de Groot
7f00073e7f Clang: warnings-- 2017-09-25 16:23:47 +02:00
Adriaan de Groot
a4a05acc61 Remove more crashreporter references 2017-09-20 09:25:05 +02:00
Adriaan de Groot
40c49bd50d Clang: be more explicit about marking third-party code.
- This is only a partial solution to warnings caused by third-party
   code, since #including the headers from other sources won't apply
   the warning-suppressions.
 - Flags are not applied when building the source as part of a larger
   target, but are on re-building just one object (it seems -- CMake
   issue to track down).
2017-09-21 04:53:09 -04:00
Adriaan de Groot
34761c4214 Clang: reduce 0-as-nullptr warnings 2017-09-20 09:24:22 -04:00
Adriaan de Groot
337903db09 Clang: reduce warnings about overriden destructors 2017-09-20 09:11:18 -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
0c129f2460 Reduce third-part warnings a better way.
Thanks to Kevin Kofler for pointing out what I'd forgotten about
source-file flags. While at it, introduce a generic mechanism for
suppressing warnings in third-party code.

Mostly reverts 4930484931
2017-09-19 16:49:14 +02: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
4930484931 CMake: massage build of libcalamares
- Build also two OBJECT libraries,
 - Allow changing Clang warnings for third-party code.
2017-09-18 14:59:53 +02:00
Adriaan de Groot
eede92646d CMake: shuffle includes, drop useless (empty) QT_INCLUDE_DIR 2017-09-18 12:32:37 +02:00
Adriaan de Groot
a266ecb133 CMake: simplify definitions, distinguish kinds of sources 2017-09-17 06:48:07 -04:00
Adriaan de Groot
03d9dbe099 Clean up CMakeLists, linking 2017-09-13 18:29:56 +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
2c81fceacb Python: KeyError because pretty_name may not exist 2017-08-23 04:59:04 -04:00
Adriaan de Groot
5dc70ac261 Python-i18n: apply C++-coding style 2017-08-21 12:36:04 -04:00
Adriaan de Groot
538c59adb9 Python-i18n: add /usr/local/share/locale to search 2017-08-21 12:34:38 -04:00
Adriaan de Groot
d6d5f54d00 Python-i18n: clarify debugging 2017-08-21 10:37:35 -04:00
Adriaan de Groot
22fd428664 Python-i18: avoid duplicate path entries 2017-08-18 14:22:59 -04:00
Adriaan de Groot
3a1d5ed533 Python-i18n: (inefficiently) search for suitable gettext dirs 2017-08-18 13:06:44 -04:00
Adriaan de Groot
78b3c8ed32 Python-i18n: allow None as a gettext path (searches default) 2017-08-16 16:45:34 +02:00
Adriaan de Groot
74be2fd098 Python-i18n: implement gettext functions in libcalamares.utils
- remove Job.gettextPath
 - add libcalamares.utils.gettext_path()
 - add libcalamares.utils.gettext_lang()
 - modify examples in main.py
 - add some gettext debug-output from dummypython
 - correct namespace mis-labeling
 - provide two forms of GlobalStorage
   - regular use, has a JobQueue with storage
   - testing use, creates GlobalStorage separately, provide
     independent access to that for Python.
2017-08-16 10:53:11 +02:00
Adriaan de Groot
d4c714c400 Python: fix up testing script
- Didn't run at all (at least since v3.1) because of mismatch between
  GlobalStorage constructor arguments and use; special-case None
  in the C++ code to allocate a new GlobalStorage object.
2017-08-15 13:58:43 +02:00
Adriaan de Groot
6370898154 Python-i18n: make it compile again 2017-08-15 13:21:17 +02:00
Adriaan de Groot
cbfdd8690d Python-i18n: WIP, moving API to libcalamares.utils 2017-08-15 12:31:47 +02:00
Adriaan de Groot
b922d88b0f Python-i18n: add a gettext_path for python job modules 2017-08-10 15:39:24 -04:00
Adriaan de Groot
34b96148ae Python: at beginning of job, if pretty status has changed, emit progress to update it in the UI. 2017-07-10 11:58:57 -04:00
Adriaan de Groot
11e5a6cbe0 Python: trim description to the first line of run.__doc__ 2017-07-10 11:58:57 -04:00
Adriaan de Groot
a72cc0eeb4 Python: use the module run().__doc__ as a pretty description. 2017-07-05 06:46:29 -04:00
Adriaan de Groot
f12ae5db3b Python: get docstring from run() method 2017-07-05 06:46:29 -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
f2d2218070 Clang: fix warning about implict copy-ctor with explicit move-ctor 2017-06-27 07:15:31 -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
Adriaan de Groot
d29acf4a06 Logging: add a global storage dump method 2017-06-06 09:22:21 -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
Teo Mrnjavac
3170067089 Make JobResult inheritable and remove obsolete Status enum. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
0f734c8c5c Make sure to only call Py_Initialize if Python is not initialized. 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
Teo Mrnjavac
ada620effc Find PythonQt. 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
Jonathan Carter
c83ca9af44 Fix spelling mistake in kdsingleapplicationguard.cpp (#257)
s/emty/empty/g.
2016-09-12 07:56:13 +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
0684a761bd Copyright. 2016-08-19 12:49:36 +02:00
Teo Mrnjavac
d99d7bfdff Expose CalamaresUtils::obscure as libcalamares.utils.obscure. 2016-08-19 12:49:36 +02:00
Teo Mrnjavac
f8078be2fd Wrap CalamaresUtils::obscure in CalamaresPython. 2016-08-19 12:49:36 +02:00
shainer
2349f7125e Add conversion utilities from QHash to py dict. When translating from pydict, however, translate into a QMap as before to keep current behaviour. 2016-07-04 22:30:45 +01:00
Teo Mrnjavac
9fb9aaf6e4 Install CrashReporter handler. 2016-03-23 18:48:08 +01:00
Teo Mrnjavac
fe1e1cb3c0 Export WITH_KCRASH in CalamaresConfig.h.in. 2016-03-16 12:19:19 +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
834299f785 There are no Phases any more, just a ModuleAction for a module. 2015-09-15 16:48:42 +02:00
Teo Mrnjavac
9cb4e60b31 Namespace fixage. 2015-09-15 16:48:42 +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
326671a3d6 Remove dead (unreachable) code. 2015-06-13 21:31:32 +02:00
Teo Mrnjavac
b9dbf668f3 Initialize previously uninitialized scalar. 2015-06-13 21:31:06 +02:00
Teo Mrnjavac
30a840ceb0 Fix issue with changed() never being emitted on remove in GS. 2015-06-13 21:30:25 +02:00
Teo Mrnjavac
eae237211f Add prettyStatusMessage to {Python,Process}Job. 2015-06-13 02:23:11 +02:00
Teo Mrnjavac
b0d52fb928 Use it in JobQueue. 2015-06-13 02:03:57 +02:00
Teo Mrnjavac
18a9e0db48 Add optional prettyStatusMessage to Job. 2015-06-13 02:03:35 +02:00
Teo Mrnjavac
659a388688 Improve job status reporting. 2015-06-13 01:16:11 +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
d45d436161 Add optional prettyDescription to Job. 2015-04-13 14:58:33 +02:00
Teo Mrnjavac
8b98b1cc24 Do not filter out LanguageChange events when in a RETRANSLATE functor. 2015-04-08 18:25:03 +02:00
Teo Mrnjavac
52528f650c JobQueue emits queueChanged. 2015-03-10 19:51:08 +01:00
Teo Mrnjavac
edb21e05af New GlobalStoragePythonWrapper is passed to the Python API.
This allows us to make GlobalStorage a QObject, with disabled copy
constructor. And thanks to this change, GlobalStorage now emits
changed() every time an insert or remove is performed.
2015-03-10 19:51:08 +01:00
Teo Mrnjavac
d1c4976ee6 Copyright. 2015-03-10 19:51:08 +01:00
Teo Mrnjavac
d8ca5eee5b Friend DebugWindow to GlobalStorage for future use. 2015-03-10 19:51:08 +01:00