mirror of https://github.com/cutefishos/calamares
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
96d863b22b
In particular, this also ensures that the directory gets created on the target system so things can be mounted into it. Fixes #173. |
10 years ago | |
---|---|---|
.tx | 10 years ago | |
CMakeModules | 10 years ago | |
data/images | 10 years ago | |
hacking | 10 years ago | |
lang | 10 years ago | |
src | 10 years ago | |
.gitignore | 10 years ago | |
.gitmodules | 11 years ago | |
AUTHORS | 11 years ago | |
CMakeLists.txt | 10 years ago | |
CalamaresAddBrandingSubdirectory.cmake | 10 years ago | |
CalamaresAddLibrary.cmake | 11 years ago | |
CalamaresAddModuleSubdirectory.cmake | 11 years ago | |
CalamaresAddPlugin.cmake | 11 years ago | |
CalamaresBuildTreeSettings.cmake.in | 11 years ago | |
CalamaresConfig.cmake.in | 11 years ago | |
CalamaresConfigVersion.cmake.in | 11 years ago | |
CalamaresUse.cmake.in | 10 years ago | |
HACKING.md | 11 years ago | |
LICENSE | 11 years ago | |
README.md | 10 years ago | |
calamares.desktop | 10 years ago | |
cmake_uninstall.cmake.in | 11 years ago | |
com.github.calamares.calamares.policy | 10 years ago | |
settings.conf | 10 years ago |
README.md
Calamares
Distribution-independent installer framework
Dependencies
- CMake >= 2.8.12
- Qt >= 5.3
- yaml-cpp >= 0.5.1
- Python >= 3.3
- Boost.Python >= 1.55.0
Additional dependencies, only for the partitioning module:
- extra-cmake-modules
- kconfig (part of KF5)
- solid (part of KF5)
- kcoreaddons (part of KF5)
- 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 backend 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 frontend 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 backend library;
- calamares - the main executable,
- a thin wrapper around libcalamaresui, starts up and plugs together all the parts.