CutefishOS Installer.
 
 
 
 
 
 
Go to file
Teo Mrnjavac b86193824d Read a prompt-install variable from settings.conf.
.tx Add Transifex repo config.
CMakeModules Fix colors test again.
data/images New Disk and Partition icons.
hacking hacking/GlobalStorage.md: Document the "branding" dictionary.
lang Automatic merge of Transifex translations
src Read a prompt-install variable from settings.conf.
.gitignore Merge pull request from plfiorini/gitignore
.gitmodules Move partitionmanager code to src/modules/partition
AUTHORS AUTHORS file.
CMakeLists.txt Fix build without Python support.
CalamaresAddBrandingSubdirectory.cmake New CalamaresAddBrandingSubdirectory macro.
CalamaresAddLibrary.cmake Add proper QResrouce system to libcalamaresui, finish up prepare checks
CalamaresAddModuleSubdirectory.cmake module.conf ==> module.desc everywhere.
CalamaresAddPlugin.cmake Add proper QResrouce system to libcalamaresui, finish up prepare checks
CalamaresBuildTreeSettings.cmake.in CMake skeleton.
CalamaresConfig.cmake.in We have a Python API for jobmodules!
CalamaresConfigVersion.cmake.in CMake skeleton.
CalamaresUse.cmake.in New CalamaresAddBrandingSubdirectory macro.
HACKING.md Update HACKING.md
LICENSE Update LICENSE
README.md Update README.md
calamares.desktop Use pkexec to execute calamares with the right permissions
cmake_uninstall.cmake.in CMake skeleton.
com.github.calamares.calamares.policy Rename pkexec policy file to .policy extension.
settings.conf [bootloader] join grub module with bootloader

README.md

Calamares: Distribution-Independent Installer Framework


Build Status Report a Bug Contribute Freenode (IRC): #calamares

Dependencies

Main Partitioning Module
CMake >= 2.8.12 extra-cmake-modules
Qt >= 5.3 kconfig (part of KF5)
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)

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.
  • Themeable, so branding can be done easily (plugin-based, TBD).
  • 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.