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
Gormogon
e2d05cb9f2
Align Pointers
2015-02-25 19:57:19 -05:00
Teo Mrnjavac
b8b41bdfdd
Fix execution environment and error reporting in ProcessJob.
2015-02-25 13:44:55 +01:00
Teo Mrnjavac
9622888d1d
Load QML modules in a central place + dummy QML slideshow.
2015-01-23 20:24:45 +01:00
Kevin Kofler
00604a8bca
PythonHelper: Add support for bool.
...
Convert Python bool type from/to C++/QVariant bool (QVariant::Bool) in
PythonHelper::variantToPyObject and PythonHelper::variantFromPyObject.
This fixes the "override" option and any booleans in the "defaults" list
in grubcfg.conf.
2014-11-18 05:34:01 +01:00
Kevin Kofler
7478c1266b
Point the lib/calamares/libcalamares.so symlink to the versioned so.
...
Point the lib/calamares/libcalamares.so symlink for the Python modules
directly to the versioned lib/libcalamares.so.VERSION library rather
than to the lib/libcalamares.so symlink. This allows distributions to
install the lib/libcalamares.so symlink to a development package and
only ship lib/libcalamares.so.VERSION and lib/calamares/libcalamares.so
in the runtime package. It is also marginally faster (because only one
level of symlinks has to be resolved instead of two).
(I know this works because I have been manually fixing up this symlink
in the Fedora specfile so far.)
2014-11-14 12:30:56 +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
8026a287d3
Shut up Qt lupdate warnings.
2014-10-29 13:06:52 +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
Pier Luigi Fiorini
f0921a41b2
Try to find settings.conf from SYSCONFDIR
...
Honor SYSCONFDIR as specified by CMake arguments instead of
using a hard-coded path.
Since GNUInstallDirs set CMAKE_INSTALL_FULL_SYSCONFDIR to
CMAKE_INSTALL_PREFIX/etc we need to change the default ourselves.
2014-08-20 11:48:30 +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
eb6b8ac613
Add check_chroot_output to Python interface.
2014-08-08 14:20:09 +02:00
Teo Mrnjavac
f90bf469dd
Add chrootOutput/check_chroot_output to libcalamares utils API.
2014-08-08 14:17:34 +02:00
Aurélien Gâteau
1c9265cd21
Merge branch 'wip/resize-partition'
2014-08-07 17:40:03 +02:00
Teo Mrnjavac
5400afa540
Fix settings.conf loading.
2014-08-06 17:23:40 +02:00
Aurélien Gâteau
249a28910a
Make it possible to update message and details fields of a JobResult
2014-08-05 17:37:24 +02:00
Teo Mrnjavac
84ec430729
Add some Python API docs.
2014-08-05 13:23:04 +02:00
Teo Mrnjavac
01efeda801
Utils, not util.
2014-08-04 17:06:16 +02:00
Teo Mrnjavac
c964093d7c
Make libcalamares a proper package and utils a proper submodule.
2014-08-04 17:05:00 +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
70a13fc588
Make logging more useful
...
- Do not log progress percent but log job names.
- Log install failures.
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
Aurélien Gâteau
90670f8b46
Improve formatting of error messages
2014-08-01 09:56:40 +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
Teo Mrnjavac
fb328494b3
Make the libcalamares Python API better for PEP8
2014-07-29 13:16:46 +02:00
Teo Mrnjavac
845ae05f7e
Added debug( str ) to the Python API.
2014-07-28 18:56:00 +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
Teo Mrnjavac
87ee2b8b8c
Improve error reporting for Python jobs.
2014-07-28 17:40:57 +02:00
Teo Mrnjavac
beafcd9cc4
Consistency: calamares_main ==> run; global_storage => globalStorage
2014-07-25 16:46:12 +02:00
Teo Mrnjavac
2a231b3532
Try to avoid passing GlobalStorage to Python by value.
2014-07-24 12:19:14 +02:00
Teo Mrnjavac
da83ecfb13
libcalamares.job is of type libcalamares.Job
2014-07-23 13:02:42 +02:00
Teo Mrnjavac
78de11a412
Emit job progress from Python jobs.
2014-07-23 12:54:53 +02:00
Aurélien Gâteau
89fd6a950b
Add support for per-job progress
2014-07-23 12:04:27 +02:00
Aurélien Gâteau
e9da5cb6cb
Change signature of JobQueue::progress, add finished() signal
...
Now uses a qreal for progress instead of current and total
Also added a finished() signal because determining whether the queue is
finished should not be done by comparing a qreal with 1.0 as this is not
precise.
2014-07-23 10:58:08 +02:00
Teo Mrnjavac
2636a1273f
Add job.setprogress to Python API.
2014-07-22 18:05:58 +02:00
Teo Mrnjavac
c6c2c67560
Rewrite Python error handling to show meaningful messages.
2014-07-22 17:48:56 +02:00
Teo Mrnjavac
0753e6ccde
New GlobalStorage map. With Python API support.
2014-07-21 17:09:23 +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
Aurélien Gâteau
43f29b8058
Start working on tests for partition jobs
2014-07-18 10:51:54 +02:00
Teo Mrnjavac
e33e9de6f6
Symlink lib/calamares/libcalamares.so to lib/libcalamares.so for Python.
2014-07-17 19:42:16 +02:00
Teo Mrnjavac
a61a36d99d
We have a Python API for jobmodules!
...
Created a Boost.Python module interface in libcalamares.
Added a PythonJob wrapper and exposed it in the Python module.
Rename target calamareslib ==> calamares so in Python it's libcalamares.
Python-related classes in libcalamares that aren't exported as C++
symbols are now in a CalamaresPrivate namespace.
Import the libcalamares python module into every Python script before
running it.
Added Python error handling to PythonJobHelper.
Added some more testing code to dummypython module.
2014-07-17 19:42:16 +02:00
Teo Mrnjavac
b924aeef2b
Add optional Python jobs support to libcalamares.
2014-07-16 16:07:32 +02:00
Teo Mrnjavac
754ef7dbbc
Fix prettyName.
2014-07-16 16:02:14 +02:00
Aurélien Gâteau
7096213206
Move partitionmanager code to src/modules/partition
2014-07-15 11:54:09 +02:00
Teo Mrnjavac
51e5976a99
Better error message.
2014-07-14 14:28:52 +02:00
Teo Mrnjavac
2e47c248ac
Load modules by phase, in preparation for actually using new settings.
2014-07-11 14:40:15 +02:00
Aurélien Gâteau
22ff18f2cc
Update partitionmanager submodule, fixing build without KIO
2014-07-11 14:11:51 +02:00
Aurélien Gâteau
784f07cbbc
Update partitionmanager submodule: latest commits from the frameworks branch
...
@demm: This includes the btrfs fix
2014-07-10 20:00:53 +02:00
Aurélien Gâteau
2e3f1c655c
Update partitionmanager submodule, necessary for next commit
2014-07-10 19:54:23 +02:00
Aurélien Gâteau
b1ce4afc8c
Update partitionmanager submodule
2014-07-10 18:27:51 +02:00
Teo Mrnjavac
b3aae75bed
Add working directory to ProcessJob
2014-07-10 16:45:13 +02:00