Commit Graph

7053 Commits

Author SHA1 Message Date
Adriaan de Groot
acb5190217 [keyboard] Use Config methods rather than own copy
- this continues the port of the keyboard module to use the Config
  object, which was horribly botched earlier.
2020-10-27 15:51:48 +01:00
Adriaan de Groot
679f613955 [keyboard] Rename mysterious Config::init() to descriptive name 2020-10-27 15:48:51 +01:00
Adriaan de Groot
a940be2bb4 [keyboardq] Load configuration into Config object 2020-10-27 15:46:18 +01:00
Adriaan de Groot
8142d6f86c [keyboardq] Drop unnecessary variable -- just use the Config status 2020-10-27 15:42:27 +01:00
Adriaan de Groot
98c7cec732 CMake: restore NOTREACHED, without the macro-mess
- gcc (up to at least version 10) is worse at recognizing that all
  cases have been handled, so it complains about all the switches
  that cover enum values.
2020-10-25 18:52:38 +01:00
demmm
f6e6774f92 [keyboardq] fix build 2020-10-25 18:35:03 +01:00
Adriaan de Groot
fea403186f [libcalamares] Search for balance between warnings and annotations
- CI's gcc is too old to analyse a switch() for completeness,
  so the CI build fails.
2020-10-25 17:49:26 +01:00
Adriaan de Groot
478c394d99 [partition] Don't needlessly expose a test symbol 2020-10-25 17:49:26 +01:00
Adriaan de Groot
2b9fa0f982 CMake: drop the NOTREACHED macro
- both clang and g++ support __builtin_unreachable(); (as Kevin
   Kofler pointed out) so we don't need the macro to do different things;
 - the compilers have gotten better at detecting unreachable code,
   so instead of inserting macros or fiddly bits, just drop them
   and the unreachable code they comment.
