Skip to content
Snippets Groups Projects
Select Git revision
  • 8e5eb02d7d2022d589c60f22cc3cd496f929919f
  • 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
    8e5eb02d
    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

    Main:

    • Compiler with C++11 support: GCC >= 4.9.0 or Clang >= 3.5.1
    • CMake >= 2.8.12
    • Qt >= 5.3
    • yaml-cpp >= 0.5.1
    • Python >= 3.3
    • Boost.Python >= 1.55.0
    • dmidecode

    Modules:

    • welcome:
    • NetworkManager
    • UPower
    • partition:
    • extra-cmake-modules
    • KF5: KCoreAddons, KConfig, KI18n, KIconThemes, KIO, KService
    • KPMcore >= 2.0
    • sgdisk
    • bootloader:
    • systemd-boot or GRUB
    • sgdisk
    • unpackfs:
    • squashfs-tools
    • rsync

    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 ..
    $ make

    Supported variables for CMake

    • WITH_PYTHON - if this is set to false, the Python module interface will not be built. Default is true.
    • SKIP_MODULES - takes a space-separated list of module names that should not be built even if present in src/modules (e.g. cmake -DSKIP_MODULES="partition mount umount welcome" ..). Default is empty.

    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.