Distribution-independent installer framework
Go to file
Adriaan de Groot e1f4224bed [libcalamaresui] Fix slideshowAPI loading
In 022045ae05 a regression was introduced: if no *slideshowAPI*
is specified in the branding file, Calamares refuses to start, with
a YAML failure.

Before the refactoring, we had `YAML::Node doc` and looked up
the *slideshowAPI* in it with `doc["slideshowAPI"]`. After the
refactoring, we had `const YAML::Node& doc`. The `const` makes
all the difference:
 - subscripting a non-existent key in a mutable Node silently
   returns a Null node (and possibly inserts the key);
 - subscripting a non-existent key in a const Node returns an
   invalid or undefined node.

Calling IsNull() or IsScalar() on a Null node works: the functions
return a bool. Calling them on an invalid node throws an exception.

So in the **const** case, this code can throws an exception that it
doesn't in the non-const case:
    `doc[ "slideshowAPI" ].IsScalar()`

- Massage the code to check for validity before checking for scalar
- Add a `get()` that produces more useful exception types when
  looking up an invalid key
- Use `get()` to lookup the slideshow node just once.
2020-07-09 11:28:09 +02:00
.github/ISSUE_TEMPLATE Update issue template 2018-06-18 10:24:35 -04:00
.tx i18n: adjust tooling to renamed resource 2020-06-12 14:50:12 +02:00
3rdparty [3rdparty] Chase API deprecation in Qt 2020-05-18 10:25:19 +02:00
ci CI: update signing key 2020-06-23 17:17:45 +02:00
CMakeModules CMake: stop overwriting branding settings in the build dir 2020-07-07 14:11:16 +02:00
data Docs: add a FreeBSD port directory (copy it to sysutils/calamares) 2020-06-17 00:20:25 +02:00
lang i18n: [python] Automatic merge of Transifex translations 2020-06-22 17:11:11 -04:00
LICENSES [LICENSES] Add BSD2 2020-06-03 12:28:58 +01:00
man Manual: move to section 8, minor polishing 2017-06-07 03:03:29 -04:00
src [libcalamaresui] Fix slideshowAPI loading 2020-07-09 11:28:09 +02:00
.clang-format CI: update clang-format 2020-06-17 07:53:40 -04:00
.editorconfig Docs: make editorconfig for CMake explicit (4-space indents) 2020-03-26 10:48:03 +01:00
.gitattributes Git: drop non-existent files from .gitattributes 2018-09-14 18:07:09 +02:00
.gitignore add tags file to .gitignore 2020-06-11 11:57:23 +02:00
.gitmodules Remove libcrashreporter-qt more thoroughly 2017-09-13 08:47:07 -04:00
.travis.yml CI: increase build directory size 2018-09-11 10:23:48 -04:00
AUTHORS there's only one bill auger, and we should spell his name right 2020-02-19 09:31:42 -08:00
calamares.desktop i18n: [desktop] Automatic merge of Transifex translations 2020-06-22 17:11:11 -04:00
calamares.desktop.in add missing ";" in calamares.desktop 2019-07-27 14:38:00 +03:00
CalamaresConfig.cmake.in CMake: put CMake-level ABI settings in CalamaresConfig 2020-06-10 11:51:53 +02:00
CHANGES Changes: new contributions 2020-07-07 13:48:21 +02:00
cmake_uninstall.cmake.in CMake skeleton. 2014-06-04 16:35:26 +02:00
CMakeLists.txt CMake: drop reference to external os-* modules 2020-06-23 10:45:11 +02:00
com.github.calamares.calamares.policy Rename pkexec policy file to .policy extension. 2014-11-05 23:34:03 +01:00
Dockerfile ci: switch to less volatile KDE Neon version 2018-05-07 04:56:43 -04:00
io.calamares.calamares.appdata.xml [/] Update SPDX identifiers. 2020-06-03 12:28:58 +01:00
LICENSE Update LICENSE 2014-06-03 22:32:42 +02:00
README.md CI: change of default branch 2020-06-12 13:12:50 +02:00
settings.conf Documentation: uncomment oem-setup 2020-06-10 16:58:17 +02:00

Calamares: Distribution-Independent Installer Framework


GitHub release Travis Build Status Coverity Scan Build Status GitHub license

Report a Bug Translate Contribute Freenode (IRC): #calamares Wiki

Dependencies

Main:

  • Compiler with C++14 support: GCC >= 5 or Clang >= 3.5.1
  • CMake >= 3.3
  • Qt >= 5.9
  • yaml-cpp >= 0.5.1
  • Python >= 3.3 (required for some modules)
  • Boost.Python >= 1.55.0 (required for some modules)
  • KDE extra-cmake-modules >= 5.18 (recommended; required for some modules; required for some tests)
  • KDE Frameworks KCoreAddons (>= 5.58 recommended)
  • PythonQt (optional, deprecated)

Individual modules may have their own requirements; these are listed in CMake output. Particular requirements (not complete):

  • fsresizer KPMCore >= 3.3 (>= 4.1 recommended)
  • partition KPMCore >= 3.3 (>= 4.1 recommended)
  • users LibPWQuality (optional)

Building

See wiki for up to date building and deployment instructions.