Commit Graph

3312 Commits

Author SHA1 Message Date
Adriaan de Groot
73a5e0bbcd [libcalamares] Fix up debugging
Using plain cLog() is weird, it doesn't attach a debugging level
so it seems like it's level 0, beyond-critical.
2018-02-27 01:09:43 +01:00
Adriaan de Groot
36ef4556b4 Merge branch 'install-bits'
FIXES #729
2018-02-21 10:15:58 -05:00
Adriaan de Groot
56ce22908e CMake: drop empty calamaresUi
- Empty variable and some unused wrappings doing nothing.
2018-02-21 10:01:23 -05:00
Adriaan de Groot
db0c1ffd6d CMake: just install unversioned .so
- Applies to libcalamares and libcalamaresui.so, install with no
   version, just the bare .so. Since Calamares doesn't do versioning
   anyway, and its plugins should be re-compiled for any change,
   putting them in lib as unversioned .so's should make Calamares
   happy and silence lintian.
2018-02-21 09:52:56 -05:00
Adriaan de Groot
06536b6a66 [bootloader] Refactor method for safe efi label 2018-02-20 10:47:14 -05:00
Adriaan de Groot
de1710a9f3 [calamares] Refactor argument-handling
- Move parameter handling out of main
 - Give -D an argument (log level)
2018-02-20 07:47:06 -05:00
Adriaan de Groot
a1cbb161ee [libcalamares] Make setup of log-level explicit
- Replace the implicit setting of a logging level
   (the first time logging is called) with explicit
   setupLogLevel().
2018-02-20 07:47:06 -05:00
Adriaan de Groot
7f53e970fc [bootloader] Add secure-boot efiBootLoader
- add configuration option
 - check for sensible combinations of firmware, bootloader,
   and complain if it isn't.
2018-02-20 05:10:32 -05:00
Adriaan de Groot
247a0e3a56 [umount] Make a pretty_name() 2018-02-20 04:49:51 -05:00
Adriaan de Groot
060990bdd0 Python: use warning() method in modules 2018-02-20 04:42:56 -05:00
Adriaan de Groot
84d599625f [libcalamares] Give Python jobs a warning()
- Add libcalamares.utils.warning() alongside debug() for
   Python modules to output warnings.
2018-02-20 04:28:45 -05:00
Adriaan de Groot
dbbec4f76d [libcalamares] Use cDebug, polish messages 2018-02-19 17:23:05 -05:00
Adriaan de Groot
d62c7b93c6 [libcalamares] Polish weird namespace use 2018-02-19 17:17:03 -05:00
Adriaan de Groot
0c16bf1179 [finished] Remove useless debugging 2018-02-19 16:55:34 -05:00
Adriaan de Groot
092529da45 [partition] WIP: EFI partition search
- Add some logging (not even sure it compiles) because
   my openSUSE Krypton Secureboot-enabled VM says
   "no EFI system partitions found".
2018-02-19 10:25:00 -05:00
Adriaan de Groot
cf02f7aab5 [libcalamares] Avoid nullptr crashes
- The Python testmodule script can end up calling in to System
   methods (via System::instance()). This is unusual, and the
   System instance has not been created at that point.
   Now, create an instance and warn about it.
2018-02-19 09:47:15 -05:00
Adriaan de Groot
94014a52d4 Merge branch 'context-wildcard'
FIXES #906
2018-02-19 07:04:43 -05:00
Adriaan de Groot
713add5795 [contextualprocess] Add tests
- Tests showed issues with memory management, fixed in previous commits.
2018-02-19 07:04:21 -05:00
Adriaan de Groot
f0ec6c02a3 [shellprocess] ECM has already been searched-for 2018-02-19 07:03:43 -05:00
Adriaan de Groot
23a23a01f1 [contextualprocess] Cleanup destructors
- ValueCheck shouldn't own the pointer, since it's just a QPair
   and there are temporary copies made (e.g. in
   ContextualProcessBinding::append() ) and we get double-deletes.
 - Do deletion by hand; going full unique_ptr would be a bit overkill.
