Distribution-independent installer framework
Find a file
Pier Luigi Fiorini 2020eb0eb3 Raise CMake requirement to 3.0+
FindPythonLibs.cmake from CMake 2.8.x is not capable of finding Python
libraries on Maui, updating to CMake 3.x solves the problem.

Looks like it is better crafted.

Other parties interested in Calamares should already have CMake 3.x
so this is not a problem.
2014-08-18 12:55:20 +02:00
CMakeModules Fix finding of Boost.Python on Ubuntu 2014-07-17 14:54:13 +02:00
hacking FillGlobalStorageJob: Add the partition UUID to global storage 2014-07-28 14:58:06 +02:00
images Behold the mighty Calamares squid. 2014-07-08 18:28:27 +02:00
lang Added Utils, Logger, Translations, QCommandLineParser, init boilerplate 2014-06-06 17:19:59 +02:00
src Documentation. 2014-08-18 09:38:01 +02:00
.gitignore Ignore Python files 2014-07-24 10:16:09 +02:00
.gitmodules Move partitionmanager code to src/modules/partition 2014-07-15 11:54:09 +02:00
AUTHORS AUTHORS file. 2014-06-11 13:39:44 +02:00
CalamaresAddLibrary.cmake Remove debug spam from CalamaresAddLibrary.cmake. 2014-07-03 18:11:36 +02:00
CalamaresAddModuleSubdirectory.cmake module.conf ==> module.desc everywhere. 2014-08-06 16:01:39 +02:00
CalamaresAddPlugin.cmake Correctly install configuration files for viewmodules. 2014-08-08 10:38:15 +02:00
CalamaresBuildTreeSettings.cmake.in CMake skeleton. 2014-06-04 16:35:26 +02:00
CalamaresConfig.cmake.in We have a Python API for jobmodules! 2014-07-17 19:42:16 +02:00
CalamaresConfigVersion.cmake.in CMake skeleton. 2014-06-04 16:35:26 +02:00
CalamaresUse.cmake.in Add CalamaresAddModuleSubdirectory, a CMake function for modules that 2014-07-14 16:26:10 +02:00
cmake_uninstall.cmake.in CMake skeleton. 2014-06-04 16:35:26 +02:00
CMakeLists.txt Raise CMake requirement to 3.0+ 2014-08-18 12:55:20 +02:00
HACKING.md Licensing rules in HACKING.md 2014-08-11 16:50:22 +02:00
LICENSE Update LICENSE 2014-06-03 22:32:42 +02:00
README.md Update README.md 2014-08-13 17:53:40 +02:00
settings.conf Adding needed grub and initcpio to phase 2 2014-08-15 16:10:22 -04:00

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.