CutefishOS Installer.
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Calamares CI 36e98eb912 Automatic merge of Transifex translations 10 years ago
.tx Add Transifex repo config. 10 years ago
CMakeModules Fix finding of Boost.Python on Ubuntu 11 years ago
data/images Actually load branding data from default component. 10 years ago
hacking FillGlobalStorageJob: Add the partition UUID to global storage 11 years ago
lang Automatic merge of Transifex translations 10 years ago
src And some more debug output readability improvements. 10 years ago
.gitignore Merge pull request #114 from plfiorini/gitignore 10 years ago
.gitmodules Move partitionmanager code to src/modules/partition 11 years ago
AUTHORS AUTHORS file. 11 years ago
CMakeLists.txt Enable all the translation languages we currently have on Transifex. 10 years ago
CalamaresAddBrandingSubdirectory.cmake New CalamaresAddBrandingSubdirectory macro. 10 years ago
CalamaresAddLibrary.cmake Add proper QResrouce system to libcalamaresui, finish up prepare checks 10 years ago
CalamaresAddModuleSubdirectory.cmake module.conf ==> module.desc everywhere. 11 years ago
CalamaresAddPlugin.cmake Add proper QResrouce system to libcalamaresui, finish up prepare checks 10 years ago
CalamaresBuildTreeSettings.cmake.in CMake skeleton. 11 years ago
CalamaresConfig.cmake.in We have a Python API for jobmodules! 11 years ago
CalamaresConfigVersion.cmake.in CMake skeleton. 11 years ago
CalamaresUse.cmake.in New CalamaresAddBrandingSubdirectory macro. 10 years ago
HACKING.md Licensing rules in HACKING.md 11 years ago
LICENSE Update LICENSE 11 years ago
README.md Update README.md 10 years ago
calamares.desktop Add desktop file. 10 years ago
cmake_uninstall.cmake.in CMake skeleton. 11 years ago
settings.conf Branding component choice in settings.conf. 10 years ago

README.md

Calamares

Distribution-independent installer framework

Build Status

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.