CutefishOS Installer.
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.
 
 
 
 
 
 
Calamares CI 3c6cfd5bd2 Automatic merge of Transifex translations 10 years ago
.tx
CMakeModules
data/images Add replace icon. 10 years ago
hacking hacking/GlobalStorage.md: Document the "branding" dictionary. 10 years ago
lang Automatic merge of Transifex translations 10 years ago
src Only set the slideshow if the branding component has one. 10 years ago
.gitignore
.gitmodules
AUTHORS
CMakeLists.txt Initial commit for QML slideshow support. 10 years ago
CalamaresAddBrandingSubdirectory.cmake
CalamaresAddLibrary.cmake
CalamaresAddModuleSubdirectory.cmake
CalamaresAddPlugin.cmake
CalamaresBuildTreeSettings.cmake.in
CalamaresConfig.cmake.in
CalamaresConfigVersion.cmake.in
CalamaresUse.cmake.in
HACKING.md
LICENSE
README.md Update README.md 10 years ago
calamares.desktop
cmake_uninstall.cmake.in
com.github.calamares.calamares.policy
settings.conf Add a machineid module. 10 years ago

README.md

Calamares

Distribution-independent installer framework

Report bugs here

Build Status

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.