Skip to content
Snippets Groups Projects
Select Git revision
  • 0946789f9e104d349385b1c08c2de67d11ed5fb1
  • development default protected
  • 3.2.x-stable
  • prepare
  • 6b369dc5
  • 3.1.x-stable
  • 3.0.x-stable
  • 2.4.x-stable
  • v3.2.61
  • v3.2.60
  • v3.2.59
  • v3.2.54
  • v3.2.53
  • v3.2.52
  • v3.2.51
  • v3.2.48
  • v3.2.45
  • v3.2.44.3
  • v3.2.44
  • v3.2.40
  • v3.2.13
  • v3.2.9
  • v3.2.8
  • v3.2.7
  • v3.2.6
  • v3.2.5
  • v3.2.4
  • v3.2.3
28 results

calamares

  • Clone with SSH
  • Clone with HTTPS
  • user avatar
    Aurélien Gâteau authored
    0946789f
    History

    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

    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.

    Some modules require additional dependencies: for example the partition viewmodule pulls in partitionmanager, which in turn requires a few KF5 libraries.