Distribution-independent installer framework
Go to file
Aurélien Gâteau f9ca45face Mark the partition we create as "StateNew"
This way if user wants to remove it later we can remove the creation job
instead of queueing a delete job
2014-07-02 15:48:47 +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 Mark the partition we create as "StateNew" 2014-07-02 15:48:47 +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 messages from CalamaresAddLibrary.cmake 2014-07-02 11:51:59 +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 Install settings.conf 2014-07-01 10:38:08 +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 Add the partition viewmodule to the modules-prepare roster. 2014-06-27 18:15:28 +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