2018-02-19 06:58:42 -05:00
Adriaan de Groot
87e2f13dc2 [contextualprocess] Helper methods for counting checks 2018-02-19 06:42:13 -05:00
Adriaan de Groot
8664400ee9 [contextualprocess] Warn if (global) variable not found. 2018-02-19 06:34:52 -05:00
Adriaan de Groot
699b42a756 [contextualprocess] Add wildcard
- Re-build the structures for doing value-checks, is now more tree-like.
 - Document pointer ownership.
 - Introduce wildcard matches ("*")
 - Don't drop empty command-lists, since they can be used to avoid
   wildcard matches. (E.g. "in this case, do nothing, but don't
   fall through to wildcard").
2018-02-19 06:18:08 -05:00
Adriaan de Groot
2fa6361d63 [branding] Expand documentation
- Make CMakeLists a little more resilient
 - Format docs source
 - Add documentation for the examples
2018-02-19 05:10:17 -05:00
Adriaan de Groot
04de4a0b02 [plasmalnf] Properly scale the image
- Since the image size isn't known a priori (due to sizing based on fonts),
   load the image and then resize in all code paths.
 - Use the right resizing flags.
 - .. and actually use the resulting scaled pixmap.

Thanks to Jeff Hodd.
2018-02-14 11:23:53 -05:00
Adriaan de Groot
83639b182b CMake: try installing outside of regular lib/
- Install unversioned libraries
 - Install to lib/calamares instead of directly to lib/
2018-02-14 08:55:30 -05:00
Adriaan de Groot
958aee1d41 [libcalamaresui] Switch text on 'next' button
- If the next step will be an install-step (e.g. hit the optional
   confirmation step) then change the text on the 'next' button to
   'install'.
 - Do a little refactoring to make that more pleasant.

FIXES #905
2018-02-13 08:11:11 -05:00
Adriaan de Groot
e9d9efce20 Merge branch 'sanitize-logging' 2018-02-13 12:00:17 +01:00
Adriaan de Groot
3ae126f589 [modules] Use cError() as well
- Switch KPMHelpers to using Calamares logging instead of qDebug()
2018-02-13 11:59:38 +01:00
Calamares CI
b33e3294e1 i18n: [dummypythonqt] Automatic merge of Transifex translations 2018-02-13 11:28:28 +01:00
Adriaan de Groot
3315df5df1 [modules] Use new convenience logging methods across the board 2018-02-13 11:07:12 +01:00
Adriaan de Groot
3f77fb1d16 [modules] Use new convenience logging methods 2018-02-12 11:58:34 -05:00
Adriaan de Groot
60f440f72b [libcalamaresui] Use new convenience logging methods
- Remove a few confusing Q_FUNCINFO
2018-02-12 11:58:34 -05:00
Adriaan de Groot
df0d9dcb88 [libcalamares] Provide convenience functions for warning and error 2018-02-12 11:58:34 -05:00
Adriaan de Groot
79d81700b3 [libcalamares] Use -D for just debug-level setting
- Original flag -d sets debugging but also changes behavior
 - New -D just sets debugging
 - Simplify QStringList (use C++ 11)
2018-02-12 10:39:09 -05:00
Adriaan de Groot
ae5511c2f3 [libcalamares] Rationalize logging
- Move logging-levels to an enum
 - (re-)Order logging-levels so that the normal debug statement is
   not the most-important (lowest level).
 - Drop using namespace std;
2018-02-12 10:37:25 -05:00
Adriaan de Groot
6693f81375 [plasmalnf] Document configuration
- Improve documentation, explain necessity of theme: and image: keys
 - Scale screenshot up with font size (numbers picked arbitrarily)
2018-02-12 10:24:33 +01:00
Adriaan de Groot
874514a4e4 i18n: drop orphaned #undefs (thanks Kevin Kofler) 2018-02-08 10:33:40 +01:00
Adriaan de Groot
f49e0f6d92 i18n: update extracted English message files 2018-02-08 10:10:33 +01:00
Adriaan de Groot
0b03d56a40 i18n: Massage code to help lupdate understand 2018-02-07 17:43:26 +01:00
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.
2018-02-07 17:43:26 +01:00
Adriaan de Groot
c71385e93f i18n: fix broken translation in CommandList 2018-02-07 17:43:26 +01:00
Adriaan de Groot
f954496acf i18n: avoid translation tricks, use QCoreApplication::translate
Instead of using tr and some macro hacks to get lupdate to
recognize the translation, instead use QCoreApplication::translate()
which takes its own context for translation.
2018-02-07 17:43:26 +01:00
Calamares CI
7c8a70c9a1 [dummypythonqt] Automatic merge of Transifex translations 2018-02-07 13:44:18 +01:00
Adriaan de Groot
ad89dd7cc4 [interactiveterminal] Document config 2018-02-07 12:03:13 +01:00
Adriaan de Groot
051edb462f [packages] Add pisi package manager (based on some guesses) 2018-02-01 09:14:54 +01:00
Adriaan de Groot
533031b3ca [bootloader] print() does not log
- use the right logging method; print just vanishes.
2018-01-30 11:26:29 +01:00
Adriaan de Groot
f869a0f263 [bootloader] Log the EFI fallback action 2018-01-30 11:22:36 +01:00
Adriaan de Groot
78108c5cda [bootloader] Allow skipping the EFI fallback 2018-01-29 22:55:07 +01:00
Adriaan de Groot
aed904e3b4 Merge branch 'i897-timeout'
FIXES #897
2018-01-29 22:12:36 +01:00
Adriaan de Groot
9a7e766391 Merge branch 'i895-setroot-context'
FIXES #895
2018-01-29 22:12:23 +01:00
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.
2018-01-29 22:08:12 +01:00
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.
2018-01-29 21:25:18 +01:00
Adriaan de Groot
c641f5dec6 [libcalamares] Implement object-style command line
- handle command: and timeout: entries
 - test for setting the values
2018-01-29 21:08:42 +01:00
Adriaan de Groot
72bac332be FIXUP document 2018-01-29 20:59:58 +01:00
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
2018-01-29 17:40:29 +01:00
Adriaan de Groot
fe2be46d3f [libcalamares] Extend command-list with timeouts
- Replace plain StringList with a list of <String, timeout> pairs,
   and run that instead. All code paths still use the default 10sec
   timeout and there's no way to change that.
2018-01-29 17:10:56 +01:00
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.
2018-01-29 17:10:56 +01:00
Adriaan de Groot
6335084aa3 [libcalamares] Determine what's checked and what's required first.
- warn for required checks that are not carried out.
2018-01-29 15:29:25 +01:00
Adriaan de Groot
778feb50e8 [libcalamares] Additional convenience for doubles 2018-01-29 14:45:42 +01:00
Adriaan de Groot
54a9bbb949 [libcalamares] Don't eat output on timeout.
- Copy stdout from timed-out process into the output variable,
   instead of just dumping it into the log file. This will
   improve the user experience, too, because they will get some
   feedback / explanation of what the process has done.
2018-01-26 18:19:38 +01:00
Adriaan de Groot
d6731efdfd [packages] fix typo in docs 2018-01-25 10:44:48 +01:00
Adriaan de Groot
1d6dca062c [users] Make state of 'reuse password for root' available in globals. 2018-01-24 16:19:41 +01:00
Adriaan de Groot
26dfd56f6d [libcalamares] Additional convenience function extracting int 2018-01-24 16:19:22 +01:00
Adriaan de Groot
188a434a10 [dummycpp] more verbose debug log 2018-01-24 16:19:22 +01:00
Adriaan de Groot
b828580464 Merge remote-tracking branch 'origin/simplify-plugin' 2018-01-24 14:22:35 +01:00
Adriaan de Groot
32b10f72e9 Merge branch 'i896-password-quality'
FIXES #896
2018-01-24 14:21:59 +01:00
Adriaan de Groot
b0fe7b0682 i18n: apply some more tricks to make lupdate / transifex happy 2018-01-24 14:13:50 +01:00
Adriaan de Groot
399256ba99 [users] Use explanation of password error from libpwquality
- add license file from libpwquality for provenance
 - translate pwquality_strerror() into the PWSettingsHolder convenience class
 - use Qt translations, since we'd otherwise also have to wire up, and
   wire in, libpwquality gettext translations.
2018-01-24 14:13:50 +01:00
Adriaan de Groot
ed58d540b3 [users] Implement password checking through libpwquality
- Use shared_ptr and a helper class to hide away raw pointer use
   from libpwquality. Provide a convenience C++ API.
 - Simplify configuration through helper class.
2018-01-24 14:13:50 +01:00
Adriaan de Groot
354cb79cb1 [users] sample config and stub function for libpwquality 2018-01-24 14:13:50 +01:00
Adriaan de Groot
27e1de6548 [users] Use libpwquality for additional password checks
- add cmake module to find libpwquality
 - move checking functions to their own file
 - some Transifex hackery
 - stub out the libpwquality check
2018-01-24 14:13:50 +01:00
Adriaan de Groot
eae52a3e65 CMake: build modules alphabetically 2018-01-24 14:13:13 +01:00
Adriaan de Groot
9a9c6da6db i18n: try to trick Transifex into recognizing these strings 2018-01-23 12:11:34 +01:00
Adriaan de Groot
9c9486bb78 [libcalamares] When ViewManager is destroyed, reset instance pointer 2018-01-17 09:17:40 -05:00
Adriaan de Groot
845986d48f [libcalamaresui] Mark virtual QObject destructors override 2018-01-17 09:17:40 -05:00
Adriaan de Groot
97fb83c743 [libcalamares] Change debug logging of how job name is derived 2018-01-17 09:17:36 -05:00
Adriaan de Groot
abc6914528 [libcalamares] Enforce singleton-ness of CalamaresPython::Helper
- unset instance pointer on destruction
 - make constructor private, and the instance accessor
   should create an instance if there isn't one.
2018-01-17 06:18:43 -05:00
Adriaan de Groot
3b3e80b334 [branding] Add a totally different branding example
Use the samegame example from the Qt Quick demos as a branding "slideshow".
Instead of watching slides go by, you can play samegame! Click on
"new game" to start, and then click on groups of same-colored balls to make
them go away -- at least two same-colored balls must be touching.

Once the exec step is done, the game vanishes automatically.

This is an additional example for #841
2018-01-16 17:05:29 +01:00
Adriaan de Groot
86b899566e [libcalamares] Silence compiler warnings about PluginFactories
- d_ptr shadows QObject d_ptr, which clang complains about
 - rename, and don't use Q_D and similar because it messes with internals.
2018-01-16 13:23:51 +01:00
Adriaan de Groot
510af704d8 [libcalamares] Improve documentation
- reference to _WITH_JSON is bogus copy-replace from other code
 - fix style of sample code.
2018-01-16 13:23:51 +01:00
Adriaan de Groot
0020fd885c [libcalamares] Remove unused extern declaration 2018-01-16 13:23:51 +01:00
Adriaan de Groot
a2bdc12f25 [libcalamares] Drop unused plugin defines
- Remove some superfluous intermediate defines
 - baseFactory was not used (always Calamares::PluginFactory)
 - Move DECLARATION and DEFINITIONS apart
 - CALAMARES_PLUGIN_FACTORY_DEFINITION was redefined (identically)
 - CALAMARES_PLUGIN_FACTORY_DECLARATION was redefined (identically)
 - __VA_ARGS__ was constant
2018-01-16 13:23:09 +01:00
Calamares CI
8f1f397c95 [dummypythonqt] Automatic merge of Transifex translations 2018-01-15 10:55:42 -05:00
Adriaan de Groot
be45171638 [finished] Make the *restart now* checkbox more visible.
- Issue asks to make the setting more visible, which seems sensible to
   me. It **is** kind of hidden away for those distro's that make
   the setting visible (not everyone does).
 - While here, add a tooltip explaining what it does.

FIXES #893
2018-01-15 09:33:33 -05:00
Adriaan de Groot
15d4245074 Merge branch 'scripting' 2018-01-15 09:05:30 -05:00
Adriaan de Groot
d6cbda5ed7 [contextualprocess] Implement contextual processes
Allow running one or more commands based on the value of
a global configuration variable. This could, of course,
be done in a Python module with some custom code,
but for simple cases this is more straightforward
to configure through module instances.

Uses the CommandList developed for the ShellProcess
module to do the actual work.

FIXES #874
2018-01-15 08:57:34 -05:00
Adriaan de Groot
f01c7cda6b [libcalamares] Fix debug output classname 2018-01-15 08:41:24 -05:00
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
2018-01-15 06:52:55 -05:00
Adriaan de Groot
60f4dd7b3b [libcalamares] Improve explanation of failed processes. 2018-01-15 05:51:58 -05:00
Adriaan de Groot
8571fd800e [shellprocess] Make explicit that an error code has been ignored, by logging it. 2018-01-15 05:26:20 -05:00
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.
2018-01-15 04:57:41 -05:00
Adriaan de Groot
8bd40fdcd5 [shellprocess] Warn when there's no script 2018-01-15 04:20:37 -05:00
Adriaan de Groot
2bc394656d [welcome] Make libparted optional
- This turns off the space-available check in the welcome module;
   without libparted, always fail that check.
 - Allows running the welcome module on OS without libparted.
2018-01-13 21:41:07 +01:00
Adriaan de Groot
b0c4fbc1bb Clang: reduce warnings
- mark some things override
 - make conversion of 0 to flags explicit
2018-01-13 21:40:46 +01:00
Adriaan de Groot
fdb3fc1ef8 [shellprocess] Execute the command list 2018-01-12 10:38:40 -05:00
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
2018-01-12 10:38:01 -05:00
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.
2018-01-12 10:33:51 -05:00
Adriaan de Groot
4ff1a0d5ea [libcalamares] another convenience for running commands
Back targetEnvCommand() with a more general runCommand()
that takes an argument selecting the location to run
the command in. This allows us also to use the same
API for running processes in the host during install,
as we do for running them in the target system.

One reason for this change is wanting to run (user-specified)
commands and independently from the global dontChroot setting,
run those commands in the live system or the target.

This changes the ABI of the DLL, since targetEnvCommand()
is no longer exported. Plugins will need to be recompiled.

 - refactor targetEnvCommand() into more general runCommand().
 - While here, allow host system commands to run even if
   there is no global storage.
 - provide convenience accessors for ProcessResult members
 - Move explanation of process errors out of ProcessJob
   - Move from ProcessJob to ProcessResult, so it can be
     reused outside of ProcessJob (e.g. from ShellProcessJob).
   - Add some convenience functions, too.
2018-01-12 10:32:42 -05:00
Adriaan de Groot
6e01bb0fa4 CMake: factor out explanation of skipped modules.
Make a function out of explaining-skipped-modules, and call it
not only after collecting all the modules, but also after
the feature summary, so that it's quite clear which modules
are skipped.
2018-01-10 09:20:49 -05:00
Adriaan de Groot
58252fc16d [partition] Handle missing requirements by disabling the module 2018-01-10 09:05:15 -05:00
Adriaan de Groot
e3b7a2884b [partition] Relax check with UI-level warning message, too 2018-01-09 11:15:30 -05:00
Adriaan de Groot
637d6ad752 [partition] Find Esp partition with modern flags. 2018-01-09 11:12:13 -05:00
Adriaan de Groot
94b6c95c44 [partition] Introduce function for checking various flag-combinations for ESP boot. 2018-01-09 10:53:33 -05:00
Adriaan de Groot
3ff68bce98 [keyboard] Correct guessing for Arabic variants 2018-01-09 16:24:55 +01:00
Adriaan de Groot
05967311de [partition] Be defensive against no device-device-available.
Scenario is this: you have no suitable installation devices on
your system (everything is mounted, or HDD has died), click through
to partition page, where you have all the buttons available, but no
devices in the list. The following actions then cause a crash:

 - clicking "back"
 - clicking any button

Prevent that:
 - you can click "back", but if there is no device selected
   nothing happens to the device state (no nullptr deref,
   and no crash)
 - button code is now more resilient to this scenario
 - buttons are hidden until a device is available, so you
   can't even click on them to trigger the code.
2018-01-09 06:58:46 -05:00
Adriaan de Groot
a35a7b108f
Merge pull request #883 from agaida/hack-unpackfs
[unpackfs] skip error check when rm of tmp folder fails
2018-01-09 10:53:52 +01:00
Adriaan de Groot
7249b41e3e [keyboard] Explain table format, add more edge cases 2018-01-08 11:02:20 -05:00
Adriaan de Groot
0d56b9b9c5 Merge branch 'master' into i689-kayboard-layout 2018-01-08 16:19:27 +01:00
Adriaan de Groot
28d61c406e [bootloader] Improve description of *efiBootloaderId* option 2018-01-08 16:14:28 +01:00
Adriaan de Groot
2a0a2a26bc [umount] Don't raise when copying log file fails. 2018-01-03 05:01:38 -05:00
Adriaan de Groot
6f7b5a0510 [umount] Move module documentation into config file, fix wording
FIXES #831
2018-01-03 04:33:20 -05:00
Adriaan de Groot
a7d7f3a83b [welcome] Make link to Calamares site https 2018-01-03 04:20:21 -05:00
Adriaan de Groot
308441ee3a Merge branch '3.1.x-stable' 2018-01-02 15:44:34 +01:00
Adriaan de Groot
41e6f0e06c [calamares] Allow WM close button
- remove hide-close-button hack
 - refactor code in viewmanager for confirming quit
 - hook up confirm-and-quit to WM close button
 - also works for alt-F4 and other quit methods
 - while here, update copyright year

FIXES #870
2018-01-02 14:58:08 +01:00
Adriaan de Groot
5593be125f [calamares] Reduce font-related debug output on startup. 2018-01-02 14:43:48 +01:00
Adriaan de Groot
1a42b8af41 Merge branch 'kpmcore-3.2'
- Bumps requireed KPMCore to 3.3 (in spite of the branch name)
 - Cleans up some dependencies

Thanks to Andrius Stikonas.
2018-01-02 13:25:11 +01:00
Philip
be650d7986 [initcpiocfg] search just for 'lvm2' in partition[fs] 2017-12-30 05:01:25 -05:00
Philip
5a83024698 [initcpiocfg] add 'lvm2' hook as needed 2017-12-30 05:00:59 -05:00
Andrius Štikonas
2027a5538e Fix propagation of new partition table to global storage. 2017-12-27 14:11:11 +00:00
Alf Gaida
784bbd3bc8 finally !must! never fail unhandled
but it does without help
2017-12-26 22:25:40 +01:00
Philip
1cffa9fafc [partition] Rename slots, to avoid recursion
- see also https://github.com/calamares/calamares/issues/880
- missed within 7ce52ecda7
2017-12-25 15:50:37 -05:00
Philip
8f32aad3fa [partition] Rename slots, to avoid recursion
- see also https://github.com/calamares/calamares/issues/880
- missed within 7ce52ecda7
2017-12-25 15:48:55 -05:00
Adriaan de Groot
03dd487fc2 Merge branch '3.1.x-stable' 2017-12-24 16:23:35 -05:00
Adriaan de Groot
661789825a [plasmalnf] Make the module optional
- Check for presence of KDE Frameworks for Plasma & Package
 - Explain when module is skipped
2017-12-24 16:15:04 -05:00
Adriaan de Groot
2e1f389997 CMake: explain which modules are skipped
Modules may be skipped for different reasons: SKIP_MODULES
is the traditional approach to suppress some, but other modules
may have unmet build requirements (e.g. Plasma Look-and-Feel,
or the Partitioning module) and should be able to opt-out
of being built. For all those skipped, log it explicitly after
all the modules have been examined.

Only CMake-based (e.g. C++) modules support opting-out in this way.
2017-12-24 16:14:58 -05:00
Adriaan de Groot
dc255e161e [partition] Rename slots, to avoid recursion 2017-12-24 03:34:34 -05:00
Andrius Štikonas
806b84973a Convert CreatePartitionTableJob to KPMcore operation. 2017-12-22 15:25:39 +00:00
Andrius Štikonas
1b3ce39ffb Convert FormatPartitionJob to KPMcore's CreateFileSystemOperation. 2017-12-22 15:25:39 +00:00
Andrius Štikonas
638117efa0 Cleanup unnecessary kpmcore includes. 2017-12-22 15:25:39 +00:00
Adriaan de Groot
7ce52ecda7 [partition] Rename slots, to avoid recursion 2017-12-22 16:20:35 +01:00
Adriaan de Groot
980b39961d [calamares] Unset application name
Unset the application name so that you don't get -- Calamares
in the window title.

Reported by: sitter
FIXES #877
2017-12-22 06:47:12 -05:00
Adriaan de Groot
f8a53f9646 [libcalamares] Refactor explanation of process-job errors 2017-12-21 16:30:13 +01:00
Adriaan de Groot
c6ab4195c7 [contextualprocess] Stub of a contextual-process job
This is meant to run one or more jobs based on specific global
configuration values; if could also be done by a Python
module with just some if's, but this one can be used with
just the config file and covers a bunch of use-cases.
2017-12-20 09:12:27 -05:00
Adriaan de Groot
762ad54344 Documentation: change http links to GitHub to https 2017-12-20 08:39:09 -05:00
Adriaan de Groot
c582ff0d6b Merge branch '3.1.x-stable' 2017-12-20 08:13:55 -05:00
Adriaan de Groot
d42210eb93 Merge branch '3.1-pinebook' into 3.1.x-stable 2017-12-19 11:13:21 -05:00
Adriaan de Groot
d5b46dfb86 [plasmalnf] Improve theme-listing handling
- if key is missing or badly typed, enable all (explicitly)
 - document settings and code
2017-12-19 12:51:56 +01:00
Adriaan de Groot
f2aeecf546 [plasmalnf] Improve screenshot view
- make screenies smaller
 - use view-preview to indicate no-screenshot-specified
2017-12-19 12:28:42 +01:00
Adriaan de Groot
10e71bab30 [plasmalnf] Add Breeze 'view-preview' icon for missing screenshots 2017-12-19 12:21:05 +01:00
Adriaan de Groot
e73d54767d [plasmalnf] Expand explanation, drop CSS 2017-12-18 07:57:19 -05:00
Adriaan de Groot
cf39dddbf3 [plasmalnf] Prevent duplicate widgets
- Only create widgets for themes once
 - Update visible texts as needed
2017-12-18 07:25:59 -05:00
Adriaan de Groot
3f258d4bd9 [plasmalnf] Fallback for image-not-found
- calculate a hash of the filename, and use that
 - makes it possible to distinguish different screenshots
   even when the image file is missing / badly configured
 - most colors will be dreadful
2017-12-18 07:07:47 -05:00
Adriaan de Groot
cc15dd9ec7 Merge branch 'master' into kpmcore-3.2
- Pull in Master, merge README, to simplify merging this
   branch into master (soon-ish, once kpmcore 3.3 becomes available
   in builders)
2017-12-15 07:18:05 -05:00
Andrius Štikonas
a2e3af2b3d Require KPMcore 3.3 2017-12-15 11:38:38 +00:00
Adriaan de Groot
2db485bb33 [plasmalnf] Improve layout of theme widget 2017-12-14 17:04:16 -05:00
Adriaan de Groot
244919d6fe [plasmalnf] Add description to theme widget 2017-12-14 17:01:59 -05:00
Adriaan de Groot
55ed2ba4c0 [partition] Introduce convenience translation for progress. 2017-12-14 16:11:46 -05:00
Adriaan de Groot
5c4286eebf [partition] Switch to convenience function for MiB 2017-12-14 16:11:46 -05:00
Adriaan de Groot
38688bab47 [partition] code style (minor followup to #872) 2017-12-14 15:55:23 -05:00
Adriaan de Groot
0729bdd0be
Merge pull request #872 from stikonas/3.1.x-stable
Use KPMcore SetPartFlags operation.
2017-12-14 15:53:35 -05:00
Adriaan de Groot
8b3f71af40 [plasmalnf] Widget for showing theme info
- Radio button + group for button action
 - Use a (still very primitive) widget for displaying theme information
2017-12-13 11:04:34 -05:00
Adriaan de Groot
755c0cba18 [plasmalnf] Prep-work for UI changes 2017-12-13 09:55:54 -05:00
Adriaan de Groot
11fc3e0507 [plasmalnf] minor documentation
- Code documentation
 - Add another broken example theme, as test for winnowing
2017-12-13 09:53:41 -05:00
Adriaan de Groot
afbdcc3782 [hwclock] Be more lenient.
Patch by Gabriel C. (@abucodonosor).

 - use libcalamares functions
 - no need to copy /etc/adjtime over we can run hwclock in chroot
   since we have /proc , /sys , /dev , /run/* already bind mounted.
 - added RTC and ISA probing methode ( see issue #873)
    - we probe default from /dev/rtc* ,
    - fall back to ISA
    - still doesn't work we just print a BIOS/Kernel BUG message and continue
- NOTE: issue #873 is about broken ArchLinux kernel config but there
  are HP boxes with real RTC problems no matter what kernel config
  is used so let us be nice and don't error out..

FIXES #873
2017-12-13 06:27:04 -05:00
Adriaan de Groot
748ccf94e9 [plasmalnf] Enrich config file
- Extend the config file format to allow theme, image pairs
   as well as just naming the themes.
 - Reduce verbosity when querying Plasma themes.
2017-12-12 06:59:25 -05:00
Andrius Štikonas
139f5a9e86 Use KPMcore SetPartFlags operation. 2017-12-06 14:51:54 +00:00
Adriaan de Groot
6bd8c67ca9 [plasmalnf] Allow filtering the selectable lnf themes
- empty list allows all of them
 - always suppress hidden, invalid themes, and those named
2017-12-04 12:27:30 -05:00
Adriaan de Groot
ad69eda337 [plasmalnf] Complain again if poorly configured 2017-12-04 11:54:33 -05:00
Adriaan de Groot
98b9f67e39 [plasmalnf] Complain more loudly (and more often) when badly configured 2017-12-04 11:51:16 -05:00
Adriaan de Groot
ee979d79ee Merge branch '3.1-pinebook' 2017-12-04 11:45:01 -05:00
Adriaan de Groot
02dfe51d55 [welcome] Improve error reporting from requirements checker 2017-12-04 10:47:26 -05:00
Adriaan de Groot
e628ddfdbf [plasmalnf] Try to get back to the live user before changing themes 2017-12-04 09:37:34 -05:00
Adriaan de Groot
b10b19e9ee [plasmalnf] C++ style and reduce includes 2017-12-04 09:11:10 -05:00
Adriaan de Groot
eb92755b0a [plasmalnf] Enable translations
- Move tool-running to the view-step
 - Enable translations by showing name instead of theme-id
 - More verbose logging
2017-12-04 06:40:13 -05:00
Adriaan de Groot
71966b5330 [plasmalnf] Wait longer for the tool to finish 2017-12-03 16:09:34 -05:00
Adriaan de Groot
1de2e94fd0 [plasmalnf] Simplify code, reduce copies of lnftool setting 2017-12-03 15:41:52 -05:00
Adriaan de Groot
fe8ff3ab05 [plasmalnf] Simplify code, remove redundant implementations 2017-12-03 15:34:06 -05:00
Adriaan de Groot
4e2e55a935 [plasmalnf] Needs to run as target user in all cases 2017-12-03 15:24:39 -05:00
Adriaan de Groot
e005c2d02d Merge branch '3.1-pinebook'
- Also document the config file some more.
2017-12-03 15:17:03 -05:00
Adriaan de Groot
ac92d4911d Compatibility: revert conveniences from master 2017-12-03 12:58:54 -05:00
Adriaan de Groot
3a94f02547 CMake: look for ECM at top-level, add to search path if found. 2017-12-03 12:48:23 -05:00
Adriaan de Groot
cddc4699aa [plasmalnf] Import Plasma Look-and-Feel module independently 2017-12-03 12:47:41 -05:00
Adriaan de Groot
1f49f764a6 [libcalamares] Allow retrieving chroot mode from system (as well as settings) 2017-12-03 12:46:33 -05:00
Adriaan de Groot
388399f256 [plasmalnf] Fix command-line options, run in target user environment 2017-12-03 12:42:44 -05:00
Adriaan de Groot
7e5970324f [plasmalnf] Reset layout along with theme 2017-12-03 11:05:14 -05:00
Adriaan de Groot
81128923e6 [plasmalnf] Disable applying in the target (user|system) for now. 2017-12-03 10:56:39 -05:00
Adriaan de Groot
3bdfa63a79 [plasmalnf] Preserve environment, so that DISPLAY gets to the tool 2017-12-03 10:38:32 -05:00
Adriaan de Groot
d3ef6b07d5 [plasmalnf] Run the lnftool in the target (user|system) 2017-12-03 10:22:46 -05:00
Adriaan de Groot
8a053f3c9b [libcalamares] Allow retrieving chroot mode from system (as well as settings) 2017-12-03 10:09:00 -05:00
Adriaan de Groot
b3d299bbf1 [plasmalnf] Replace hard-coded path with configurable one 2017-12-03 09:51:13 -05:00
Adriaan de Groot
62623a2376 [plasmalnf] Make an actual job of setting the theme
- Job doesn't actually run lookandfeeltool in the target system yet.
2017-12-03 09:26:59 -05:00
Adriaan de Groot
2d3defcca3 [plasmalnf] Hammer in theme-changing
- Tool is currently a hard-coded path.
2017-12-03 09:18:18 -05:00
Adriaan de Groot
8c65ee5481 [plasmalnf] Get available LNF
- Implement various ways of getting the LNF; the process-based one
   uses a recent CLI-tool from the Plasma developers.
 - Fill the UI with (meaningless) LNF package IDs.
2017-12-03 08:48:41 -05:00
Adriaan de Groot
98d758b4be [plasmalnf] Hammer out the most primitive UI 2017-12-03 07:08:54 -05:00
Adriaan de Groot
e0634a4056
Merge pull request #869 from V3n3RiX/master
new module : openrcdmcryptcfg - auto unlock encrypted partitions with OpenRC
2017-12-03 04:54:44 -05:00
Adriaan de Groot
839c039168 Merge remote-tracking branch 'origin/plasma-lnf' 2017-12-03 04:43:55 -05:00
Adriaan de Groot
298ff0cbeb Merge branch '3.1.x-stable' 2017-12-03 04:43:23 -05:00
V3n3RiX
7cecfceaa7 add openrcdmcryptcfg module 2017-12-02 19:47:34 +00:00
Adriaan de Groot
c8a6ebe404 Testing: expand the testmodule script.
Do a better job determining what the arguments could mean; this supports
lazy devlopers who don't want to pass in full paths to all kinds of things.
Simple invocation can now be:
    testmodule.py <modulename> - +
to read <modulename>.conf from src/modules/<modulename>/
2017-12-02 06:43:12 -05:00
Adriaan de Groot
65a236cd60 [packages] Fix previous.
This, kids, is why you don't switch writing C++ and Python too often.
The C++ code isn't a syntax error in Python, although this would fail
at runtime.
2017-12-02 06:14:17 -05:00
Adriaan de Groot
3e3cd08ff3 [packages] Fix previous (false vs False) 2017-12-02 05:20:13 -05:00
Adriaan de Groot
150007c138 [packages] Feature: skip if no internet.
Update documentation, add a new key *skip_if_no_internet* to support
systems that **recommend** having an internet connection (but don't
require it), and which also use the packages module. This prevents
a long delay while the package manager tries to access the internet
and times out (repeatedly).

Existing configurations are unchanged.
2017-12-02 05:17:15 -05:00
Adriaan de Groot
7b145c2a36 [packages] Improve message when no packages are processed at all. 2017-12-01 16:48:02 -05:00
Adriaan de Groot
517dbfab06 [libcalamares] The script namespace is actually a dict
Use dict methods, in particular d.get(k, v), to retrieve
the pretty_name() function (or None if it isn't there).
Using getattr() on a dict will not return values in the
dict.
2017-12-01 16:42:56 -05:00
Adriaan de Groot
fe61925f31 [packages] Update module documentation 2017-12-01 13:46:59 -05:00
Adriaan de Groot
0d413ba750 Merge branch '3.1.x-stable' 2017-11-29 08:58:32 -05:00
Adriaan de Groot
12369abaa4 [libcalamares] Refactor to reduce compiler warnings 2017-11-29 08:49:44 -05:00
Adriaan de Groot
53036be418 Merge branch 'i865-error-reporting' 2017-11-28 11:48:25 -05:00
Adriaan de Groot
ae4508011c [tracking] swap out PNG for SVG icons 2017-11-28 11:47:51 -05:00
Adriaan de Groot
c284304872 [libcalamares] Adjust copyright lines 2017-11-28 11:41:17 -05:00
Adriaan de Groot
cc195eb3d4 [libcalamares] Improve reporting of CalledProcessError
For called processes, replace the not-very-useful type message
with the command-explanation, and replace the value (previously
command-explanation) by the stderr of the failed command.

FIXES #865
2017-11-28 11:38:26 -05:00
Adriaan de Groot
9df796a3fd [libcalamares] Log earlier, warnings-- 2017-11-28 11:26:59 -05:00
Adriaan de Groot
1e27c6438a [libcalamares] Special-case CalledProcessError 2017-11-28 11:21:42 -05:00
Adriaan de Groot
a0a8ab0048 [libcalamares] Refactor Python target_env calls
This is why the whole refactoring started: to get the process output
and exit code in one spot so we can attach the process output
to the (Python exception) CalledProcessError in all the code
paths, not just those that are explicitly looking for output.
2017-11-28 10:55:53 -05:00
Adriaan de Groot
6693d91152 [libcalamares] Refactor bp:list -> QStringList 2017-11-28 10:42:00 -05:00
Adriaan de Groot
9d31380980 [libcalamares] Refactor target-environment calls
- Add a more general targetEnvCommand() that returns both
   error code and process output.
 - Change existing targetEnvCall() and targetEnvOutput()
   to use general form while discarding some data.
2017-11-28 10:27:24 -05:00
Adriaan de Groot
f5aec1ad8a [libcalamares] Add output to CalledProcessError
- Refactor, internal _handle_check_target_env_call_error doesn't need
   to be in header or visible.
 - Add optional output (of the command) to the Python exception.
2017-11-28 08:53:40 -05:00
Adriaan de Groot
1f3f6111f7 [libcalamares] Log output from failed commands 2017-11-28 08:40:12 -05:00
Adriaan de Groot
b4d4351825 [libcalamares] Better Python traceback handling:
- log the whole error message as plain text
 - convert to HTML only for the ui
2017-11-28 08:33:32 -05:00
Adriaan de Groot
a25445a58c i18n: update (English) source translation files 2017-11-28 06:47:33 -05:00
Adriaan de Groot
d06e29b1c5 [interactiveterminal] refactor again to keep Transifex happy 2017-11-28 06:45:56 -05:00
Calamares CI
cd2ae5ab0e [dummypythonqt] Automatic merge of Transifex translations 2017-11-28 06:00:08 -05:00
Adriaan de Groot
3cb6fd839b [interactiveterminal] Refactor error message
- refactor error message
 - ifx capitalisation problem
 - remove editorializing in comments

FIXES #866
2017-11-28 05:05:28 -05:00
Adriaan de Groot
3ae65d5771 Merge branch '3.1.x-stable' 2017-11-24 09:28:35 -05:00
Adriaan de Groot
93ab6432c4 [netinstall] Special-case the root node.
Root is always selected, can't be unselected, and has its own explicit
constructor and name. This resolves issue reported where unchecking
all *visible* groups caused the root to be unchecked, after which
hidden-but-still-selected subgroups were not installed.

Reported by crazy@
2017-11-24 07:52:52 -05:00
Adriaan de Groot
e29cd7ab54 Merge branch 'usertracking'
Adds a "tracking" module which allows configuring phone-home,
machine and user tracking. Additional machine-tracking types
could be defined depending on distro needs.

This is not the final version -- there is still polishing to
do on the icons, perhaps layout.

Tested in KDE Neon devunstable by keeping an existing partition
which had an older Neon running. New machine-id is generated
and sed'ded into place.

FIXES #783
2017-11-23 17:38:30 +01:00
Adriaan de Groot
858372d93e [tracking] Remove derp. 2017-11-23 17:38:06 +01:00
Adriaan de Groot
8aa94ef01e [branding] Fix up example URLs 2017-11-23 13:15:55 +01:00
Adriaan de Groot
8e79ad1a14 [tracking] Implement Neon machine tracking configuration 2017-11-22 08:04:37 -05:00
Adriaan de Groot
6cb88c86f1 [tracking] Improve phrasing 2017-11-22 07:49:06 -05:00
Adriaan de Groot
22f5a121cb [tracking] stub implementation of neon machine feedback configuration 2017-11-22 07:39:52 -05:00
Adriaan de Groot
4a96e83203 [tracking] Adjust wording, drop page title 2017-11-22 07:21:58 -05:00
Adriaan de Groot
9a3ba75c2c [tracking] Switch icons to sensible names 2017-11-22 13:04:18 +01:00
Adriaan de Groot
cb8f698ce0 [tracking] Switch to VDG icons (version 1) 2017-11-22 13:01:41 +01:00
Adriaan de Groot
93052311aa [tracking] Switch UI to use radio buttons
Following KDE Pholio M116, switch to using a radio button; instead
of 4 individually toggle-able settings, use a "level" indicator
to select none, install, machine, user .. each of which implies
the previous levels. Each level is individually enable-able from
the distro side.
2017-11-22 06:52:14 -05:00
Adriaan de Groot
188050a77c Merge branch 'master' into usertracking 2017-11-21 07:29:49 -05:00
bill-auger
452cefd482 use orphaned Branding::ProductLogo as sidebar image 2017-11-21 07:25:39 -05:00
Adriaan de Groot
aa0fa37492 [netinstall] Hidden groups follow selectedness of parents.
If a subgroup is hidden, then it should be considered
selected if its parent is selected or partially-selected.
If the parent group is totally unselected, then the hidden
subgroup shouldn't be installed either. This allows putting
required-packages into a group, without cluttering the
interface.

FIXES #864
2017-11-21 06:16:30 -05:00
Adriaan de Groot
71e80f680e [netinstall] Only update selectedness of parents with children.
While walking up the tree, only switch the selectedness states
of parents with children. This avoids the case where a parent
has a first subgroup that is hidden -- in which case the
parent ends up with no children, and is unselected even though
it is marked as selected in the config file.

FIXES #864
2017-11-21 05:36:38 -05:00
Adriaan de Groot
495f94dde8 [calamares] Silence QBasicTimer warning message.
Relying on auto-qobject deletion on shutdown generates a warning message
    17:23:44 [0]: QBasicTimer::start: QBasicTimer can only be used
                  with threads started with QThread
which is annoying. Since we're in shutdown, just skip deletion
entirely, and leave the model unparented.

FIXES #472
2017-11-21 04:22:28 -05:00
Adriaan de Groot
185f46e2c4 [calamares] reduce compile warnings 2017-11-20 12:00:06 -05:00
Adriaan de Groot
3e4b1a7c46 [calamares] Avoid possible uninit-pointer or memory leak 2017-11-20 11:59:15 -05:00
Adriaan de Groot
0c0f0fc8b4 [requirements] Check window minimum size, not preferred size.
FIXES #863
2017-11-20 09:14:35 -05:00
Adriaan de Groot
1d18ea264d [libcalamaresui] Switch to using three state icons for requirements 2017-11-20 09:04:26 -05:00
Adriaan de Groot
65cf28b716 [libcalamaresui] Provide access to the breeze SVGs 2017-11-20 09:04:26 -05:00
Adriaan de Groot
fbe1976c11 [libcalamaresui] Add breeze SVGs under LGPLv3 2017-11-20 08:59:10 -05:00
Adriaan de Groot
7d916f649d [requirements] Document code 2017-11-20 08:18:39 -05:00
Adriaan de Groot
cc83e40fb7 Documentation: polish plymouth docs 2017-11-14 05:27:37 -05:00
Adriaan de Groot
b3b5240e66 Merge branch 'master' of https://github.com/rajudev/calamares into rajudev-master 2017-11-14 05:17:47 -05:00
Adriaan de Groot
dddc1191a1 [kcrash] Point to a better submission URL 2017-11-14 05:17:04 -05:00
Adriaan de Groot
579b1061e6 [kcrash] Configure more robustly 2017-11-13 11:39:00 -05:00
Adriaan de Groot
4d7f70a28f [kcrash] Remove duplicate 'Tools' tab 2017-11-13 07:35:37 -05:00
Adriaan de Groot
e8e284f724 Merge remote-tracking branch 'origin/kcrash' 2017-11-13 13:18:53 +01:00
Adriaan de Groot
f4368d05f9 [tracking] Fix install-tracking HTTP GET 2017-11-13 05:13:19 -05:00
Chantara Tith
2a785bdf89 Disable newPartitionTableButton for LVM device. 2017-11-11 21:47:30 +00:00
Andrius Štikonas
652ffaedd5 Remove unnecessary kpmcore includes. 2017-11-11 21:34:10 +00:00
Andrius Štikonas
1620f6a668 Merge branch 'master' into lvm2 2017-11-11 21:30:49 +00:00
Adriaan de Groot
9a43b8a0e8 [tracking] hook the install-tracking job into the build.
(it doesn't work yet, though .. multi-threading issues).
2017-11-09 05:45:25 -05:00
Adriaan de Groot
a0b1410a50 [tracking] Do the install-tracking ping with QNAM 2017-11-09 05:19:24 -05:00
Adriaan de Groot
ff8af7d5e2 [tracking] Switch to typedef for job list 2017-11-08 09:59:40 -05:00
Adriaan de Groot
fbfb103b5f [tracking] Fix deduced type
'auto' doesn't pick up the reference-type returned from tracking(),
and 'auto&' reads funny to me, so make the type explicit.
2017-11-08 09:51:46 -05:00
Adriaan de Groot
7311204572 [tracking] Step 1 of getting the install-tracking URL
- document substitutions
 - build URL when creating jobs
2017-11-08 09:51:46 -05:00
Adriaan de Groot
a0e8f76348 [tracking] Enable policy websites
Each kind of tracking has an associated webpage / URL describing
the policy for that tracking. The Calamares User Guide has some
generic information. When the user clicks on the Help (?) button
in a tracking-option block, go to that URL.
2017-11-08 09:51:46 -05:00
Adriaan de Groot
7a7e2b16cb [libcalamares] Some extra system-information functions 2017-11-08 09:51:46 -05:00
Adriaan de Groot
e83b4d33f8 [libcalamares] Another convenience config-extraction function 2017-11-08 07:40:44 -05:00
Adriaan de Groot
c7120277ca [tracking] Polish UI some more
- Enable translations, substitute ShortProductName into string,
 - Simplify code for enabling tracking option blocks,
 - Set checkboxes based on configuration,
 - Read checkboxes when leaving page,
 - Don't stretch the tracking option blocks.
2017-11-08 05:01:26 -05:00
Adriaan de Groot
20a2465cc7 [tracking] Polish UI a bit
- add icons for graphical display of actions
 - extend description of tracking options
 - add debug logging
 - enable next button
 - show/hide tracking options based on configuration
2017-11-08 04:03:38 -05:00
Adriaan de Groot
806799ece4 [tracking] Fix configuration file.
- The sample configuration file didn't use sub-maps, but list items.
2017-11-07 07:49:44 -05:00
Adriaan de Groot
28315db43b Merge branch 'master' into usertracking 2017-11-07 07:49:13 -05:00
Gabriel Craciunescu
d1c10837d1 [netinstall]: some more debug
- change the debug output when the errors occurs so
  we have a clue what may go wrong
2017-11-06 19:46:26 +01:00
Adriaan de Groot
62c03d6857 Merge branch '3.1.x-stable' 2017-11-06 05:43:29 -05:00
Adriaan de Groot
51c74c6abb [netinstall] Convenience typedefs 2017-11-06 05:42:13 -05:00
Adriaan de Groot
91e949f8fc [netinstall] Apply Calamares C++ style 2017-11-06 05:34:57 -05:00
Adriaan de Groot
f424af36d3 [netinstall] Avoid crash when do groups are available
- m_groups is only set to a non-nullptr value when data is received
   and fully processed,
 - avoid nullptr dereference when paging *back* from a netinstall
   page that hasn't loaded groups data.

FIXES #859
2017-11-06 05:33:01 -05:00
Adriaan de Groot
ee0b3b85dc [netinstall] Improve 'next' button handling
- Document netinstall.conf a little,
 - Add setting *required* which influences whether next is enabled or not
   in case of missing or corrupt data,
 - Enable *next* button only once some (any!) data is received.

This can be used to disallow stepping past the netinstall step when
there is no data (e.g. internet has failed between the welcome page
and the netinstall page).
2017-11-06 05:33:01 -05:00
Adriaan de Groot
f3eb557fdb [libcalamares] Provide some convenience functions for extracting configuration data 2017-11-03 11:02:06 -04:00
Adriaan de Groot
2d31e987c0 [libcalamaresui] Unrelated typedef for JobList 2017-11-03 11:02:06 -04:00
Adriaan de Groot
eed207ae2e CMake: ensure configuration-test can #include yamlcpp headers 2017-11-02 12:38:36 +01:00
rajudev
b3b3777b6e Merge branch 'master' of github.com:calamares/calamares 2017-11-01 20:41:44 +05:30
Adriaan de Groot
0d4bd59818 [tracking] Document the configuration file format
- switch to 'enabled' and 'default' settings, independently.
 - document user-tracking as unimplemented.
2017-11-01 09:10:25 -04:00
Adriaan de Groot
30d08f3312
Merge pull request #852 from abucodonosor/docs
locale.conf: explain what all the settings are about
2017-11-01 08:55:32 -04:00
Adriaan de Groot
a90f15081c Merge branch 'master' into usertracking 2017-11-01 06:58:10 -04:00
Adriaan de Groot
35f5612ec1 [locale] Fix GeoIP (reported by demm, crazy)
- data has already been read, don't try to read more from the QNM reply
 - regression introduced in 7e25909e
2017-11-01 11:07:18 +01:00
Adriaan de Groot
41e8fdd362 [plasmalnf] Search for LNF themes like the KCM does 2017-11-01 05:50:04 -04:00
Adriaan de Groot
6c873f0b70 [plasmalnf] Initial stub module 2017-11-01 05:50:04 -04:00
Adriaan de Groot
105e06798e CMake: look for ECM at top-level, add to search path if found. 2017-11-01 05:50:04 -04:00
Adriaan de Groot
1456375a12
Merge pull request #854 from abucodonosor/modules
Document users.conf
2017-11-01 05:26:13 -04:00
Gabriel Craciunescu
477a9855f6 users.conf: made requested changes 2017-10-31 13:09:34 +01:00
Adriaan de Groot
b303acf12a Merge branch '3.1.x-stable'
- KPMCore code moved
 - Small fixes
2017-10-31 06:44:14 -04:00
Gabriel Craciunescu
599f9d48ae users.conf: document some things 2017-10-30 23:20:43 +01:00
Gabriel Craciunescu
3749beb4e5 modules/users: warn when fallback groups is used
- Warn here since it may not be what the Distributor want.
  Having wrong groups may result in broken permissions for
  created user.
- explain what defaultGroups is for in users.conf
2017-10-30 20:44:51 +01:00
Gabriel Craciunescu
71da7b3a48 RequirementsChecker.cpp: rearrange cDebug() output 2017-10-30 20:11:11 +01:00
Gabriel Craciunescu
fc53438be9 locale.conf: fix localeGenPath comment 2017-10-30 19:21:51 +01:00
Gabriel Craciunescu
2e80ab98d7 locale.conf: explain what all the settings are about 2017-10-30 18:49:03 +01:00
Adriaan de Groot
5474dc6d2b [partition] allow KPMcore 3.0.2 (with warning) 2017-10-30 11:43:37 -04:00
Adriaan de Groot
a179c6c765
Merge pull request #846 from stikonas/3.1.x-stable
Use KPMcore Resize Operation.
2017-10-30 11:22:53 -04:00
Adriaan de Groot
e09f179d76 Coverity: repair previous commit 2017-10-30 08:43:09 -04:00
Adriaan de Groot
a138eb501c Coverity: fix issues reported in QJsonModel
- Also reported upstream, in the MIT-licensed version of same.

This is a re-hash of b348a45834,
adding memory-leak prevention when load() is called.
2017-10-30 08:20:08 -04:00
Philip
b15d970845 [bootloader] fix regression introduced with d179a9e
- see also #840
2017-10-28 03:41:29 -04:00
Gabriel Craciunescu
d2ea83a0b2 NetInstallPage.cpp: fix displaying for Name and Description
- fixes 1d7ad9e045 which sets
  both header's labels to 0 so 'Name' was always overridden
  by Description and Description never displayed
2017-10-28 02:18:36 +02:00
rajudev
84581155bd Added an explanation of the module and what it does when used, or when used incorrectly. 2017-10-28 02:09:48 +05:30
Andrius Štikonas
fb1522f6ca Use KPMcore Resize Operation. 2017-10-27 14:00:32 +01:00
Andrius Štikonas
274025d04e Fix reported partition size. 2017-10-27 02:51:44 +01:00
Adriaan de Groot
2aa5a14b51 Merge pull request #843 from Bezzy1999/cleanup-bitness
Clean up bitness check (ignoring CI error because the CI is broken right now).
2017-10-26 05:40:00 -04:00
Bezzy1999
17fb91cda5 added my name 2017-10-25 18:47:23 +01:00
Bezzy1999
cc6db5b808 pep8 2017-10-25 18:45:58 +01:00
Adriaan de Groot
c2c2793be5 [branding] correct documentation of productIcon sizes 2017-10-25 08:56:38 -04:00
crispg72
d179a9e3b1 Tidied up bitness check 2017-10-24 20:32:15 +01:00
Adriaan de Groot
fe0cb88d70 Linking: be a little more relaxed in linking to dependent libs 2017-10-24 12:56:02 -04:00
Adriaan de Groot
ad2edf4f82 Linking: Reduce library dependencies in welcome module
Welcome is only interested in checking partitions, not
in resizing them, so stick to one library. This will
become moot when the checks move to partitionmanager
and KPMCore can do the things.
2017-10-24 12:53:55 -04:00
Adriaan de Groot
5e101bcbf9 Document KPMCore versions that make sense
- KPMCore 3.0.2 works, but contains specific bugs
2017-10-24 12:53:55 -04:00
Adriaan de Groot
055d416321 Merge branch '3.1.x-stable' 2017-10-24 07:54:30 -04:00
Adriaan de Groot
e6e1e2226c [netinstall] logging about the number of packages to process 2017-10-24 06:44:37 -04:00
Adriaan de Groot
41f17892d6 [packages] Document run_operations() some more 2017-10-24 06:44:37 -04:00
Philip
df84208abc [bootloader] use generic file names instead of grub
- this fixes #839
2017-10-23 12:53:34 -04:00
Philip
10ede796f8 [bootloader] use generic file names instead of grub
- this fixes #839
2017-10-23 12:52:40 -04:00
Adriaan de Groot
c15db95046 Merge branch '3.1.x-stable' (netinstall fixes) 2017-10-23 11:53:30 -04:00
Adriaan de Groot
9b5772c482 Keyboard: warn about missing ckbcomp, thanks @abucodonosor 2017-10-23 11:52:11 -04:00
Adriaan de Groot
36a711c87f Netinstall: fix misleading message (thanks to @abucodonosor) 2017-10-23 11:52:11 -04:00
Adriaan de Groot
58414666c8 Netinstall: optimize structure for packages
- If there's no scripts involved in a package for netinstall, just
   name it without the scripts; this lets the packages module
   optimize to fewer package manager calls.
2017-10-23 11:23:14 -04:00
Adriaan de Groot
4314f2c4ad Netinstall: fix datatype passed to packages module
- Each element of the (list) packageOperations needs to be a
   package operation, which is a dictionary with keys (identifying actions)
   and lists of packages (which may be strings or script-info dictionaries).
2017-10-23 11:23:14 -04:00
Adriaan de Groot
174fa98695 Documentation: minor polishing on netinstall 2017-10-23 06:30:43 -04:00
Adriaan de Groot
e7c51aa00b Document defaultFileSystemType
- this applies to new partitions; existing documentation erroneously
   said this happens with Replace as well,
 - follow up on Andrius manual-partition PR with documentation that
   manual mode doesn't switch to this FS when editing existing partitions.
2017-10-23 06:23:19 -04:00
Adriaan de Groot
b3723371c8 Merge pull request #838 from stikonas/master
Clarify defaultFileSystem documentation.
2017-10-23 07:13:38 -03:00
Adriaan de Groot
acd2d9f006 Testing: be more verbose about what files are loaded. 2017-10-23 11:57:11 +02:00
Adriaan de Groot
5db8a8f65c Testing: refactor python-test tool to allow independent use.
- Improve documentation
 - Allow '-' as filename (for empty)
2017-10-23 11:53:10 +02:00
Andrius Štikonas
38c3f8bb52 Clarify defaultFileSystem documentation. 2017-10-20 20:18:52 +01:00
Andrius Štikonas
ceba157459 Use KPMcore DeleteOperation to delete partitions. 2017-10-12 19:33:34 +01:00
Andrius Štikonas
70573543f2 Use KPMcore NewOperation to create partitions. 2017-10-12 19:33:19 +01:00
Adriaan de Groot
9f84519e87 Merge branch '3.1.x-stable'
- pull in northern-locations fixes
 - pull in testing yaml-config
2017-10-12 14:00:24 -03:00
Adriaan de Groot
e9205125ea Testing: add test to check the shipped config-files for correctness. 2017-10-12 12:55:07 -03:00
Adriaan de Groot
8b76b861ad Code-formatting, add (unused for now) overload of getLocationPosition() 2017-10-12 12:26:50 -03:00
Adriaan de Groot
00fa7bff1c Code-formatting, add copyright notice 2017-10-12 07:08:21 -07:00
Gabriel C
c10d7470bb finished: fix configuration file syntax
- fixes commit 74c19fc02d
- fixes #829
2017-10-12 07:05:28 -07:00
Gabriel C
8135aa9a4c finished: fix configuration file syntax
- fixes commit 74c19fc02d
- fixes #829
2017-10-11 23:16:22 +02:00
Adriaan de Groot
78031636af Correct for distortion of globe.
In the timezone widget, locations in the far north -- Inuvik,
Thule, Longyearbyen -- were displayed too far south, because the
map location calculation assumes a linear gradient, which places
90 degrees north at about 70 degrees. Change calculation to
pretend the world is flat south of 62 degrees north, and then
'bend' the remaining 28 degrees of latitude to the top of the
image. This puts most places in the right spot, although Yellowknife
is now on the south shore of Great Slave.

Fort Nelson should be north of Dawson Creek, too -- the math still
needs a little work.

While here, put Antarctica in the south, otherwise Rothera keeps
showing up in Greenland.
2017-10-09 13:14:53 -07:00
Andrius Štikonas
4912d8a6c2 Fix create partition job to work with LVM devices. 2017-10-09 17:31:22 +01:00
Adriaan de Groot
3f739563ef Drop KService requirements (it's still there in InteractiveTerminal) 2017-10-04 08:46:12 -04:00
Adriaan de Groot
8599c2800f Document finished.conf some more 2017-10-04 08:36:07 -04:00
Gabriel C
30e56e1566 finished: use generic shutdown command
- it doesn't make any sense to have restartNowCommand and fallback
  set to the same command.
- also fallback should be something generic every init supports
2017-10-04 13:13:33 +02:00
Adriaan de Groot
1491a02802 Documentation for the branding variables 2017-10-04 06:37:44 -04:00
Adriaan de Groot
7adb963ba9 Merge pull request #826 from bill-auger/master
use orphaned Branding::ProductLogo as sidebar image
2017-10-04 11:33:30 +02:00
Adriaan de Groot
b1bae4152a Missing import; thanks to crazy on IRC 2017-10-04 05:32:23 -04:00
bill-auger
8d341ed53d
use orphaned Branding::ProductLogo as sidebar image 2017-10-03 18:27:14 -04:00
Calamares CI
1eaeb6025f [dummypythonqt] Automatic merge of Transifex translations 2017-10-03 06:46:36 -04:00
Adriaan de Groot
d01a35e288 Missing import; thanks to crazy on IRC 2017-10-03 10:29:03 +02:00
Andrius Štikonas
68e940f0bf Remove unnecessary KIO and KIconThemes dependencies. 2017-09-30 18:18:25 +01:00
Andrius Štikonas
9f05c236d8 KPMcore: Pass QStringList to fs->name() instead of QString. 2017-09-30 16:27:13 +01:00
Adriaan de Groot
ff2947060d KPMCore: use the translation system for filesystem names from KPMCore 2017-09-30 17:04:35 +02:00
Adriaan de Groot
96c3f7def3 KPMCore: drop conditional code 2017-09-30 16:50:02 +02:00
Adriaan de Groot
ca037af6ca KPMCore: update required version to 3.2
- drop extra checks for blkid and atasmart, those are kpmcore's
   concern, not ours (and it might have other backends, anyway)
2017-09-30 16:48:37 +02:00
Calamares CI
7129b125af [dummypythonqt] Automatic merge of Transifex translations 2017-09-28 11:09:41 -04:00
Adriaan de Groot
33f78b375d Merge branch 'master' into kcrash 2017-09-27 09:52:01 -04:00
Adriaan de Groot
d2cce926de Merge pull request #821 from calamares/luks-colors
Use the LUKS filesystem's outer UUID for the color index.
2017-09-26 17:40:36 +02:00
Adriaan de Groot
6704121946 Keyboard: try a little harder to match keyboard layouts with selected system language 2017-09-26 11:32:52 -04:00
Adriaan de Groot
bd4ee9320d Clang: warnings--, drop unused WindowFlags parameter 2017-09-26 11:51:11 +02:00
Adriaan de Groot
9b9801d48d Code-style: format the keyboard module 2017-09-26 11:22:51 +02:00
Adriaan de Groot
ea07d9e1d8 Merge branch 'master' into i689-kayboard-layout 2017-09-26 11:20:17 +02:00
Adriaan de Groot
aa26ac5dd9 Clang: warnings-- 2017-09-26 11:07:15 +02:00
Adriaan de Groot
72bbac7e22 Merge branch 'master' into usertracking 2017-09-26 10:42:07 +02:00
Adriaan de Groot
dcc66c2793 Clang: for gcc, don't produce empty COMPILE_FLAGS 2017-09-25 17:08:09 +02:00
Adriaan de Groot
574bb61592 Code-style: format the finished module 2017-09-25 16:35:58 +02:00
Adriaan de Groot
6924bd7d23 Clang: produce fewer warnings (all caused by boost headers) 2017-09-25 16:33:48 +02:00
Adriaan de Groot
866d338894 Clang: warnings-- 2017-09-25 16:28:08 +02:00
Adriaan de Groot
7f00073e7f Clang: warnings-- 2017-09-25 16:23:47 +02:00
Adriaan de Groot
74c19fc02d Finished: make notification optional
FIXES #811
2017-09-25 16:22:03 +02:00
Adriaan de Groot
2a4d8faa3b Presentation: re-implement looping, keyboard-nav 2017-09-25 13:52:55 +02:00
Adriaan de Groot
6f00dd761b Licensing: add header to slideshow copyright 2017-09-25 13:32:35 +02:00
Adriaan de Groot
420f135628 Licensing: Re-import GPLv2.1 slideshow
Re-import presentation code (commercial, LGPLv2.1 or GPLv3), with licensing
info. Calamares chooses LGPLv2.1 for the QML "library" code.

 - Digia LGPL Exception obtained from:
   Repo: https://raw.githubusercontent.com/meta-qt5/meta-qt5/master/licenses/Digia-Qt-LGPL-Exception-1.1
   Rev: 48ebff679e5dc084d395b861a1fc4cb21790d51b
 - Presentation QML obtained from:
   Repo: https://github.com/qt-labs/qml-presentation-system
   Rev: 4071343a4dffffc4b05d777faa9c5cf54f2b4f08
2017-09-25 13:31:47 +02:00
Adriaan de Groot
a4a05acc61 Remove more crashreporter references 2017-09-20 09:25:05 +02:00
Adriaan de Groot
af2643cdfc Clang: warnings-- (unused, init-order) 2017-09-20 09:24:33 +02:00
Philip
d20285d4f2 [modules] displaymanager: try to fix regression introduced with c8fd11b 2017-09-21 13:08:13 -04:00
Adriaan de Groot
40c49bd50d Clang: be more explicit about marking third-party code.
- This is only a partial solution to warnings caused by third-party
   code, since #including the headers from other sources won't apply
   the warning-suppressions.
 - Flags are not applied when building the source as part of a larger
   target, but are on re-building just one object (it seems -- CMake
   issue to track down).
2017-09-21 04:53:09 -04:00
Adriaan de Groot
d89b17a244 Clang: partman_devices.c is not, in fact, C++ code 2017-09-21 04:16:35 -04:00
Adriaan de Groot
e3e519c06f Clang: reduce warnings, nullptr, unused parameters 2017-09-21 04:04:01 -04:00
Adriaan de Groot
34761c4214 Clang: reduce 0-as-nullptr warnings 2017-09-20 09:24:22 -04:00
Adriaan de Groot
337903db09 Clang: reduce warnings about overriden destructors 2017-09-20 09:11:18 -04:00
Adriaan de Groot
9693d7a5bd Memory: clean up interface used to get memory (RAM) size 2017-09-20 09:11:02 -04:00
Adriaan de Groot
0c129f2460 Reduce third-part warnings a better way.
Thanks to Kevin Kofler for pointing out what I'd forgotten about
source-file flags. While at it, introduce a generic mechanism for
suppressing warnings in third-party code.

Mostly reverts 4930484931
2017-09-19 16:49:14 +02:00
Adriaan de Groot
b04a890798 Fix code using re-imported imageregistry 2017-09-19 16:49:14 +02:00
Adriaan de Groot
6010805935 Licensing: add header to imageregistry copyright
- mention that this is shipped as part of Calamares
         - SPDX info
2017-09-19 16:26:26 +02:00
Adriaan de Groot
a65bc7d756 Licensing: re-import ImageRegistry
- include full license headers,
 - copied from
   - repo: https://github.com/tomahawk-player/tomahawk/
   - rev:  00f602e10203b76fc28b4615868c567e6bd4ced4
   - path: src/libtomahawk/utils/ImageRegistry.cpp
2017-09-19 16:26:26 +02:00
Adriaan de Groot
d23818b27c Fix code using re-imported spinner 2017-09-19 16:26:26 +02:00
Adriaan de Groot
d2d59e6206 Licensing: add header to QtWaitingSpinner copyright
- mention that this is shipped as part of Calamares
     - SPDX info
2017-09-19 16:26:26 +02:00
Adriaan de Groot
553a66b326 Licensing: re-import QtWaitingSpinner
- include full license headers,
 - copied from
   - repo: https://github.com/snowwlex/QtWaitingSpinner
   - rev:  bb8f8987ca19406dc75704eb382ab52e981b773f

This revision *does not build* because the files have been renamed.
2017-09-19 16:26:26 +02:00
Adriaan de Groot
24f26ee7c8 Licensing: add header to QJsonModel copyright
- mention that this is shipped as part of Calamares
 - SPDX info
2017-09-19 16:26:23 +02:00
Adriaan de Groot
e5c0854e66 Licensing: re-import GPLv3 version of QJsonItem
- include full license headers,
 - copied from
    - repo: https://github.com/dridk/QJsonmodel
    - rev:  fbd4fb3b1c1311f69cd8ada9bbb7a89fd6fe171e
2017-09-19 15:57:46 +02:00
Adriaan de Groot
13807ceabf Licensing: add self
- to all the files I've touched recently
 - to (very incomplete) AUTHORS list

Licensing: add license info to top-level CMakeLists.txt
2017-09-19 15:57:25 +02:00
Adriaan de Groot
6d880b5631 Replace memory-size detection.
- drop use of dmidecode to determine exact physical memory size
 - use sysinfo() to find memory size (assumes linux 2.3.48 or later)
2017-09-19 15:57:25 +02:00
Adriaan de Groot
1c52f961a6 Refactor password-errors-indication (again)
- set message and status icon in one go
 - only check until an error is found
 - Mark TODO for passwordRequirements
2017-09-19 15:57:13 +02:00
Adriaan de Groot
d839f8e0b3 Passwords: introduce password-checking
- Introduce a map 'passwordRequirements' in users.conf,
   which is a list of named requirements. There are only
   two settings right now, min and max length, but
   additional checks can easily be added in UsersPage.cpp
   by defining additional lambda's to check the given
   password string.
 - Add PasswordCheck instances as needed, with functions
   to check acceptability and to produce messages on rejection.
 - Documentation in the users.conf file itself.

 - In passing, refactor setting of pixmaps on labels.

FIXES #790
2017-09-19 00:12:44 +02:00
Adriaan de Groot
ddb6455365 Revert be2338ff0 (intended just to reduce warnings)
- keep the calamaresstyle formatting changes,
 - drop shadowing and nullptr changes.

FIXES #805
2017-09-18 15:11:18 +02:00
Adriaan de Groot
a14e98ce95 Crashreporter: remove further reference to removed lib 2017-09-18 15:02:35 +02:00
Adriaan de Groot
4930484931 CMake: massage build of libcalamares
- Build also two OBJECT libraries,
 - Allow changing Clang warnings for third-party code.
2017-09-18 14:59:53 +02:00
Adriaan de Groot
eede92646d CMake: shuffle includes, drop useless (empty) QT_INCLUDE_DIR 2017-09-18 12:32:37 +02:00
Adriaan de Groot
ddf7b7fc90 CMake: remove superfluous indirection 2017-09-18 12:12:10 +02:00
Adriaan de Groot
a266ecb133 CMake: simplify definitions, distinguish kinds of sources 2017-09-17 06:48:07 -04:00
Adriaan de Groot
e5b59d472e Clang: warnings-- 2017-09-16 10:36:40 -04:00
Adriaan de Groot
c8fd11b103 Replace scandir with listdir, simplify loop
FIXES: ??
2017-09-16 07:01:55 -04:00
Adriaan de Groot
ca60a7fc16 Clang: warnings-- 2017-09-14 07:02:24 -04:00
Adriaan de Groot
342b819a1d Fix build (warnings--, but breakage++ is not good) 2017-09-14 06:59:34 -04:00
Adriaan de Groot
c6297f1db5 Clang: warnings-- 2017-09-14 06:34:31 -04:00
Adriaan de Groot
9f1cca5ec7 FS: use untranslated name to identify filesystem
Resolves issue where 'linuxswap' is translated to 'Linux-Swap',
for instance. FileSystem::name() provides a translated name,
not an untranslated one.

This should move to KPMCore.

FIXES #797
2017-09-14 06:34:18 -04:00
Adriaan de Groot
8b61b3ddc3 Merge pull request #802 from abucodonosor/pr-autologin2
CreateUserJob: do not force any autologin group
2017-09-14 03:28:34 -04:00
Adriaan de Groot
c9f4bc0cc8 Check for crypt(3), also on FreeBSD 2017-09-13 22:32:21 +02:00
Adriaan de Groot
edb1dbaa6e Clang: warnings-- 2017-09-13 22:32:21 +02:00
Gabriel C
5d241f8e09 CreateUserJob: do not force any autologin group
There is no need to force folks haing a random group
 bc that is a Distro think. SDDM/GDM works just fine without
 having a group for the user to autologin.
 Just setup a group in users.conf .. is why we have a configuration
 option for that.
2017-09-13 21:44:15 +02:00
Adriaan de Groot
da4fa6a63a Fix link / library name 2017-09-13 19:03:56 +02:00
Adriaan de Groot
bd37572fd8 Clang: reduce warnings 2017-09-13 19:03:56 +02:00