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.
 
 
 
 
 
 
Teo Mrnjavac 4ba9e3d966 Add new jobmodules to settings.conf. 12 years ago
CMakeModules Fix finding of Boost.Python on Ubuntu 12 years ago
hacking FillGlobalStorageJob: Add the partition UUID to global storage 12 years ago
images
lang
src Merge pull request #91 from calamares/services-module 12 years ago
.gitignore Ignore Python files 12 years ago
.gitmodules
AUTHORS
CMakeLists.txt calapmtest is not useful anymore 12 years ago
CalamaresAddLibrary.cmake
CalamaresAddModuleSubdirectory.cmake module.conf ==> module.desc everywhere. 12 years ago
CalamaresAddPlugin.cmake Correctly install configuration files for viewmodules. 12 years ago
CalamaresBuildTreeSettings.cmake.in
CalamaresConfig.cmake.in We have a Python API for jobmodules! 12 years ago
CalamaresConfigVersion.cmake.in
CalamaresUse.cmake.in
HACKING.md Licensing rules in HACKING.md 12 years ago
LICENSE
README.md Update README.md 12 years ago
cmake_uninstall.cmake.in
settings.conf Add new jobmodules to settings.conf. 12 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.