Distribution-independent installer framework
8e9bf1c2a9
With 1 CPU, Calamares still spawns 9 threads or so: eventloop, dbus loop, QML loop, ... many of those are invisible to the application. Contention occurs on startup when the UI is constructed, and we end up with the module manager creating widgets alongside, or ahead of, the main window UI. This can result in deadlock: - in CalamaresApplication::initViewSteps - in QML imports This is partly because the signal-slots connections get "deep": from loadModules() we emit *modulesLoaded* which ends up showing the main window in initViewSteps(). Avoid this with a QTimer: drop back to the event loop and release whatever locks are held, so the QML thread can get on with it already. Then the timer goes off and the view steps are created. |
||
---|---|---|
.github/ISSUE_TEMPLATE | ||
.reuse | ||
.tx | ||
3rdparty | ||
ci | ||
CMakeModules | ||
data | ||
lang | ||
LICENSES | ||
man | ||
src | ||
.clang-format | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
AUTHORS | ||
calamares.desktop | ||
calamares.desktop.in | ||
CalamaresConfig.cmake.in | ||
CHANGES | ||
cmake_uninstall.cmake.in | ||
CMakeLists.txt | ||
com.github.calamares.calamares.policy | ||
Dockerfile | ||
io.calamares.calamares.appdata.xml | ||
README.md | ||
settings.conf |
Calamares: Distribution-Independent Installer Framework
Report a Bug | Translate | Contribute | Freenode (IRC): #calamares | Wiki |
---|
Dependencies
Main:
- Compiler with C++14 support: GCC >= 5 or Clang >= 3.5.1
- CMake >= 3.3
- Qt >= 5.9
- yaml-cpp >= 0.5.1
- Python >= 3.3 (required for some modules)
- Boost.Python >= 1.55.0 (required for some modules)
- KDE extra-cmake-modules >= 5.18 (recommended; required for some modules; required for some tests)
- KDE Frameworks KCoreAddons (>= 5.58 recommended)
- PythonQt (optional, deprecated)
Individual modules may have their own requirements; these are listed in CMake output. Particular requirements (not complete):
- fsresizer KPMCore >= 3.3 (>= 4.1 recommended)
- partition KPMCore >= 3.3 (>= 4.1 recommended)
- users LibPWQuality (optional)
Building
See wiki for up to date building and deployment instructions.