Distribution-independent installer framework
75f4f0fa04
KPM docs misreport Partition::available to be in sectors, when it's actually in bytes. Because of this, available space estimates were completely off and resizing was allowed even when there's no room to do it. This used to put the resize widget in all sorts of weird, visually broken states. CAL-188 #comment Does this still happen with current master? |
||
---|---|---|
.tx | ||
CMakeModules | ||
data/images | ||
hacking | ||
lang | ||
src | ||
.gitignore | ||
.gitmodules | ||
AUTHORS | ||
calamares.desktop | ||
CalamaresAddBrandingSubdirectory.cmake | ||
CalamaresAddLibrary.cmake | ||
CalamaresAddModuleSubdirectory.cmake | ||
CalamaresAddPlugin.cmake | ||
CalamaresBuildTreeSettings.cmake.in | ||
CalamaresConfig.cmake.in | ||
CalamaresConfigVersion.cmake.in | ||
CalamaresUse.cmake.in | ||
cmake_uninstall.cmake.in | ||
CMakeLists.txt | ||
com.github.calamares.calamares.policy | ||
HACKING.md | ||
LICENSE | ||
README.md | ||
settings.conf |
Calamares: Distribution-Independent Installer Framework
Report a Bug | Contribute | Freenode (IRC): #calamares |
---|
Dependencies
Main | Partitioning Module |
---|---|
CMake >= 2.8.12 | extra-cmake-modules |
Qt >= 5.3 | kconfig (part of KF5) |
yaml-cpp >= 0.5.1 | solid (part of KF5) |
Python >= 3.3 | kcoreaddons (part of KF5) |
Boost.Python >= 1.55.0 | ki18n (part of KF5) |
Building
$ git submodule init
$ git submodule update
$ mkdir build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Debug ..
$ make
Design Notes
Calamares is currently split as follows:
- libcalamares - The back-end library.
- Only depends on QtCore, yaml-cpp, Python and Boost.Python.
- Provides a job queue and generic jobs.
- Comes with 3 job interfaces: C++, Python and process (the latter is very limited).
- libcalamaresui - The front-end library.
- Same dependencies as libcalamares, plus QtWidgets and other Qt modules.
- Comes with a module loading system, for different kinds of plugins.
- Themeable, so branding can be done easily (plugin-based, TBD).
- Presents a bunch of pages in a scripted order, enqueues jobs in the back-end library.
- calamares - The main executable.
- A thin wrapper around libcalamaresui; starts up and plugs together all the parts.