37 Commits (25ba1bb767ae2ae32d53caba820917cf02d20e4f)

Author SHA1 Message Date
Adriaan de Groot 3b0c0435bc [libcalamaresui] Chase API change in Yaml
- We can drop a bunch of calls to toMap() now.
6 years ago
Adriaan de Groot 6f996d8eed CMake: give yamlcpp a proper imported target
- This makes linking easier,
 - Adds the right includes (needed on FreeBSD),
 - Lets us drop silly GUI setting for non-GUI tests (I think this was
   a side-effect of compiling on FreeBSD, where UI would pull in
   /usr/local/include).
6 years ago
Adriaan de Groot 4495a4c739 CMake: Allow extra libraries in calamares_add_test
- Extra libraries specified via LIBRARIES part of CMake function
 - Convert all the other module tests
6 years ago
Adriaan de Groot b044549013 [libcalamares] Merge PluginDllMacro.h into DllMacro.h
- Let's just have one header definining export- and visibility-
   macros for Calamares. They are still selected based on the
   export flags (*_PRO), just defined in one header instead of two.
6 years ago
Adriaan de Groot 4525060c26 [calamares] Refactor Settings initialization
- add a Settings::init() to do actual work
 - remove the same kind of code from CalamaresApplication
 - make constructor of Settings private
 - initialize settings before the application
6 years ago
Adriaan de Groot 39cc13cb25 [shellprocess] Tidy code
- resolve TODO, use a unique_ptr to hang onto the command-list
 - sort the #includes, use correct quoting
6 years ago
Adriaan de Groot 310a1d76cf [calamares] Reduce warnings now that getInteger is qint64 7 years ago
Adriaan de Groot a0430f76b7 [shellprocess] Apply current coding style 7 years ago
Adriaan de Groot a0854a999e Modules: chase API change, use std::chrono::seconds 7 years ago
Adriaan de Groot f076dd76ad [libcalamares] Rename YamlUtils.h
- Since we have the utils/ filesystem namespace, and use CalamaresUtils::
   as C++ namespace, simplify naming.
7 years ago
Adriaan de Groot 090aee9196 Modules: adjust to split-out utils/Variant.h
- Most modules only needed the variant support, not the "whole"
   CalamaresUtils header.
 - While here improve ordering of headers as well.
7 years ago
Adriaan de Groot e072b76fea [shellprocess] [contextualprocess] Unneeded module.desc
- C++ modules should have a CMakeLists.txt which does the
   right thing, e.g. calamares_add_plugin() , and don't need
   a textual module.desc
7 years ago
Adriaan de Groot 123c774a47 Use new automoc options 7 years ago
Adriaan de Groot c83395ff6d Reduce warnings for yaml-cpp
- Use only utils/YamlUtils.h to pull in yaml-cpp and supporting code.
 - When compiling with clang, turn off warnings that the system header
   for yaml-cpp would generate.
7 years ago
Adriaan de Groot 189e192c83 [shellprocess] Reduce warnings
- The old-style cast still causes a warning, but do the
   more idiomatic (void) rather then casting to (void*)
7 years ago
Adriaan de Groot 7515386cf8 CMake: clean up test setup
- Remove redundant searches for ECM and Qt::Test, move
   them to top-level.
7 years ago
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>
8 years ago
Adriaan de Groot d3e57e9c9f [shellprocess] Expand tests
These tests run (shell) commands as part of the test; this may be
a security problem, although I've tried to do things safely.
8 years ago
Adriaan de Groot 87b9c42158 [shellprocess] Don't crash test
- May need to create a JobQueue before doing anything internal
 - May need to create global settings
 - Chroot always needs rootMountPath internally
8 years ago
Adriaan de Groot 8b00a03423 [shellprocess] Test command-substitution 8 years ago
Adriaan de Groot b5d900c1c6 [libcalamares] Allow a @@USER@@ replacement in commands
- Following example in preservefiles module, allow @@USER@@
   in commands (e.g. to do something specific in the home-dir
   of the new user).
8 years ago
Adriaan de Groot f0ec6c02a3 [shellprocess] ECM has already been searched-for 8 years ago
Adriaan de Groot 3315df5df1 [modules] Use new convenience logging methods across the board 8 years ago
Adriaan de Groot d27675d660 i18n: drop superfluous QObject* parent
These additional pointers were introduced for translations,
and needed their own tricks to get lupdate to recognize the
strings. Using QCoreApplication::translate() removes the
need to a QObject to provide context. Drop the now-unneeded
parameters.
8 years ago
Adriaan de Groot c2aca1f5c6 [shellprocess] Implement timeout setting
- For both shellprocess and contextualprocess, add a top-level key
   "timeout" that defaults to 10 seconds (which it already did).
 - Allows setting "global" timeout for command-lists, while still
   allowing individual timeouts per-command.
 - Setting timeout per global variable in contextualprocess is not
   supported; that would restrict the possible space of comparisions,
   while not supporting a global setting timeout seems reasonable enough.
   Use instances if you need wildly variable timeouts and don't want to
   set them individually.
8 years ago
Adriaan de Groot 2da430fa36 [libcalamares] Allow CommandLine to have unset timeout
- Introduce enum for the appropriate constant
 - If the timeout isn't set, then defer to the timeout set
   on the commandlist when running the commands.
8 years ago
Adriaan de Groot c641f5dec6 [libcalamares] Implement object-style command line
- handle command: and timeout: entries
 - test for setting the values
8 years ago
Adriaan de Groot 4917b5c778 [shellprocess] Add test for future feature
- proposed syntax for command+timeout configuration, both for single-
   entry and for lists.
 - test it already
8 years ago
Adriaan de Groot ea179eaef4 [contextualprocess] Document command lists
- Show that a command list is also allowed, not just a single
   command. Refer to shellprocess for more documentation.
8 years ago
Adriaan de Groot 913690650f [libcalamares] Move CommandList into libcalamares
- Move CommandList so it can be used from more modules than
   just ShellProcess
 - Allow a CommandList to run itself. This centralizes
   code for executing one or more commands and simplifies
   the ShellProcess module.

Various small cleanups:
 - mention instance id in log message
 - code formatting / style
8 years ago
Adriaan de Groot 60f4dd7b3b [libcalamares] Improve explanation of failed processes. 8 years ago
Adriaan de Groot 8571fd800e [shellprocess] Make explicit that an error code has been ignored, by logging it. 8 years ago
Adriaan de Groot e48767eaa6 [shellprocess] Make CommandList chroot-aware
This is prep-work for moving commandlist to libcalamares, where
it can be re-used by more modules.
8 years ago
Adriaan de Groot 8bd40fdcd5 [shellprocess] Warn when there's no script 8 years ago
Adriaan de Groot fdb3fc1ef8 [shellprocess] Execute the command list 8 years ago
Adriaan de Groot b7fb24837a [shellprocess] Improve CommandList
- Also allow a single string instead of a list
 - Add count() method to CommandList
 - Drop over-engineering, add more logging
 - Expand tests with some more examples
8 years ago
Adriaan de Groot 5f8fb655c4 [shellprocess] Stub of a shell process module.
This is basically dummyprocess, except with an expanded configuration
interface so you can run 1 or more shell commands in the live
or target system with a suitable configuration file and instance
of shellprocess in settings.conf.

It can replace downstream modules that implement their own
process modules with a command, by an instance of shellprocess.
8 years ago