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.
 
 
 
 
 
 
Teo Mrnjavac da6e48793e Merge pull request #60 from toudi/list-system-dependencies
update README.md with list of needed system packages
11 years ago
CMakeModules Fix finding of Boost.Python on Ubuntu 11 years ago
hacking FillGlobalStorageJob: Add the partition UUID to global storage 11 years ago
images Behold the mighty Calamares squid. 11 years ago
lang
src Add support for full name, and user/host autocompletion and validation. 11 years ago
.gitignore Ignore Python files 11 years ago
.gitmodules Move partitionmanager code to src/modules/partition 11 years ago
AUTHORS AUTHORS file. 11 years ago
CMakeLists.txt calapmtest is not useful anymore 11 years ago
CalamaresAddLibrary.cmake Remove debug spam from CalamaresAddLibrary.cmake. 11 years ago
CalamaresAddModuleSubdirectory.cmake module.conf ==> module.desc everywhere. 11 years ago
CalamaresAddPlugin.cmake Correctly install configuration files for viewmodules. 11 years ago
CalamaresBuildTreeSettings.cmake.in
CalamaresConfig.cmake.in We have a Python API for jobmodules! 11 years ago
CalamaresConfigVersion.cmake.in
CalamaresUse.cmake.in Add CalamaresAddModuleSubdirectory, a CMake function for modules that 11 years ago
HACKING.md Licensing rules in HACKING.md 11 years ago
LICENSE
README.md update README.md with list of needed system packages 11 years ago
cmake_uninstall.cmake.in
settings.conf Update settings.conf 11 years ago

README.md

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
  • 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.

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