2020-10-25 12:49:49 +01:00
Adriaan de Groot
9a2fca7f5b CMake: prefer normal C++17 [[fallthrough]] annotation 2020-10-25 12:49:49 +01:00
Adriaan de Groot
7fa1c1b787 [libcalamares] Avoid object-slice
g++ warns that error_already_set is polymorphic, and we're catching
by-value (although we don't use that value). Avoid that.
2020-10-25 12:49:49 +01:00
Adriaan de Groot
84936a95fc [libcalamaresui] Warnings-- for Qt 5.15 deprecations
Introduce a GUI-oriented compatibility header that introduces aliases
for some enum values that are deprecated in Qt 5.15
2020-10-24 13:00:48 +02:00
Adriaan de Groot
b28a50de6f [libcalamares] Remove useless variable
- describe() is for debugging purposes, doesn't need to calculate
  whether the requirements are accepted.
2020-10-24 12:35:19 +02:00
Adriaan de Groot
6c7d295712 CMake: simplify C and C++ flags
- reduce the difference between clang and g++ builds, factor
  common flags out of the CMake-if
- drop special boost-warning-suppression, we do that differently
  most of the time in the affected source files
2020-10-24 12:32:07 +02:00
Adriaan de Groot
27f6eaaf75 [partition] Remove unused variables 2020-10-24 02:24:37 +02:00
Adriaan de Groot
89b1f8d96b [partition] Warnings-- in tests related to virtual destructors 2020-10-24 02:21:32 +02:00
Adriaan de Groot
01b75ef4b5 [partition] Use C++-style cast 2020-10-24 02:19:05 +02:00
Adriaan de Groot
6605e11394 [partition] Warnings-- in test: don't expose internal variable 2020-10-24 02:05:14 +02:00
Adriaan de Groot
cb2b53ebf3 Merge remote-tracking branch 'origin/issue-1515' into calamares 2020-10-23 23:51:25 +02:00
Adriaan de Groot
d7e64de24a [partition] Adjust docs to function
- @params referring to things that don't exist
- @brief that is 3 lines long
2020-10-23 23:14:00 +02:00
Adriaan de Groot
eb8e95bb87 [partition] Warnings--, explain why we're using a void* 2020-10-23 22:39:05 +02:00
Adriaan de Groot
9910b23152 [partition] Avoid uninitialized variable
- if the partition size is invalid, then warn about it but do
  not print the (uninitialized) size of the partition.
- shuffle code to continue earlier, allowing the "good path"
  code to be out-dented.
2020-10-23 22:34:53 +02:00
Adriaan de Groot
687a795b71 [partition] Warnings-- by initialization order 2020-10-23 22:31:22 +02:00
Adriaan de Groot
44a11bd93b [partition] Initialize in the initializer list, if possible 2020-10-23 22:27:30 +02:00
Adriaan de Groot
51b47862cd [partition] Mark destructors override
This reduces compiler warnings related to virtual-overriding
functions: all the destructors are virtual.
2020-10-23 22:23:10 +02:00
Adriaan de Groot
aa6109d470 [machineid] Improve config-documentation 2020-10-23 17:16:24 +02:00
Adriaan de Groot
daeee09fdb [machineid] Simplify loading of the list of entropy-files 2020-10-23 17:15:55 +02:00
Adriaan de Groot
275e6b9342
Merge pull request #1542 from gportay/fix-message-if-no-option-available
[partition] Fix message user if no option available
2020-10-23 12:45:06 +02:00
Adriaan de Groot
9e624c7bd5 [unpackfs] Fix schema validation
- the *weight* key was introduced without a corresponding schema
  change, so the examples didn't validate anymore.
2020-10-23 12:40:03 +02:00
Adriaan de Groot
0d4d3e3c4d [users] Set up GS rootMountPoint for test 2020-10-23 12:27:44 +02:00
Adriaan de Groot
63196ab58f [users] Avoid crashes in tests due to nullptr GS 2020-10-23 12:19:28 +02:00
Adriaan de Groot
c412e285c2 [libcalamares] Link publicly to yaml-cpp
Needed on FreeBSD, where you otherwise might not get the
include paths for yaml-cpp added -- and utils/Yaml.h
expects them to be there.
2020-10-23 12:01:29 +02:00
Adriaan de Groot
cd8c3089cb [users] Fix build: renamed moc file 2020-10-23 11:14:59 +02:00
Gaël PORTAY
d91683eec6 [partition] Fix message user if no option available
The button m_eraseButton is not tested while the button
m_somethingElseButton is tested twice.
2020-10-22 13:23:36 -04:00
Adriaan de Groot
89d495d5fb [users] Rename file to match its purpose 2020-10-22 14:22:11 +02:00
Adriaan de Groot
5b4f9d0b98 [users] Adjust tests for changed API 2020-10-22 14:21:14 +02:00
Adriaan de Groot
f1772a7eae [users] Create groups in a separate job 2020-10-22 14:11:01 +02:00
Adriaan de Groot
03541470d5 [users] Handle system-group creating specially 2020-10-22 14:08:33 +02:00
Adriaan de Groot
fa1d314b13 [users] Refactor group-creation into separate Job 2020-10-22 13:49:45 +02:00
Adriaan de Groot
3d289f345a [users] Refactor users functionality to a static lib
- this makes it less fragile to share all the functionality
  with usersq, since it ends up in the library which is shared
  between the modules.
2020-10-21 15:02:33 +02:00
Adriaan de Groot
6560ef00a1 [usersq] Fix build of usersq after refactor elsewhere 2020-10-21 14:46:07 +02:00
Adriaan de Groot
29e6934672 [users] Factor out Sudo creation into separate job 2020-10-21 14:43:45 +02:00
Adriaan de Groot
0cb6c89876 [netinstall] Don't update selection state for items with no children
The special setup for nicely-named groups which have a single
hidden subgroup containing the actual packages, has the problem
that there is a non-empty subgroups item, but this results
in zero actual children: then the number of selected and partly
selected children is also zero in updateSelected() and therefore
the item ends up unselected.

Special-case this to avoid unnecessarily unselecting the item.
Reported by Vitor L.
2020-10-20 23:15:32 +02:00
Adriaan de Groot
328a5bbbfb [users] Don't allow continuing with an empty login name
The status for an empty login name is '' (empty), for ok -- this is
so that there is no complaint about it. But it's not ok to
continue with an empty name.
2020-10-19 11:46:08 +02:00
Adriaan de Groot
27dc81f8b9 [partition] Fix typo in debug message, reported by Kevin Kofler 2020-10-17 16:41:08 +02:00
Adriaan de Groot
4d3f20f4a7 [users] Don't allow continuing with an empty login name
The status for an empty login name is '' (empty), for ok -- this is
so that there is no complaint about it. But it's not ok to
continue with an empty name.
2020-10-17 15:48:12 +02:00
Adriaan de Groot
3313a5341d [partitions] Adapt to KPMcore 4.2 changes 2020-10-17 14:59:01 +02:00
Adriaan de Groot
36396d0cfd [partition] Adjust message and fix debug message 2020-10-16 22:32:32 +02:00
Adriaan de Groot
ee302debdf
Merge pull request #1539 from yurchor/patch-3
[partition] Add missing space
2020-10-16 19:06:46 +02:00
Calamares CI
2be2e1808a i18n: [dummypythonqt] Automatic merge of Transifex translations 2020-10-16 15:03:48 +02:00
Adriaan de Groot
81f12cb230 [libcalamares] Do GeoIP lookups with a fake User-Agent 2020-10-16 13:55:31 +02:00
Adriaan de Groot
3b14e354b0 [libcalamares] Log more HTTP errors during requests 2020-10-16 13:07:57 +02:00
Adriaan de Groot
436e1de820 [libcalamares] Be more chatty in GeoIP test application 2020-10-16 12:36:03 +02:00
Yuri Chornoivan
1448a9b9a1
Add missing space 2020-10-15 20:55:37 +03:00
Adriaan de Groot
7734d84925 [shellprocess] Bump the default timeout to 30, emphasise tuning the timeout
FIXES #1536
2020-10-15 00:15:37 +02:00
Adriaan de Groot
0b61a02c31 [fstab] Avoid dd in creating a zeroed-file for swap
- Create a 16kiB buffer of zeroes
- write that out in a loop
2020-10-14 16:55:14 +02:00
Adriaan de Groot
c7c7e6a6c1 [keyboard] Move configuration to the Config object
- information from the configuration file -> Config object
- job creation -> Config object

Ignore keyboardq for now.
2020-10-14 15:50:21 +02:00
Adriaan de Groot
0f6602cad7 [keyboard] Improve xkb parsing 2020-10-14 15:50:21 +02:00
Adriaan de Groot
ec42e3294f [keyboard] Refactor argument-lists for setxkbmap
- separate functions for model, and layout+variant settings
2020-10-14 15:50:21 +02:00
Adriaan de Groot
b54273f904 [keyboard] Move all the keyboard (AbstractList)Models to the models file 2020-10-14 15:50:21 +02:00
Adriaan de Groot
2911c789f9 [users] Fix up tests for login status
- an empty login name is "ok" even if it isn't -- there's no
  warning message in that case
2020-10-14 15:21:41 +02:00
Adriaan de Groot
89e279c96a [users] Set auto- and sudo-groups correctly
- Was updating GS only, not internals
- restructure all to update internals, then GS, then emit change signals
2020-10-14 15:21:41 +02:00
Adriaan de Groot
f726634c2f [users] Fix tests for setting shell
- The EXPECT_FAIL value "Abort" stops the test (I wanted 'if this
  unexpectedly passes, raise an error' -- should have read the
  documentation more closely).
- Set the shell in the config object, not just in GS.
2020-10-14 15:21:41 +02:00
Adriaan de Groot
6b2d7f6a42 [users] Protect against JobQueue or GS being NULL
- Avoid SIGSEGV in tests, make sure JobQueue exists, GS optional
2020-10-14 15:21:19 +02:00
Adriaan de Groot
788a233319 [users] Introduce a test for Config getters and setters 2020-10-14 15:21:15 +02:00
Adriaan de Groot
58f10739e1 [users] Show progress during the module
- add a status member so the different steps can show progress
  as the user is created and configured. The progress values
  are hard-coded guesses as to how much work is done for each step.
- while here, reduce the scope of the global storage variable
2020-10-14 15:21:10 +02:00
Adriaan de Groot
ef70b2c32e [users] Run CreateUserJob off of the Config object
- don't pass in copies or bits of the Config, hand over the whole Config
- don't pluck some parts of the Config from Global Storage
2020-10-14 15:21:10 +02:00
Adriaan de Groot
02e9872a99 [users] Handle detailed groups list
Groups can be specified with must_exist and/or system set,
so they fill in the groups list more carefully.
2020-10-14 15:21:10 +02:00
Adriaan de Groot
a86374386b [users] Add test for new notation for groups-with-details 2020-10-14 15:21:10 +02:00
Adriaan de Groot
07027c2430 [users] Test distinguishes system groups from user groups 2020-10-14 15:21:10 +02:00
Adriaan de Groot
ff9abdfc08 [users] The fallback groups are all **system** groups 2020-10-14 15:21:10 +02:00
Adriaan de Groot
b20c80a28c [users] Introduce class-scoped aliases for true and false for the bools
This is somewhat experimental and weird; the idea is that bool
arguments are a lot easier to understand if there are proper
names attached, rather than "true" and "false".
2020-10-14 15:20:26 +02:00
Adriaan de Groot
1d696253c3 [displaymanager] Missing space in user-visible string due to line-breaks 2020-10-14 15:18:51 +02:00
Adriaan de Groot
61100f1a73 [netinstall] Massage the documentation a little 2020-10-14 01:51:44 +02:00
Adriaan de Groot
958fb7e7b0 [netinstall] Complain about nonsensical hidden groups 2020-10-14 01:49:00 +02:00
Adriaan de Groot
f093789deb [netinstall] Complain about bad config
- it's easy to miss a  in hidden subgroups and other complex
  groups configurations, so complain loudly.
2020-10-14 01:41:16 +02:00
Adriaan de Groot
ceeab7087c [users] Fix implementation so existing tests pass 2020-10-13 22:12:26 +02:00
Adriaan de Groot
e46d9f735d [users] Adjust tests to changed groups-list 2020-10-13 17:36:24 +02:00
Adriaan de Groot
d3135898fd [users] More fine-grained group descriptions
Describe groups with more detail:
 - groups can be system groups (low GID) or not
 - groups may be pre-configured (e.g. come from the unpackfs stage)
2020-10-13 17:35:07 +02:00
Adriaan de Groot
6221c6497a [shellprocess] Allow customizing the name of the job 2020-10-13 00:59:47 +02:00
Adriaan de Groot
21598ef4b3 [libcalamaresui] Update progress message only if it is non-empty
This improves the situation for jobs that do not provide
a status: their blank status does not overwrite the status
bar, and since (previous commit) the description or name
is used to start the job if the status is empty, at least
**something** is displayed.

SEE #1528
2020-10-13 00:23:57 +02:00
Adriaan de Groot
86fd014bbd [libcalamares] Fallback from status -> description -> name for progress 2020-10-13 00:00:37 +02:00
Adriaan de Groot
2f83d85e29 [libcalamares] Explain process failure in debug log a bit better 2020-10-12 23:19:15 +02:00
Adriaan de Groot
9c457f9449 [shellprocess] Improve documentation and examples 2020-10-12 23:11:00 +02:00
Adriaan de Groot
a955791766 Apply coding style globally again 2020-10-12 14:27:01 +02:00
Adriaan de Groot
1df4239c02
Merge pull request #1436 from gportay/osprober-strip-extra-file-after-at-sign
[partition] Strip extra file after the at sign
2020-10-12 13:33:10 +02:00
Gaël PORTAY
2b1e516ec1 [partition] Strip extra file after the at sign
- os-proper may return an extra file after the device:
  /dev/sda1:Ubuntu 19.10 (19.10):Ubuntu:linux
  /dev/sdb1@/EFI/Microsoft/Boot/bootmgfw.efi:Windows Boot Manager:Windows:efi
2020-10-07 09:57:18 -04:00
Gaël PORTAY
2bbbb68838 [partition] Add setting for requiredPartitionTableType 2020-10-07 08:10:24 -04:00
Gaël PORTAY
70f8beb931 [partition] Add setting for defaultPartitionTableType 2020-10-06 20:46:17 -04:00
Adriaan de Groot
9486ee6fbf
Merge pull request #1524 from gportay/partition-message-user-if-no-option-available
[partition] Message user if no option available
2020-10-07 01:32:13 +02:00
Adriaan de Groot
9ce08beead [libcalamares] Fix build
- The API definitions are just the symbols to define; these
  are variously added through add_definitions() (needs -D)
  or target_add_definitions() (doesn't).
2020-10-07 01:15:12 +02:00
Adriaan de Groot
40aa0fcaba CMake: add a helper module for finding KPMcore
I think we had this (kind of) module a long time ago and it was
removed for over-complicating things; re-introduce one now that
KPMcore is used in 3 different places and all would benefit
from consistent API handling / defines.
2020-10-07 00:11:18 +02:00
Adriaan de Groot
db537535ee [partition] Support KPMCore 3.3 in tests 2020-10-06 23:51:30 +02:00
Adriaan de Groot
f28d28a455 [partition] Ignore KPMCore 4 beta versions 2020-10-06 23:49:11 +02:00
Adriaan de Groot
88b1d36009 Merge branch 'issues-1166' into calamares
FIXES #1166
2020-10-06 22:25:33 +02:00
Adriaan de Groot
faa496be4a
Merge pull request #1522 from kadler15/issue-1521
[preservefiles] Fix global storage JSON dump
2020-10-06 21:53:32 +02:00
Corentin Noël
a7bd1040c5 [partition] Add tests for Layout-constrained partionning 2020-10-06 17:48:12 +02:00
Adriaan de Groot
77e2701365 [partition] Coding style
- various clang-format versions battle for supremacy
2020-10-06 17:21:54 +02:00
Adriaan de Groot
b4cbf73e2d Merge branch 'calamares' into issues-1166 2020-10-06 17:19:14 +02:00
Adriaan de Groot
0b3a6baeea [fstab] If swap is "file" then create it here
- handle swapfiles when writing /etc/fstab in the target system
  - special-case mountpoint
  - since swapfiles are not a partition, take the setting out
    of partitionChoices
- create the physical swapfile as well (there's no other place
  where it would make sense)
2020-10-06 17:05:22 +02:00
Adriaan de Groot
029c3f1c74 [partition] Write the install choices to Global Storage 2020-10-06 15:54:26 +02:00
Adriaan de Groot
92a874dae7 [partition] move the swap-choice to Config 2020-10-06 15:44:14 +02:00
Corentin Noël
08138f5a41 [partition] Reduce direct dependency of PartUtils on PartitionCoreModule 2020-10-06 14:28:20 +02:00
Adriaan de Groot
672e27564e [unpackfs] Also report progress every half-second, if possible
This still won't help if there's one really huge file that takes
several seconds to write, but if there's a bunch of files together
that is less than a file_chunk_count but take more than a half-
second to write, update anyway
2020-10-06 13:39:22 +02:00
Adriaan de Groot
57fa51ecd9 [unpackfs] Simplify progress reporting more
If there's thousands of files in a squashfs (e.g. 400000 like on
some ArcoLinux ISOs) then progress would be reported every
4000 files, which can take quite some time to write. Reduce
file_chunk_count to at most 500, so that progress is reported
more often even if that wouldn't lead to a visible change
in the percentage progress: instead we **do** get a change
in files-transferred numbers.

- The total weight is only needed by the UnpackOperation,
  not by each entry.
- Use a chunk size of 107 so that the number-complete seems busy:
  the whole larger-or-smaller chunk size doesn't really matter.
- The progress-report was missing the weight of the current
  module, so would report way too low if weight > 1. This affects
  ArcoLinux configurations where one entry is huge and one is a
  single file, so weights 50 and 1 are appropriate.
2020-10-06 13:38:28 +02:00
Adriaan de Groot
bc591f9bc1 [unpackfs] Re-vamp progress reporting
- simplify calculation of progress
2020-10-06 13:36:35 +02:00
Adriaan de Groot
8173b68a71 [unpackfs] Debug-log the weights of the modules 2020-10-06 11:54:39 +02:00
Adriaan de Groot
632445a431 [unpackfs] Give entries a weight
When there are multiple entries, the overall weight of the
module is divided between the entries: currently each entry
takes an equal amount of space in the overall progress.

When there are multiple entries which take wildly different
amounts of time (e.g. a squash-fs and a single file) then
the progress overall looks weird: the squash-fs gets half
of this module's weight, and the single file does too.
With the new *weight* key for entries, that division can
be tweaked so that progress looks more "even".
2020-10-06 11:44:00 +02:00
Adriaan de Groot
44f8a7ae47 [libcalamares] Reduce chattiness again of job progress 2020-10-06 11:03:55 +02:00
Gaël PORTAY
79740c77a3 [partition] Message user if no option available 2020-10-06 04:10:27 -04:00
Kris Adler
e92927cff9 [preservefiles] Fix global storage JSON dump
fixes calamares/calamares#1521
2020-10-03 17:38:20 -05:00
Adriaan de Groot
ddf3b2d399 Merge branch 'debug-job-progress' into calamares
This makes things fairly chatty, especially again during
rsync, so will be dialed back before release.
2020-10-03 12:27:10 +02:00
Adriaan de Groot
6e30a7b8f6 [partition] Move is-manual-partitioning-allowed to the Config object 2020-10-02 13:04:12 +02:00
Adriaan de Groot
f79fbd4105 [partition] Add swap choice to config object 2020-10-02 12:40:13 +02:00
Adriaan de Groot
0f4fe6294c [partition] Migrate type for SwapChoice to Config object 2020-10-02 12:22:53 +02:00
Adriaan de Groot
881661e94b [partition] Migrate InstallChoice to the Config object 2020-10-02 12:08:42 +02:00
Corentin Noël
0293015b09 [partition] Fix regression in partition size assignment
In some cases, the partition size was set to zero as the maxSize isn't always defined.
2020-10-01 15:38:18 +02:00
Adriaan de Groot
010526ee2a [partition] Coding style 2020-09-29 14:04:12 +02:00
Adriaan de Groot
b41e4624c9 [partition] Move 'selected installation option' to Config 2020-09-29 14:00:49 +02:00
Adriaan de Groot
10d194d693 [partition] Simplify button-selection 2020-09-29 12:22:50 +02:00
Adriaan de Groot
a92cb32cef [partition] set the right buttons if an action is pre-selected 2020-09-28 17:46:42 +02:00
Adriaan de Groot
b518ef7dfe [partition] Select initial swap choice 2020-09-28 15:37:12 +02:00
Adriaan de Groot
9f0f600aa4 [partition] Remove the 'swapfile-unsupported' message 2020-09-28 14:53:38 +02:00
Adriaan de Groot
3bb5adcfca [partition] Simplify *efiSystemPartition* settings 2020-09-28 14:52:18 +02:00
Adriaan de Groot
f155c8351b [partition] Only one setting for partitionLayout is supported 2020-09-28 14:48:55 +02:00
Adriaan de Groot
b6dd23a384 Merge branch 'calamares' into issues-1166 2020-09-28 14:34:39 +02:00
Adriaan de Groot
ace6323987 [libcalamares] Be even more chatty in job progress
This is for debugging-job-progress reports.
2020-09-28 11:35:41 +02:00
Adriaan de Groot
75b01cfc0a [libcalamares] Some debugging output for job progress, so you can double-check that the settings are being picked up 2020-09-23 16:14:09 +02:00
Adriaan de Groot
ffed7b6d71 [partition] Warnings-- over QButtonGroup
- this was deprecated in 5.15 and an alternative introduced also
  in 5.15, so it's a pain in the butt for backwards-compatibility.
2020-09-23 11:16:23 +02:00
Adriaan de Groot
6b07bdf6ed [keyboard] Do not use deprecated Qt4-era indexChanged for text 2020-09-22 23:51:35 +02:00
Adriaan de Groot
02423c823d [libcalamaresui] Nothing uses the opacity for pixmaps, drop that too 2020-09-22 23:03:38 +02:00
Adriaan de Groot
268cf203a8 [libcalamaresui] Remove unused parameter/functionality
- nothing in Calamares uses the tinting, and it triggers some
  deprecation warnings, so just remove it.
2020-09-22 23:01:22 +02:00
Adriaan de Groot
2878c474c5 Warnings-- (~T() override)
Change all the places that had
	virtual ~T() override
to the less redundant form without override.
2020-09-22 22:49:30 +02:00
Adriaan de Groot
2126be6d6d Warnings-- (~T() override)
Consistently use
	~T() override;
in class declarations (so no virtual in front, and avoid
warnings due to the missing override in back).
2020-09-22 22:40:52 +02:00
Adriaan de Groot
7d5a209dd0 [modules] Warnings-- in tests (~Test() override) 2020-09-22 22:37:55 +02:00
Adriaan de Groot
8b66009d59 [libcalamares] Warnings-- in tests (~T() override) 2020-09-22 22:37:29 +02:00
Adriaan de Groot
0cffac10c6 [libcalamares] Ignore more warnings for system header YAML 2020-09-22 22:37:29 +02:00
Adriaan de Groot
fbab554dfa [libcalamares] Remove unused parameter for PythonJob
- parameter instanceKey was left over from previous work that
  special-cased the weight of Python modules.
- while here, consistently do `~T() override`
2020-09-22 22:35:55 +02:00
Adriaan de Groot
8e9bf1c2a9 [libcalamaresui] Another allow-to-fall-back-to-eventloop
With 1 CPU, Calamares still spawns 9 threads or so: eventloop,
dbus loop, QML loop, ... many of those are invisible to the
application. Contention occurs on startup when the UI is constructed,
and we end up with the module manager creating widgets alongside,
or ahead of, the main window UI. This can result in deadlock:

 - in CalamaresApplication::initViewSteps
 - in QML imports

This is partly because the signal-slots connections get "deep":
from loadModules() we emit *modulesLoaded* which ends up showing
the main window in initViewSteps(). Avoid this with a QTimer:
drop back to the event loop and release whatever locks are held,
so the QML thread can get on with it already. Then the timer
goes off and the view steps are created.
2020-09-22 16:27:34 +02:00
Adriaan de Groot
705756b9bb [libcalamaresui] Give UI chance to catch up before modules are done 2020-09-22 14:41:12 +02:00
Adriaan de Groot
53cb27ebc8 [calamares] Provide i18n context for "Key" 2020-09-21 22:32:16 +02:00
Adriaan de Groot
ac0b2092f2 [partition] Remove superfluous logging 2020-09-21 17:47:25 +02:00
Adriaan de Groot
cadd9765db [usersq] Remove trailing . 2020-09-21 17:01:50 +02:00
Adriaan de Groot
e37c7da60d [partition] Introduce dummy argument to LVM jobs
- Give LVM jobs a dummy argument Device* so that they
  fit the functionality of makeJob for partitioning.
  For those jobs that already take an LVMDevice*, this should
  be the self-same device, but that isn't checked.
2020-09-21 16:46:24 +02:00
Adriaan de Groot
1f77441333 [partition] add job-removal to the support classes 2020-09-21 16:36:43 +02:00
Corentin Noël
75fd1dd114 [partition] Correctly handle percentage-define partitions
* Use the minSize when the target storage is smaller than the sum of sizes
 * Percentage-defined partitions should be computed after setting hard-defined ones

This fixes issues when 0 byte partitions were created when the disk is too small.
Also fixes an issue with percent-defined partitions being forced to be defined at the end of the disk.
2020-09-21 11:35:09 +02:00
Adriaan de Groot
e94c17e331 Merge branch 'calamares' into issues-1166 2020-09-21 11:15:27 +02:00
Adriaan de Groot
c159ffe491 [machineid] Polish up the tests
- create dirs as needed (this will normally be done by
  unsquash, but for tests with paths it needs to be done
  by hand)
- log what file is being checked
- filePath() doesn't like the absolute paths we have
  (they're absolute in the chroot, and existing code
  just sticks rootMountPoint in front)
2020-09-15 16:49:45 +02:00
Adriaan de Groot
5f7c9a00a0 [machineid] Test that random-files are created 2020-09-15 13:36:10 +02:00
Adriaan de Groot
a5887e6dda [machineid] Test config-settings for entropy files 2020-09-15 13:11:39 +02:00
Adriaan de Groot
8be5c2ed10 [machineid] Support multiple entropy files 2020-09-15 12:57:09 +02:00
Adriaan de Groot
8b22786bd2 Merge branch 'issue-1397' into calamares
Document keyboard change for Turkish F layout, and document
the keyboard configuration value better, with alternate
path used in e.g. openSUSE

FIXES #1397
2020-09-09 12:21:48 +02:00
Adriaan de Groot
633186778b [keyboard] Add test for Turkish F variant
- test keyboard lookup for "tr" - "f" variations
- add data mapping "tr" - "f" to legacy keymap "trf"

FIXES #1397
2020-09-09 12:11:50 +02:00
Adriaan de Groot
aeffbac9cd CMake: add resources to tests
Some tests -- notably the keyboard module -- need to have the
QRC for the module loaded as well (e.g. because of data in the
QRC). Add a RESOURCES parameter to calamares_add_test()
like calamares_add_plugin() already has, to build the
resources into the test.

Keyboard test now passes, since it was missing the data for
lookups before.
2020-09-09 11:58:56 +02:00
Adriaan de Groot
2aece7ff1b [keyboard] Warn if QRC is not available 2020-09-09 11:47:50 +02:00
Adriaan de Groot
0d8e0d9b96 [keyboard] Add a stub for unit tests 2020-09-08 17:27:21 +02:00
Adriaan de Groot
af3261b16f [keyboard] Refactor findLegacyKeymap into something testable 2020-09-08 17:27:21 +02:00
Adriaan de Groot
466e08a8ba [welcome] Set some localeConf values from the welcome page 2020-09-03 20:44:23 +02:00
Adriaan de Groot
634a53d27a [locale] Use new convenience function for updating localeConf 2020-09-03 20:21:37 +02:00
Adriaan de Groot
e0ba5a6ba2 [libcalamares] Convenience functions for localeConf GS entry 2020-09-03 20:21:37 +02:00
Adriaan de Groot
d94b9caba5 [libcalamaresui] Less mutex shenanigans 2020-09-03 16:11:35 +02:00
Adriaan de Groot
32649f78ea [libcalamares] Restore finish() slot to job queue
FIXES #1507
2020-09-03 15:39:04 +02:00
Adriaan de Groot
d5eaacf67a i18n: used wrong list of languages
FIXES #1505
2020-09-02 11:56:51 +02:00
Adriaan de Groot
ec0b68084f [users] Refactor setting GS
- both changing the autologin and changing the user (login) name
  affect global storage, and both may need to change the autologin
  username; split it into a free function.
- the fullname change was bypassing the login in changing the
  login name, **but** then it needs a back-workaround to keep
  the "custom" setting off (when custom is off, auto-fill username
  and hostname is active).
- after loading the config, fill GS already.
- when finalizing GS, get the autologin settings again.
2020-08-28 23:48:47 +02:00
Adriaan de Groot
d7dc48d201 [users] Add now-obvious missed initialization
- start the checkbox off in the state from config
2020-08-28 23:48:47 +02:00
Adriaan de Groot
15b5ef467e [users] Hook up strong- and reuse- password checkboxes
- setup the visibility and initial checked-state of the reuse-user-
  password-for-root near where it gets connected; do similar
  for the require-strong-password
- squash the lambda slot into the regular slot: no sense in
  connecting twice to the same signal with the same receiver.
- only connect config->ui once
- only connect at all if the setting is visible (e.g. when weak
  passwords are allowed for the require-strong checkbox, or
  when root's password will be written for the reuse-password)
2020-08-28 23:47:11 +02:00
Adriaan de Groot
d584a96335 [users] Improve naming of widget 2020-08-28 23:47:11 +02:00
Adriaan de Groot
3ae545c8b1 REUSE: qmldir file format doesn't leave space for license information 2020-08-28 18:18:22 +02:00
Adriaan de Groot
ba2b52ed1d Merge branch 'fix-debugwindow-queue' into calamares
3.2.29 dropped the Job Queue information from the debug
window, this restores the list of names.
2020-08-28 15:54:13 +02:00
Adriaan de Groot
b37a675657 [libcalamares] Reimplement JobQueue::queueChanged
- switch to QStringList as parameter, since consumers (that is,
  the debug dialog, which is what this is for) are interested
  just in the **names** of the jobs.
- to allow mutex locking in const methods, mark them mutable.
2020-08-28 14:39:32 +02:00
Adriaan de Groot
9afe7a3711 [libcalamares] Document JobQueue signals 2020-08-28 14:24:06 +02:00
Adriaan de Groot
49e925ef47 i18n: untangle translations in the executable
- there's no need for a macro that is going to be used once,
  especially if there's only one place it can be called.
- expand it in place and remove it from the installed CMake
  module
2020-08-27 15:34:17 +02:00
Adriaan de Groot
242d5c6499 i18n: install Python translations from a sensible place
- put the installation code in lang/ rather than among the modules
- remove useless indirection through CMake macro
2020-08-27 13:59:23 +02:00
Adriaan de Groot
23bfcb755e i18n: pick up the translations CMake module just once 2020-08-27 13:54:08 +02:00
Adriaan de Groot
e02c21285a i18n: remove the compiled .mo files from 'sources' 2020-08-27 13:37:45 +02:00
Adriaan de Groot
c3903b6e88
Merge pull request #1502 from asif-mahmud/calamares
[libcalamares] Internet accessibility checking done by synchronous ping method
2020-08-27 13:24:50 +02:00
Asif Mahmud Shimon
c6a3e9b816 Internet accessibility checking done by ping method 2020-08-27 11:36:55 +06:00
demmm
9bdb05d4ea [localeq] rewrite Offline.qml
once completed, this can be a fully functional (offline) locale selection option
worldmap.png no longer needed/in use
working is the stackview of the region & zones models
Timezone text bar shows correct timezone
currentIndex see comments on lines 65 & 139, not working
update of timezone text bar can't be tested if working as long no index is connected (see lines 93 & 168)
Still, already committing, since it does more then old Offline.qml, which had no function for timezone
2020-08-26 18:19:42 +02:00
Adriaan de Groot
ae14059e8b [webview] Config header was still misplaced
- use #error to produce slightly more comprehensible build failers
2020-08-26 14:48:46 +02:00
demmm
7c08f9a033 [keyboardq] rewrite keyboard.qml
no longer use extra qml files
better highlighting, updated text, fewer buttons
2020-08-26 13:32:56 +02:00
Adriaan de Groot
a2180936ef CI: apply coding style across the entire codebase again 2020-08-26 02:28:43 +02:00
Adriaan de Groot
1cd9b93a22 REUSE: Giant boilerplate cleanup
- point to main Calamares site in the 'part of' headers instead
  of to github (this is the "this file is part of Calamares"
  opening line for most files).
- remove boilerplate from all source files, CMake modules and completions,
  this is the 3-paragraph summary of the GPL-3.0-or-later, which has
  a meaning entirely covered by the SPDX tag.
2020-08-26 02:28:38 +02:00
Adriaan de Groot
5a3fb613d9 REUSE: Default branding assets and explanation 2020-08-26 02:22:49 +02:00
Adriaan de Groot
30a85668b7 REUSE: (GPL-3.0-or-later) C++ modules 2020-08-26 02:22:49 +02:00
Adriaan de Groot
863a4cc2a4 REUSE: (GPL-3.0-or-later) Python modules 2020-08-26 02:22:49 +02:00
Adriaan de Groot
1b23520f20 REUSE: (CC0-1.0) module descriptors and configuration files
In spite of there being considerable documentation sometimes in the
config file, we go with CC0 because we don't want the notion of
'derived work' of a config file.

The example `settings.conf` is also CC0. Add some docs to
it while we're at it.
2020-08-26 02:22:49 +02:00
Adriaan de Groot
92a6cbc773 REUSE: (CC0-1.0) generated files & PD files
- the translations generated from public-domain files are CC0-1.0
- the files derived from Unicode tables are close to CC0-1.0,
  possibly except that there is a FileCopyrightText line
2020-08-26 02:22:49 +02:00
Adriaan de Groot
3480988f53 REUSE: SPDX tagging of application library and main
- CC0-1.0 for the uninteresting version-headers
- GPL-3.0-or-later for the services

- add SPDX identifiers to Calamares C++ libraries and application sources
- add SPDX identifiers to Calamares QML (panels and slideshow)
- the `qmldir` is a list of names of things in the directory,
  so CC0-1.0 it as "uninteresting"
- QRC files are lists of names of things in the directory,
  so CC0-1.0 them as well
2020-08-26 02:05:46 +02:00
Adriaan de Groot
7e9576d3d1 REUSE: fix credits for 3rd party sources
Some Calamares source files incorporate material from
3rd parties (unlike the 3rdparty/ dir, which is basically-
unchanged 3rd party source). Tidy up the FileCopyrightText
lines for those sources.

This is not an exhaustive effort.
2020-08-26 02:05:46 +02:00
Adriaan de Groot
2eecd431fe REUSE: (CC0-1.0) test data
There's lots of (YAML) test data that is just trivial configurations
for modules. Since the configurations themselves are **also** CC0-1.0,
and the tests are less interesting, license them equally liberally.
2020-08-26 02:05:46 +02:00
Adriaan de Groot
95ceb1e8c7 REUSE: (BSD-2-Clause) all CMakeLists
The build instructions are not that interesting, it's a toss-up
between CC0 and BSD-2, but because other CMake bits are BSD-2-Clause,
apply that to more CMakeLists. The copyright date isn't all that
accurate, but these are just inconsequential files.

While here, tidy up and get rid of some useless intermediates.
2020-08-26 02:05:46 +02:00
Adriaan de Groot
965bc3b0b4 REUSE: use <author> tag in .ui for license info
The .ui files are all GPL-3.0-or-later style, but it's
slightly difficult to keep licensing information in them:
it's XML, so an XML comment might work, but there's no
guarantee that safe/load will preserve them.

Put the SPDX tags in the <author> tag, so that it's visible
in Qt Designer.
2020-08-26 02:05:46 +02:00
Adriaan de Groot
86f66e8f16 REUSE: (GPL-3.0-or-later) all the schema files
- these are vaguely derived from the schema's written by
  artoo@manjaro.org, but totally re-done for JSON-Schema
2020-08-26 02:01:58 +02:00
Adriaan de Groot
d6d3b41484 [webview] Missing Config include
This was causing CI builds to fail, since WEBVIEW_WITH_WEBKIT
is defined only in the Config file, not on the command-line.
This crept in accidentally while trying to get rid of that
config file entirely.
2020-08-26 01:06:55 +02:00
Adriaan de Groot
b65b5228e1 [welcome] Don't apply code-style to other C-code 2020-08-26 00:31:16 +02:00
Adriaan de Groot
31aa8be620 [locale] Remove unused original images
- These haven't been used in the module, and just take up space and
  now add licensing annoyance as well
2020-08-26 00:31:16 +02:00
Adriaan de Groot
42417ed3b2 [libcalamares] Rip out the broken jobqueue information signals (break build) 2020-08-20 22:30:12 +02:00
Adriaan de Groot
2b86d2481c [libcalamares] finish() is a private implementation detail for the job queue 2020-08-20 22:28:52 +02:00
Adriaan de Groot
41769c8794 [packages] Alphabetize package manager implementations 2020-08-19 21:12:40 +02:00
Adriaan de Groot
cf1ee2cffe Docs: explain how module weights work 2020-08-19 16:50:40 +02:00
Adriaan de Groot
ade7a22314 Merge branch 'module-weight' into calamares
Re-jig the module-weight calculations.

- modules can have a weight
- module instances can have a weight
- jobs, from the module, can have a weight

This is now configurable on a case-by-case basis, rather than having
C++ only as an option and a weird hack for unpackfs.
2020-08-19 16:20:28 +02:00
Adriaan de Groot
9d395e82f0 [libcalamares] Try to avoid progress going backwards
This is more a test-inspired hack than anything else: since signals
are delivered asynchronously, we can end up delivering progress
signals out-of-order, and then the signal spy lists them wrong:
progress goes backwards.

Insert a tiny delay between jobs to allow signals to be delivered
in-order.
2020-08-19 15:32:19 +02:00
Adriaan de Groot
053321d4d2 [libcalamares] Test for progress reporting
- add a dummy job class for tests
- run a queue with 3 jobs from 2 modules to check progress reporting
2020-08-19 15:07:47 +02:00
Adriaan de Groot
521015b1b4 [libcalamares] Match types to existing qreal usage, signal progress 2020-08-19 13:06:50 +02:00
Adriaan de Groot
941b5af3a2 [libcalamares] Rip out the guts of job-queue-running
- compute weights and accumulations beforehand
- mutex-lock structures so you can enqueue while running jobs
- simplify progress reporting calculations
- doesn't actually run any jobs
2020-08-19 12:54:40 +02:00
Adriaan de Groot
08ea51a344 [partition] Fix tests after removal of single-job-enqueue 2020-08-19 11:28:53 +02:00
demmm
8ad7184024 [usersq] users.qml update some config vars
reflect changes from users/Config.cpp
corrected id missing capital
mirror UsersQmlViewStep.cpp/h with the users versions
connections are still not made
2020-08-18 20:06:30 +02:00
Adriaan de Groot
ecaf97aa60 [users] Tests of config-loading of groups lists 2020-08-18 17:20:37 +02:00
Adriaan de Groot
ab3e393d45 [users] Protect against a nullptr deref
- there is typically no GS during tests
2020-08-18 17:20:08 +02:00
Adriaan de Groot
4b4d7f3b10 [libcalamares] Print a big fat warning before a typical now-crash situation 2020-08-18 17:17:29 +02:00
Adriaan de Groot
2ac518d8b9 [libcalamares] Change in stringlist extraction also changes single-string 2020-08-18 16:44:56 +02:00
Adriaan de Groot
41e2de85b1 [libcalamares] Fix up test -- 'lam' isn't supposed to be in the loaded data 2020-08-18 16:43:18 +02:00
Adriaan de Groot
a5555c3f94
Merge pull request #1491 from asif-mahmud/calamares
[libcalamares] retrieving string list fix
2020-08-18 16:41:56 +02:00
Adriaan de Groot
e55def87e9 [libcalamares] Test for Variant methods
In advance of PR #1491, test loading and stringlist extraction.

- from code, extraction works "normally"
- for YAML data, the stringlist isn't actually a stringlist
2020-08-18 16:40:33 +02:00
Adriaan de Groot
117859082e [libcalamares] Merge Tests.h into Tests.cpp
- no real need for separate file in the utils/ tests
2020-08-18 16:40:33 +02:00
Adriaan de Groot
626ac572d9 Merge branch 'hotfix-3.2.28.2' into calamares 2020-08-18 15:19:06 +02:00
Adriaan de Groot
c92e12ef74 [users] Consistent styling of status badges on input fields
- Use Status* icons rather than the yes/no
2020-08-18 12:48:51 +02:00
Adriaan de Groot
fd2399f702 [users] Re-check password validity on change of conditions
- if the user password is reused (or not) then check the
  status of the passwords against the new reuse-setting
- if the allow-weak-passwords setting is changed, then
  check the status of passwords (both of them) against
  the new weakness setting
2020-08-18 12:46:27 +02:00
Adriaan de Groot
5d016baee9 [hostinfo] Fix up ARM "detection"
As explained by Kevin Kofler and abucodonosor, the
implementer line can carry a bunch of different values,
but none of them are actually interesting. Simplify
the code.
2020-08-18 12:33:42 +02:00
Adriaan de Groot
3ecab4bedb [users] Fix test building
- now Config can create jobs, tests that consume Config need
  to build the jobs as well; re-jig CMakeLists to make
  those a little easier.
2020-08-18 11:41:43 +02:00
Adriaan de Groot
2c72524f29 [users] Move job-creation to Config
- this makes Config entirely stand-alone: it has all the business
  logic and can be hooked up to alternate UIs or used from
  other view steps or jobs
2020-08-18 11:31:32 +02:00
Adriaan de Groot
abae942e55 [users] Complete isReady move to Config
- give Config slots and signals for ready-status
- disconnect the page from the viewstep and use the Config object
  ready-status instead
2020-08-18 11:21:53 +02:00
Adriaan de Groot
36cefe3be1 [users] Remove calculation of 'ready' from Page
- simplify UI update methods
- drop all the m_ready* members, that should live in Config
2020-08-17 16:18:02 +02:00
Adriaan de Groot
eb44d0c6be [users] Move GlobalStorage wrangling to config
- the whole fill-GS method is a bit weird, since you might want
  to reflect that "live" in GS instead.
2020-08-17 15:30:09 +02:00
Adriaan de Groot
24efce0c1d [locale] Make sanity checks in tests more explicit
SEE #1490
2020-08-17 15:09:20 +02:00
Adriaan de Groot
5db4195b7e [users] Remove most remaining business logic from the Page
- report password status from config
- tie config-value of fields to the text-boxes
2020-08-17 15:01:35 +02:00
Adriaan de Groot
34946ecdee [users] Refactor validity-checking
- provide a structured datatype for password status
2020-08-17 14:20:54 +02:00
Adriaan de Groot
1a7b2668dc [users] Emit password status changes 2020-08-17 14:08:59 +02:00
Adriaan de Groot
d7b895b45d [users] Extend tests
- password requirements can disallow weak passwords
- start checking for signals on password changes
2020-08-17 14:05:03 +02:00
Adriaan de Groot
a16ecba2bd [users] Inline isPasswordAcceptable
- the way isPasswordAcceptable was being used was buggy, leading
  to test failures (now fixed)
- don't expose the function, anyway: it's an implementation
  detail for passwordStatus() which in itself is an implementation
  detail for status notifications.
2020-08-17 13:22:44 +02:00
Adriaan de Groot
5f2bbd179c [users] New test for password-setting
- check new config for accepting empty and bogus passwords
- check a config with minor pw checks for empty and bogus passwords
2020-08-17 13:16:41 +02:00
Adriaan de Groot
1dcf56761f [users] Apply validation to the passwords config knows about
- avoid update loops by checking values before emitting *Changed()
- check validity of user and root passwords when asked
- if root isn't going to be written, or re-uses the user password,
  defer to those status checks.
2020-08-17 12:48:43 +02:00
Adriaan de Groot
e145bf68f1 [users] Remove extra ; 2020-08-17 12:48:43 +02:00
Asif Mahmud Shimon
3245d602db retrieving string list fix 2020-08-14 20:52:53 +06:00
Adriaan de Groot
f4eac6c86f [users] Create all the groups needed for the user
- 26b8c82630 added the list of all-the-groups-for-the-user,
  but didn't change the list passed to the method that
  creates groups.

FIXES #1488
2020-08-12 16:50:28 +02:00
Adriaan de Groot
c296bcffa3 [libcalamares] When enqueueing jobs, pass a weight
- The weight is the module (instance) weight, which can be
  - the default weight of 1
  - the weight specified for the module (in module.desc / the module
    descriptor; this defaults to 1, above)
  - the weight specified for the instance (in settings.conf)
  The last of these "wins"; weights are constrained to 1..100

The weight isn't actually used in progress computation yet.
2020-08-12 16:45:27 +02:00
Adriaan de Groot
a91ef65a37 [libcalamares] Make job weights integers 2020-08-12 16:08:37 +02:00
Adriaan de Groot
73b8ecd622 [unpackfs] Drop special-case for unpackfs
- make the module weight 12, rather than special-casing internals
2020-08-12 16:03:25 +02:00
Adriaan de Groot
c19866f887 [libcalamares] Add a module-weight to the module descriptor 2020-08-12 16:00:27 +02:00
Adriaan de Groot
14875259c7 [users] Create all the groups needed for the user
- 26b8c82630 added the list of all-the-groups-for-the-user,
  but didn't change the list passed to the method that
  creates groups.

FIXES #1488
2020-08-12 11:20:24 +02:00
Adriaan de Groot
575bc03a5c
Merge pull request #1487 from PureTryOut/alpine-initramfs
[mkinitfs] New module
2020-08-12 10:50:44 +02:00
Adriaan de Groot
e18cc81757
Merge pull request #1486 from demmm/calamares
[usersq] adding QML module usersq
2020-08-12 10:35:41 +02:00
Adriaan de Groot
050d74b4be Fix YAML schemas for all the remaining config files 2020-08-12 10:29:24 +02:00
Adriaan de Groot
14afce538b [netinstall] Fix schema -- the groups file still needs attention 2020-08-12 10:29:24 +02:00
Adriaan de Groot
fcbd6e38c5 [keyboard] Fix schema -- forgotten field *writeEtcDefaultKeyboard* 2020-08-12 10:29:19 +02:00
Adriaan de Groot
efab699479 [umount] Fix schema -- prefer *preservefiles* for keeping the log 2020-08-12 10:29:13 +02:00
Adriaan de Groot
2061024a03 [unpackfs] Fix schema -- new fields *exclude* and *excludeFile* 2020-08-12 10:28:27 +02:00
Adriaan de Groot
57f02464d9 [hostinfo] The hackish ARM-detection is only for Linux 2020-08-12 09:58:48 +02:00
Adriaan de Groot
665c2d53ab [libcalamares] Fix Doxygen comment for TZ locations 2020-08-12 09:58:48 +02:00
Adriaan de Groot
c22e0a3451 [netinstall][users][tracking] Warnings--, extra ; 2020-08-12 09:58:39 +02:00
Adriaan de Groot
e2f6817536 Merge branch 'issue-1176' into calamares
This doesn't actually implement the job-weight work, but lays important
groundwork in module instances and descriptors.

SEE #1176
FIXES #1473
FIXES #1474
2020-08-12 09:43:35 +02:00
Adriaan de Groot
f73f94da27 Repait module.desc
- a handful of modules had an unused *requires* key in module.desc;
  this is probably from previous intentions around
  prerequisites-testing. Since the settings were empty anyway,
  they have been removed.
- [unpackfs] Compacted the way *requiredModules* list is written
2020-08-12 09:36:30 +02:00
Adriaan de Groot
efd7145f76 [libcalamares] Implement the interface-specific fields for descriptor 2020-08-12 09:06:47 +02:00
Adriaan de Groot
c8b96c278b [libcalamares] Complete the generic module descriptor
- loads emergency, noconfig, requiredModules keys
- warns (and marks descriptor invalid) if there are unused / unknown
  keys left over in the descriptor data.
2020-08-12 08:42:52 +02:00
Adriaan de Groot
e406ae1967 [libcalamares] Add name to module descriptor
- introduce basic tests of the data structure
- interpret name when passed in as descriptor data
2020-08-12 00:52:54 +02:00
Adriaan de Groot
e1e81bb133 [libcalamaresui] Warnings--, don't shadow a parameter 2020-08-12 00:39:01 +02:00
Adriaan de Groot
f1bb70269f [libcalamares] Improve warning/error logging
- the lack of a space after the : was inconsistent with most of the
  rest of the logging.
2020-08-12 00:34:22 +02:00
Adriaan de Groot
65273a262b [libcalamares] Start putting data into the module Descriptor 2020-08-12 00:33:08 +02:00
Adriaan de Groot
60fbf04594 [calamares] Adjust module test-loader for changed API
- the test-loader needs to create modules (and does so hackishly,
  outside of the ModuleManager) so it needs to chase the API as well.
2020-08-11 22:26:12 +02:00
Adriaan de Groot
3c6e53ecb9 [libcalamaresui] Chase the change in Module descriptor
- most of the code becomes **simpler** because the requirement
  to handle unstructured data is now in the descriptor itself,
  rather than in consumers.
2020-08-11 22:26:12 +02:00
Adriaan de Groot
ee834a7abb [libcalamares] Define interface for Module descriptor
- add fields -- all const, all bogus -- to the descriptor,
  introduce a stub method to load the descriptor from
  YAML data (e.g. read from module.desc)
- lighten the type-naming in Module a little, with usings
2020-08-11 22:26:12 +02:00
Adriaan de Groot
f0c4164515 [libcalamares] Add a more convenient find() to NamedEnum
- In most cases, you **know** the table covers all the enum
  values, and the extra parameter *ok* is just annoying.
  Provide a convenience that doesn't distinguish empty
  from empty-but-valid.
2020-08-11 22:26:12 +02:00
Adriaan de Groot
197cb9982c [libcalamares] Sort the tests by subdir 2020-08-11 22:26:12 +02:00
Adriaan de Groot
bdd6bdc3b2 [libcalamares] Migrate module type and interface to descriptor
- move the enums
- expose the named-enum functions for them
- **start** replacing Descriptor with something stronger; this fails
  zero tests so it obviously wasn't tested at all
2020-08-11 22:26:12 +02:00
Adriaan de Groot
215cd0d1c3 [users] Repair test on openSUSE 2020-08-11 22:16:03 +02:00
Bart Ribbers
b144f1dfc0
[mkinitfs] New module
This module allows the generation of the initramfs in Alpine Linux based
systems (excluding postmarketOS). Very bare bones, but then again it
doesn't need much. It uses the Alpine Linux tool "mkinitfs" to do the
job.
2020-08-11 18:18:52 +02:00
Adriaan de Groot
7cef99605f [libcalamares] Distinguish instances with an explicit weight
- setting the weight in *instances* should be different from letting
  the default weight (of 1) stand; explicitly saying 1 should
  carry some weight (ha!)
2020-08-11 16:45:51 +02:00
Adriaan de Groot
c8964717c7 [calamares] Bail out on invalid settings 2020-08-11 16:32:44 +02:00
Adriaan de Groot
d81d585c32 [libcalamares] Add isValid() to Settings
- settings can be invalid (missing data, whatever) and that
  can be used to shut things down early. Validity must be
  checked explicitly, though.
2020-08-11 16:32:44 +02:00
Adriaan de Groot
4cd2a4ae91 [libcalamares] Produce warnings while reading settings
- any invalid instance key will cause a complaint
- "new" custom instances in sequence get a complaint, but
  the instance description added to the list is valid
2020-08-11 16:32:44 +02:00
Adriaan de Groot
a8075fba5f [libcalamares] Chase API change in settings 2020-08-11 16:32:44 +02:00
Adriaan de Groot
253e5610af [libcalamares] Better type for the list of InstanceKeys
- *sequence* lists module instance keys; make the stored type of
  those keys InstanceKey instead of QString
2020-08-11 16:32:44 +02:00
Adriaan de Groot
b23dbd47c7 [libcalamaresui] Chase changes in instanceDescriptor
- this is mostly about deleting code, since the special-cases
  now live in libcalamares where `settings.conf` is interpreted.
2020-08-11 16:32:44 +02:00
Adriaan de Groot
57f5a92d96 [libcalamares] Build complete instanceDescriptor list
- there's no reason to ignore custom instances that are **not**
  mentioned in the *instances* section: it may be useful to
  name more that one even without distinct config files.
2020-08-11 16:32:44 +02:00
Adriaan de Groot
4968efdaa7 [libcalamares] Simplify constructors of InstanceDescription
- no more weights in constructors; do that in fromSettings() only.
- simplify test to drop those constructors
- set config file also for "normal" descriptors; fix test
2020-08-11 16:32:44 +02:00
demmm
355a4f9b8d [usersq] adding QML module usersq
module builds, installs and runs, connections are not working yet.

UserQmlViewstep.cpp/h are from PR https://github.com/calamares/calamares/pull/1356
sections are commented out to make the module build, but help is needed to get those 2 files corrected.

config names used in usersq.qml are guessed from users/Config.cpp
debug window shows correct entries in GS, and under the module tab, usersq.conf is read
as should too. Running shows most config used in users.qml are not registered/wrong,
many entries like: qrc:/usersq.qml:228:13: Unable to assign [undefined] to bool

It is understood not all needed from the users module has moved to Config.cpp yet,
but doing the PR now, since it runs, doesn't crash cala and help is needed to further implement.
2020-08-11 13:46:05 +02:00
Adriaan de Groot
e507338f4c [libcalamares] Test config filenames as well (custom vs standard) 2020-08-11 13:27:15 +02:00
Adriaan de Groot
1f57a99ff2 [libcalamares] Rename moduleInstances() and fix tests
- "custom" is a misnomer, so drop that from the name
- tests adjusted: all instances are returned, not just the "custom"
  ones.
2020-08-11 12:54:29 +02:00
Adriaan de Groot
6f7234e4ac [libcalamares] Add all mentioned instances to the instanceList
- "custom" instances is now a misnomer, since all the instances
  go into it; they are distinguished by `isCustom()` on the descriptor
2020-08-11 12:43:59 +02:00
Adriaan de Groot
f157d9c459 [libcalamares] Refactor data-loading in Settings
- expose, for testing purposes, the load-from-YAML-data part
  alongside the public constructor that reads a YAML file
- add test for building the list of instances
2020-08-11 11:53:50 +02:00
Adriaan de Groot
34e31d4331 [libcalamares] Revert PRIVATETEST
- looks funny
- is hard to get clang-format to respect this; it's intended as an
  access-modifier, but those are baked into the code rather than
  being configurable.
- is probably rare enough that #ifdef is acceptable
2020-08-11 11:09:07 +02:00
Adriaan de Groot
53eb6c614a [libcalamares] Make InstanceDescription a class
- switch from dumb struct to a class; use a structured InstanceKey
- expand testing of InstanceKey and InstanceDescription
2020-08-11 10:31:12 +02:00
Adriaan de Groot
9c382e3555 [libcalamares] Support switching public/private during tests 2020-08-11 10:16:00 +02:00
Adriaan de Groot
e96198e61c Merge branch 'calamares' into issue-1176 2020-08-10 23:22:14 +02:00
Adriaan de Groot
9413b28209 [libcalamares] Improve logging - report correct number of jobs left 2020-08-10 20:22:48 +02:00
Adriaan de Groot
e9f2c57442 [users] Missing ! makes install always fail
FIXES #1483
2020-08-10 18:37:26 +02:00
Adriaan de Groot
31cfdf926c [libcalamares] Apply SPDX to utils/ 2020-08-10 18:21:42 +02:00
Adriaan de Groot
c48ec6bf94
Merge pull request #1481 from demmm/calamares
[welcomeq] language bar icon configurable
2020-08-10 17:02:58 +02:00
Adriaan de Groot
03871db597 [users] **keep** the create users job
- need to add the job to the list rather than just leaking it
2020-08-10 16:52:19 +02:00
Adriaan de Groot
cac3e042d8 [libcalamares] Improve logging in runCommand() (less chatty) 2020-08-10 16:41:19 +02:00
Adriaan de Groot
3a0155b69d [calamares] Fix up multiple-moc of KDSAG
- was getting multiple definitions of moc-related code due to automoc
  combined with KDSAG having its own #include moc, comment-out the include.
- while here, simplify the CMake bits for building KDSAG
2020-08-10 16:41:19 +02:00
Adriaan de Groot
3227658475 [calamares] Fix up multiple-moc of KDSAG
- was getting multiple definitions of moc-related code due to automoc
  combined with KDSAG having its own #include moc, comment-out the include.
- while here, simplify the CMake bits for building KDSAG
2020-08-10 16:10:16 +02:00
demmm
01f0367459 [localeq] use image instead of theme icon 2020-08-10 12:30:55 +02:00
Adriaan de Groot
483c0a84f8 [libcalamares] Update SPDX in modulesystem/ 2020-08-10 09:53:05 +02:00
Adriaan de Groot
21b4a36a91 [libcalamares] Remove empty .cpp file
- Requirement.cpp was there "just in case" the header grew
  functions that need an implementation, but that seems
  unlikely (the header is just a struct of POD).
2020-08-10 09:50:27 +02:00
Adriaan de Groot
d83543d904 Merge branch 'calamares' into issue-1176 2020-08-10 09:45:05 +02:00
Adriaan de Groot
a873badf87 [libcalamares] Update SPDX identifiers in locale/ 2020-08-10 09:43:13 +02:00
Adriaan de Groot
296146e4f8 [libcalamares] update SPDX licensing on generated files
- the scripts are BSD-2-clause,
- the generated files are CC0 (I'm not *100%* sure about the
  derived file CountryData_p.cpp, which lists countries and
  country codes -- it **is** extracted from CLDR data which
  is not CC0)
2020-08-10 09:32:50 +02:00
Adriaan de Groot
4a3378d8b9 [libcalamares] Repair tests around save/load YAML round-trip
- QStringList doesn't round-trip correctly; add a test to
  demonstrate that.
- Fix existing test to **not** use QStringList, but QVariantList
  (of strings), which is how other code would use it.

The above is **kind** of moot because nothing uses the YAML-save
function, but it might.

While here, fix another test: YAML-loading can load JSON just fine.
2020-08-09 23:01:59 +02:00
Adriaan de Groot
e2bf62a64b [libcalamares] Repair test for old Qt
- Qt 5.11 and early 5.12 just don't support Esperanto at all
2020-08-09 22:35:10 +02:00
Adriaan de Groot
f08b4e502a i18n: update English source translations 2020-08-09 20:58:16 +02:00
Adriaan de Groot
62a8ee9708 [libcalamares] Add name-for-partition-type method
- add apidox to all the untranslatedFS() methods
- add the most-basic of untranslatedFS(), which works on a given
  FileSystem::Type; this one can handle special cases where
  Cala needs a different untranslated name than what KPMCore provides.
2020-08-09 00:00:14 +02:00
Adriaan de Groot
537aad1222 [libcalamares] SPDX, DLLEXPORT on partition/FileSystem.h 2020-08-08 23:32:09 +02:00
Adriaan de Groot
fe3495ff97 [libcalamares] Expand KPMCore tests
- check on FS names as well
2020-08-08 22:54:59 +02:00
Adriaan de Groot
5e5701363c [libcalamares] Test the spot-patch for Johannesburg
- Add a note about notation, degrees-minutes
2020-08-09 00:35:19 +10:00
Adriaan de Groot
e35992cf0b [libcalamares] Add spot-patches to timezone data
- for the purposes of Calamares's nearest-location selection algorithm
  for timezone selection, introduce spot patches: alternate markers
  on the map to indicate "things close to here belong in this timezone".
- hide the implementation detail in the find() methods.
2020-08-09 00:21:31 +10:00
Adriaan de Groot
028d424c73 [libcalamares] Expand testing of TZ location lookup
- Cape Town is in South Africa, so one might expect it to get South
  Africa's timezone -- which is Africa/Johannesburg -- but Windhoek
  is closer, so it gets that.
- Port Elisabeth is similar: Maseru lies between it an Johannesburg,
  so it gets the wrong timezone, too.

These both illustrate how the limited resolution of the map, together
with the "closest location" lookup, can give poor results. For most
of South Africa, the "wrong" timezone is closer than the right one.
2020-08-09 00:21:31 +10:00
Adriaan de Groot
6a33e72b58 [libcalamares] Refactor test to be data-driven
- this test is going to get a lot more cases, so prepare for that
2020-08-09 00:21:30 +10:00
Adriaan de Groot
00626fd96c [libcalamares] Refactor timezone loading
- load from a TextStream. This is prep-work for alternate TZ data
  sources.
2020-08-09 00:21:30 +10:00
Adriaan de Groot
0948963d86 [locale] Port TZ widget lookup to new find() method
- The TZ widget uses a different coordinate system (mapping lat and lon
  to pixel locations, and then calculating Manhattan distance from
  that), so needs a different distance function.
- Simplify code: there's just one "closest TZ" function.
2020-08-09 00:21:30 +10:00
Adriaan de Groot
2f871acbfd [libcalamares] Expose distanceFunc-find for timezones 2020-08-08 13:45:32 +02:00
Adriaan de Groot
0fda1dcf7d [libcalamares] Refactor finding-TZ algorithm
- introduce a distance function and use that, rather than coding it
  inside the find() function. This is prep-work for unifying the
  find() calls, based on various coordinate systems.
2020-08-08 13:26:39 +02:00
Adriaan de Groot
473daecdbf [grubcfg] expand config-testing for the new features
- create directories for new tests ahead of the tests themselves;
  this **can** still cause problems if a test is run standalone.
- if creating the grub-dir at runtime is necessary, be informative
  if it fails.
2020-08-07 13:58:28 +02:00
demmm
e2a5eb6840 [welcomeq] language bar icon configurable
similar functionality as in welcome module, set in welcomeq.conf
2020-08-07 12:44:07 +02:00
Adriaan de Groot
8bf95b6881 [grubcfg] Support prefer_grub_d settings 2020-08-07 12:13:51 +02:00
Adriaan de Groot
064fff0c12 [grubcfg] Drop default_dir
- the default_dir was only stored in modify_grub_default() to
  create the directory if needed; move that functionality to
  the get_grub_config_paths() function (and drop the "s",
  since it now returns just one).
2020-08-07 12:07:26 +02:00
Adriaan de Groot
aa50dfb8a1 [grubcfg] refactor finding-the-grub-paths into a function 2020-08-07 12:02:42 +02:00
Adriaan de Groot
f85c70d4d2 [grubcfg] Introduce prefer_grub_d
- new setting for using /etc/defaults/grub.d/ (SEE #1457), not implemented
- add missing fields to schema for config file
2020-08-07 11:55:16 +02:00
Adriaan de Groot
3fc23e3b07 [grubcfg] Fix config schema 2020-08-07 11:43:48 +02:00
Adriaan de Groot
43f9f2e2f4 Merge branch 'issue-1477' into calamares
FIXES #1477
2020-08-07 11:30:30 +02:00
Adriaan de Groot
463ea3c73f [displaymanager] Fix config schema 2020-08-07 10:50:33 +02:00
Adriaan de Groot
2ce12d5368 Merge branch 'issue-1476' into calamares
Go over the locale module again:
- new models that avoid weird casts and inconvenient iteration
- shared timezone data
- simple sorting and filtering
- simplify the map / QML version

FIXES #1476
FIXES #1426
2020-08-07 08:33:44 +02:00
Adriaan de Groot
cb20ba6aba [libcalamares] More GS load/save testing
- failures elsewhere boil down to QStringList is not supported,
  but a QVariantList of QVariants of QStrings is.
2020-08-07 01:11:14 +02:00
Adriaan de Groot
0de98fe4c1 [libcalamares] Expand YAML testing a little
- load/save of a stringlist seems to work
2020-08-07 00:57:30 +02:00
Adriaan de Groot
dbc49f001e [libcalamares] Test GS
- test insert, remove, emitted signals
- test loading and saving of YAML and JSON

This shows up a big bug in the YAML saving code (which was never
used, it seems, anyway)
2020-08-07 00:45:36 +02:00
Adriaan de Groot
a44e6802e5 [libcalamares] Rename tests for consistency 2020-08-07 00:13:58 +02:00
Adriaan de Groot
3c618a9a19 [libcalamares] Fix GS load behavior
- the loadJson behavior did too many notifications, and was likely to
  deadlock; write directly to the map instead and emit only once.
- the loadYaml method did something very different from its
  documentation or intent.
2020-08-07 00:08:47 +02:00
Adriaan de Groot
ac713d8c4b [libcalamares] Apply locking to GS access 2020-08-07 00:06:13 +02:00
Adriaan de Groot
dc5d98af7d [libcalamares] Address outdates assumptions about thread-safety 2020-08-07 00:02:14 +02:00
Adriaan de Groot
0121e3755b [libcalamares] GS improve load/save
- save should be const
- rename save() to saveJson() for parity with saveYaml()
2020-08-07 00:02:14 +02:00
Adriaan de Groot
104452513b [libcalamares] Document GS
- write apidox for all of GlobalStorage
- while here, polish up the SPDX bits
2020-08-06 23:14:44 +02:00
Adriaan de Groot
527449a102 [libcalamares] Improve GS debugDump() formatting 2020-08-06 22:54:37 +02:00
Adriaan de Groot
c64aefe43c [libcalamares] Remove unused include, declaration 2020-08-06 22:53:32 +02:00
Adriaan de Groot
52d1c8f88a [locale] Explicitly update GS from the locale step
- refactor into some free functions (out of the lambda's for connecting)
- introduce new method to call from onLeave(), matching previous
  widget behavior
2020-08-06 18:32:51 +02:00
Adriaan de Groot
c69bd972e9 [localeq] Demonstrate "offline" lookups
- we can do GeoIP and GeoNames lookups, **or**
- use Calamares's internal GeoIP lookup and country / city hints.

The online version is much more accurate, but costs more lookups;
in these examples, set it all to "offline" and document what needs
to change (code edit) to use the online version.

It's probably a good beginner job to introduce a bool in localeq.qml
to switch the behaviors.
2020-08-06 16:09:41 +02:00
Adriaan de Groot
71ca1e1544 [localeq] Pick up Config changes before showing the module 2020-08-06 16:09:41 +02:00
Adriaan de Groot
32c8338a9c [locale] QML doesn't like const 2020-08-06 16:09:41 +02:00
Adriaan de Groot
91cc5a2b42 [locale] Update the map-QML implementation
- Config has suitable strings for displaying TZ information.
  Use them and automatic bindings. Don't update the strings manually.
- Suggest online or offline TZ lookups based on what the distro wants.
  Edit the QML to pick online lookups (needs access to the geonames
  service, though).
- Drop the variables that point at config and geoip: the Config
  object has a currentLocation, which is filled in by both the
  configuration and any GeoIP lookup -- it doesn't have city
  or country information though.
2020-08-06 16:09:41 +02:00
Adriaan de Groot
15a8d62986 [locale] Add a 'current timezone' strings to Config
- status is a longer phrase
- name is a short human-readable name
- code is the internal code

Code that writes its own "Timezone set to" messages can use
the name, rather than the status.
2020-08-06 16:09:41 +02:00
Adriaan de Groot
eda14ce548 [locale] Avoid nullptr deref
- when no location has been set at all, there's no sensible TZ
  to report; just leave it blank. In *practice* you won't hit this
  code from the Calamares UI before a location has been set, because
  the Config object is instantiated and then immediately configured,
  but from tests or unusual UIs it could be.
2020-08-06 16:09:41 +02:00
Adriaan de Groot
b36ad4c7f4 [locale] Add test for Config initialization
- needs some massaging because Config otherwise depends on
  ModuleManager which is a UI class (for the Reasons),
  but we already have a BUILD_AS_TEST define for that purpose.
- demonstrate a nullptr deref.
2020-08-06 16:09:41 +02:00
Adriaan de Groot
04e53be934 [locale] Repair test: don't re-init te occupied-pixels set each loop
- while here, merge Tests.h to the cpp file
- Fix build when debugging timezones (missed during earlier refactor)
2020-08-06 16:09:41 +02:00
Adriaan de Groot
21f97db8fd [libcalamares] Offer translation lookup of regions 2020-08-06 16:09:41 +02:00
Adriaan de Groot
ad3c0de936 [libcalamares] Reduce logging in POD manipulation 2020-08-06 14:27:55 +02:00
Adriaan de Groot
296337d45d [libcalamares] Implement nearest-TZ lookup
- This version, based on lat+lon lookup, handles wrap-around the
  globe at -180 W (which is very close to +180 E)
- Test wrap-around-the-globe lookups
2020-08-06 14:27:44 +02:00
Adriaan de Groot
9e274aac07 [libcalamares] Make ZonesModel more QML-friendly
- expose TZ lookup (as a QObject*, which QML needs)
- C++ code should use find(), which is safer
2020-08-06 14:27:09 +02:00
Adriaan de Groot
ab69e7c83a [libcalamares] Add API for geographical lookup
- find a zone given lat, lon -- with a failing test and a bogus
  implementation.
2020-08-06 01:52:50 +02:00
Adriaan de Groot
626dd038da [locale] Re-do locale module with new TZ data
- The Config object now uses the re-done models and timezone data
- most of the properties of the locale Config are unchanged
- much less complication in extracting data from the zones model
2020-08-06 01:34:55 +02:00
Adriaan de Groot
d814a3dba8 [libcalamares] Sort the models before use
- zones and regions alphabetically by key
2020-08-06 01:34:55 +02:00
Adriaan de Groot
37c211fd14 [libcalamares] Add an iterator for the full zones model 2020-08-06 01:34:55 +02:00
Adriaan de Groot
7ea2ad7dc6 [libcalamares] Add accessors for TZ data and region in the model
It's convenient when e.g. QComboBox::currentData() gets the key
"automatically", and the default role for that method is UserRole,
so let the value of KeyRole overlap.
2020-08-06 01:34:44 +02:00
Adriaan de Groot
245d4a8ef7 [libcalamares] Add a find() to ZonesModel
- Look up TZ data by region and zone name.
2020-08-06 01:33:25 +02:00
Adriaan de Groot
478a275764 [libcalamares] Make TimeZoneData public
- Also make it a QObject so we can add properties and make it useful
  for QML consumption.
2020-08-06 01:33:21 +02:00
Adriaan de Groot
10fb5b95c7 [libcalamares] Split out CStringPair into TranslatableString
The (renamed) class TranslatableString keeps a key value
(e.g. New_York) and a human-readable version around; the
human-readable one is passed through QObject::tr() for translation
on-the-fly.
2020-08-05 17:52:41 +02:00
Adriaan de Groot
3e32335511 [libcalamares] Introduce a filtering model per-region 2020-08-05 17:14:13 +02:00
Adriaan de Groot
1afdcc9c82 [libcalamares] Give zones data, too
- while here, fix bug in TimeZoneData that didn't munge names
  (so it reported "New_York")
2020-08-05 16:45:41 +02:00
Adriaan de Groot
33e39b92fb [libcalamares] Satisfy test, return region names 2020-08-05 16:36:00 +02:00
Adriaan de Groot
609ea8350c [libcalamares] Failing test: there is data in the regions model 2020-08-05 16:25:45 +02:00
Adriaan de Groot
82cc652f55 [libcalamares] Re-done zones loading
- just make one big list of zones, one short list of regions
- the models are non-functional right now
2020-08-05 16:21:05 +02:00
Adriaan de Groot
ca40d2e2d9 [libcalamares] Introduce a failing test for the number of regions 2020-08-05 15:17:09 +02:00
Adriaan de Groot
fce05acf1e [libcalamares] Rip out all the TZ models
- The models are overly complicated: **overall** there is just one
  list of timezones, and we need various views on that list.

Start over with an empty model of regions.
2020-08-05 15:11:52 +02:00
Adriaan de Groot
5066624a8e Merge branch 'issue-1471' into calamares
FIXES #1471
2020-08-05 14:25:49 +02:00
Adriaan de Groot
082770032f [hostinfo] Massage test to handle ARM
- there **is** another source of information about the CPU,
  so in the test use that to cross-check what hostCPU() says.

NB: it's probably a good idea to fall back on the same file
    in hostCPU() for better accuracy.
2020-08-05 14:24:28 +02:00
Adriaan de Groot
272cf099be [hostinfo] Try to recognize ARM as well
- /proc/cpuinfo is a terrible information source; it contains very
  different information on x86 from arm (testen on rpi4 and rock64).
2020-08-05 14:07:39 +02:00
Adriaan de Groot
b49b9a66e6 [users] Drop data-access from the Page
- get username, password etc. from the config object, not the page
- jobs now depend entirely on config
- handle logic of "what's the root password" in Config
2020-08-05 13:42:18 +02:00
Adriaan de Groot
eb72d662d1 [users] Add password fields to Config
- no checking is done for validity, and there is no password-status
2020-08-05 13:29:12 +02:00
Adriaan de Groot
b2b9ae7799 [users] Add tests for moved password-check configuration
- link the PW checks to the test, and libpwquality if needed
- test only does very basic config-mungeing
2020-08-05 13:03:56 +02:00
Adriaan de Groot
900deb5dc8 [users] Move the configuration of password checks to Config
- the Widget (Page) does not need to know the password checks,
  that's business logic that belongs to Config.
2020-08-05 13:03:18 +02:00
Adriaan de Groot
7b87242107 [users] PW checking does not need widgets 2020-08-05 12:56:09 +02:00
Adriaan de Groot
0ecf1e1cc1 [users] Drop default parameter for badness 2020-08-05 12:24:39 +02:00
Adriaan de Groot
fcafe5db8f [users] Test the moved setHostname Config
- document that the default for writeHostsFile is *true*
2020-08-05 10:50:38 +02:00
Adriaan de Groot
2efce1ac7a [users] Move the hostname-setting config
- The configuration for writing the hostname (to /etc/hostname,
  to /etc/hosts and possibly to systemd-hostname) is read-only,
  because it comes from the config file and won't change after.
2020-08-05 10:29:13 +02:00
Adriaan de Groot
35dff4d12c [users] Migrate reuse-password and password-strength to Config
- add the "reuse user password for root" setting to Config,
  make the UI page follow that setting.
- add the require-strong-password default and toggle settings to
  Config; this is not well-checked yet.

On the widget / UI side, connect checkboxes only if they are
visible; refactor reuse-user-password-for-root settings.
2020-08-04 22:40:27 +02:00
Adriaan de Groot
44bc61d4be [users] set up Config object before widget 2020-08-04 22:37:27 +02:00
Adriaan de Groot
23b507ae8e [partition] Chase constness, makeJob() 2020-08-04 16:53:29 +02:00
Adriaan de Groot
20b477d063 [partition] Distinguish jobs with updatePreview() 2020-08-04 16:20:04 +02:00
Adriaan de Groot
62579e0f42 Merge branch 'calamares' into issues-1166 2020-08-04 16:08:01 +02:00
Adriaan de Groot
05f3fbea05 [locale] Apply SPDX headers 2020-08-04 13:45:36 +02:00
Adriaan de Groot
3f1b31e352 [libcalamares] Explicit tests for Interlingue
- The language code "ie" is not recognized,
- "ia" is, and it seems to be the post-war variant of
  Interlingue, so we may want to rename / relabel.

The testEsperanto test -- now split into scripts and
esperanto -- would have picked "ie" out of the list
because it does map to C locale.
2020-08-04 13:26:37 +02:00
Adriaan de Groot
b27bc11975 [libcalamares] Merge locale tests files
- No need for a separate .h in most test cases
2020-08-04 12:59:55 +02:00
Adriaan de Groot
320779ccbe [libcalamares] Document Job::prettyDescription
The TODO said it was unused: it **is** used, but only in
a very limited scope. Drop it from jobs where it wasn't
useful (e.g. those that just return prettyName(), outside
of the partition module).
2020-08-04 11:19:17 +02:00
Adriaan de Groot
88e5e98d29 [libcalamares] Use consistent type alias (Descriptor) 2020-08-04 10:19:40 +02:00
Adriaan de Groot
ea709aab59 [libcalamaresui] Swap out unstructured string for structured data 2020-08-04 01:31:22 +02:00
Adriaan de Groot
b5c0158ec2 [libcalamares] Some if-method-exists trickery
This builds some machinery so that we can create
a detector for member-functions (methods) named <whatever>.
Use the macro to build the machinery:

DECLARE_HAS_METHOD(myFunction)

then after that,

has_myFunction<T>

is either std::true_type or std::false_type
depending on whether T has a method myFunction.
2020-08-03 21:52:47 +02:00
Adriaan de Groot
7b6ff8dd37 [libcalamares] Minor tests for parts of RAII 2020-08-03 15:13:51 +02:00
Adriaan de Groot
6e31d9de4b [partition] Name deviceInfo consistently, auto*
- use auto* for pointer type where we already say "device info" twice
2020-08-03 13:41:34 +02:00
Adriaan de Groot
22ba3cc62d [partition] Make private struct type private
- no need for the definition to be in public header, move to implementation
- while here, sort the members and private methods
- add a makeJob() to add jobs to the queue
2020-08-03 13:38:12 +02:00
Adriaan de Groot
c2929e93b3 [partition] Start sanitizing the Jobs on a Device
- having a struct with an obtuse API for adding jobs-that-need-to-happen-
  to-this-device is just not good for maintainability.
- break the build by making things private.
2020-08-03 13:13:56 +02:00
Adriaan de Groot
c63d4ad2cc [partition] Enable 'file' swap choice
SEE #1166
2020-08-03 12:31:38 +02:00
Adriaan de Groot
0902c74809 [hostinfo] Editorialize on the tests
- the implementation understands Intel and AMD, but the test
  was written for my desktop machine (which fails elsewhere).

SEE #1471
2020-08-03 11:36:44 +02:00
Adriaan de Groot
b1b81f27cc Merge branch 'issue-1297' into calamares
This does **not** result issue-1297, but brings in some
prep-work and pleasant clean-ups.
2020-07-31 23:21:23 +02:00
Adriaan de Groot
41ce42cd4b [partition] Drop InstallChoice enum from Page
- The enum for install choice was copied into PartitionActions and
  used in the Config object; its definition does not belong in the UI.
- Chase the renamings required.
2020-07-31 23:20:51 +02:00
Adriaan de Groot
e21a2f0676 [partition] Add InitialInstallChoice to Config
- add an option to select what button should be selected when the
  partitioning module is started; TODO: the actual functionality is
  **not** implemented.
- drop the previously suggested name, which didn't get beyond the
  comments-in-the-config-file stage (but which intended to do the
  same things as this one)
- add option to schema already, even if it's not implemented.

See #1297

FIXUP conf
2020-07-31 23:20:10 +02:00
Adriaan de Groot
380e2b3613 [partition] Fix up schema file 2020-07-31 23:12:49 +02:00
Adriaan de Groot
42889b5d7f [users] Perhaps triggers the build failure
- This is the only use of STATICTEST together with , and is the only
  one failing to link.
2020-07-31 09:52:06 +02:00
Adriaan de Groot
fec8361ed5 [partition] Drop "convenience" functions
- the functions are used just once
- thin wrappers for named-enum methods that are just as convenient
2020-07-30 10:51:48 +02:00
Adriaan de Groot
824dac62d8 [partition] ChoicePage to use Config object 2020-07-30 10:44:10 +02:00
Adriaan de Groot
d103c42091 [partition] Fix build now swapChoices lives in config 2020-07-30 10:26:58 +02:00
Adriaan de Groot
baabcc5bb4 Merge branch 'calamares' into issue-1297 2020-07-29 22:35:23 +02:00
Adriaan de Groot
33fd5a1fad [partition] Report a valid choice if a partition is selected 2020-07-29 17:58:13 +02:00
Adriaan de Groot
ef4c2666e1 [partition] Update icons on all state changes
The encryption widget (passphrase for disk encryption) should show
ok / warning / error whenever the state changes; this avoids
it showing up first with **no** icon (it should show a warning
when both passphrases are empty).
2020-07-29 14:46:11 +02:00
Adriaan de Groot
0eb1f002db [partition] defuse is-next-enabled
Both the KPMCore and the ChoicePage -- asynchronously -- were connected
to the nextStatusChanged() signal. So if the core said next was true,
that could end up communicated to the ViewManager, enabling the *next*
button in the UI.

Changing to the *erase* page generally triggers a KPMCore reload,
which later emits a `hasRootMountPointChanged()` signal, once the
layout is applied and the disk gets a root mount point. So we'd
get a `true` from KPMCore, which -- because it was connected directly
to the signal to the VM -- would override any other considerations.

Hook up both signals to an intermediate slot that just recalculates
whether the next button should be enabled, based on the state
both of the Choice page and whatever else.
2020-07-29 14:21:19 +02:00
Adriaan de Groot
f1c4caba48 [partition] Refactor checking next-enabled
- move the calculations to an own method (so it can use
  early-return and log things to explain why next is disabled)
2020-07-29 14:21:19 +02:00
Adriaan de Groot
43cd415d9a [partition] Switch to 'modern' Error/ok icons 2020-07-29 14:21:19 +02:00
Adriaan de Groot
892e9798f4 [users] Sanitize tests
- move the testing of config-object methods to its own tests
- simplify file structure for the password job tests
2020-07-29 13:31:39 +02:00
Adriaan de Groot
cc1136fb0e [users] Untangle tests
- name sources for tests consistently Test<something>
- chase some required source changes with the renaming
- name test targets consistently too
2020-07-29 13:23:41 +02:00
Adriaan de Groot
f75839340a [users] Drop QRegExpValidator
- QREValidator is a GUI part, so to avoid a dependency on GUI for the
  (non-GUI) Config object, port to the simpler QRE (which we had
  available anyway)
2020-07-29 12:27:56 +02:00
Adriaan de Groot
b9372ba432 [users] Move default groups setting to Config
- drop groups from the viewstep
- note that the Config object should also be in charge of creating
  Jobs (but then the de-tangling needs to be completed)
- add tests of default groups loading

Doesn't compile because QRegExpValidator is a gui thing.
2020-07-29 12:18:25 +02:00
Adriaan de Groot
bfa1f618c7 CMake: Improve RCC version-checking
Previously, we check for RCC support every single time CMake runs.
This is slightly wasteful, and it wasn't being done right anyway.
But it's moot because:

- Calamares supports back to Qt 5.9
- Qt 5.9's version of rcc (at least, 5.9.7) **does** support the
  command-line argument `--format-version 1`
- Everything newer does too.

Simplify translations a little, too: just use autorcc rather than
building things by hand.
2020-07-29 10:05:01 +02:00
Adriaan de Groot
38b347f8f2 [libcalamares] Take ownership of the versioning headers
- The sources were in src/calamares but processed and generated
  in libcalamares, which is weird at best.
- Generate an "extended" version header.
- Use the extended version in the logger and nowhere else.
- While here, minor coding style cleanups

The overall change here means that after running CMake, only
Logger.cpp needs to be rebuilt (if the extended version has
changed) and not a handful of other files that don't need the
full version number, but do happen to include CalamaresVersion.h
2020-07-29 10:02:37 +02:00
Adriaan de Groot
9568fc082f [calamares] Try to reduce compile-churn with version header
- Very rarely do we need the full-git-version of Calamares,
  so split that into a separate header with a little trickery.
- In the "normal" version header, drop the full-git-version values.
2020-07-29 10:02:37 +02:00
Adriaan de Groot
b06498194e [machineid] Fix up schema
- schema didn't allow recent (2019) configuration entries
- remove mention of deprecated key from example config
2020-07-28 14:46:56 +02:00
Adriaan de Groot
cc2e3f79ff [users] Move job creation from widget to viewstep
- This is a half-step: the ViewStep shouldn't do job creation either,
  eventually it needs to be the Config object, but this is better
  than asking the widget (UI) to create some jobs.
- When updating login- or host-name, or the autologin setting,
  set it in GS as well. This is a minor improvement over doing
  it only when leaving the page.
- Since the Config object isn't complete, there are leftovers in
  the widget, which has a fillGlobalStorage() for the not-jobs-related
  bits previously in createJobs().
2020-07-28 12:16:03 +02:00
Adriaan de Groot
6a03bcb25e [users] Move setRootPassword to Config
- this really controls whether a root password is written during installtion,
  so rename to writeRootPassword in the code.
2020-07-28 11:59:53 +02:00
Adriaan de Groot
45b71c24e7 [users] Move autologin setting to Config 2020-07-28 11:41:52 +02:00
Adriaan de Groot
6c930af5cb [users] Use convenience method for labeling Full Name 2020-07-28 11:18:07 +02:00
Adriaan de Groot
0813ec3327 [users] Misc cleanups
- unused includes
- avoid "my--pc" .. the dash is inserted by makeHostnameSuggestion()
2020-07-28 10:49:12 +02:00
Adriaan de Groot
9018913af5 [users] Move hostname validation to Config 2020-07-28 10:45:38 +02:00
Adriaan de Groot
40d7d1baac [users] Move login validation to Config object
- add a loginNameStatus which is a QString (empty if things are ok)
  stating what's wrong with the loginName, if anything.
2020-07-28 10:21:23 +02:00
Adriaan de Groot
a564d7a753 [users] Fix build on Linux 2020-07-28 09:42:32 +02:00
Adriaan de Groot
d4a784f521 [users] Hook up full name to Config 2020-07-27 17:52:46 +02:00
Adriaan de Groot
630a508049 [users] Hack - create the widget anyway
- since the configuration is in the UI parts, we need the widget still
  to load the whole configuration (until the config object is complete).
  Create the widget before doing configuration; this is wrong. But now
  we don't hit nullptr derefs all over.
2020-07-27 17:29:46 +02:00
Adriaan de Groot
8a14cc7ffc [users] Move some configuration from Page to Config object
- make the HostName textbox just a view on the Config's HostName
- make the username and login textboxes view onto Config
- query the Config rather than the UI for job data
2020-07-27 17:26:46 +02:00
Adriaan de Groot
5ffa09000a [users] Add hostname guessing to Config 2020-07-27 17:26:46 +02:00
Adriaan de Groot
411a202ba5 [users] Do some login-name guessing 2020-07-27 17:26:46 +02:00
Adriaan de Groot
66ae1823a5 [users] Give Config object a user and login name
- This is incomplete, because the business logic of guessing
  a login from the username is not here.
2020-07-27 17:26:46 +02:00
Adriaan de Groot
35916eb20f [users] Move autologin and sudoers groups to Config 2020-07-27 17:26:46 +02:00
Adriaan de Groot
2f786079f3 [users] Move shell settings to the Config object
- this is a set-only property (as far as the current ViewStep is
  concerned) and is passed around in GS for non-obvious reasons.
2020-07-27 17:26:46 +02:00
Adriaan de Groot
8497aad7a1 [users] Apply coding style 2020-07-27 17:26:46 +02:00
Adriaan de Groot
f9b114a67a [users] Pass the Config object to the Page
- delay construction of the Page (widget) until it's needed
- hand the Config object to the Page on construction

This is prep-work for putting the configuration information into the
Config object, rather than in the UI elements.
2020-07-27 17:26:46 +02:00
Adriaan de Groot
dab831b2ff [users] Introduce a (stub) Config object 2020-07-27 15:55:04 +02:00
Adriaan de Groot
1e08ee084f [users] Actually add the test file 2020-07-27 15:35:24 +02:00
Adriaan de Groot
92938f63f8 Merge branch 'move-permissions' into calamares 2020-07-27 15:05:46 +02:00
Adriaan de Groot
8ce7457023 [users] Add test for create-users code
- just one test for groups-file loading
- while here fix bug that blank and comment lines were being
  kept as valid group names
2020-07-27 15:00:14 +02:00
Adriaan de Groot
8a6e4af511 [users] FreeBSD support creating user
- call pw useradd and pw usermod as needed; the code paths are basically
  the same in invoking a program in the target system to do the work.
2020-07-27 13:45:00 +02:00
Adriaan de Groot
26b8c82630 [users] Refactor user-creation and user-group-setting into methods
- This is prep-work for handling other tools for user- and group-
  creation as well.
2020-07-27 13:29:51 +02:00
Adriaan de Groot
1fddf723fe [users] FreeBSD support creating groups 2020-07-27 13:18:09 +02:00
Adriaan de Groot
b99b87f787 [users] Explain some weird internals 2020-07-27 12:37:04 +02:00
Adriaan de Groot
90a0605f38 [preservefiles] [users] Use the Permissions methods
- don't call out to tools (executables) when we have an API for it
  (which might call out to those tools, but that's abstracted)
2020-07-27 12:27:45 +02:00
Adriaan de Groot
59dff815fc [libcalamares] Additional apply() methods for Permissions 2020-07-27 12:27:38 +02:00
Adriaan de Groot
1babcd2aa4 [libcalamares] Put Permissions in CalamaresUtils namespace
- most of the things in utils/ are in the CalamaresUtils namespace,
  let Permissions follow suit. Chase the name change in the
  *preservefiles* module.
- add an `apply()` function for doing the most basic of chmod.
  Note that we don't use `QFile::setPermissions()` because the
  **values** used are different (0755 for chmod is 0x755 in the
  enum value passed to `setPermissions()`).
2020-07-27 10:57:15 +02:00
Adriaan de Groot
d6910b47b5
Merge pull request #1464 from apt-ghetto/fixManualPartitionMsg
Revert Manual Partition instructions
2020-07-26 11:19:30 +02:00
Adriaan de Groot
a01c428270
Merge pull request #1465 from apt-ghetto/fixRootUsername
[users] Do not allow 'root' as username
2020-07-25 17:22:34 +02:00
demmm
3a3507f2b2 [keyboardq] remove background image use
make the module more in line with the look of the rest of Calamares
2020-07-25 17:18:28 +02:00
apt-ghetto
01b22d27a8 Do not allow 'root' as username
On the "Users" tab, the user can choose a username. It was possible to
use 'root' as username, which led to an installation error, because
'root' exists already.

Added a new check to the username validation.

Fixes #1462.
2020-07-25 16:17:57 +02:00
apt-ghetto
2b3cc17782 Revert Manual Partition instructions
With PR calamares/calamares#1357 the label of the "Manual partitioning" option
was changed, which introduced several downsides:
  * The label is shown for UEFI and for BIOS installations.
  * The mountpoint of the ESP is and should be distro specific.
  * The label always mentioned GPT, which is irrelevant.
  * The label should explain, what the option does, and not, what
    problems can occur under certain circumstances.
2020-07-24 17:56:58 +02:00
demmm
d114c383fa [localeq] remove obsolete vars & comments
set index in i18n.qml to -1, old settings were just for reading from the bogus model
current model uses strings, so index fails to read from it.  This fixes cala crashing on loading i18n.qml
2020-07-24 17:34:14 +02:00
Adriaan de Groot
409ab6ee86 [users] Refactor writing sudoers file
- use existing convenience methods
2020-07-24 14:27:42 +02:00
Adriaan de Groot
bc484ae5da [users] Refactor /etc/group file handing 2020-07-24 14:27:42 +02:00
Adriaan de Groot
4d3422b931 [libcalamares] dox for Permissions
- Expand the documentation, emphasize octal-vs-decimal
- east-const consistently in this file (most of Calamares is west-const)
- shuffle the is-valid bool to the end of the data members,
  so sorting by size.
2020-07-24 14:24:03 +02:00
Adriaan de Groot
11482559ad [netinstall] There is no netinstall.qrc 2020-07-24 13:39:43 +02:00
Adriaan de Groot
2c110bfc66 Merge branch 'calamares' into move-permissions 2020-07-24 12:29:10 +02:00
Adriaan de Groot
682146aa9b [libcalamares] Expand dox on TimeZone pairs 2020-07-24 12:15:32 +02:00
Adriaan de Groot
09020d68b0 [libcalamaresui] Make dox of ModuleManager signals more explicit 2020-07-24 12:15:27 +02:00
Adriaan de Groot
a080e47f4b [locale] Add prettyStatus to Config
- this is present in the previous config, and helps make the modules
  consistent by returning prettyStatus in both ViewSteps.
2020-07-24 11:53:32 +02:00
Adriaan de Groot
07c096673d [localeq] Report summary before install 2020-07-24 11:10:56 +02:00
Adriaan de Groot
a4ed160060 [localeq] Offer a Config setting to set location from region/zone
- already had methods for various kinds of broken-up data, but
  not one for plain "region/zone" strings; having this makes
  it easier for QML to report a zone.
- use the region/zone method from QML, so that clicking on the
  world map updates the actual TZ in Config.
2020-07-24 11:07:58 +02:00
Adriaan de Groot
e78cde7ccb [locale] Update GS when the LC value changes (not just location) 2020-07-23 23:32:53 +02:00
Adriaan de Groot
00e9454344 [localeq] Hook up to Config object
- get network status from the global Network object; document that
- get the strings describing the language and LC settings from
  the config-object instead of roll-our-own
- use the model of supported locales from Config to populate listboxes
- connect selection of language or LC to the Config object
2020-07-23 23:32:53 +02:00
Adriaan de Groot
75da1bece4 [locale] Add properties for language and LC codes
- we already had the human-readable status strings, but also want the
  actual code (particularly for being able to **update** the code
  from QML)
2020-07-23 23:25:52 +02:00
Adriaan de Groot
fdbfbfe284 [localeq] Fix build, missed one case of removed member variable 2020-07-23 17:46:20 +02:00
Adriaan de Groot
fb927c9763 [localeq] Use network-connected property to direct map-loading 2020-07-23 12:57:26 +02:00
Adriaan de Groot
36fb1124be [libcalamares] Export network status as Q_PROPERTY and to QML 2020-07-23 12:57:01 +02:00
Adriaan de Groot
51e743a67f [libcalamares] Give GlobalStorage a parent 2020-07-23 12:48:18 +02:00
Adriaan de Groot
4b7403d115 [localeq] Re-do with new Config
- remove stray and useless TODOs
- remove unnecessary empty overrides
- clean up includes
- drop all the code that is now in Config

Since the business logic (setting locations, maintaining GS, ...)
is all in the Config object, the ViewStep is remarkably simple:
hook up a UI to the Config, which in the case of QML is done
automatically.
2020-07-23 11:11:18 +02:00
Adriaan de Groot
d90d451f42 [locale] Remove unnecessary includes 2020-07-23 10:43:31 +02:00
Adriaan de Groot
1f3cb32486 [locale] Apply coding style 2020-07-22 17:10:08 +02:00
Adriaan de Groot
824cb4d4b8 [locale] As the Page is constructed, it shouldn't change the location
- since the Page hooked up a model and changed the region-selection
  **after** connecting to signals, it would reset the location
  to Africa/Abijan (alphabetically the first timezone) during
  construction. Don't do that.
2020-07-22 17:06:14 +02:00
Adriaan de Groot
4f684be83d [locale] Avoid crashes in the map widget if there is no current location 2020-07-22 17:06:14 +02:00
Adriaan de Groot
42331f6e13 [locale] Move GeoIP lookup to config
- replace the weird synchronous-lookup-during-requirements-checking
  with a proper async lookup when the system is ready.
2020-07-22 17:06:14 +02:00
Adriaan de Groot
a25d61077f [locale] Add GeoIP settings to Config
- this doesn't do the lookup **yet**
- while here, refactor setConfigurationMap so it reads like a story,
  with chunks bitten out into a handful of static inline void methods.
2020-07-22 11:53:06 +02:00
Adriaan de Groot
f64a1eb16a [libcalamaresui] Document the signals from ModuleManager 2020-07-22 11:52:42 +02:00
Adriaan de Groot
b607cf3f98 [locale] Get starting TZ in Config
- read the *region* and *zone* settings; this duplicates what
  the ViewStep does and is currently unused, but ..
- add new support for using the system's TZ (rather than
  the fixed values from *region* and *zone*). This complements
  GeoIP lookup.

This is the actual feature that started the long rewrite of
the Config object (so that all the business logic would be in
one place, usable for both widgets and QML).

FIXES #1381
2020-07-22 01:28:10 +02:00
Adriaan de Groot
781d76c9e5 [locale] Avoid nullptr if there is no location 2020-07-22 00:32:29 +02:00
Adriaan de Groot
0c9480aa3f [locale] Move more business logic to Config
- writing *localeConf* settings to GS can be done always when the
  formats are set, rather than special-cased. The code
  that handles the "special case" of no widget existing for the ViewStep
  overlooks the other crashes that happen then.
- Since Config knows what jobs to create, just ask it rather than
  keeping a copy.
2020-07-22 00:23:50 +02:00
Adriaan de Groot
f6419d5de1 [locale] New setting *adjustLiveTimezone*
- allow finer-grained control over whether-or-not to adjust the
  timezone in the live system.
- handle some special cases at the point of loading-configuration.
- document the setting in locale.conf
- correct some documentation bugs
- adjust the YAML schema for locale.conf so it's legal YAML syntax
  **and** validates the current file.
2020-07-22 00:11:55 +02:00
Adriaan de Groot
995ebd5c83 [locale] Remove unused #includes 2020-07-21 17:44:44 +02:00
Adriaan de Groot
1de2210d29 [locale] Move the GS updating to the Config object
- since all locale changes need to be entered into GS anyway, this
  is something the Config object can do because it is the source
  of truth for locale settings.
- drop all the GS settings from the Page.
2020-07-21 17:38:22 +02:00
Adriaan de Groot
f7c2e4a3e7 [locale] Sanitize Config signals and slots
- remove the weirdly-structured prettyStatus and similar:
  the Config object has human-readable status strings (three,
  for location, language, and LC-formats) which can be
  normal properties with signals.
- Implement prettyStatus in the view step by querying the Config.
2020-07-21 17:38:22 +02:00
Adriaan de Groot
ef08ff6ac0 [locale] Move status strings from Page to Config
- the config knows the status and how to describe it,
  fetch the strings from there.
2020-07-21 15:51:49 +02:00
Adriaan de Groot
855b21a7db [locale] Remove redundant method
- configuration information lives in the Config object
2020-07-21 15:35:38 +02:00
Adriaan de Groot
abc98cfa79 [locale] Simplify allocation, guard against crashes if the dialog is deleted. 2020-07-21 14:57:09 +02:00
Adriaan de Groot
66eacce654 [locale] Move localeconfiguration to Config object
- the language and LC settings migrate from page to config
- add API for explicitly setting language (which is then preserved
  when clicking new locations)
2020-07-21 13:16:52 +02:00
Adriaan de Groot
a307217d83 [locale] Tidy LocaleConfiguration
- expand API documentation
- minor coding-style adjustments
2020-07-21 11:13:40 +02:00
Adriaan de Groot
81520bbbf9 [locale] Chase RAII conveniences
- several early-return paths would leave the TZ widget blocked
- use the zones data from config
2020-07-21 00:21:42 +02:00
Adriaan de Groot
0645a46b42 [libcalamares] Expand RAII conveniences 2020-07-21 00:21:16 +02:00
Adriaan de Groot
98f912f80a [locale] Drop LocalePage:;init
- setting the initial location is something the Config-object should do
- setting up the combo-boxes can be done in the constructor
2020-07-21 00:11:16 +02:00
Adriaan de Groot
726f882185 [locale] Move current-location to Config 2020-07-20 23:06:12 +02:00
Adriaan de Groot
5a6a9a0d45 [locale] Move job-creation to Config
- since Config knows what settings there are, it should create the
  jobs to run later -- not the Page.
- this doesn't work yet, because the Config does **not** know what
  the selected timezone is yet.
2020-07-20 22:21:29 +02:00
Adriaan de Groot
8c21b59853 [locale] Remove unused localegen (moved to Config earlier) 2020-07-20 18:13:33 +02:00
Adriaan de Groot
f0cac7d669 [locale] Hook tz widget up to the Config's data 2020-07-20 16:54:44 +02:00
Adriaan de Groot
4d5ff6d5c4 [locale] Make the Page use the region model from Config 2020-07-20 16:27:15 +02:00
Adriaan de Groot
88d1d255f6 [locale] Add regions & zones models to Config
- The models are constant pointers, even if their contents aren't.
- Make the top-level (region) model point to the global TZ list.
2020-07-20 16:16:53 +02:00
Adriaan de Groot
51b7ec875f [locale] Don't need own copy of zones list 2020-07-20 13:55:00 +02:00
Adriaan de Groot
439f828d9b [locale] Document TZ widget 2020-07-20 13:47:23 +02:00
Adriaan de Groot
931ce20f30 [locale] Reduce API surface
- getLocationPosition doesn't need to be a method, since it calls out
  to a static function of TimeZoneImageList anyway.
2020-07-20 13:38:20 +02:00
Adriaan de Groot
25ba1bb767 [locale] Remove localeGenLines from page
- the Config object took over loading of the string list
- expose the list as a property
- drop loading code from the page.
2020-07-20 13:24:31 +02:00
Adriaan de Groot
338635146f [locale] Hand the Config object also to the page 2020-07-20 12:58:35 +02:00
Adriaan de Groot
b6b5c44996 [locale] Load supported locales in Config 2020-07-20 12:55:07 +02:00
Adriaan de Groot
8119c7e72a [locale] Reset Config object
The Config object wasn't being used at all in the locale module;
reset it to empty and start using it in locale, so that
configuration functionality can be added to it as-needed,
and with the necessary refactoring built-in.
2020-07-20 12:37:27 +02:00
Adriaan de Groot
0d5db2dd06 [localeq] Config-handling is a total bodge-job, disable 2020-07-20 12:36:58 +02:00
Adriaan de Groot
724b92ee60 [partition] Drop documentation of vanished parameter 2020-07-11 16:35:54 +02:00
Adriaan de Groot
e1f4224bed [libcalamaresui] Fix slideshowAPI loading
In 022045ae05 a regression was introduced: if no *slideshowAPI*
is specified in the branding file, Calamares refuses to start, with
a YAML failure.

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

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

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

- Massage the code to check for validity before checking for scalar
- Add a `get()` that produces more useful exception types when
  looking up an invalid key
- Use `get()` to lookup the slideshow node just once.
2020-07-09 11:28:09 +02:00
Adriaan de Groot
a58d59d86c [libcalamares] Minor documentation on Yaml.* 2020-07-09 10:45:28 +02:00
Adriaan de Groot
da1cc7c3a5 [libcalamaresui] Don't clear the map when inserting strings
- the documentation doesn't say the map is cleared, and the one
  place this function is used doesn't need that either.
- make type of config explicit
2020-07-09 08:46:16 +02:00
Adriaan de Groot
a91edfef89 [netinstall] auto-resize the columns
- previously, the first column (name) was sized to show the
  names **that were visible at startup**, which fails when
  there are long names hidden in groups that are not expanded
  immediately.
- change the columns to resize according to the contents; this makes
  the descriptions jump to the right as the name column gets wider.

FIXES #1448
2020-07-08 13:34:38 +02:00
Adriaan de Groot
240c703549 [partition] Don't leak the PM core object 2020-07-08 13:11:10 +02:00
Adriaan de Groot
7f1a59f02b [partition] Fix typo 2020-07-08 13:11:10 +02:00
Adriaan de Groot
313531bc4b [partition] Remove unused parameter
- there are no consumers for checking-the-capacity-of-the-drive

This parameter was introduced in 3cd18fd285 as "preparatory work"
but never completed. The architecture of the PartitionCoreModule
makes it very difficult to get the necessary parameters to
the right place, and it would probably be better to put
a SortFilterProxyModel in front of a partitioning model anyway.

Since the display code can already filter on size, just drop this one.
2020-07-08 13:08:51 +02:00
Adriaan de Groot
948c078e1a [partition] winnow floppy drives
- don't list floppy drives

FIXES #1393
2020-07-07 23:03:12 +02:00
Adriaan de Groot
a78c368367 [calamares] Tweak default QML sidebar
- make the rectangles slightly larger
- align text to center of the rectangle
- make the rectangle fill out the column; without this, the
  width would collapse back to 0 after a change in the model,
  which would draw 0-width rectangles.

FIXES #1453
2020-07-07 16:11:18 +02:00
Adriaan de Groot
2b2a69631f [libcalamaresui] Suggestions for better naming of enum values 2020-07-07 15:29:13 +02:00
Adriaan de Groot
3565b6806a [libcalamares] Massage the logger output
- continuations, for the console, no longer print the date + level,
  which makes things easier to visually group and read.
- the file log is mostly unchanged, except it contains more spaces now.
2020-07-07 15:25:25 +02:00
Adriaan de Groot
631923abf8 [libcalamares] Console-logging follows -D flag exactly
- Don't always log LOGEXTRA and below.
2020-07-07 15:12:50 +02:00
Adriaan de Groot
67aa34c4a4 [calamares] Center the progress texts 2020-07-07 14:13:49 +02:00
Adriaan de Groot
43ebcf8b61 [packages] Keep package-manager list alphabetized 2020-07-07 13:48:07 +02:00
Vitor Lopes
c16866fb88 pep8 302 2020-07-05 08:37:28 +01:00
Vitor Lopes
e29462bc05 [pamac] rework db_lock 2020-07-05 08:35:52 +01:00
Vitor Lopes
d78cbfc644 update example configurations and schema 2020-07-05 08:18:38 +01:00
Vitor Lopes
2c76106a66 Merge branch 'calamares' of https://github.com/calamares/calamares into calamares 2020-07-05 08:14:32 +01:00
Adriaan de Groot
46ad704ede [partition] Fix build for old KPMCore
SEE #1444
2020-07-03 22:33:00 +02:00
Adriaan de Groot
36a9088480
Merge pull request #1444 from gportay/add-parttype-partattrs-to-global-storage
[partition] Add the GPT type and attributes to global storage
2020-07-03 16:18:56 -04:00
Adriaan de Groot
0be6f63d2a
Merge pull request #1443 from gportay/add-default-value-to-variant-helpers
[libcalamares] Add default value to variant helpers
2020-07-03 16:12:34 -04:00
Adriaan de Groot
d3f9415bc1 [packages] Expand schema to cover the operations
- Not complete, since the items in the operations aren't done
2020-07-03 22:07:18 +02:00
Adriaan de Groot
8aa8ac2d26 [packages] Tidy up configuration
- fix the schema so the schema is valid json-schema
- the schema doesn't actually validate the *operations* yet
- sort the named backends (needs a double-check that the
  list covers all the ones we currently support)

SEE #1441
2020-07-03 21:51:39 +02:00
Adriaan de Groot
08aa362c5c [license] Warnings-reduction
- Don't do in code what is already done in the designer (.ui) file
- setFrameStyle() is difficult because it mixes different enums
  into an int, which causes the warning from clang.
2020-06-27 00:33:50 +02:00
Adriaan de Groot
3b5c4839e3 [libcalamaresui] Warnings-- 2020-06-26 20:34:33 +02:00
Adriaan de Groot
31a1b710bc Docs: say something about QML modules 2020-06-25 15:26:48 +02:00
Adriaan de Groot
6735ff1cd0 Docs: give up on PythonQt modules 2020-06-25 14:45:35 +02:00
Adriaan de Groot
fa2f91aa46 [libcalamaresui] Minor documentation improvements 2020-06-25 14:04:49 +02:00
Adriaan de Groot
8ced67680d [calamares] Allow get/set of panel-sides
- Add access to the panel-sides membe of the view manager, and
  calculate which sides are populated by panels (if any).
- Pass the calculated panel-sides to the view manager before it
  starts adding viewpages, so they get consistent margins.
2020-06-25 00:00:13 +02:00
Adriaan de Groot
68aecf6a26 [libcalamaresui] Special margins for QML view steps
If there are no surrounding panels, drop the margin around the QML on
the assumption it needs to be full screen under special circumstances.
2020-06-24 23:41:20 +02:00
Adriaan de Groot
d952faf909 [libcalamaresui] Set margins based on viewstep suggestion 2020-06-24 22:12:59 +02:00
Adriaan de Groot
d7ed450dbf [libcalamaresui] Give ViewManager data about side-panels 2020-06-24 21:41:06 +02:00
Adriaan de Groot
1648f311fe [libcalamaresui] apidox touch-up 2020-06-24 21:26:22 +02:00
Adriaan de Groot
748d76df4f [libcalamaresui] Add support for steps with own margins 2020-06-24 21:15:37 +02:00
Adriaan de Groot
347a25d13d [libcalamaresui] Avoid nullptr deref
- there's a check already there, and probably this means things are hopelessly
  broken anyway, but let's not crash here.
2020-06-24 20:48:06 +02:00
Adriaan de Groot
4a6ee39f8b [libcalamaresui] Blanket unmargin the content area 2020-06-24 11:08:31 +02:00
Adriaan de Groot
bfbb0f1c49 [libcalamaresui] Mark some TODO for 3.3, in passing 2020-06-24 04:59:19 -04:00
Adriaan de Groot
8a9e85db71 Branding: shuffle around a bit, expand documentation 2020-06-24 04:53:22 -04:00
Adriaan de Groot
e206eb086b [partition] Missing includes for Qt-compatibility 2020-06-23 17:05:08 +02:00
Adriaan de Groot
c3ff9edfa2 [tracking] Add a test executable
- just a stub, hardly tests useful functionality
2020-06-23 14:43:26 +02:00
Adriaan de Groot
3ee53435c5 [libcalamares] Fix constness issue (gcc reported) 2020-06-23 14:30:12 +02:00
Adriaan de Groot
1dfb25372b [tracking] Warnings-reduction
- Give classes a virtual destructor that need them
- Remove spurious ;
- Refactor addJobs() because that doesn't need to be in a class
- Remove redundant intermediate base-classes
2020-06-23 13:37:56 +02:00
Adriaan de Groot
0bede0692a [locale] Warnings-- on static_cast with no message 2020-06-23 13:18:30 +02:00
Adriaan de Groot
daf9451e69 [welcome] Warnings-- 2020-06-23 13:16:56 +02:00
Adriaan de Groot
22fdca8f44 [libcalamares] Use Logger::Pointer for logging void-pointers 2020-06-23 13:02:06 +02:00
Adriaan de Groot
8a14316e16 [calamares] be less chatty in startup
- without the SubEntry part, the function name is printed each time.
2020-06-23 13:01:08 +02:00
Adriaan de Groot
916c10816b [libcalamares] Logging-convenience for pointers
- This reduces the amount of (void*) C-style casts in the code,
  and formats generic pointers more consistently.
2020-06-23 12:29:18 +02:00
Adriaan de Groot
192263cf9d [libcalamares][modules] Use compatibility for QString::split()
- Use the compatibility value, which has an enum value suitable
  for the Qt version in use.
2020-06-23 11:13:55 +02:00
Adriaan de Groot
d6b0583bad [libcalamares] Compatibility-layer for QString::split
- QString::split() api changed in 5.14, in 5.15 generates warnings,
  so introduce a compatibility value.
2020-06-23 11:08:55 +02:00
Gaël PORTAY
9392473fec [partition] Add the GPT type and attributes to global storage 2020-06-22 16:37:20 -04:00
Adriaan de Groot
e24f812b2d [libcalamares] Chase Permissions move
- Fix include names in *preservefiles*
- Tidy up include guards
- Fix CMakeLists in *perservefiles* and *libcalamares*
- Use SPDX license headers
2020-06-22 16:32:47 -04:00
Adriaan de Groot
4473d7f5dd [preservefiles] Move permissions classes to libcalamares 2020-06-22 16:22:59 -04:00
Gaël PORTAY
c9f942ad67 [libcalamares] Add default value to variant helpers
- Some variant helpers take a default parameter if the map does not
  contains the given key or if the type mismatches. Make all helpers
  behave the same.
2020-06-22 15:37:24 -04:00
Gaël PORTAY
4974d86932 [partition] Fix missing initialization of the attribute partAttributes
- Initialize the attribute partAttributes to 0; it is a primitive type
  and it is not initialized in some constructors.
  Fixes commit c1b5426c6 ([partition] Add support for partition attributes).
- Move implementation of default constructor to cpp.
2020-06-22 14:24:14 -04:00
Adriaan de Groot
fde1aad465 CMake: add support for USE_*=none (from the os-modules branch) 2020-06-22 13:39:36 +02:00
Adriaan de Groot
bff0bed07e [users] Apply coding style (only CreateUserJob.cpp though)
- use ci/calamaresstyle
- SPDX licensing
2020-06-22 13:17:39 +02:00
Vitor Lopes
976150bc1e
simplify install code 2020-06-22 00:12:02 +01:00
Vitor Lopes
ddfd120197
add missing self 2020-06-21 23:43:31 +01:00
Vitor Lopes
5bb49e252d
Update main.py 2020-06-21 18:28:17 +01:00
Vitor Lopes
75bba349be
Update main.py 2020-06-21 18:03:21 +01:00
Vitor Lopes
f8db15adc4
add pamac support 2020-06-21 17:24:29 +01:00
demmm
ccff4edd91 [keyboard] fully functional QML module
added missing components listed as ResponsiveBase, ListItemDelegate & ListViewTemplate
parts of which were on nitrux
keyboard.qml no longer uses buttons within ListView, can't work as buttons and have them visible
see https://doc.qt.io/qt-5/qml-qtquick-listview.html#footerPositioning-prop
set ListView as actually visible within a normal calamares window size
2020-06-19 17:05:29 +02:00
Adriaan de Groot
5da2012465 [users] Expand schema to support the keys documented in users.conf
- Now the documentation in the file and the source is leading
  to update the schema, but in future those should go hand-in-hand
2020-06-18 16:23:32 +02:00
Adriaan de Groot
463545290e [users] Fix up schema syntax
- Remove schema items *availableShells* and *avatarFilePath* because
  those have no implementation.
2020-06-18 16:12:40 +02:00
Adriaan de Groot
c284024b0e i18n: Update English translations 2020-06-18 15:47:18 +02:00
Adriaan de Groot
b9b79f11a4 [unpackfs] Prevent accidental 0777 permissions on /
FIXES #1418
2020-06-18 14:47:33 +02:00
Adriaan de Groot
0305476f8a Merge branch 'issue-1287' into calamares
Major update to the 'tracking' module with improved wording,
functionality, QML-preparation, and a working kuserfeedback mode.

FIXES #1287
2020-06-18 13:46:57 +02:00
Adriaan de Groot
1b11cc90c4 [tracking] Polish the phrase for 'none' a bit 2020-06-18 13:37:43 +02:00
Adriaan de Groot
6365b7a362 Merge branch 'calamares' into issue-1287 2020-06-17 18:10:33 +02:00
Adriaan de Groot
2cad90d9ca
Merge pull request #1437 from gportay/handle-integers-with-octal-or-hexa-prefix
[libcalamares] Handle integers prefixed with 0 or 0x
2020-06-17 17:32:19 +02:00
demmm
fc91b4ce60 [localeq] use js to get the hasInternet status
switching between Map.qml & Offline.qml now happens properly
2020-06-17 16:52:59 +02:00
Adriaan de Groot
8ad221311d [tracking] Can't uncheck 'none' box by itself
- If the 'no tracking' box is checked, then the way to uncheck
  it is to tick some **other** box.
- It doesn't make sense to unselect 'none' and then have .. none
  selected.
2020-06-17 15:31:53 +02:00
Adriaan de Groot
47b0fa5d55 [tracking] Get username from gs 2020-06-17 15:24:21 +02:00
Adriaan de Groot
9b8d591b5d [tracking] Configure user-tracking areas 2020-06-17 15:11:11 +02:00
Adriaan de Groot
e834ce532c [libcalamares] Add variant-map getStringList() convenience 2020-06-17 15:02:01 +02:00
Adriaan de Groot
98ab4330c4 [tracking] expand documentation of configuration 2020-06-17 14:52:48 +02:00
Adriaan de Groot
3f55d415e9 [tracking] Make names of user-tracking styles consistent
- use kuserfeedback instead of "kde", to name the technology,
  not the community
2020-06-17 14:27:28 +02:00
Adriaan de Groot
5623d8086b [tracking] Apply coding style
- massage trackingSetup macro to look like a function call
2020-06-17 14:27:28 +02:00
Adriaan de Groot
789561be6a [tracking] Apply coding style 2020-06-17 14:14:06 +02:00
Adriaan de Groot
8c1685d2cf [tracking] Connect UI to configuration
- policy buttons open the policy URL
- hide tracking levels that are not configurable
2020-06-17 12:20:35 +02:00
Adriaan de Groot
756e3084dc [tracking] Simplify updatemanager job
- sed all the URI lines with a simple replacement
- document policy requirements
2020-06-17 11:33:48 +02:00
Adriaan de Groot
9433311f24 [tracking] Explain which tracking style is disabled by URL-validation 2020-06-17 11:33:48 +02:00
Adriaan de Groot
48d0c5beeb [tracking] Do user tracking in the job queue 2020-06-17 11:33:48 +02:00
Adriaan de Groot
cb2909f6d8 [tracking] Rename "neon" tracking
KDE neon does not do this kind of tracking -- although it was originally
requested by KDE neon, no server roll-out was done once the
privacy policy was thought out.
2020-06-17 11:33:48 +02:00
Adriaan de Groot
4d6a5d0cb5 [tracking] Use KMacroExpander instead of homebrew for install-URL 2020-06-17 11:33:47 +02:00
Adriaan de Groot
c797a30a72 [tracking] Bold more relevant parts of level-descriptions 2020-06-17 11:33:47 +02:00
Adriaan de Groot
dda4ab0b2e [tracking] Improve naming
- give the on-some-checkbox-state-changed slots better names
- while here, refactor is-any-actual-tracking-option-checked
- improve other debug messages, to be a whole sentence
2020-06-17 11:33:30 +02:00
Gaël PORTAY
e68723f1c7 [libcalamares] Handle integers prefixed with 0 or 0x
- QString to-integer members detect if an integer string begins with
  "0x" (base 16) or "0", base 8; but QVariant members do not.
- QString: the C language convention is used is base is set to 0.
- Convert to QString and use its member toLongLong() and set base to 0
  to detect integer strings begin with a prefix.
2020-06-16 14:14:47 -04:00
Adriaan de Groot
635f53a804 CI: add a BUILD_SCHEMA_TESTING
- ON by default, so if tests are built and the script works,
  those tests will run as well.
- Check that the script works by invoking it once.
2020-06-16 17:36:59 +02:00
Adriaan de Groot
e3b8570d61 Merge remote-tracking branch 'origin/master' into calamares
Pick up some older MRs that apply to the older branch.
2020-06-16 16:45:49 +02:00
Adriaan de Groot
bfefbd117d
Merge pull request #1435 from gportay/partition-attributes
Partition Attributes
2020-06-16 16:42:30 +02:00
Adriaan de Groot
91f87ba838
Merge pull request #1409 from gportay/partition-uuid
Partition UUID
2020-06-16 16:42:24 +02:00
Adriaan de Groot
0cd8940363 [bootloader] Fix up schema 2020-06-16 16:16:07 +02:00
Adriaan de Groot
066acdbbc6 Merge branch 'yaml-schemata' into calamares 2020-06-16 16:07:57 +02:00
Adriaan de Groot
4a07bd4ae3 CI: import all the rest of the YAML schema
- These have **not** been fixed for validation, so the schema's themselves
  will fail to load. This is a consequence of variations in JSON-Schema
  representations through various drafts. Fixing the schemata is
  fairly straightforward.

This gives us 19 new tests, all of which fail.
2020-06-16 16:06:56 +02:00
Adriaan de Groot
df183d4026 [welcome] Add schema for welcome config
- Note that this is missing *languageIcon* so if that gets uncommented,
  it will fail validation.
- While here decide that  should be
  right up front in object (mappings) declaration.
2020-06-16 16:03:28 +02:00
Adriaan de Groot
b48c2745c1 CI: apply schema-validation to the example config files
- Any config file with a schema gets a test (validate-<module>)
  to test the file.
2020-06-16 14:38:13 +02:00
Adriaan de Groot
62e7128ff6 CMake: document WITH_ and BUILD_ a little more
- also mark TODO:3.3: for incompatible / surprising changes for 3.3
2020-06-16 13:54:13 +02:00
Adriaan de Groot
deec0b862f [finished] Add schema for config
- Original schema from artoo@manjaro.org, modified for current JSON-Schema use
2020-06-16 13:04:34 +02:00
Gaël PORTAY
c1b5426c66 [partition] Add support for partition attributes 2020-06-15 22:05:10 -04:00
Adriaan de Groot
55abe0247b [libcalamares] Fix tests on 32-bit platforms
- The size of a 2GiB partition (in bytes) is larger than the largest
  32-bit signed integer; we hit signed overflow while calculating
  2^11 * 2^10 * 2^10 and the test fails.
- Switch the whole table of sizes to qint64 instead.
- For testing purposes only, introduce a _qi suffix for qint64.

FIXES #1430
2020-06-14 23:42:25 +02:00
Calamares CI
ba89b9f7f2 i18n: [dummypythonqt] Automatic merge of Transifex translations 2020-06-12 14:36:48 +02:00
Pablo Ovelleiro Corral
f034b55da2
[packages] add xbps package manager 2020-06-11 11:51:15 +02:00
Adriaan de Groot
dc0ed24f1a [libcalamaresui] Install libcalamaresui headers
- All the headers go to relevant subdirs, but we don't keep
  libcalamares and libcalamaresui apart.
- While here, remove unused variable from libcalamares CMake
2020-06-10 16:43:34 +02:00
Adriaan de Groot
23c93904df CMake: put CMake-level ABI settings in CalamaresConfig
- drop the BuildTreeSettings, it was not usefully used
- make CalamaresConfig repeat the WITH_* settings, so that
  consumers can know the ABI offered
2020-06-10 11:51:53 +02:00
Adriaan de Groot
6c272bc8be [libcalamares] Link yamlcpp privately
- link the library privately -- the public API uses QVariantMap
- install FindYAMLCPP just in case
- add yamlcpp explicitly in the few places that really need it
  (e.g. netinstall testing the parsing of netinstall.yaml)
2020-06-10 02:27:57 +02:00
Adriaan de Groot
3c770b79b3 CMake: install all the libcalamares subdir-headers 2020-06-10 02:10:21 +02:00
Adriaan de Groot
14ff681106 CMake: give libcalamares IMPORTED includes
- Set the interface-include path for libcalamares, so that
  linking to it (as one would from an external repo) pulls in
  all the includes.
2020-06-10 02:01:59 +02:00
Adriaan de Groot
dc16afac4a CMake: massage IMPORTED targets and module path
- Add the Calamares CMake-modules to the search path automatically
- Export to CalamaresTargets.cmake and use namespace Calamares::
- Document imported targets
- Find Qt, because the translations machinery will need macros from that
- The installed lib links to IMPORTED libraries from KF5, so we need
  to find them (again) as well.
2020-06-10 01:37:54 +02:00
Adriaan de Groot
38b4f45b92 [locale] Repair timezone graphics -- west-Africa and Pacific 2020-06-09 14:54:19 +02:00
Adriaan de Groot
d511cc2f7a [locale] Norfolk Island gave up +11.5 in 2015 2020-06-09 14:21:11 +02:00
demmm
a617dba85e [welcomeq]re-add the donate button example to welcomeq.conf 2020-06-09 13:34:16 +02:00
Adriaan de Groot
8c4b6e4804 Merge branch 'master' into issue-1287 2020-06-09 13:25:01 +02:00
Adriaan de Groot
35fb8dcc27 [mount] Warn if chcon is missing, rather than fail
FIXES #1429
2020-06-09 13:24:12 +02:00
Adriaan de Groot
d22178ca5e [welcomeq] Show filtered list of requirements
- only the unsatisfied ones are shown; no need to filter and
  fiddle about in QML
2020-06-09 12:13:44 +02:00
Adriaan de Groot
f68d0f0628 [welcome] Add a filtered model for unsatisfied requirements 2020-06-09 12:05:40 +02:00
Adriaan de Groot
d1165bea56 [welcomeq] Use just one component to display requirements
- Do all the status indication in one component, but vary
  the top-level message based on whether the mandatory
  requirements are satisfied.
- Vary color and icon based on each requirement's *mandatory* setting.
2020-06-08 10:22:03 -04:00
Adriaan de Groot
5b1e5a9e03 [welcome] Some API docs 2020-06-08 09:45:19 -04:00
Adriaan de Groot
abe558f127 [libcalamares] Be more verbose when the requirements check is done 2020-06-08 08:33:48 -04:00
Adriaan de Groot
f35fab24ac [welcome] Remove name-tangle
- use useful, not-single-letter, variable names
- don't rename inconsistently in the lambda capture
2020-06-08 08:33:48 -04:00
Adriaan de Groot
8255bc3fc1 [welcome] Sanitize example configurations
- remove all duplicated documentation from ; it's the same as
  `welcome.conf` in all respects except for *qmlSearch*.
2020-06-08 08:33:48 -04:00
demmm
73eb718c08 adding needed geoip section to welcomeq.conf
see https://github.com/calamares/calamares/issues/1427#issuecomment-640531710
2020-06-08 13:25:47 +02:00
Adriaan de Groot
5e79176f47
Merge pull request #1422 from andy1247008998/patch-2
remove unnecessary period mark since it's a title
2020-06-06 17:22:13 +02:00
Adriaan de Groot
0e7c984854 [partition] Add missing includes for Qt 5.15 compatibility 2020-06-03 16:43:31 +02:00
Adriaan de Groot
1c598d769b [partition] Apply coding style (to just this one file) 2020-06-03 16:42:42 +02:00
Adriaan de Groot
25d36a8943 [netinstall] Improve documentation of translation framework
- Not country-code, but language-code

FIXES #1411
2020-06-03 16:02:43 +02:00
Adriaan de Groot
881187de8d
Merge pull request #1423 from Cal8031/t1
Update and add SPDX identifiers
2020-06-03 15:32:07 +02:00
Adriaan de Groot
67d7c700fd [locale] Update documentation to mention *fixed* style 2020-06-03 15:11:19 +02:00
Adriaan de Groot
ac2a9c569e [libcalamares] Allow "fixed" as a GeoIP lookup type 2020-06-03 15:03:19 +02:00
Adriaan de Groot
672f506e72 [libcalamares] Add unittests for GeoIPFixed
- Ignores the data, just returns selector
2020-06-03 14:55:01 +02:00
Adriaan de Groot
d9effb4ba7 [libcalamares] Add GeoIPFixed to the test-tool for GeoIP lookup
- Allow format "fixed"
- Allow specifying the selector in the test-tool
2020-06-03 14:34:45 +02:00
Adriaan de Groot
d37ec35592 [libcalamares] GeoIP that always returns a fixed value
- Value is configurable (through the "selector" which is passed
  to GeoIP lookups). This is convenient for tests so you can "fix"
  the value that the lookup will return.
2020-06-03 14:26:14 +02:00
Callum Farmer
0c4dc71d5c [libcalamares] Update SPDX identifiers.
Update CppJob.h

Update CalamaresConfig.h.in

Update DllMacro.h

Update GlobalStorage.cpp

Update GlobalStorage.h

Update Job.cpp

Update Job.h

Update JobExample.cpp

Update JobExample.h

Update JobQueue.cpp

Update CalamaresConfig.h.in

Update CppJob.cpp

Update CppJob.h

Update DllMacro.h

Update GlobalStorage.cpp

Update GlobalStorage.h

Update Job.cpp

Update Job.h

Update JobExample.cpp

Update JobExample.h

Update JobQueue.h

Update ProcessJob.cpp

Update ProcessJob.h

Update PythonHelper.cpp

Update PythonJob.cpp

Update PythonJob.h

Update PythonHelper.h

Update PythonJobApi.cpp

Update PythonJobApi.h

Update Settings.cpp

Update Settings.h

Update GeoIPJSON.cpp

Update GeoIPJSON.h

Update GeoIPTests.cpp

Update GeoIPTests.h

Update GeoIPXML.cpp

Update GeoIPXML.h

Update Handler.cpp

Update Handler.h

Update Interface.cpp

Update Interface.h

Update test_geoip.cpp

Update CountryData_p.cpp

Update Label.cpp

Update Label.h

Update LabelModel.cpp

Update LabelModel.h

Update CountryData_p.cpp

Update CountryData_p.cpp

Update Lookup.cpp

Update Lookup.h

Update Tests.cpp

Update Tests.h

Update TimeZone.cpp

Update TimeZone.h

Update TranslatableConfiguration.cpp

Update TranslatableConfiguration.h

Update ZoneData_p.cxxtr

Update cldr-extractor.py

Update zone-extractor.py

Update Actions.h

Update Actions.h

Update Descriptor.h

Update InstanceKey.cpp

Update Module.cpp

Update Module.h

Update Requirement.cpp

Update RequirementsChecker.h

Update RequirementsModel.cpp

Update RequirementsModel.h

Update Tests.cpp

Update Manager.cpp

Update Manager.h

Update Tests.cpp

Update FileSystem.cpp

Update FileSystem.h

Update KPMManager.cpp

Update KPMManager.h

Update KPMTests.cpp

Update FileSystem.cpp

Update FileSystem.cpp

Update FileSystem.h

Update KPMManager.cpp

Update KPMManager.h

Update Mount.cpp

Update Mount.h

Update PartitionIterator.cpp

Update PartitionIterator.h

Update PartitionIterator.h

Update PartitionQuery.cpp

Update PartitionQuery.h

Update PartitionSize.cpp

Update PartitionSize.h

Update Sync.cpp

Update Sync.h

Update Tests.cpp

Update Tests.h

Update BoostPython.h

Update CalamaresUtilsSystem.cpp

Update CalamaresUtilsSystem.h

Update CommandList.cpp

Update CommandList.h

Update Dirs.cpp

Update Dirs.h

Update Entropy.cpp

Update Entropy.h

Update Entropy.cpp

Update Logger.cpp

Update Logger.h

Update NamedEnum.h

Update NamedSuffix.h

Update PluginFactory.cpp

Update PluginFactory.h

Update RAII.h

Update RAII.h

Update Retranslator.cpp

Update Retranslator.h

Update String.cpp

Update String.h

Update TestPaths.cpp

Update Tests.cpp

Update Tests.h

Update UMask.cpp

Update UMask.h

Update Units.h

Update Variant.cpp

Update Variant.h

Update Yaml.cpp

Update Yaml.h

Update moc-warnings.h
2020-06-03 12:52:53 +01:00
Adriaan de Groot
24653c1cc6 [locale] C&P code with repeated bugs from QML branches 2020-06-03 13:42:15 +02:00
Callum Farmer
210ce97bf6 [libcalamaresui] Update SPDX identifiers.
Update ImageRegistry.cpp
2020-06-03 12:28:58 +01:00
Callum Farmer
741b680513 [qml] Update SPDX identifiers.
Update Presentation.qml
2020-06-03 12:28:58 +01:00
Adriaan de Groot
c6d147bde6 [keyboard] Give Canadian English the US keyboard layout, eh 2020-06-03 01:38:11 -07:00
AI Lion
c6174b027c
remove unnecessary period mark since it's a title 2020-05-31 00:31:05 +08:00
Adriaan de Groot
60e12174fd [tracking] Switch out Radio for CheckBox
- The Radio's are replaced by CheckBoxes and some logic, so
  that different tracking styles can be enabled independently.
  None of the settings end up in the Config yet, though.
2020-05-25 10:32:56 -04:00
Adriaan de Groot
fab3ff2c41 [tracking] Implement KUserFeedback configuration
- write config files to turn on KUserFeedback (for known areas)
- TODO: get the right home directory to write in
2020-05-25 09:56:32 -04:00
Adriaan de Groot
bed884c971 [tracking] Move setup of initial-tracking states to Config
- the *default* level from the config, can be handled inside
  the Config object as well; remove TrackingPage method that
  does the same.
2020-05-25 09:22:51 -04:00
Adriaan de Groot
1d143d95a0 [tracking] Setup UI in the .ui file 2020-05-25 08:30:37 -04:00
Adriaan de Groot
935f443a4d [tracking] Simplify policy display
- Don't need an own slot for this, just connect to signals from Config
  and the label, neither of which need any state.
2020-05-25 05:24:20 -04:00
Adriaan de Groot
689a65e107
Merge pull request #1414 from gportay/remove-unused-locals
[partition] Remove unused locals
2020-05-25 10:43:56 +02:00
Calamares CI
bc9544bf14 i18n: [dummypythonqt] Automatic merge of Transifex translations 2020-05-25 03:40:18 -04:00
Gaël PORTAY
629bb2e2f6 [partition] Remove unused locals
- Unused since commit 0d284759f5
2020-05-20 11:06:39 -04:00
Adriaan de Groot
69c2d089f2
Merge pull request #1413 from gportay/rawfs-fix-crash-if-bogus-is-unset
[rawfs] Fix crash if bogus is unset
2020-05-20 14:50:57 +02:00
Adriaan de Groot
738a6a9019 [calamares] Make module-tester configurable in slideshow mode
- Uses global storage to steer the jobs that are created, in case
  the slideshow needs to be tweaked by percentages or whatever.
- While here, add some code docs and apply coding style.
2020-05-20 12:12:11 +02:00
Adriaan de Groot
d51a545fcf [calamares] onInitComplete() already activates first step
- In the test application, there is only one viewstep, so it is
  already activated; avoid double-activation.
2020-05-20 11:44:27 +02:00
Adriaan de Groot
39b5dd4e6e [libcalamaresui] Avoid deadlock
- When loading QML V2, both loadQmlV2Complete() and changeSlideShowState()
  lock the same mutex, introduced in e7f4479df1.
- Explicitly unlock when loading is done and we need to change the state
  immediately.
2020-05-20 11:36:44 +02:00
Adriaan de Groot
376cb3c042 [calamares] Give the fake ExecutionViewModule a name
- This is needed for addModule() so the module manager knows there
  is a module by the name x@x.
- Tell the ExecutionViewStep to run jobs from x@x.
2020-05-20 11:03:21 +02:00
Adriaan de Groot
28500de2f8 [calamares] Register modules in test-loader
- When a viewmodule is loaded, register it with the module manager
  (especially relevant for the slideshow module).
2020-05-20 10:54:48 +02:00
Adriaan de Groot
c7d0df223a [libcalamaresui] Expose registering-a-single-module
- For testing purposes, it's useful to load a module externally
  and then register it to the ModuleManager (this hands off ownership).
- Refactor overall module loading to use the exposed single-module method.
2020-05-20 10:36:42 +02:00
Adriaan de Groot
1fec95ac48 [libcalamares] Move QML search-path initialization
- QML files need to be searched in specific places; this was initialized
  by Calamares, but not for the text application. Move initialization
  into the library.
2020-05-19 21:25:05 +02:00
Adriaan de Groot
6dffec2730 [libcalamaresui] Move QML-related directory functions to Qml.cpp 2020-05-19 21:02:06 +02:00
Adriaan de Groot
4491fb8c27 [libcalamaresui] Name QML-wrangling functions consistently
- Use "Qml" in camel-cased names
2020-05-19 21:00:05 +02:00
Gaël PORTAY
40dd34c7d0 [rawfs] Fix crash if bogus is unset
- fixes:
	12:44:25 [6]: Python Error:
	 <class 'TypeError'>
	 'builtin_function_or_method' object is not subscriptable
	 File "/usr/lib/calamares/modules/rawfs/main.py", line 188, in run
	    item.copy(filesystems.index(item), len(filesystems))

	  File "/usr/lib/calamares/modules/rawfs/main.py", line 99, in copy
	    if libcalamares.job.configuration["bogus"]:
2020-05-19 12:58:36 -04:00
Adriaan de Groot
0947da3d41 [libcalamaresui] Report on QML errors
- If the slideshow fails to load entirely, say so
2020-05-19 17:08:49 +02:00
Adriaan de Groot
ae861f7ec0 [calamares] Give slideshow-test some jobs to run 2020-05-19 16:44:56 +02:00
Adriaan de Groot
bd73981c5f [calamares] Add -s option to module-tester
- The -s will run the slideshow with a bogus job-queue, allowing easier
  testing of the slideshow. This is more convenient than having a Calamares
  with an empty show and a bogus exec section.
- The -s option for running the slideshow / execution phase of
  Calamares needs to create a bogus Module for the ExecutionViewStep.
2020-05-19 16:44:44 +02:00
Adriaan de Groot
ec2fc5a763 [libcalamaresui] Better default font size
- Previously, unless setDefaultFontSize() was called explicitly,
  the default size would be 0, leading to unexpected and weird
  displays (and a warning on stderr).
- If setDefaultFontSize() is not called, get a sensible size instead
  (like defaultFontHeight() was already trying to do).
2020-05-19 16:44:44 +02:00
Adriaan de Groot
8db8752a41 [libcalamaresui] Remove spurious Q_FUNC_INFO 2020-05-19 16:44:44 +02:00
Adriaan de Groot
3e51fe4651 [partition] Remove spurious Q_FUNC_INFO from logging
- The Q_FUNC_INFO was integrated into regular logging with commit
  5248a37eb3
2020-05-19 16:44:44 +02:00
Adriaan de Groot
8465dcbc19 [calamares] Don't crash in test-loader
- When loading *view* modules, we always need a QApplication for GUI
  bits, because the widget for a module is created is very early.
- If it's a view module, replace the application object with one
  that supports GUIs; without the --ui flag, though, it will just
  run the jobs.
2020-05-19 11:39:53 +02:00
Adriaan de Groot
a7c4e2d203 [tracking] Remove widget-setting stuff not needed with Config 2020-05-19 11:12:16 +02:00
Adriaan de Groot
dfd6bb6a8b [tracking] Massage the displayed explanation 2020-05-19 11:05:32 +02:00
Adriaan de Groot
49e66b11a2 [tracking] Refactor creation of jobs
- Let the jobs handle their own styling and handling, simplify
  the ViewStep code.
2020-05-19 10:42:25 +02:00
Adriaan de Groot
309b2f872d [tracking] Drop configuration fields from ViewStep
- All the configuration lives in the Config object (or the
  tracking objects that it exposes).
- Get data from the config object for the jobs; TODO: give the
  jobs a less-clunky interface.

The UI isn't hooked up to the Config object yet, though.
2020-05-18 20:18:34 +02:00
Adriaan de Groot
5763799ba9 [tracking] Load all the tracking bits into the configuration 2020-05-18 17:48:51 +02:00
Adriaan de Groot
528b98c1c4 [tracking] Configurations for machine and user tracking 2020-05-18 17:42:51 +02:00
Adriaan de Groot
f97a0756a9 [tracking] Introduce configuration for install-tracking
- subclass of TrackingStyleConfig holds the URL that is pinged with
  information when the installation is done.
2020-05-18 17:09:01 +02:00
Adriaan de Groot
d9fb9c19a8 [tracking] Refactor the information for one tracking type
- a single tracking type can be enabled for configuration in the
  config file; each must have a policy URL. Class TrackingStyleConfig
  is a base class for that kind of configuration.
2020-05-18 16:41:25 +02:00
Adriaan de Groot
68bb066755 [partition] Consolidate SwapChoice handling
- pickOne() may be useful, given a set of swap choices; expose it
- move type definitions to PartitionActions, where some of them
  come from.
2020-05-18 14:12:50 +02:00
Adriaan de Groot
4ae398c18d [partition] Move swap choices into config 2020-05-18 14:03:31 +02:00
Adriaan de Groot
a381d6794f [partition] Migrate required-storage setting to Config object
- Create and use the config object in the view step
- Add setConfigurationMap() to Config
2020-05-18 13:07:12 +02:00
Adriaan de Groot
c7857b7749 [partition] Coding style on tests 2020-05-18 12:23:13 +02:00
Adriaan de Groot
b33e54abb9 [partition] Stub of a Config object
- Even though this isn't a QML'able module, work towards
  a decoupled Config object anyway
- Not actually used yet.
2020-05-18 12:23:13 +02:00
Adriaan de Groot
ca59c8419c [partition] Goal of this branch: configurable default action 2020-05-18 12:23:13 +02:00
Adriaan de Groot
6d07527123 [partition] Comment-out unsupported swap options
- I notice they get copied into distro configurations a lot,
   leading to warnings in the logs
2020-05-18 12:23:13 +02:00
Adriaan de Groot
72857b75d0 [partition] Chase moving PrettyRadioButton to libcalamaresui
- Update includes
- Use exposed API instead of accessing internals of the button
2020-05-18 11:26:22 +02:00
Adriaan de Groot
17231ae41f [libcalamaresui] Sanitize API of PrettyRadioButton
- Don't expose internals
- Drop unnecessary virtual
- Offer new API to do the things, for which internals were exposed
2020-05-18 11:26:22 +02:00
Adriaan de Groot
3b7c3c4f5d [libcalamaresui] Coding style
- Apply coding style
- Place the widget classes in namespace Calamares
- Export symbols for widgets
2020-05-18 11:26:12 +02:00
Adriaan de Groot
c4951d5090 [libcalamaresui] Move PrettyRadioButton from partition 2020-05-18 10:38:45 +02:00
Adriaan de Groot
8d4c7767d4 [libcalamaresui] Document ClickableLabel 2020-05-18 10:32:25 +02:00
Adriaan de Groot
4c0a212b68 [partition] Warnings-- (Qt 5.14)
QVariant::fromValue doesn't have *since* documentation, so I expect it to be 5.6-and-later.
2020-05-18 10:12:12 +02:00
Adriaan de Groot
27d4fa675b [locale] remove unneeded this-> 2020-05-18 10:03:34 +02:00
demmm
e2c99eeb5e [welcomeq] adjust spacing
make sure the listviews fit in the default window size without overlapping
the language bar
2020-05-17 12:37:01 +02:00
Gaël PORTAY
3d2b9053b0 [partition] Add the GPT label and UUID to global storage 2020-05-15 16:12:19 -04:00
Gaël PORTAY
da6f728cd4 [partition] Add support for partition uuid 2020-05-15 16:12:19 -04:00
Gaël PORTAY
33f6bd5699 [bootloader] Remove unused variable root_mount_point
- root_mount_point was used initially for logging c1a139995 (adding new
  bootloader job options are to use grub for BIOS, gummiboot for efi set
  extra mountpoint when efi is found)
- the trace was removed since 533031b3c ([bootloader] print() does not
  log)
2020-05-15 12:05:26 -04:00
Adriaan de Groot
c3d8112187 CMake: allow fine-tuning tests
- The Python configuration tests sometimes need extra setup, so
  do that through a CMakeTests.txt file in the test directory.
- Patch up existing tests:
  - grubcfg needs /tmp/calamares/etc/default to exist
  - rawfs won't work on FreeBSD because of differences in /proc
2020-05-15 14:38:45 +02:00
Adriaan de Groot
fe069bdb23 [fstab] Add some discussion about *discard* option
- drop the *discard* from filesystems-on-SSD in the standard example
  configuration.
- keep the table **with** *discard* around for referece and explanation.

Remember that the example configurations are intended as **examples**,
to document available settings, and do not reflect a sensible
production configuration.

FIXES #1395
2020-05-15 12:26:41 +02:00
demmm
153d605bb6 [welcomeq] use negatedText for better text on missing 2020-05-14 23:11:05 +02:00
demmm
a85ff30ad4 [welcomeq] smaller font size
correct color order Requirements.qml
2020-05-14 20:01:50 +02:00
demmm
fed89badd4 [welcomeq] connected to RequirementsModel
clean up obsolete lines in welcomeq.qml
add requirement section from welcome.conf to welcomeq.conf
data shows correctly in Recommended.qml, fails to show any in Requirements.qml if run without admin rights
2020-05-14 19:00:02 +02:00
Adriaan de Groot
022045ae05 [libcalamaresui] Refactor loading slideshow
- split into a separate method
- when QML is disabled, warn about QML settings
2020-05-14 17:04:35 +02:00
Adriaan de Groot
c83e5c57a4 [libcalamaresui] When QML is off, there is no Qml panel flavor 2020-05-14 16:57:14 +02:00
Adriaan de Groot
736f99768a [libcalamaresui] Don't build QML bits if they're not wanted
When WITH_QML is off (by explicit choice)

- don't build the QmlViewStep
- don't build the QML slideshow
2020-05-14 16:31:59 +02:00
Adriaan de Groot
47979555fe CMake: optionally disable QML
This makes it possible to remove QML from Calamares, possibly yielding
a smaller, lighter installer; it takes with it the nice slideshow,
modern configurable navigation and the QML UIs built for various modules.

By default, WITH_QML is on and the "normal" feature set is retained.

- look for Qml modules only when WITH_QML is on (the default)
- look for Network, since that's pulled in only implicitly
- disable the QML Calamares models (modules/*q) if no QML is
  enabled; longer-term plan is to merge the **pages** back to
  the "upstream" modules, and have things be run-time switchable,
  but that's not here yet. Also disable the notesqml module when
  QML is off.
2020-05-14 16:31:39 +02:00
Adriaan de Groot
0235245631 [libcalamares] #include-styling 2020-05-14 16:27:46 +02:00
Adriaan de Groot
2b0b873159 [welcome] Remove spurious logging 2020-05-14 15:23:45 +02:00
Adriaan de Groot
cdb99ad887 CMake: shuffle WITH_* settings for calamares executable
- reminder to make all the ABI-relevant WITH_* settings available as #defines
- move the compilation of KDSAG to the calamares executable, not the library
- when DBus activation is on, drop all of kdsingleapplicationguard
2020-05-14 12:21:33 +02:00
Adriaan de Groot
13ded5f005 [libcalamares] #include-styling 2020-05-14 12:21:33 +02:00
Adriaan de Groot
c90ebb5d82 [libcalamares] Apply Qt defines consistently
- Move some definitions that influence Qt compilation
  up to the top-level.
2020-05-14 01:05:37 +02:00
Adriaan de Groot
c3c4b79147 Merge branch 'fix-slideshow' 2020-05-13 21:20:25 +02:00
Adriaan de Groot
6248c6d032 [branding] Document slideshow options 2020-05-13 17:48:22 +02:00
Adriaan de Groot
20c1ae246d [libcalamaresui] Center slideshow pictures 2020-05-13 17:28:04 +02:00
Adriaan de Groot
5aafa0f4c4 [libcalamaresui] Expose slideshow image names for API -1
- Branding shows the slide pathnames or the slide QML, depending
  on selected API (which depends on the config-file).
- Use one slideshow or the other.
2020-05-13 17:19:46 +02:00
Adriaan de Groot
df74604755 [libcalamaresui] Implement non-QML Slideshow 2020-05-13 16:35:09 +02:00
Adriaan de Groot
e7f4479df1 [libcalamaresui] Move all the slideshow code out of ExecutionViewStep
- The SlideshowQML now handles all the bits that were in
  the viewstep.
- The viewstep uses the abstract Slideshow API.
2020-05-13 14:01:51 +02:00
Adriaan de Groot
3f9878afc1 [welcomeq] Use the model properties to show recommendations and requirements 2020-05-12 17:07:50 +02:00
Adriaan de Groot
1a1fde1885 [welcome] [welcomeq] Chase API change for requirements progress 2020-05-12 17:07:15 +02:00
Adriaan de Groot
5c8a99c77b [libcalamares] After running the checker, re-compute satisfaction
- If nothing is added to the model (e.g. it is empty) then the satisfaction
  still needs to be re-calculated (to true).
2020-05-12 17:06:16 +02:00
Adriaan de Groot
f856c07b04 [libcalamares] Move progress signal to RequirementsModel
- It is the requirements model (checking) that reports progress, and now
  the model is accessible (ask for it with requirementsModel(), make the
  messages come from there.
2020-05-12 16:09:13 +02:00
Adriaan de Groot
90f8e748ef [welcome] Improve debugging of general requirements
- distinguish 'this has not been checked' from 'checked and failed'
2020-05-12 15:29:16 +02:00
Adriaan de Groot
9e0aa76375 [welcome] Order member pointers
- Create config before the page
- .. and in doing so, create the page in the initializer list instead
2020-05-12 14:54:18 +02:00
Adriaan de Groot
e930c74e85 [welcomeq] Coding style
- Apply coding style tool
- Remove commented-out cruft
- Drop TODO's that don't apply anymore
2020-05-12 14:47:31 +02:00
Adriaan de Groot
ed71b2fbf5 [tracking] Only accept valid policy URLs 2020-05-12 14:42:04 +02:00
Adriaan de Groot
044f5ce2b5 [tracking] Use the config object
- right now only holds the global policy URL (as a string)
2020-05-12 14:39:42 +02:00
Adriaan de Groot
a69d47c115 [tracking] Add a Config object 2020-05-12 14:24:33 +02:00
Adriaan de Groot
8ed8b5dfa3 [tracking] Reduce compiler warnings
- Newly added enum value NoTracking needs explicit handling
  in some switch()es, although it will never be passed in.
2020-05-12 12:11:11 +02:00
Adriaan de Groot
fd2853b2cf [tracking] Switch setTrackingLevel() to use enum 2020-05-12 11:41:02 +02:00
Adriaan de Groot
6d744374db [tracking] Use enum-conveniences 2020-05-12 11:24:16 +02:00
Adriaan de Groot
c0fa212fa9 [welcome] Be slightly more verbose in reporting missed req's 2020-05-11 20:45:47 +02:00
Adriaan de Groot
09b73dce06 [libcalamares] Implement the HasDetails role 2020-05-11 17:10:03 +02:00
Adriaan de Groot
7d00f7e0dc [welcome] Explain in the debug log what failed 2020-05-11 16:30:26 +02:00
Adriaan de Groot
fabe5ec439 [welcome] Config should not have its own RequirementsModel
- Use the one from ModuleManager
2020-05-11 16:30:26 +02:00
Adriaan de Groot
153757933a [libcalamares] Stop emitting signals with RequirementsList
- The architecture of letting someone build up a list of requirements
  from data emitted by the ModuleManager is broken: if it gets loaded
  later, it will miss data; passing around complicated objects is
  no fun anyway. Get rid of it, on the way to "ModuleManager has
  its own model of requirements".
2020-05-11 16:30:26 +02:00
Adriaan de Groot
9b0ea3f63d [libcalamares] Remove runaround through free function
- Call into a method directly to do the work of adding
  results from a single module.
2020-05-11 16:30:26 +02:00
Adriaan de Groot
b7c60cec66 [libcalamares] Re-vamp RequirementsChecker
- Give the ModuleManager a RequirementsModel -- that is the source
  of truth about the module-requirements of the modules managed
  by that particular ModuleManager.
- Let the RequirementsChecker operate on a given RequirementsModel.
2020-05-11 16:30:26 +02:00
Adriaan de Groot
039065ee4a [libcalamares] Minor debugging support in RequirementsModel 2020-05-11 16:30:26 +02:00
Adriaan de Groot
8306de731a [welcome] Setting requirements from own reqs is totally wrong
- The requirements are collected by ModuleManager, checked
  by an internal RequirementsChecker and changes to the
  requirements state are all signalled from ModuleManager.

By connecting the requirements in the welcome modules' Config
only to their own configs -- and immediately checking them,
which is bad on its own -- we end up with a disconnect between
what the ModuleManager says about requirements, and what
the welcome modules report on.
2020-05-11 16:30:26 +02:00
Adriaan de Groot
d87d714b8d [libcalamares] Make the requirements model more adaptable
- Either replace the list of results, or add to them
- Lock model while adding rows
2020-05-11 16:30:26 +02:00
Adriaan de Groot
0f5db0ba5e [libcalamares] Remove direct access to model internals
- This was just for the ResultsListWidget, which can also use
  normal role-based model access.
2020-05-11 16:30:26 +02:00
Adriaan de Groot
616fbb08f3 [libcalamares] Improve docs of RequirementsModel 2020-05-11 11:19:08 +02:00
demmm
32ae0a7bf6 set a bogus username in Map.qml 2020-05-10 17:59:52 +02:00
Adriaan de Groot
df1f9f1b56 [libcalamaresui] Prep-work for image-slideshow
Doesn't compile (but I need to get it off this machine)

- Prepare to implement a picture-based slideshow alongside QML
- Split QML loading into the slideshow component

This might be good prep-work for moving QML loading out of the QMLViewStep as well.
2020-05-09 23:07:56 +02:00
demmm
34e7b06cc9 [localeq] move to QtLocation map based module
fully implemented:
* loading of a live map, ESRI based, zooming & dragging possible
* IP address is translated to map coordinates
* loading of the map centers to the obtained coordinates, with a marker set
* coordinates are translated to a timezone, label visible at bottom of the map
* mouse movement will show changing coordinates
* clicking on new location will center map there, marker moved too, timezone label adjusted
* hasInternet switch set to either load Map.qml or Offline.qml

not done:
* get hasInternet status
* fill the fine-tune 181n.qml with proper locale & language data
* connect the obtained timezone to globalstorage

comments are left in the various files for what needs attention/changes
2020-05-09 14:01:21 +02:00
Adriaan de Groot
36a1d60c0e Merge branch 'rawfs-compat'
Improve testing framework while adding tests to rawfs to double-
check that the conversion (for Python 3.3 compatibility) of
capture_output is correct.
2020-05-08 22:09:20 +02:00
Adriaan de Groot
1ae38c8ebc CMake: add tests when there are test-configs
- If a module has tests/#.global or tests/#.job, these are used
  as arguments to a test-run of loadmodule (which reads them
  and runs the module with that configuration).
- This makes the old python-loading test and test-runner entirely
  obsolete, so remove them too.
2020-05-08 21:53:39 +02:00
Adriaan de Groot
91f88cebf0 [calamares] Move testing application out of intermediate dir
- src/modules doesn't seem like a really good place for stray sources
  for a testing application. Move it.
2020-05-08 21:20:45 +02:00
Adriaan de Groot
74fb88f9ac [rawfs] Minor testing support
- set *bogus* to do no harm
- add some test configurations
2020-05-08 21:07:17 +02:00
Adriaan de Groot
dc87c11ac4 [rawfs] Slightly more debugging 2020-05-08 20:58:17 +02:00
Adriaan de Groot
7ff97bbb94
Merge pull request #1398 from demmm/master
start of adding requirements to welcomeq
2020-05-08 20:44:31 +02:00
Adriaan de Groot
55fb7565d4
Merge pull request #1396 from FLVAL/master
Add files via upload
2020-05-08 17:19:15 +02:00
Adriaan de Groot
175082e3ad [rawfs] Make compatible with Python 3.3 2020-05-08 17:09:37 +02:00
Adriaan de Groot
4e3f9fb6b3 Merge branch 'simplify-unique'
- Use DBus service / activation to ensure uniqueness of Calamares
  instances, and **don't** require debug-instances to be unique.
2020-05-08 16:56:05 +02:00
Adriaan de Groot
b7214b8ede [calamares] Switch over to DBus unique activation
- By default, try to use DBus service to keep Calamares unique
- The older implementation via KDSingleApplicationGuard is still
  available, just not used by default.
2020-05-08 15:22:15 +02:00
Adriaan de Groot
5af2a87709 [calamares] Remove redundant KF5/ in includes
- We link to these frameworks, which gives us a KF5 include path already
2020-05-08 15:21:31 +02:00
Adriaan de Groot
15cbdf2a18 [calamares] Allow multiple instances if -d is given
- Calamares doesn't like to run multiple instances, since they would
  interfere with each other (stealing disks from each other, for instance).
  The single-application code tries to prevent that.
- For -d runs, for developers where presumably they know what they are
  doing, the single-application restriction is annoying: especially if
  you need two instances at once for some kind of visual comparison.

Drop the single-app requirement if -d is given.
2020-05-08 15:21:25 +02:00
demmm
1ece171597 start of adding requirements to welcomeq
just QML, no real connections yet
hardcoded to not visible
not clear if requirementsModel is available to welcomeq
2020-05-08 13:37:50 +02:00
Adriaan de Groot
60aecaf0b8 [calamares] Fix height of the navigation bar in QML
- If the QML navigation panel sets a height, use that
- If it doesn't, use 48px (which *may* make sense, but like many
  screen dimensions in Calamares doesn't take HiDPI into account)
- Give the demo QML an explicit height of 48
2020-05-08 10:20:59 +02:00
Adriaan de Groot
bb2b5fd982 [libcalamaresui] No reason for bail() to be a method 2020-05-07 20:41:40 +02:00
Adriaan de Groot
526716556c [libcalamaresui] Store the slideshow-from-images data
- This code has existed for a long time but never stored anything
  to the Branding object, and the most literal slideshow (just some
  images) was not implemented.
2020-05-07 19:02:38 +02:00
FLVAL
e5f2aba8e2
Add files via upload
Region "Africa" zones # 52 
14:25:19 [6]:  ..  Zone "Asmara" QPoint(445,183) 
14:25:19 [6]:  ..  First zone found 2 "2.0" 
14:25:19 [6]:  ..  Also in zone 3 "3.0"
2020-05-07 13:46:48 +02:00
Adriaan de Groot
401a34fcbd [libcalamares] Fix tests on FreeBSD
- https requests can fail if ca_nss isn't installed; ping something
  else then.
2020-05-06 18:06:17 +02:00
Adriaan de Groot
7277d52828 [libcalamares] Expand range of errors for network requests
- All failures were being reported as Timeout, which is confusing
  when they are not. Introduce HttpError for the not-timeout
  other kinds of errors.
- Add operator<< for RequestStatus for nicer error logging.
2020-05-06 17:50:34 +02:00
Adriaan de Groot
5dc358093e [welcome] Apply coding style 2020-05-06 15:52:56 +02:00
Adriaan de Groot
713132d4af [welcome] Move GeoIP loading into Config
- The Config object can handle GeoIP loading on its own. Both
  View steps that used this had a derpy view->setCountry() that
  didn't really do anything with the view anymore.
2020-05-06 15:46:23 +02:00
Adriaan de Groot
6434374bf3 [welcome] Move languageIcon loading into the Config object
- The QML module had an additional check that the normal one
  did not; add it in the merged code.
2020-05-06 15:24:08 +02:00
Adriaan de Groot
a7a6c937ea [libcalamaresui] Add needed includes
- Return type QPixmap means we should definitely #include it
2020-05-06 15:23:27 +02:00
Adriaan de Groot
120a2b0f03 [welcome] Move get-the-show*Url code into Config
- Since this is configuration-loading, put it in the Config
  class; reduces code duplication between welcome and welcomeq.
2020-05-06 15:08:31 +02:00
Adriaan de Groot
e65a0ee617 [welcome] Update welcome example
- donate **does** have a corresponding branding setting
- show that "false" is a valid setting
2020-05-06 14:37:59 +02:00
Adriaan de Groot
cd44f548f5 [libcalamaresui] Add donateUrl to the branding settings
SEE #1384
2020-05-06 14:34:37 +02:00
Adriaan de Groot
9e344f50a7 [bootloader] Refactor efi-next-boot
- move the setup-next-boot code to a function on its own
- credit to Gaë
2020-05-06 13:31:02 +02:00
Adriaan de Groot
7c633f1253
Merge pull request #1394 from gportay/set-efi-bootnext
[bootloader] Set the EFI Boot Next
2020-05-06 13:10:13 +02:00
Calamares CI
b66867f0ff i18n: [dummypythonqt] Automatic merge of Transifex translations 2020-05-06 11:52:16 +02:00
Gaël PORTAY
4a9c8d0278 [bootloader] Set the EFI Boot Next
- This forces the EFI firmware to boot the loader that was just
   created, whatever the boot order set in the firmware setup (USB,
   CD/DVD, HD...).
 - It is safe to use the first Boot Entry listed in BootOrder as the
   previous command creates the new entry and adds it to the first place
   of the BootOrder.
2020-05-05 12:34:55 -04:00
Adriaan de Groot
7d1800a0d7 [welcome] Apply coding style 2020-05-04 13:00:00 +02:00
Adriaan de Groot
70054e5db4 [welcome] Chase Branding API change 2020-05-04 12:52:14 +02:00
Adriaan de Groot
0046c3f161 [tracking] Chase Branding API change
- While here, apply coding style
2020-05-04 12:52:14 +02:00
Adriaan de Groot
c0a3614f09 [partition] Chase Branding API change 2020-05-04 12:52:14 +02:00
Adriaan de Groot
da82adeeee [finished] Chase Branding API change
- while here, also apply coding style
2020-05-04 12:52:14 +02:00
Adriaan de Groot
dc1a4fab8e [libcalamaresui] Chase Branding API change 2020-05-04 12:52:14 +02:00
Adriaan de Groot
794939b6a8 [calamares] Chase Branding API change 2020-05-04 12:52:14 +02:00
Adriaan de Groot
62696a3a48 [libcalamaresui] Remove the special * operator for string-enums in branding
- This is a good example of being overly clever in C++
- the whole API with an enum requesting a specific string is a bit weird,
  although it makes sense from the 'might need more strings specified'
  point of view.
2020-05-04 12:52:05 +02:00
Adriaan de Groot
7d8e54ba47 Merge branch 'qml-globalstorage'
- Make GlobalStorage generally available to QML modules (as Global
  from io.calamares.core)
2020-05-01 14:38:05 +02:00
Adriaan de Groot
0e71957b74 [libcalamaresui] Apply coding style 2020-05-01 14:37:25 +02:00
Adriaan de Groot
8af17fafe1 [libcalamaresui] Register Global Storage (as 'Global') for QML 2020-05-01 14:37:25 +02:00
Adriaan de Groot
dc523525c2 [libcalamaresui] Register the right type for ViewManager (C&P typo) 2020-05-01 09:15:46 +02:00
Philip Müller
e4bdeaa943 [displaymanager] don't write AutomaticLogin lines
- sometimes if you use external OEM modules you might have those lines already present
- by skipping them you won't have double lines when rerun the module in a later step
2020-05-01 09:11:50 +02:00
Adriaan de Groot
f4f720bc8f i18n: update English sources 2020-04-30 23:13:45 +02:00
Adriaan de Groot
156a473565 [welcomeq] Hook the translations up to the language combobox 2020-04-30 18:04:14 +02:00
Adriaan de Groot
4786a91eb8 [welcome] Order get/setters consistently
- code styling OCD, all the other ones are get, then set
- getters can be in the header, they're boring
2020-04-30 17:41:17 +02:00
Adriaan de Groot
22e64d8c18 [branding] Remove duplicate keys for images (thanks Bill) 2020-04-30 16:11:06 +02:00
Adriaan de Groot
8eace7ba5c Merge branch 'wallpaper'
Merge in the documentation from Bill Auger and then implement
what it documents (this had been missing; productWallpaper was
an orphan setting).

FIXES #1380
2020-04-30 13:45:11 +02:00
Adriaan de Groot
3d6e5c5df7 [calamares] Implement productWallpaper setting
- If we have a wallpaper, bung in an extra QWidget between the main
  window and the panels (sidebar, nav and main) where we set a
  stylesheet that displays the chosen image.
2020-04-30 13:33:12 +02:00
Adriaan de Groot
1d44c88e0a [libcalamaresui] Refactor loading of stylesheet
- prep-work for adding special-case styling for productWallpaper
2020-04-30 12:18:15 +02:00
Adriaan de Groot
ddde817abf [libcalamaresui] Apply coding style 2020-04-30 12:10:09 +02:00
Adriaan de Groot
fabb351b77 [libcalamaresui] Give ViewManager widgets names for styling 2020-04-30 12:08:48 +02:00
bill-auger
e2bbaf2cee [branding] add documentation for WIP 'productWallpaper' branding 2020-04-29 22:38:59 +02:00
Calamares CI
d46122dab9 i18n: [dummypythonqt] Automatic merge of Transifex translations 2020-04-29 12:57:44 +02:00
Adriaan de Groot
cb99f446b3 Merge branch 'issue-1192'
FIXES #1192

(Calls it the *boot* flag when using KPMCore4, which also shows the
flag *boot* in the flags list of the partitioning dialogs)
2020-04-24 11:56:16 +02:00
Adriaan de Groot
479b467bb6 [partition] Substitute in the right flag name
- This uses "esp" in KPMCore 3 and "boot" in KPMCore 4
2020-04-23 13:53:30 +02:00
Adriaan de Groot
79e8c447b9 [libcalamares] Test some specific KPM partition flags 2020-04-23 13:46:09 +02:00
Adriaan de Groot
cc1a1079e4
Merge pull request #1383 from demmm/master
[welcomeq] add language bar
2020-04-23 13:26:49 +02:00
Adriaan de Groot
23af4fcdac
Merge pull request #1387 from gportay/set-efi-system-partition-name
[partition] Allow a configurable EFI System Partition name
2020-04-23 13:25:56 +02:00
Adriaan de Groot
4c3c8c6239
Merge pull request #1389 from gportay/update-debug-trace
[partition] Update debug output
2020-04-23 12:42:26 +02:00
Adriaan de Groot
3f4e167aca [libcalamares] Expand kpm test with API 3/4 differences
- fix build
- KPMCore 3 distinguishes esp and boot
- KPMCore 4 does not
2020-04-23 12:16:30 +02:00
Adriaan de Groot
43c5e1fc96 [libcalamares] Fix build of tests
- Typed in on FreeBSD, where it doesn't get built
2020-04-23 11:45:12 +02:00
Adriaan de Groot
cca067a34d [libcalamares] Add a bogus test showing flag names 2020-04-22 15:38:42 +02:00
Adriaan de Groot
1f6752307d [welcome] Massage layout when banner is used
- simplify handling of image loading (if the image doesn't exist,
  Branding will bail out on startup)
- reduce space above the banner if it is in use
2020-04-22 14:53:55 +02:00
Adriaan de Groot
c3941b6e65 [welcome] Shuffle code
- things that can be done in the designer file should be there,
  not weirdly repeated in code elsewhere
- drop the insertion of an extra spacer (why not include it in the
  designer file?)
- shuffle all the connect() calls down to the end of the constructor
2020-04-22 14:53:55 +02:00
Adriaan de Groot
be86561913 [branding] Example banner graphic that matches the default branding.desc
- Bogus "CalaMinix" (maybe the example branding should be consistent
   with that) banner.
 - Turn off the (example) banner in the default branding.
2020-04-22 14:53:45 +02:00
Gaël PORTAY
77a31ac3b2 [partition] Update debug output
The mount-point is known as mountPoint in the global storage.

This commit updates the trace to reflect its real name.
2020-04-21 19:48:48 -04:00
Gaël PORTAY
d6c373c48d [partition] Allow a configurable EFI System Partition name
This commit adds the new configuration `efiSystemPartitionName` to the
file partition.conf.

This option sets the partition name to the EFI System Partition that is
created. If this option is unset, the partition is left unnamed.
2020-04-21 18:47:05 -04:00
Adriaan de Groot
86ffab1873 [libcalamares] Use convenience Logger::NoQuote 2020-04-21 16:46:48 +02:00
Adriaan de Groot
6de82e6857 [libcalamares] Add convenience for QDebug.noquote()
- Use << Logger::NoQuote{} to turn off quoting **and** the space
- In practice, in Calamares we use this only around other processes'
  output, where we want neither quotes nor spaces.
2020-04-21 16:46:13 +02:00
Adriaan de Groot
c59af8881c [umount] Avoid SIGPIPE
- collect output from umount process, and then ignore it
2020-04-21 16:13:19 +02:00
Adriaan de Groot
e51fbdc851 [locale] Apply coding style 2020-04-21 15:35:10 +02:00
Adriaan de Groot
d348977d07 [libcalamares] Fix tests
- the test checks that the default locale is C or en_US .. let's just
  make it so instead of relying on the environment. This fixes tests
  on my dev-laptop, which happens to be set to en_NL (with volapuk
  date format).
2020-04-21 13:41:04 +02:00
Adriaan de Groot
f8df49e40f [partition] Fix up tests
- Although we long ago replaced the getPartitions implementation, the
  test is still there, and on a machine with no /dev/sda (e.g. because
  root is on nvme) the echo-awk-shell-pipeline can give an empty string;
  this is turned into a QStringList{""} which has one element, while
  the new version has 0 elements.
- Special-case the test that empty strings should be empty lists, rather
  than 1-element lists with an empty element.
2020-04-21 13:35:01 +02:00
Adriaan de Groot
a0b4b2bf5e
Merge pull request #1381 from bill-auger/patch-welcome-banner
[welcome] add optional branding banner to welcome page
2020-04-21 13:18:44 +02:00
Adriaan de Groot
1f3046dcca Merge branch 'issue-1374'
This is just updating tests, not fixing things.
2020-04-21 12:44:46 +02:00
Adriaan de Groot
69fae85fe8 [locale] Fix test-build
- needs <set> if it doesn't get pulled in implicitly
- mark tests as expected-to-fail to not block release
- SEE #1374
2020-04-21 12:43:45 +02:00
demmm
828448b2ff [welcomeq] make release notes part of welcome window
use Loader option for those notes too, commented out file shows it is possible to load from anywhere
2020-04-20 16:47:12 +02:00
demmm
249150dd1b [welcomeq] add language bar
reads data from languagesModel correctly, debug added to see index changes
code cleanup
button layout improved
install info text added, better spacing of text
about button no longer commented out, 3 reasons:
- info provided by any about is standard, will be odd if it can't be found
- about.qml is a seperate file, can be completely adjusted
- not showing it takes away the options for new QML cala users to see what is possible with Loader, thus stopping new possible contributors
2020-04-20 15:00:04 +02:00
bill-auger
7bce58f6f2 [welcome] add optional branding banner to welcome page 2020-04-19 04:01:22 -04:00
Adriaan de Groot
a63a92e3d5 [locale]Fix build (clang, Debian)
- This is a follow-up to d0c205c1cc6a2ae49935c92bfd52911b9a0d43f7;
  I really don't know why static constexpr const elements that are
  not referenced by address need to be defined separately.
2020-04-17 13:41:21 +02:00
Adriaan de Groot
ebb5efcd42 [locale] Mark test as expected-to-fail
- There are still 88 issues with the timezone images
2020-04-17 13:06:05 +02:00
Adriaan de Groot
e804ad2488 [libcalamaresui] Rename enlarge()
- rename enlarge to ensureSize() and change the meaning from
  "make this much bigger" to "make sure this is displayed",
  which is easier on the caller to calculate.
2020-04-17 12:56:47 +02:00
Adriaan de Groot
2a4c74c099 [calamares] Layout-wranging
- the navigation bar was set "too tall", leave it at the natural
  layout height for this widget
- margins needed some massaging to give contents some more space
  (contents has a margin, so it doesn't need more space above
  the navigation bar)
2020-04-17 12:56:47 +02:00
Adriaan de Groot
ade623f6b8 [locale] Shuffle code
- Put the building-up-the-overall-page in one spot
- Claim a little more vertical space for the TZ widget
2020-04-17 12:56:39 +02:00
Adriaan de Groot
c0be53523c [locale] Give TZWidget a fixed size 2020-04-17 10:02:54 +02:00
Adriaan de Groot
a4c5e18c4b [netinstall] Allow the netinstall.yaml to contain key *groups*
- This makes it easier to just copy the example, *groups*-key
  and all, into an online YAML file and serve that up.
  You get easier (local) testing.
2020-04-16 23:20:22 +02:00
Adriaan de Groot
2aca5464b7 [netinstall] Display package descriptions
- For packages with a description, show that
- Add an example in the config-file
2020-04-16 22:42:30 +02:00
Adriaan de Groot
960008b124 [netinstall] Allow rich descriptions of packages
- the *packages* list can now be package-names, or
  package-names-and-a-description.
2020-04-16 22:42:26 +02:00
Adriaan de Groot
39ed591414
Merge pull request #1378 from FLVAL/master
[locale] Timezones correction + Pin reduced
2020-04-16 19:30:48 +02:00
FLVAL
3f6e242fd9
Add files via upload
Resaved cause showing not 100% upload with latest correction
2020-04-16 19:21:44 +02:00
FLVAL
82c4e7aa54
Add files via upload
- udpated the _0.0 and _1.0 to not get overlap between Gibraltar and Cueta
- Fakaofo correction on _10.0 and _-11.0
- pin reduced size
2020-04-16 19:09:49 +02:00
Adriaan de Groot
82ba4be5e7 [locale] Test for pixel-perfect location of Gibraltar and Ceuta
- Can't get Gibraltar (and Ceuta) to be distinguished
2020-04-16 17:59:12 +02:00
Adriaan de Groot
3db901bd09 [locale] Expand tests to show overlapping locations
- This isn't something that Calamares can acutally fix,
  so the test will be disabled later. After all, if
  Brazzaville and Kinshasa are close enough that on the
  map they are the same pixel, we can't move the cities.
2020-04-16 15:48:17 +02:00
Adriaan de Groot
2633cf1ef6 [locale] Fix timezone maps for -1,0,1 timezones
- Merge branch 'master' of https://github.com/FLVAL/calamares
- Add credits to CHANGES

FIXES #1377
SEE #1374
2020-04-16 15:09:14 +02:00
Adriaan de Groot
7b4b268875 [netinstall] Hit the docs with a hammer
- Merge all the format documentation into netinstall.conf,
  where the example is given in full as an embedded
  *groups* entry.
- Get README.md to point to the example.
- Fix up headers in netinstall.yaml, pointing to the
  embedded example in netinstall.conf.
2020-04-16 14:34:55 +02:00
FLVAL
e5b2faad9a
Add files via upload
Timezones updated for these countries found on pixel detection tool 

Dublin is in 0 (-1 needs editing)
Gibraltar should be 1.0 (0 needs editing)
Guernsey and Jersey are in 0 (1.0 needs editing)
Lisbon is in 0 (-1 needs editing)
Vilnius should be in 2 (1 needs editing)
2020-04-16 02:54:38 +02:00
Adriaan de Groot
cd66405363 [locale] Test TZ images properly
- the test wasn't built with DEBUG_TIMEZONES, so it didn't get the
   overlap-checking code at all.
2020-04-15 14:30:10 +02:00
Adriaan de Groot
d0c205c1cc [locale] Fix build (gcc, Debian) 2020-04-15 14:19:47 +02:00
Adriaan de Groot
d20a621e93 [users] Apply coding style 2020-04-15 11:55:09 +02:00
Adriaan de Groot
ab5d5fb772 [users] Log pwquality error message as well (better than just "-14") 2020-04-15 11:49:43 +02:00
Adriaan de Groot
b890345b1f [locale] Tidy includes 2020-04-15 11:45:27 +02:00
Adriaan de Groot
f7a87338b8 [locale] math headers got lost 2020-04-15 11:41:59 +02:00
Adriaan de Groot
a2a10d14b6 [locale] Improve logging in tests 2020-04-14 16:24:56 +02:00
Adriaan de Groot
29fd0e0319 [locale] Expand test to check zones-overlap
- Document index and find methods,
- Check that each location is claimed by only one image (e.g. by
  one zone). This is currently false.
2020-04-14 16:21:24 +02:00
Adriaan de Groot
1d5c4f13aa [locale] Move the find-a-zone-image-for position to the image list 2020-04-14 16:06:21 +02:00
Adriaan de Groot
6173f9337a [locale] Refactor long+lat -> x,y mapping
- Move this code to a static method since it only depends on the
  expected image size (which here, is managed by the image list).
2020-04-14 15:24:05 +02:00
Adriaan de Groot
3945008956 [locale] Test the TZ image loader
- QImage needs Qt5::Gui, so this isn't a guiless-test; it can use
  the offscreen QPA, though.
- Check that the images are all the same size
- Debugging / check code removed from timezonewidget
2020-04-14 15:10:04 +02:00
Adriaan de Groot
340c462062 [locale] Refactor loading of timezone images
- Move the image-loading to a separate class
2020-04-14 14:44:24 +02:00
Adriaan de Groot
4b65600c08 [locale] Remove useless localeglobal
- Although ::init() was called, none of the actual functionality
   from localeglobal was still in use.
2020-04-14 12:37:22 +02:00
Adriaan de Groot
36d9e7d8f4 [locale] Extend tests with tz-image-validation
- The idea is to check all the TZ images for consistency, like
  TimeZoneWidget::setCurrentLocation() does when DEBUG_TIMEZONES is
  on; a zone-pixel should be set in only **one** image.

The test so far is just a stub.
2020-04-14 11:59:45 +02:00
Adriaan de Groot
e84db033b0 [locale] Debug-message typo 2020-04-14 11:57:03 +02:00
Adriaan de Groot
f9d888ec24 [locale] Warnings--
- remove unused variables, tighten up code some
- while here, apply coding style
2020-04-14 11:32:15 +02:00
Adriaan de Groot
022e62b829 [licale] Fix build with DEBUG_TIMEZONES
- QLatin1String isn't a constexpr; the whole ZONE is a bit derpy,
  so let's just #define it.
2020-04-14 11:26:03 +02:00
Adriaan de Groot
05990fb287 CMake: handle DEBUG_* consistently
- Make all four DEBUG_ flags actual CMake options, rather than
  stuffing some of them in the rather-peculiar _enable_debug_flags.
  Each debug option turns on suitable compile flags in the module(s)
  that are affected.
2020-04-14 11:18:51 +02:00
Adriaan de Groot
16a5ca2a55 [libcalamares] Format floats with trailing digits
- When writing YAML, given a float **always** write
   some decimal digits (e.g. "1.0" rather than "1")
   so that the type of the written-out thing stays
   float.
 - Avoids test failure with the sample `welcome.conf`
   file which reads 1.0 and would write out 1, which then
   led to type differences.
2020-04-08 17:10:32 +02:00
Adriaan de Groot
3b354b8b20 [libcalamares] Handle qlonglong when writing YAML
- Handle qlonglong explicitly
- Add a fallbackfor things that convert to qulonglong, to
  avoid these remaining integer types from hitting the
  very end of the if-chain, and being written out as
  the **string** "<typename>"
2020-04-08 17:01:24 +02:00
Adriaan de Groot
c6463a30ea [libcalamares] Be far more detailed in comparing maps
- just comparing a==b (both QVariantMap) gives a
  not-so-informative message, so go through the keys looking
  for differences.
2020-04-08 16:47:03 +02:00
Calamares CI
748973a17c i18n: [dummypythonqt] Automatic merge of Transifex translations 2020-04-07 23:03:18 +02:00
Adriaan de Groot
8a6925c5be i18n: update English texts 2020-04-07 22:59:52 +02:00
Adriaan de Groot
8b41a71668 [partition] Apply coding style to core/ 2020-04-07 21:38:15 +02:00
Adriaan de Groot
b08cb52d0a [partition] Mark /boot or / as bootable
FIXES #1175
2020-04-07 21:26:54 +02:00
Adriaan de Groot
0c6dd4e788 [partition] No "jobs/" needed in jobs includes 2020-04-07 11:46:03 +02:00
Adriaan de Groot
f85732ccb0 [partition] Coding style on Jobs 2020-04-07 11:44:26 +02:00
Adriaan de Groot
1e3ff51bfe [finished] Don't translate placeholder text 2020-04-07 11:09:59 +02:00
Adriaan de Groot
087c88753c [netinstall] Expand the table of common-strings
When one of these common names for the netinstall page is used,
it gets pulled out of the standard translations, so that it
doesn't have to be translated in the per-distro config file.
These labels are common enough that they make sense for
everyone to have lying around.

FIXES #1367

(I say "fixed" but of course it's going to depend on the translation
workflow to make these available)
2020-04-06 17:35:27 +02:00
Adriaan de Groot
11aa6da1e9 Merge branch 'issue-1335'
FIXES #1335
2020-04-06 17:27:41 +02:00
Adriaan de Groot
129bfa3a2e [unpackfs] Counting works better when you update the variable 2020-04-06 17:14:29 +02:00
Adriaan de Groot
bea41465e2 [unpackfs] Update progress around every 1% 2020-04-06 17:08:27 +02:00
Adriaan de Groot
facf5af589 [unpackfs] Don't jump back in progress while counting 2020-04-06 17:06:53 +02:00
Adriaan de Groot
af0d04d523 [unpackfs] Report progress more carefully
- Mark entries as totally-done
- Show a message when counting an entry
2020-04-06 16:54:02 +02:00
Adriaan de Groot
f33c737e99 [libcalamares] Pretty debug formatting
- toggle nospace() and noquote() part-way through the line,
  so that they only affect the output obtained from the external
  command.
2020-04-06 11:56:39 +02:00
Adriaan de Groot
4abb87ccca [libcalamares] Improve reporting on process failures
- In production, cDebug() might not show up, so the log will not
  contain the lines saying what program is being run;
- Errors should at least mention the program name, but "env" or
  "chroot" is not useful, so pull that from *args*, which is
  the command we actually want to run.
2020-04-06 11:17:47 +02:00
Adriaan de Groot
752399ca6b [libcalamares] Error out on empty command
- an empty command isn't going to work (although it might successfully
  run chroot or env in the target system, that's not useful)
- while here, move variable declarations closer to their use.
2020-04-06 11:15:10 +02:00
Adriaan de Groot
88c75fb5dc [libcalamares] Simplify program-arguments creation 2020-04-06 11:08:16 +02:00
Adriaan de Groot
21f060c3fd [unpackfs] Check for squashfs tools earlier 2020-04-06 10:52:32 +02:00
Adriaan de Groot
391bd1098f [unpackfs] An entry knows where it is mounted
- `imgmountdir` no longer defined in `UnpackOperation.run()`
2020-04-06 10:48:34 +02:00
Adriaan de Groot
065a506470 [netinstall] Resize name column
- Once group data is loaded and pre-expanded groups are open,
  adjust the column width so that all the names are visible.
2020-04-05 00:26:53 +02:00
Adriaan de Groot
a97f4771d6 [calamares] Fix test-loader for modules after ViewManager API
- The ViewManager needs to be told when loading is done now (because of
  the quit-at-end settings)

See 7393198f7b
2020-04-05 00:07:42 +02:00
Adriaan de Groot
9db7dd3f3e [netinstall] Add a group with long names 2020-04-04 23:59:58 +02:00
Adriaan de Groot
9b14bf6826 [unpackfs] Rework progress reporting
- Slice overall progress into chunks, with each chunk of equal size
  (as long as we have no overall count information) and place
  the progress of the current chunk into its own slice.
2020-04-04 23:42:20 +02:00
Adriaan de Groot
7e4cb28c1c [unpackfs] Refactor mounting for an entry
- The entry knows where it should be mounted, and can remember that
- mount_entry() didn't use self, so made no sense as a method
  of the Operation class
2020-04-04 23:19:08 +02:00
Adriaan de Groot
49a584377e [unpackfs] Refactor counting an entry
- This does not have to live in the Operation
- Uses only the local imgmountdir (where the entry is mounted)
2020-04-04 23:10:22 +02:00
demmm
e63160cbe9 [localeq] Repeater with zonesModel crashes cala
probably due to dynamically loading items
regionModel now lists, zonesModel only lists one delegate, but
working on QML modules can now continue without crashing cala
2020-04-04 18:43:23 +02:00
Adriaan de Groot
ede561789a Merge branch 'qml-keyboard'
This doesn't actually **work** though, the QML uses older Calamares-internal
APIs and uses a ResponsiveBase that we don't have. Merge it mostly for
the Config and model changes.

FIXES #1355
2020-04-03 17:27:12 +02:00
Adriaan de Groot
af4220331e [libcalamaresui] Move lambda to a "real" slot. 2020-04-03 16:38:10 +02:00
Adriaan de Groot
7393198f7b [libcalamaresui] Tell the manager explicitly when loading is done
- Add some extra checks for validity of m_currentStep (an index)
- Start off with explicitly invalid index, and keep it so until
  loading is complete; this prevents the situation where quit-at-end
  gets triggered after loading the very first module.
2020-04-03 15:36:58 +02:00
Adriaan de Groot
c2fac3a717 [calamares] Minor clean-ups 2020-04-03 15:14:14 +02:00
Adriaan de Groot
59ef307af2 Merge panel-layout code: choose where to place sidebar + nav 2020-04-03 13:56:19 +02:00
Adriaan de Groot
6c418402e3 [localeq] Hit QML file with a hammer
- io.calamares.modules doesn't exist
- ResponsiveBase doesn't exist

The module is now non-functional, but at least it loads and renders
a list of regions and zones.
2020-04-03 13:43:48 +02:00
Adriaan de Groot
54b8ad5475 [localeq] Fix loading default QML
- need our own copy of the QRC, that includes the QML
2020-04-03 12:57:25 +02:00
Adriaan de Groot
c602f2493a [keyboardq] Make QML available
- name default / example QML conventionally
 - copy QRC from keyboard -- the QML needs to be included in the QRC --
   since we don't want to have the QML in the keyboard module.
2020-04-03 12:42:41 +02:00
Adriaan de Groot
7b6b53ab8c [calamares] Re-do building the main layout
- follow branding settings, taking the panel-sides into account
- drop fixed width and height for QML parts
- give panels a minimum appropriate-dimension if they don't have one

This allows, for instance, putting both Widget sidebar and QML navigation
on the left-hand side of the window.
2020-04-03 11:40:51 +02:00
Adriaan de Groot
e15e7d1dc5 [libcalamaresui] Load panel-side settings
- Introduce an enum for panel-side
- Expose this to QML -- I can imagine that QML panels need to know
  which side of the Calamares window they're on.
- Refactor loading the setting into a method that handles both
  flavor and side
2020-04-03 11:05:37 +02:00
Adriaan de Groot
b48e0ebb37 [branding] Introduce placement options for nav, sidebar
- There's no real reason to force the sidebar left and nav at the bottom,
  certainly with QML supporting more layouts and being more flexible,
  so document a mechanism to place the sidebar and navigation along
  "edges" of the Calamares window.
2020-04-03 10:39:03 +02:00
Camilo Higuita
835850c02a [keyboardq] apply the style script 2020-04-03 10:27:06 +02:00
Camilo Higuita
1a46e08cc2 [keyboard] changes to the keyboardmodel to work with qml 2020-04-03 10:26:58 +02:00
Camilo Higuita
0872de7910 [keyboard] Add Config object, split out a keyboardq
- Introduce new QML-ified module for the keyboard
- To share code, move *keyboard* module to a Config-object
2020-04-03 10:19:04 +02:00
Adriaan de Groot
733801980c [libcalamaresui] Fix up icon name for back-button 2020-04-03 01:23:17 +02:00
Adriaan de Groot
10dd32edd2 [libcalamaresui] Fix isAtVeryEnd()
- With an empty list, the question is meaningless
- .. and we called this with an empty list while constructing the
  ViewManager; if quit-at-end is true, then this would terminate
  Calamares immediately because the list was at the end.
2020-04-02 23:50:41 +02:00
Adriaan de Groot
081f5ec4d9 [libcalamaresui] Remove unused static methods
- The UI bits that needed these button-setup functions have
  moved to CalamaresWindow (with copies of those functions)
2020-04-02 23:39:29 +02:00
Adriaan de Groot
a3c966cc6c Merge branch 'issue-1361'
FIXES #1361
2020-04-02 23:14:31 +02:00
Adriaan de Groot
c7733f51d0
Merge pull request #1365 from demmm/master
[welcomeq] buttons connecting
2020-04-02 23:13:29 +02:00
Adriaan de Groot
fafc508d63 [welcome] Update the widget's notion of the locale
- when the locale changes, tell the widget so that the drop-down
  displays the right language.

FIXES #1361
2020-04-02 23:10:55 +02:00
Adriaan de Groot
5956c6678e [welcome] Don't const& POD
- simplify parameter types in some set-methods
- while here, shuffle methods to bring things together
2020-04-02 22:42:41 +02:00
Adriaan de Groot
e756cc8720 [libcalamares] Tidy RequirementsModel some more
- put signals in conventional place
- remove const int& parameter, that can just be int
- drop oddly-guarded code (that leaks memory); if the index (row)
  being passed in, it's probably best to just crash
- remove unused signal warningMessageChanged
2020-04-02 22:14:27 +02:00
Adriaan de Groot
4e7020d030 [libcalamares] Polish model
- make signals consistent in carrying a parameter
- explain why there's no Q_ENUM
2020-04-02 22:04:34 +02:00
Adriaan de Groot
d2f5185d49 [welcome] Remove unused m_configurationMap
- the configuration is split into specific properties, not
  stored generically.
2020-04-02 22:00:43 +02:00
Adriaan de Groot
39afbdb570 [welcome] Shuffle signals to conventional location
- signals after slots, before private
- while here give the *MessageChanged signals a parameter (the changed
  message)
2020-04-02 21:57:00 +02:00
Adriaan de Groot
9d97972a34 [welcome] Apply coding style 2020-04-02 21:53:02 +02:00
Adriaan de Groot
ca7733c8e4 [welcome] Drop RequirementsModel
- Use the one from libcalamares
- Massage warning message into Config after it was removed from the model
2020-04-02 21:52:05 +02:00
Adriaan de Groot
3bf69c9da8 [calamares] Pacify gcc 2020-04-02 21:38:29 +02:00
Adriaan de Groot
e5562a5069 [libcalamares] Move RequirementsModel to libcalamares (1/2)
- Add the model and support code to libcalamares. The model still
  has some cruft that should be in the Welcome config.
2020-04-02 21:33:07 +02:00
demmm
34292618d8 welcomeq buttons connecting
minor spelling corrections
2020-04-02 20:16:05 +02:00
Adriaan de Groot
e2fee79957 [libcalamaresui] Set icon on back-button 2020-04-02 17:49:08 +02:00
Adriaan de Groot
abe3f4cda0 Merge branch 'issue-1344'
FIXES #1344
2020-04-02 16:46:59 +02:00
Adriaan de Groot
510f9352e7 [calamares] Tweak QML sidebar
- some margins and extra space
 - left-align text
 - progress lozenges instead of pointy rectangles
2020-04-02 16:45:04 +02:00
Adriaan de Groot
1038de899b [calamares] Update sidebar and navigation QML
- use the right colors (from branding, not from desktop theme)
- apply branding logo
2020-04-02 16:22:39 +02:00
Adriaan de Groot
ff37792dc9 [calamares] Resize QML to width of parent window 2020-04-02 16:01:58 +02:00
Adriaan de Groot
476a576dda [libcalamaresui] Ensure all button labels are accurate
- since lots of state is updated when the labels change, call that
  in the constructor so that any QML bindings get current values.
2020-04-02 15:48:43 +02:00
Adriaan de Groot
c755c7ed98 [libcalamaresui] restore quit-at-very-end functionality
- This doesn't need to go indirectly through a button
2020-04-02 13:54:14 +02:00
Adriaan de Groot
91d0ba1007 [libcalamaresui] Remove *quit* button from ViewManager
- Mostly like the other buttons
- Also show/hide the button and set tooltip
2020-04-02 13:44:49 +02:00
Adriaan de Groot
0c71c7c23f [calamares] Set initial states of next, back buttons 2020-04-02 12:36:45 +02:00
Adriaan de Groot
38deb66e42 [libcalamaresui] Remove *back* button from ViewManager
- Now the back button should be done by clients as well
- Refactor in CalamaresWindow to avoid leaking local button pointers
  to surrounding code.
- Add macro UPDATE_BUTTON_PROPERTY for convenience in ViewManager
  (ugh, macro) to change a value and emit corresponding update signal.
2020-04-02 12:31:14 +02:00
Adriaan de Groot
8920be6bca [libcalamaresui] Remove *next* button from ViewManager
- add properties for the next button (enabled, label, icon...)
- update those properties as normal
- connect to the properties in the UI implementation
2020-04-02 12:04:24 +02:00
Adriaan de Groot
c638343c18 [libcalamares] Give ViewManager a real quit() slot
- instead of creating a lambda, give ViewManager a real slot
- hook up the new navigation buttons to the next, back, quit slots
2020-04-01 18:45:25 +02:00
demmm
2c2bba5525 actually set About button to false... 2020-04-01 16:21:43 +02:00
demmm
b3f59cee25 filling About in QML, button still disabled
using Loader, can be reused for other widgets conversion
leave onClick example with full path, commneted out
title text for About is hardcoded, discuss option to make this configurable in welcome.conf
background color hardcoded, tested to work well in dark themes too
2020-04-01 16:19:00 +02:00
Adriaan de Groot
9f66b63c00 [calamares] Indulge in template-fu to refactor
- since we've got two blocks of code copy-pasted, which both
  decide to call one or the other of two member functions based
  on a flavor value, turn that into a templated function.
- passing member functions looks a bit weird, and calling them
  is syntactically surprising, but it cuts down the code a lot.
2020-04-01 15:30:47 +02:00
Adriaan de Groot
2dcf265c40 [calamares] Give QML navigation bar a fixed height 2020-04-01 15:13:08 +02:00
Adriaan de Groot
02fc4ce806 [calamares] Load QML navigation 2020-04-01 15:09:59 +02:00
Adriaan de Groot
d4f903b95c [calamares] Create navigation panel in CalamaresWindow
- this is a non-functional duplicate panel, so it looks funny
2020-04-01 11:35:27 +02:00
Adriaan de Groot
6c8aa5da63 [libcalamaresui] Remove commented-out code 2020-04-01 11:26:09 +02:00
Adriaan de Groot
57e6864902 [libcalamaresui] Add panel flavor
- rename enum to more general PanelFlavor
- introduce branding settings for navigation (e.g. for switching
  the navigation buttons off, or using QML)
2020-04-01 11:13:41 +02:00
Adriaan de Groot
d4083c9bbb [libcalamaresui] Add "hidden" as alias for "none" in sidebar settings 2020-04-01 11:07:23 +02:00
Adriaan de Groot
d8ecd302e1 [libcalamares] Apply coding style
- minor space issues
 - drop a blank line after moc-warnings.h to avoid if being sorted
   downwards, after the MOC file it's protecting
2020-03-31 23:19:51 +02:00
Adriaan de Groot
1765412b61 [libcalamaresui] Move RequirementsChecker to libcalamares
- the checker only collects and calls requirements; it has no
  UI component, and only manages data (and a thread to do the
  checking). Move it out of the UI library.
2020-03-31 23:13:13 +02:00
Adriaan de Groot
7655584022 [libcalamaresui] Move Module to libcalamares
- The Module class has no UI-specific code in it; it's all about
  loading and data-management. Move it out of the UI library.
2020-03-31 22:56:42 +02:00
Adriaan de Groot
e04f87fe95 [libcalamaresui] Refactor moduleFromDescriptor
- this function lives in Module -- and is the only thing typing
  Module to the ViewSteps and JobTypes. Split it out into its
  own funciton. Nothing else in Module needs to befriend the
  ViewSteps, so we move the friend declaration around a bit
  as well.
- while here, apply coding style.

This is prep-work for moving module to libcalamares.
2020-03-31 22:46:45 +02:00
Adriaan de Groot
4ddd1ecceb [libcalamares] Move Requirement to libcalamares
- This isn't a UI component: a requirement can be checked and
  reported-on without a UI entirely.
2020-03-31 22:13:30 +02:00
demmm
c10ef9e3bc [welcome] Improve welcomeq visuals
- set image to fill
 - keep aspect ratio
 - don't hardcode text color
 - variation in icons used
 - expand header text to check fit
2020-03-31 16:08:24 +02:00
Adriaan de Groot
eda2e4e10a [calamares] Tweak looks of basic-QML-sidebar
- Use the new currentStepIndex (suggested by Camilo) to see if something
  is selected / current.
2020-03-30 14:25:54 +02:00
Adriaan de Groot
fff4caf0de [libcalamaresui] Apply coding style
- while here, update copyright
2020-03-30 14:16:25 +02:00
Adriaan de Groot
3d7e5bc90d [libcalamaresui] Expose just currentIndex
- drop the current and completed roles, and expose only
  the currentIndex. QML can use the QObject property on
  the model, while QWidgets can call internally through
  the model's data() function.
- we don't need to provide role names for this, so drop that bit.
- simplify the delegate code while here.
2020-03-30 14:14:10 +02:00
Adriaan de Groot
aad79f664e [libcalamaresui] Expose currentIndex also as model data 2020-03-30 14:10:20 +02:00
Adriaan de Groot
b8962cec2d [libcalamaresui] Expose currentStepIndex 2020-03-30 13:11:08 +02:00
Adriaan de Groot
b271ed19b7 [partition] Fix typo in message 2020-03-28 12:49:34 +01:00
Adriaan de Groot
83f5f9e1a7 [libcalamares] Introduce generic delete-later class
Don't bother with QScopeGuard just right now, since I can't
find a use-case in the Calamares codebase.

FIXES #1358
2020-03-28 11:49:23 +01:00
Adriaan de Groot
7c56a50632 [netinstall] Expand documentation of groups format 2020-03-28 11:18:31 +01:00
Calamares CI
2b6eb8473e i18n: [dummypythonqt] Automatic merge of Transifex translations 2020-03-27 23:43:50 +01:00