Distribution-independent installer framework
Go to file
2014-06-27 15:55:24 +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 Don't use QPluginLoader's JSON metadata thing, we already have our own. 2014-06-27 15:55:24 +02:00
tests Make it possible to test with other devices 2014-06-27 14:15:04 +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 Use Qt5 cmake macros 2014-06-27 15:41:55 +02:00
CalamaresAddPlugin.cmake Better CalamaresAddPlugin output 2014-06-25 16:25:56 +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 Shut up cmake 3.0 2014-06-27 15:42:12 +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 Remove modules that don't exist yet from settings.conf. 2014-06-26 12:34:16 +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