CutefishOS Installer.
 
 
 
 
 
 
Go to file
Manjaro Linux eee54241d1 [umount] use lazy switch
in some rare cases you can't unmount your mountpoints. As it is the last step we can use lazy switch to force unmounting.
.tx Add Transifex repo config.
CMakeModules Fix colors test again.
data/images Actually load branding data from default component.
hacking hacking/GlobalStorage.md: Document the "branding" dictionary.
lang Automatic merge of Transifex translations
src [umount] use lazy switch
.gitignore Merge pull request from plfiorini/gitignore
.gitmodules Move partitionmanager code to src/modules/partition
AUTHORS AUTHORS file.
CMakeLists.txt Bump version
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 Licensing rules in HACKING.md
LICENSE Update LICENSE
README.md Fix CI widget
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 Add a machineid module.

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.