Commit Graph

3308 Commits

Author SHA1 Message Date
Adriaan de Groot
b02ee3cd8d [services-openrc] Follow services-systemd configuration example
- Based on comments from #974, follow the configuration
   scheme from services-systemd, so with separate lists
   "services" and "disable". This ties it **slightly**
   less closely to the commands passed to rc-config.
2018-06-27 10:34:50 -04:00
Adriaan de Groot
dbcc419218 [services-openrc] Log failures
- If the rc-update command fails for some reason, log that
   failure instead of skipping it completely silently.
 - Fix syntax error as well
2018-06-27 10:34:36 -04:00
Adriaan de Groot
5a2ae7a250 [services-openrc] Simplify name extraction, default runlevel
- If runlevel isn't set (at all) then use "default". For
   most systems that do not use multiple runlevels, this
   simplifies the configuration to just a list of service names
   to add or delete.
2018-06-27 09:36:05 -04:00
Adriaan de Groot
8f0db9dc74 [services-openrc] Log configuration failures
- If services don't exist, or runlevels don't exist,
   log them instead of failing completely silently.
2018-06-27 09:31:02 -04:00
Adriaan de Groot
cd640bda9f [services-openrc] Restrict actions
- Document the functions some more
 - Only "state" (i.e. action) "add" and "del" make sense,
   avoid calling rc-update for other keys (e.g. typo's).
   This matches the documentation, although there might be
   other actions that make sense (see also services-systemd,
   with its enable, disable and mask actions).
2018-06-27 09:21:31 -04:00
Adriaan de Groot
b1881d1cd2 [services-*] Adjust Copyright notices 2018-06-27 09:19:05 -04:00
Adriaan de Groot
e1d306dc2f [services-openrc] Adjust documentation and follow renaming 2018-06-27 09:11:51 -04:00
Adriaan de Groot
55e273ff00 Merge branch 'openrccfg' of https://github.com/artix-linux/calamares into artix-linux-openrccfg 2018-06-27 08:57:31 -04:00
Adriaan de Groot
59b07cc720 [services-systemd] Be more resilient in the config
- If a key is not given, use [] instead of crashing.
2018-06-27 07:14:18 -04:00
Adriaan de Groot
c9c777b055 [services-systemd] Introduce disable-targets and mask
- With refactored code, introducing new kinds of actions
   is very few lines of code. Allow disabling targets
   (services was already possible). Allow masking units,
   but as a special case require the complete name.

FIXES #975
2018-06-27 07:09:03 -04:00
Adriaan de Groot
5d6e07712b [services-systemd] Refactor getting config
- Don't create temporary variables
 - Change API slightly to accomodate more (kinds of) suffixes
2018-06-27 05:14:18 -04:00
Adriaan de Groot
0520fc3b7e [services-systemd] Refactor to repeat less code
- The three steps of modifying services in the target
   system do basically the same thing, so factor out
   the loops and logging into a systemctl() function.
 - Log to warning() instead of just debugging, on failure.
2018-06-27 05:07:18 -04:00
Adriaan de Groot
08fc93f137 [services] Rename to services-systemd 2018-06-26 10:57:03 -04:00
Adriaan de Groot
d66393f1ae [libcalamares] Fix early failure mode
- There is more to failing out of loadModules() than just
   emitting modulesFailed, so instead share the failure
   code with the code after loading modules -- but don't load any.
2018-06-26 08:43:23 -04:00
Adriaan de Groot
0db8082ae1 [libcalamares] Convenience type 2018-06-26 08:41:16 -04:00
Adriaan de Groot
08966ff933 [libcalamaresui] Check module dependencies
- Module dependency-checking is done in two phases:
   first, catch any unknown modules that are listed
   in *requiredModules* and bail out before loading
   anything. Second, check that the modules required
   by X occur before X in the sequence.
2018-06-26 08:32:36 -04:00
Adriaan de Groot
731594fb40 [libcalamaresui] Remove the requiredModules setting
- The value set in module.desc was never stored for use,
   but isn't an attribute of the instance, either. It belongs
   with the descriptor, in ModuleManager.
2018-06-26 08:18:00 -04:00
Adriaan de Groot
40252f1000 [removeuser] Minor documentation 2018-06-26 06:52:37 -04:00
Adriaan de Groot
1eede6f797 [modules] Configuration documentation for mount and luksopenswaphookcfg 2018-06-26 06:50:16 -04:00
Adriaan de Groot
63c03068c0 [modules] Documentation for fstab, grubcfg, mkinitcpio
- These modules were entirely documented as "use the source",
 - The sources aren't terribly clear either.
2018-06-26 06:39:30 -04:00
Adriaan de Groot
52f09f7f46 [modules] Minor documentation work on modules a-g 2018-06-26 05:47:23 -04:00
Adriaan de Groot
c086d18a26 CMake: improve error-handling for USE_*
If USE_<foo> is given a value that doesn't match **anything**,
then bail out. Since USE_* is an explicit distro choice for a
specific implementation, it's an error if that implementation
is not there.
2018-06-26 05:33:01 -04:00
Adriaan de Groot
b2c2b91645 CMake: introduce USE_<foo>
When there are multiple modules doing a thing and it really only
makes sense to have one of them in a given Calamares compilation,
the USE_<foo> variables allow you to select one, while ignoring
all the other implementations. If USE_<foo> is not set, all
implementations are included (as usual).
2018-06-26 05:18:10 -04:00
Adriaan de Groot
29830bc1e1 [services] Document the configuration file.
- Change the example to be harmless (empty)
 - Document the structure of the entries
2018-06-26 04:35:00 -04:00
Caio Carvalho
589628bb9a [partition] Removing unnecessary horizontal spacer on Partition Page. 2018-06-26 01:44:35 -03:00
Caio Carvalho
67d9ebbfc0 [partition] Setting revertButton enabled after deactivating VG. 2018-06-26 01:29:57 -03:00
Caio Carvalho
295e14530e [partition] Adding resizing, deactivating and removing procedures for LVM VGs. 2018-06-26 00:38:52 -03:00
Calamares CI
c8de7e4d92 i18n: [dummypythonqt] Automatic merge of Transifex translations 2018-06-25 10:02:55 -04:00
udeved
88e082d531 openrccfg: add small documentation in conf, make service location configurable 2018-06-25 12:15:26 +02:00
Raul Rodrigo Segura
f25d6b278d add support onLeave and onActivate to pythonqt plugins 2018-06-21 13:21:48 +02:00
Adriaan de Groot
47b130c539 Merge remote-tracking branch 'origin/fix-localegen'
FIXES #940
2018-06-20 16:25:42 +02:00
Adriaan de Groot
d59a44be44 [libcalamares] Asking for type of undefined node throws
- Use YAML-CPP API for finding out if a node has a value at all.
 - Asking for Type() of an undefined or NULL node throws an
   exception, so the existing code didn't **actually** catch
   cases where a required setting wasn't set at all.
2018-06-20 15:59:23 +02:00
Adriaan de Groot
25f249180b [localecfg] Be slightly more conservative interpreting comments
- A valid line (as explained in the comments at the top of
   the locale.gen file) is <locale> <encoding> (two fields),
   so lines with more than two fields can't be valid locale-
   listing lines. For them, pretend they name locale "",
   which won't be matched.
2018-06-20 09:11:23 -04:00
Adriaan de Groot
8551653575 [localecfg] Re-write the locale.gen file better
- Improved debug-logging
 - Fix the actual problem of listing locales more than once,
   by listing them all, uniqified, at the end, with an explanitory
   comment in the generated file.
 - Be more accepting of what constitutes a locale-line; this allows
   spaces before and after the `#` comment sign, but because we're
   uniquifying, this doesn't cause duplicates.
 - Because we write the enabled locales at the end, the full file
   comment-header is retained un-mangled (instead of accidentally
   enabling a locale mentioned as an example there).
2018-06-20 08:35:18 -04:00
Adriaan de Groot
413ee81ead [localecfg] Simplify handling of en_US
- By adding en_US to the set of locales-to-enable, we can
   drop the special-case code for it.
2018-06-20 07:13:36 -04:00
Adriaan de Groot
ec09272b81 [libcalamares] Fix inverted logic
Reported by bshah.
2018-06-19 18:08:14 +02:00
Adriaan de Groot
b283ad69d5 [libcalamares] Complain if key isn't set
- Previous check would also fail when the setting is false,
   not just when the key is missing.
2018-06-19 17:59:28 +02:00
Adriaan de Groot
efc977f7b4 [localecfg] Fix mismatch between filenames
Testing for existence of a file in the live system, and then
copying it in the target system, is not a recipe for success.

 - Fix the restore-from-backup part.
 - Document that your live and target system must both have
   /etc/locale.gen if you want this to work at all.
2018-06-19 08:56:37 -04:00
Adriaan de Groot
7498629b5f [localecfg] Move all path-setting to one spot
- Make the way the paths are constructed consistent
 - Name the paths more consistently
2018-06-19 08:46:50 -04:00
Adriaan de Groot
863d00f40c [localecfg] Document purpose of this module 2018-06-19 08:42:25 -04:00
Adriaan de Groot
1a097f8c49 Style: run modulesystem through the style guide 2018-06-18 10:56:10 -04:00
Adriaan de Groot
58121abf06 [libcalamaresui] Wasted spaces 2018-06-18 10:44:28 -04:00
Adriaan de Groot
a64de3dbfe [libcalamaresui] Assign the index to found
- Previous code assigns the result of the comparison to found,
   instead of the index, resulting in the wrong configuration
   map sent to each module.
2018-06-18 10:29:30 -04:00
Adriaan de Groot
398b6be4ba Update issue template 2018-06-18 10:24:35 -04:00
Kevin Kofler
15e9edca70 [packages]: Implement update_system for pkcon, yum, dnf
Also make install for yum and dnf follow the documented syntax: options
(-y) before the command (install), even though yum and dnf also accept
the other order. This also makes it consistent with remove.
2018-06-18 13:53:58 +02:00
Adriaan de Groot
9d17e7210a [partition] Change shortcut for "Create" to 'a'
Untangle the shortcuts; Create and Cancel had an overlap.
Skip 'r' (Revert all changes) and 'e' (Edit) and settle on
'a' (which might also mean "Add").

FIXES #977
2018-06-18 13:28:35 +02:00
Philip Müller
3a3a4ec363 [packages] update documentation 2018-06-17 13:15:55 +02:00
Philip Müller
c600c3ecca [packages] update documentation to reflect 'update_db' and 'update_system' differences 2018-06-17 13:10:59 +02:00
Philip Müller
1bd149c14e [packages] add initial support for update target system 2018-06-17 12:53:31 +02:00
Philip Müller
18bd455ae1 [bootloader] make paths for executable optional and adjustable 2018-06-17 07:47:58 +02:00
Calamares CI
88c168e6d5 i18n: [dummypythonqt] Automatic merge of Transifex translations 2018-06-16 19:27:46 -04:00
Adriaan de Groot
5643ee4b8f Merge branch 'master' into secureboot 2018-06-15 13:14:58 -04:00
Adriaan de Groot
374a9bdca6 Merge branch 'emergency-modules'
Introduce the notion of emergency modules and emergency jobs.
Initial use will probably center around the preservefiles module,
and possibly umount.

FIXES #928
2018-06-15 12:04:55 -04:00
Adriaan de Groot
264d135776 [libcalamares] Run emergency jobs
- After a failure, skip non-emergency jobs.
 - After running all emergency jobs, then emit failure message.
 - In log, distinguish emergency and non-emergency jobs.
2018-06-15 11:45:02 -04:00
Adriaan de Groot
8387d5d81f [libcalamares] Allow emergency jobs
Any job can be an emergency job; emergency modules spawn
emergency jobs (but conversely, a non-emergency module
can spawn an emergency job explicitly).
2018-06-15 10:20:07 -04:00
Adriaan de Groot
3ed6f13fa8 [libcalamaresui] Adjust the emergency-ness of modules
A potentially emergency module is one that has EMERGENCY
(in CMake) or emergency: true (in module.desc) set.
Any such module must also set emergency: true in the
configuration of the module. This is to allow for
instances of a module that **don't** run as emergency
modules, alongside actual emergency ones.
2018-06-15 09:32:19 -04:00
Adriaan de Groot
53161f6e36 [preservefiles] Mark this as an emergency module
- For C++ modules, don't need the module.desc file in the
   source repo, since the CMake macros can create it.
2018-06-15 07:29:55 -04:00
Adriaan de Groot
def459a29d [libcalamaresui] Read emergency setting from module.desc
- Read setting from the module descriptor
 - Document optional settings
 - Add EMERGENCY keyword to the CMake helper functions
2018-06-15 07:11:17 -04:00
Adriaan de Groot
b92bef21f8 [libcalamares] Avoid using namespace std; 2018-06-15 06:21:05 -04:00
Adriaan de Groot
fa08e0ad73 Copyright: fix bad email address 2018-06-15 06:15:43 -04:00
Adriaan de Groot
dd8e53dc22 Copyright: update copyright lines on files touched in 2018
Contributions from:
  Adriaan de Groot <groot@kde.org>
  Gabriel Craciunescu <crazy@frugalware.org>
  AlmAck <gluca86@gmail.com>
  Andrius Štikonas <andrius@stikonas.eu>
  Caio Carvalho <caiojcarvalho@gmail.com>
  Raul Rodrigo Segura <raurodse@gmail.com>
2018-06-15 05:59:11 -04:00
Adriaan de Groot
d2f2aa9a97 [branding] Link to the examples repository 2018-06-15 05:29:03 -04:00
Adriaan de Groot
99163c9a68 Style: stray space 2018-06-15 04:46:53 -04:00
Adriaan de Groot
ac769d1de8 Style: use QStringLiteral
- In many cases, using QLatin1String is a de-optimization, when
   applied to a C string literal. Kevin Kofler pointed out that
   those should basically all be QStringLiteral, instead. (Compile
   tests with -O3 show that in the optimized object file, the
   code size difference is negligible).
 - Drop the explicit constructor entirely in cases where we're calling
   QProcess::execute(), for consistency.
 - Do a little less messing around in the mapping of keyboard locales
   to keyboard map names.
2018-06-15 04:41:41 -04:00
Adriaan de Groot
2d7eea6d73 Merge branch 'master' into emergency-modules 2018-06-14 17:15:40 -04:00
Caio Carvalho
98a158c6e5 [partition] kpmcore latest release doesn't support FileSystem::Type::Luks2 2018-06-14 15:37:00 -03:00
Adriaan de Groot
290559f8c1
Merge pull request #986 from raurodse/configurationPythonQt
Add configuration values into pythonqt modules
2018-06-14 13:19:42 -04:00
Raul Rodrigo Segura
448c5eae16 style code 2018-06-14 16:33:58 +02:00
Adriaan de Groot
67ad37581f [contextualprocess] Document corner-case
The "*" will match its literal value, but is also used as a wildcard.
2018-06-14 14:57:17 +02:00
Adriaan de Groot
011310091c [contextualprocess] QLatin1String -> QString
As Kevin pointed out, there's an extra conversion involved here --
although with -O3 the difference boils away leaving only a call
to a from-ASCII helper or a from-Latin1 helper.

While here, coding-style.
2018-06-14 14:54:14 +02:00
Adriaan de Groot
96cb42414c Merge remote-tracking branch 'origin/improve-settings-sanitization' 2018-06-14 07:34:53 -04:00
Adriaan de Groot
6cdb2daca3 Merge abucodonosor-plymouth 2018-06-14 07:01:41 -04:00
Gabriel Craciunescu
0ccca6902b [grubcfg] fix inter-module dependency with plymouthcfg modules
The plymouthcfg Calamares module is optional. Distributions which
  write filesystems with a full plymouth configuration won't even
  want to use it (see plymouthcfg docs).

  However, now grubcfg depends on plymouthcfg to run because
  the globalstorage value to trigger setting  'splash' in grub,
  is set in the plymouthcfg module.

  Just check for plymouth existence separately in the grub module.

  Fixes ea1c8a0e5d
2018-06-14 06:58:24 -04:00
Adriaan de Groot
2d29bf4449 [contextualprocess] Make conversion explicit
- Qt 5.7 doesn't like QLatin1Char comparison, so switch to
   a full string. Tested on Neptune Linux, #979
2018-06-14 06:46:06 -04:00
Adriaan de Groot
fa0518f968 [contextualprocess] Make conversion explicit
- Should help with Qt 5.7 compatibility. Reported from Neptune
   Linux, #979
2018-06-14 05:41:43 -04:00
Calamares CI
ef897f59f5 i18n: Add Korean (ko) language translations
Since this is a new language, it is currently 0% translated.
That is why it goes into _tx_bad. It will move to one of the
other categories once some translation has happened. Add the
(still empty) Transifex files already.
2018-06-14 05:03:14 -04:00
Calamares CI
0ea3d85ab0 i18n: [dummypythonqt] Automatic merge of Transifex translations 2018-06-14 04:47:53 -04:00
Adriaan de Groot
a8426730ca [libcalamaresui] Improve wording of modules failure warning 2018-06-14 02:48:52 -04:00
Adriaan de Groot
97a45db4bf [libcalamaresui] Reset font height when changing size
- defaultFontHeight() caches the result; clear cache
   when changing the default size, even though this happens
   only once in the current codebase.
2018-06-14 02:35:49 -04:00
Adriaan de Groot
bb5ac0326d [libcalamaresui] Improve layout of "blank" view step 2018-06-14 02:33:03 -04:00
Adriaan de Groot
9918dfb95f [libcalamaresui] Reporting on failures
- Provide information on failed modules
 - Disallow further progress when configuration is borked
2018-06-13 13:41:38 -04:00
Adriaan de Groot
3e24c3c58f [libcalamaresui] Provide standardised large font 2018-06-13 13:41:38 -04:00
Adriaan de Groot
8b406cac9b [libcalamaresui] Improve module loading
- Add a TODO for allowing modules to come from somewhere other
   than the module loader (this would allow "internal" modules
   that are always present)
 - Warnings are warnings
2018-06-13 04:37:52 -04:00
Raul Rodrigo Segura
d61b32aba6 Add configuration values into pythonqt modules 2018-06-12 13:44:28 +02:00
Caio Carvalho
3b6c764f75 [partition] Fixing revert device loop error in PartitionCoreModule::revertAllDevices. 2018-06-11 18:38:57 -03:00
Adriaan de Groot
35124c149e [libcalamaresui] Drop the 'goodbye' message 2018-06-11 13:35:12 -04:00
Adriaan de Groot
a732ce11bc [libcalamares] Warn more about badly-formed config 2018-06-11 08:35:35 -04:00
Adriaan de Groot
49622a6a30 Tests: expand test-application test_conf
- Add -v (verbose) and -b (load via bytearray)
 - Verbose prints the keys read from the file,
 - Bytes reads via an indirection through QByteArray, like Settings does
2018-06-11 06:28:31 -04:00
Adriaan de Groot
a40c36ef49 [libcalamaresui] Report on failed module loading
- Collect the failed modules, instead of bailing out on the first one
   (this also prevents crashes caused by quit() called from a timer).
 - Introduce a slot to report on failed module loading (no UI yet).
2018-06-11 05:59:56 -04:00
Caio
0465cc4214 [partition] Including revert on creation of LVM VGs. 2018-06-08 20:20:05 -03:00
Adriaan de Groot
1999e4e5c2 [libcalamaresui] Error out consistently when module loading fails
- Some module-loading failures were ignored and produce only a
   warning, instead of erroring out.
2018-06-08 18:14:51 -04:00
Adriaan de Groot
dccf6f16f5 [libcalamaresui] Lambdas are fun, but not always the solution 2018-06-08 17:56:23 -04:00
Caio
f8897e0e0b [partition] Including new LVM PVs in LVM VG creation GUI. 2018-06-08 18:52:53 -03:00
Adriaan de Groot
a626e52bf3 [libcalamares] Introduce more descriptive type name 2018-06-08 17:36:29 -04:00
Caio
e5351cdf3c [partition] Don't show capacity of new LVM VGs in DeviceModel. 2018-06-07 17:49:25 -03:00
Caio
208d58bcd9 [partition] Including CreateVolumeGroupDialog and fixing some of its GUI issues. 2018-06-07 17:22:22 -03:00
Adriaan de Groot
24b0df3c04 [locale] Missing includes
- Implicitly included in recent Qt, but not in old versions

Reported from Neptune Linux
2018-06-07 09:03:54 -04:00
Adriaan de Groot
83688f2837 Merge remote-tracking branch 'origin/shuffle-cmake' 2018-06-07 08:45:19 -04:00
Adriaan de Groot
fe7f48662e Merge branch 'fix-iceland' (again) 2018-06-07 08:44:53 -04:00
Adriaan de Groot
15b97f8e3f [libcalamares] Add missing include-dir
- Fix build on FreeBSD, where the yaml-cpp headers don't live in
   any normally-searched include directory.
2018-06-07 13:31:12 +02:00