Distribution-independent installer framework
Go to file
Rohan Garg 34befb9cb8 Refactor CPU detection code to be more reliable
Instead of parsing hwinfo output, which might or might be present
on systems, just parse the /proc/cpuinfo file, it's much more
reliable.
2014-10-16 19:34:43 +02:00
.tx Add Transifex repo config. 2014-10-09 16:27:20 +02:00
CMakeModules Fix finding of Boost.Python on Ubuntu 2014-07-17 14:54:13 +02:00
data/images Actually load branding data from default component. 2014-10-16 16:15:31 +02:00
hacking FillGlobalStorageJob: Add the partition UUID to global storage 2014-07-28 14:58:06 +02:00
lang Added Utils, Logger, Translations, QCommandLineParser, init boilerplate 2014-06-06 17:19:59 +02:00
src Refactor CPU detection code to be more reliable 2014-10-16 19:34:43 +02:00
.gitignore Merge pull request #114 from plfiorini/gitignore 2014-09-01 08:25:26 +02:00
.gitmodules Move partitionmanager code to src/modules/partition 2014-07-15 11:54:09 +02:00
AUTHORS AUTHORS file. 2014-06-11 13:39:44 +02:00
CalamaresAddBrandingSubdirectory.cmake New CalamaresAddBrandingSubdirectory macro. 2014-10-10 18:07:41 +02:00
CalamaresAddLibrary.cmake Add proper QResrouce system to libcalamaresui, finish up prepare checks 2014-08-26 18:24:51 +02:00
CalamaresAddModuleSubdirectory.cmake module.conf ==> module.desc everywhere. 2014-08-06 16:01:39 +02:00
CalamaresAddPlugin.cmake Add proper QResrouce system to libcalamaresui, finish up prepare checks 2014-08-26 18:24:51 +02:00
CalamaresBuildTreeSettings.cmake.in CMake skeleton. 2014-06-04 16:35:26 +02:00
CalamaresConfig.cmake.in We have a Python API for jobmodules! 2014-07-17 19:42:16 +02:00
CalamaresConfigVersion.cmake.in CMake skeleton. 2014-06-04 16:35:26 +02:00
CalamaresUse.cmake.in New CalamaresAddBrandingSubdirectory macro. 2014-10-10 18:07:41 +02:00
cmake_uninstall.cmake.in CMake skeleton. 2014-06-04 16:35:26 +02:00
CMakeLists.txt Don't set CMP0043 on old CMake, take 3. 2014-10-14 17:17:41 +02:00
HACKING.md Licensing rules in HACKING.md 2014-08-11 16:50:22 +02:00
LICENSE Update LICENSE 2014-06-03 22:32:42 +02:00
README.md Update README.md 2014-08-13 17:53:40 +02:00
settings.conf Branding component choice in settings.conf. 2014-10-10 18:09:26 +02:00

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

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.