Skip to content
Snippets Groups Projects
Select Git revision
  • 07b6b1265b73bcb65da6d12dca3c28af23e44764
  • 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

  • Open with
  • Download source code
  • Your workspaces

      A workspace is a virtual sandbox environment for your code in GitLab.

      No agents available to create workspaces. Please consult Workspaces documentation for troubleshooting.

  • user avatar
    Teo Mrnjavac authored
    07b6b126
    History

    Calamares: Distribution-Independent Installer Framework


    GitHub release Build Status Coverity Scan Build Status GitHub license

    Report a Bug Contribute Translate Freenode (IRC): #calamares

    Dependencies

    Compiler with C++11 support: GCC >= 4.8.4 or Clang >= 3.5.1

    Main Welcome module Partitioning module Bootloader module Unpackfs module
    CMake >= 2.8.12 NetworkManager extra-cmake-modules systemd-boot or GRUB2 squashfs-tools
    Qt >= 5.3 UPower kconfig (part of KF5) sgdisk rsync
    yaml-cpp >= 0.5.1 solid (part of KF5)
    Python >= 3.3 kcoreaddons (part of KF5)
    Boost.Python >= 1.55.0 ki18n (part of KF5)
    dmidecode sgdisk

    Deployment

    Setting up branding

    Working with modules

    Building

    Clone Calamares from GitHub and cd into the calamares directory, then:

    $ git submodule init
    $ git submodule update
    $ mkdir build
    $ cd build
    $ cmake -DCMAKE_BUILD_TYPE=Debug -DWITH_PARTITIONMANAGER=1 ..
    $ make

    Design Notes

    Calamares is currently split as follows:

    1. libcalamares - The back-end 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).
    1. libcalamaresui - The front-end library.
    • Same dependencies as libcalamares, plus QtWidgets and other Qt modules.
    • Comes with a module loading system, for different kinds of plugins.
    • Supports branding components.
    • Presents a bunch of pages in a scripted order, enqueues jobs in the back-end library.
    1. calamares - The main executable.
    • A thin wrapper around libcalamaresui; starts up and plugs together all the parts.