Distribution-independent installer framework
Go to file
Teo Mrnjavac 52028d95f9 Clean up overuse of literals for GUI constants.
Add CalamaresStyle for colors and other style constants and helpers.
Add static functions for font size.
2014-07-08 13:22:09 +02:00
CMakeModules Added module metadata file to CalamaresAddPlugin macro. 2014-06-23 17:14:55 +02:00
lang Added Utils, Logger, Translations, QCommandLineParser, init boilerplate 2014-06-06 17:19:59 +02:00
src Clean up overuse of literals for GUI constants. 2014-07-08 13:22:09 +02:00
tests To build with partitionmanager: cmake -DWITH_PARTITIONMANAGER=1 2014-06-27 15:55:25 +02:00
.gitignore .gitignore update 2014-06-04 18:21:25 +02:00
.gitmodules Introduce libcalapm 2014-06-26 16:46:06 +02:00
AUTHORS AUTHORS file. 2014-06-11 13:39:44 +02:00
CalamaresAddLibrary.cmake Remove debug spam from CalamaresAddLibrary.cmake. 2014-07-03 18:11:36 +02:00
CalamaresAddPlugin.cmake CalamaresAddPlugin more relevant output. 2014-07-02 11:59:55 +02:00
CalamaresBuildTreeSettings.cmake.in CMake skeleton. 2014-06-04 16:35:26 +02:00
CalamaresConfig.cmake.in Added CMake magic for plugin infrastructure. 2014-06-11 13:39:20 +02:00
CalamaresConfigVersion.cmake.in CMake skeleton. 2014-06-04 16:35:26 +02:00
CalamaresUse.cmake.in Added CMake magic for plugin infrastructure. 2014-06-11 13:39:20 +02:00
cmake_uninstall.cmake.in CMake skeleton. 2014-06-04 16:35:26 +02:00
CMakeLists.txt Refactored calamares_bin into calamares_bin and libcalamaresui. 2014-07-03 18:00:40 +02:00
HACKING.md Update HACKING.md 2014-06-30 13:45:43 +02:00
LICENSE Update LICENSE 2014-06-03 22:32:42 +02:00
README.md Introduce libcalapm 2014-06-26 16:46:06 +02:00
settings.conf Enable keyboard viewmodule. Requires the ckbcomp script. 2014-07-04 15:34:37 +02:00

Calamares

Distribution-independent installer framework

Dependencies

  • CMake >= 2.8.12
  • Qt >= 5.3

Building

$ git submodule init
$ git submodule update
$ mkdir build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Debug ..
$ make

Design notes

  • Backend
  • lib should only depend on QtCore >=5.3, possibly boost::python
  • common functions like partitioning
  • works as job queue and executor
  • plugin based to let distro-specific tasks be done in a distro-specific order
  • Frontend
  • QtWidgets >=5.3, other deps as needed
  • themeable so branding can be done easily (plugin-based)
  • presents a bunch of pages in a scripted order, enqueues jobs in the backend lib