6431 Commits (0d1355d4577ffbd4f6f5a616bfbdfee2c464ca02)

Author SHA1 Message Date
Adriaan de Groot 687a795b71 [partition] Warnings-- by initialization order 6 years ago
Adriaan de Groot 44a11bd93b [partition] Initialize in the initializer list, if possible 6 years ago
Adriaan de Groot 51b47862cd [partition] Mark destructors `override`
This reduces compiler warnings related to virtual-overriding
functions: all the destructors are virtual.
6 years ago
Adriaan de Groot aa6109d470 [machineid] Improve config-documentation 6 years ago
Adriaan de Groot daeee09fdb [machineid] Simplify loading of the list of entropy-files 6 years ago
Adriaan de Groot 275e6b9342
Merge pull request #1542 from gportay/fix-message-if-no-option-available
[partition] Fix message user if no option available
6 years ago
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.
6 years ago
Adriaan de Groot 0d4d3e3c4d [users] Set up GS rootMountPoint for test 6 years ago
Adriaan de Groot 63196ab58f [users] Avoid crashes in tests due to nullptr GS 6 years ago
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.
6 years ago
Adriaan de Groot cd8c3089cb [users] Fix build: renamed moc file 6 years ago
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.
6 years ago
Adriaan de Groot 89d495d5fb [users] Rename file to match its purpose 6 years ago
Adriaan de Groot 5b4f9d0b98 [users] Adjust tests for changed API 6 years ago
Adriaan de Groot f1772a7eae [users] Create groups in a separate job 6 years ago
Adriaan de Groot 03541470d5 [users] Handle system-group creating specially 6 years ago
Adriaan de Groot fa1d314b13 [users] Refactor group-creation into separate Job 6 years ago
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.
6 years ago
Adriaan de Groot 6560ef00a1 [usersq] Fix build of usersq after refactor elsewhere 6 years ago
Adriaan de Groot 29e6934672 [users] Factor out Sudo creation into separate job 6 years ago
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.
6 years ago
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.
6 years ago
Adriaan de Groot 27dc81f8b9 [partition] Fix typo in debug message, reported by Kevin Kofler 6 years ago
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.
6 years ago
Adriaan de Groot 3313a5341d [partitions] Adapt to KPMcore 4.2 changes 6 years ago
Adriaan de Groot 36396d0cfd [partition] Adjust message and fix debug message 6 years ago
Adriaan de Groot ee302debdf
Merge pull request #1539 from yurchor/patch-3
[partition] Add missing space
6 years ago
Calamares CI 2be2e1808a i18n: [dummypythonqt] Automatic merge of Transifex translations 6 years ago
Adriaan de Groot 81f12cb230 [libcalamares] Do GeoIP lookups with a fake User-Agent 6 years ago
Adriaan de Groot 3b14e354b0 [libcalamares] Log more HTTP errors during requests 6 years ago
Adriaan de Groot 436e1de820 [libcalamares] Be more chatty in GeoIP test application 6 years ago
Yuri Chornoivan 1448a9b9a1
Add missing space 6 years ago
Adriaan de Groot 7734d84925 [shellprocess] Bump the default timeout to 30, emphasise tuning the timeout
FIXES #1536
6 years ago
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
6 years ago
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.
6 years ago
Adriaan de Groot 0f6602cad7 [keyboard] Improve xkb parsing 6 years ago
Adriaan de Groot ec42e3294f [keyboard] Refactor argument-lists for setxkbmap
- separate functions for model, and layout+variant settings
6 years ago
Adriaan de Groot b54273f904 [keyboard] Move all the keyboard (AbstractList)Models to the models file 6 years ago
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
6 years ago
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
6 years ago
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.
6 years ago
Adriaan de Groot 6b2d7f6a42 [users] Protect against JobQueue or GS being NULL
- Avoid SIGSEGV in tests, make sure JobQueue exists, GS optional
6 years ago
Adriaan de Groot 788a233319 [users] Introduce a test for Config getters and setters 6 years ago
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
6 years ago
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
6 years ago
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.
6 years ago
Adriaan de Groot a86374386b [users] Add test for new notation for groups-with-details 6 years ago
Adriaan de Groot 07027c2430 [users] Test distinguishes system groups from user groups 6 years ago
Adriaan de Groot ff9abdfc08 [users] The fallback groups are all **system** groups 6 years ago
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".
6 years ago
Adriaan de Groot 1d696253c3 [displaymanager] Missing space in user-visible string due to line-breaks 6 years ago
Adriaan de Groot 61100f1a73 [netinstall] Massage the documentation a little 6 years ago
Adriaan de Groot 958fb7e7b0 [netinstall] Complain about nonsensical hidden groups 6 years ago
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.
6 years ago
Adriaan de Groot ceeab7087c [users] Fix implementation so existing tests pass 6 years ago
Adriaan de Groot e46d9f735d [users] Adjust tests to changed groups-list 6 years ago
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)
6 years ago
Adriaan de Groot 6221c6497a [shellprocess] Allow customizing the name of the job 6 years ago
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
6 years ago
Adriaan de Groot 86fd014bbd [libcalamares] Fallback from status -> description -> name for progress 6 years ago
Adriaan de Groot 2f83d85e29 [libcalamares] Explain process failure in debug log a bit better 6 years ago
Adriaan de Groot 9c457f9449 [shellprocess] Improve documentation and examples 6 years ago
Adriaan de Groot a955791766 Apply coding style globally again 6 years ago
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
6 years ago
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
6 years ago
Gaël PORTAY 2bbbb68838 [partition] Add setting for requiredPartitionTableType 6 years ago
Gaël PORTAY 70f8beb931 [partition] Add setting for defaultPartitionTableType 6 years ago
Adriaan de Groot 9486ee6fbf
Merge pull request #1524 from gportay/partition-message-user-if-no-option-available
[partition] Message user if no option available
6 years ago
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).
6 years ago
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.
6 years ago
Adriaan de Groot db537535ee [partition] Support KPMCore 3.3 in tests 6 years ago
Adriaan de Groot f28d28a455 [partition] Ignore KPMCore 4 beta versions 6 years ago
Adriaan de Groot 88b1d36009 Merge branch 'issues-1166' into calamares
FIXES #1166
6 years ago
Adriaan de Groot faa496be4a
Merge pull request #1522 from kadler15/issue-1521
[preservefiles] Fix global storage JSON dump
6 years ago
Corentin Noël a7bd1040c5 [partition] Add tests for Layout-constrained partionning 6 years ago
Adriaan de Groot 77e2701365 [partition] Coding style
- various clang-format versions battle for supremacy
6 years ago
Adriaan de Groot b4cbf73e2d Merge branch 'calamares' into issues-1166 6 years ago
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)
6 years ago
Adriaan de Groot 029c3f1c74 [partition] Write the install choices to Global Storage 6 years ago
Adriaan de Groot 92a874dae7 [partition] move the swap-choice to Config 6 years ago
Corentin Noël 08138f5a41 [partition] Reduce direct dependency of PartUtils on PartitionCoreModule 6 years ago
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
6 years ago
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.
6 years ago
Adriaan de Groot bc591f9bc1 [unpackfs] Re-vamp progress reporting
- simplify calculation of progress
6 years ago
Adriaan de Groot 8173b68a71 [unpackfs] Debug-log the weights of the modules 6 years ago
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".
6 years ago
Adriaan de Groot 44f8a7ae47 [libcalamares] Reduce chattiness again of job progress 6 years ago
Gaël PORTAY 79740c77a3 [partition] Message user if no option available 6 years ago
Kris Adler e92927cff9 [preservefiles] Fix global storage JSON dump
fixes calamares/calamares#1521
6 years ago
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.
6 years ago
Adriaan de Groot 6e30a7b8f6 [partition] Move is-manual-partitioning-allowed to the Config object 6 years ago
Adriaan de Groot f79fbd4105 [partition] Add swap choice to config object 6 years ago
Adriaan de Groot 0f4fe6294c [partition] Migrate type for SwapChoice to Config object 6 years ago
Adriaan de Groot 881661e94b [partition] Migrate InstallChoice to the Config object 6 years ago
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.
6 years ago
Adriaan de Groot 010526ee2a [partition] Coding style 6 years ago
Adriaan de Groot b41e4624c9 [partition] Move 'selected installation option' to Config 6 years ago
Adriaan de Groot 10d194d693 [partition] Simplify button-selection 6 years ago
Adriaan de Groot a92cb32cef [partition] set the right buttons if an action is pre-selected 6 years ago
Adriaan de Groot b518ef7dfe [partition] Select initial swap choice 6 years ago
Adriaan de Groot 9f0f600aa4 [partition] Remove the 'swapfile-unsupported' message 6 years ago
Adriaan de Groot 3bb5adcfca [partition] Simplify *efiSystemPartition* settings 6 years ago
Adriaan de Groot f155c8351b [partition] Only one setting for partitionLayout is supported 6 years ago
Adriaan de Groot b6dd23a384 Merge branch 'calamares' into issues-1166 6 years ago
Adriaan de Groot ace6323987 [libcalamares] Be even more chatty in job progress
This is for debugging-job-progress reports.
6 years ago
Adriaan de Groot 75b01cfc0a [libcalamares] Some debugging output for job progress, so you can double-check that the settings are being picked up 6 years ago
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.
6 years ago
Adriaan de Groot 6b07bdf6ed [keyboard] Do not use deprecated Qt4-era indexChanged for text 6 years ago
Adriaan de Groot 02423c823d [libcalamaresui] Nothing uses the opacity for pixmaps, drop that too 6 years ago
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.
6 years ago
Adriaan de Groot 2878c474c5 Warnings-- (~T() override)
Change all the places that had
	virtual ~T() override
to the less redundant form without override.
6 years ago
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).
6 years ago
Adriaan de Groot 7d5a209dd0 [modules] Warnings-- in tests (~Test() override) 6 years ago
Adriaan de Groot 8b66009d59 [libcalamares] Warnings-- in tests (~T() override) 6 years ago
Adriaan de Groot 0cffac10c6 [libcalamares] Ignore more warnings for system header YAML 6 years ago
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`
6 years ago
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.
6 years ago
Adriaan de Groot 705756b9bb [libcalamaresui] Give UI chance to catch up before modules are done 6 years ago
Adriaan de Groot 53cb27ebc8 [calamares] Provide i18n context for "Key" 6 years ago
Adriaan de Groot ac0b2092f2 [partition] Remove superfluous logging 6 years ago
Adriaan de Groot cadd9765db [usersq] Remove trailing . 6 years ago
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.
6 years ago
Adriaan de Groot 1f77441333 [partition] add job-removal to the support classes 6 years ago
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.
6 years ago
Adriaan de Groot e94c17e331 Merge branch 'calamares' into issues-1166 6 years ago
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)
6 years ago
Adriaan de Groot 5f7c9a00a0 [machineid] Test that random-files are created 6 years ago
Adriaan de Groot a5887e6dda [machineid] Test config-settings for entropy files 6 years ago
Adriaan de Groot 8be5c2ed10 [machineid] Support multiple entropy files 6 years ago
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
6 years ago
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
6 years ago
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.
6 years ago
Adriaan de Groot 2aece7ff1b [keyboard] Warn if QRC is not available 6 years ago
Adriaan de Groot 0d8e0d9b96 [keyboard] Add a stub for unit tests 6 years ago
Adriaan de Groot af3261b16f [keyboard] Refactor findLegacyKeymap into something testable 6 years ago
Adriaan de Groot 466e08a8ba [welcome] Set some localeConf values from the welcome page 6 years ago
Adriaan de Groot 634a53d27a [locale] Use new convenience function for updating localeConf 6 years ago
Adriaan de Groot e0ba5a6ba2 [libcalamares] Convenience functions for localeConf GS entry 6 years ago
Adriaan de Groot d94b9caba5 [libcalamaresui] Less mutex shenanigans 6 years ago
Adriaan de Groot 32649f78ea [libcalamares] Restore finish() slot to job queue
FIXES #1507
6 years ago
Adriaan de Groot d5eaacf67a i18n: used wrong list of languages
FIXES #1505
6 years ago
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.
6 years ago
Adriaan de Groot d7dc48d201 [users] Add now-obvious missed initialization
- start the checkbox off in the state from config
6 years ago
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)
6 years ago
Adriaan de Groot d584a96335 [users] Improve naming of widget 6 years ago
Adriaan de Groot 3ae545c8b1 REUSE: qmldir file format doesn't leave space for license information 6 years ago
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.
6 years ago
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.
6 years ago
Adriaan de Groot 9afe7a3711 [libcalamares] Document JobQueue signals 6 years ago
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
6 years ago
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
6 years ago
Adriaan de Groot 23bfcb755e i18n: pick up the translations CMake module just once 6 years ago
Adriaan de Groot e02c21285a i18n: remove the compiled .mo files from 'sources' 6 years ago
Adriaan de Groot c3903b6e88
Merge pull request #1502 from asif-mahmud/calamares
[libcalamares] Internet accessibility checking done by synchronous ping method
6 years ago
Asif Mahmud Shimon c6a3e9b816 Internet accessibility checking done by ping method 6 years ago
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
6 years ago
Adriaan de Groot ae14059e8b [webview] Config header was still misplaced
- use #error to produce slightly more comprehensible build failers
6 years ago
demmm 7c08f9a033 [keyboardq] rewrite keyboard.qml
no longer use extra qml files
better highlighting, updated text, fewer buttons
6 years ago
Adriaan de Groot a2180936ef CI: apply coding style across the entire codebase again 6 years ago
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.
6 years ago
Adriaan de Groot 5a3fb613d9 REUSE: Default branding assets and explanation 6 years ago
Adriaan de Groot 30a85668b7 REUSE: (GPL-3.0-or-later) C++ modules 6 years ago
Adriaan de Groot 863a4cc2a4 REUSE: (GPL-3.0-or-later) Python modules 6 years ago
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.
6 years ago
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
6 years ago
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
6 years ago
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.
6 years ago
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.
6 years ago
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.
6 years ago
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.
6 years ago
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
6 years ago
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.
6 years ago
Adriaan de Groot b65b5228e1 [welcome] Don't apply code-style to other C-code 6 years ago
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
6 years ago
Adriaan de Groot 42417ed3b2 [libcalamares] Rip out the broken jobqueue information signals (break build) 6 years ago
Adriaan de Groot 2b86d2481c [libcalamares] finish() is a private implementation detail for the job queue 6 years ago
Adriaan de Groot 41769c8794 [packages] Alphabetize package manager implementations 6 years ago
Adriaan de Groot cf1ee2cffe Docs: explain how module weights work 6 years ago
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.
6 years ago
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.
6 years ago
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
6 years ago
Adriaan de Groot 521015b1b4 [libcalamares] Match types to existing qreal usage, signal progress 6 years ago
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
6 years ago
Adriaan de Groot 08ea51a344 [partition] Fix tests after removal of single-job-enqueue 6 years ago
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
6 years ago
Adriaan de Groot ecaf97aa60 [users] Tests of config-loading of groups lists 6 years ago
Adriaan de Groot ab3e393d45 [users] Protect against a nullptr deref
- there is typically no GS during tests
6 years ago
Adriaan de Groot 4b4d7f3b10 [libcalamares] Print a big fat warning before a typical now-crash situation 6 years ago
Adriaan de Groot 2ac518d8b9 [libcalamares] Change in stringlist extraction also changes single-string 6 years ago
Adriaan de Groot 41e2de85b1 [libcalamares] Fix up test -- 'lam' isn't supposed to be in the loaded data 6 years ago
Adriaan de Groot a5555c3f94
Merge pull request #1491 from asif-mahmud/calamares
[libcalamares] retrieving string list fix
6 years ago
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
6 years ago
Adriaan de Groot 117859082e [libcalamares] Merge Tests.h into Tests.cpp
- no real need for separate file in the utils/ tests
6 years ago
Adriaan de Groot 626ac572d9 Merge branch 'hotfix-3.2.28.2' into calamares 6 years ago
Adriaan de Groot c92e12ef74 [users] Consistent styling of status badges on input fields
- Use Status* icons rather than the yes/no
6 years ago
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
6 years ago
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.
6 years ago
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.
6 years ago
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
6 years ago
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
6 years ago
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
6 years ago
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.
6 years ago
Adriaan de Groot 24efce0c1d [locale] Make sanity checks in tests more explicit
SEE #1490
6 years ago
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
6 years ago
Adriaan de Groot 34946ecdee [users] Refactor validity-checking
- provide a structured datatype for password status
6 years ago
Adriaan de Groot 1a7b2668dc [users] Emit password status changes 6 years ago
Adriaan de Groot d7b895b45d [users] Extend tests
- password requirements can disallow weak passwords
- start checking for signals on password changes
6 years ago
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.
6 years ago
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
6 years ago
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.
6 years ago
Adriaan de Groot e145bf68f1 [users] Remove extra ; 6 years ago
Asif Mahmud Shimon 3245d602db retrieving string list fix 6 years ago
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
6 years ago
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.
6 years ago
Adriaan de Groot a91ef65a37 [libcalamares] Make job weights integers 6 years ago
Adriaan de Groot 73b8ecd622 [unpackfs] Drop special-case for unpackfs
- make the module weight 12, rather than special-casing internals
6 years ago
Adriaan de Groot c19866f887 [libcalamares] Add a module-weight to the module descriptor 6 years ago
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
6 years ago
Adriaan de Groot 575bc03a5c
Merge pull request #1487 from PureTryOut/alpine-initramfs
[mkinitfs] New module
6 years ago
Adriaan de Groot e18cc81757
Merge pull request #1486 from demmm/calamares
[usersq] adding QML module usersq
6 years ago
Adriaan de Groot 050d74b4be Fix YAML schemas for all the remaining config files 6 years ago
Adriaan de Groot 14afce538b [netinstall] Fix schema -- the groups file still needs attention 6 years ago
Adriaan de Groot fcbd6e38c5 [keyboard] Fix schema -- forgotten field *writeEtcDefaultKeyboard* 6 years ago
Adriaan de Groot efab699479 [umount] Fix schema -- prefer *preservefiles* for keeping the log 6 years ago
Adriaan de Groot 2061024a03 [unpackfs] Fix schema -- new fields *exclude* and *excludeFile* 6 years ago
Adriaan de Groot 57f02464d9 [hostinfo] The hackish ARM-detection is only for Linux 6 years ago
Adriaan de Groot 665c2d53ab [libcalamares] Fix Doxygen comment for TZ locations 6 years ago
Adriaan de Groot c22e0a3451 [netinstall][users][tracking] Warnings--, extra ; 6 years ago
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
6 years ago
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
6 years ago
Adriaan de Groot efd7145f76 [libcalamares] Implement the interface-specific fields for descriptor 6 years ago
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.
6 years ago
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
6 years ago
Adriaan de Groot e1e81bb133 [libcalamaresui] Warnings--, don't shadow a parameter 6 years ago
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.
6 years ago
Adriaan de Groot 65273a262b [libcalamares] Start putting data into the module Descriptor 6 years ago
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.
6 years ago
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.
6 years ago
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
6 years ago
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.
6 years ago
Adriaan de Groot 197cb9982c [libcalamares] Sort the tests by subdir 6 years ago
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
6 years ago
Adriaan de Groot 215cd0d1c3 [users] Repair test on openSUSE 6 years ago
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.
6 years ago
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!)
6 years ago
Adriaan de Groot c8964717c7 [calamares] Bail out on invalid settings 6 years ago
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.
6 years ago
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
6 years ago
Adriaan de Groot a8075fba5f [libcalamares] Chase API change in settings 6 years ago
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
6 years ago
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.
6 years ago
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.
6 years ago
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
6 years ago
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.
6 years ago
Adriaan de Groot e507338f4c [libcalamares] Test config filenames as well (custom vs standard) 6 years ago
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.
6 years ago
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
6 years ago
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
6 years ago
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
6 years ago
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
6 years ago
Adriaan de Groot 9c382e3555 [libcalamares] Support switching public/private during tests 6 years ago
Adriaan de Groot e96198e61c Merge branch 'calamares' into issue-1176 6 years ago
Adriaan de Groot 9413b28209 [libcalamares] Improve logging - report correct number of jobs left 6 years ago
Adriaan de Groot e9f2c57442 [users] Missing ! makes install always fail
FIXES #1483
6 years ago
Adriaan de Groot 31cfdf926c [libcalamares] Apply SPDX to utils/ 6 years ago
Adriaan de Groot c48ec6bf94
Merge pull request #1481 from demmm/calamares
[welcomeq] language bar icon configurable
6 years ago
Adriaan de Groot 03871db597 [users] **keep** the create users job
- need to add the job to the list rather than just leaking it
6 years ago
Adriaan de Groot cac3e042d8 [libcalamares] Improve logging in runCommand() (less chatty) 6 years ago
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
6 years ago
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
6 years ago
demmm 01f0367459 [localeq] use image instead of theme icon 6 years ago
Adriaan de Groot 483c0a84f8 [libcalamares] Update SPDX in modulesystem/ 6 years ago
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).
6 years ago
Adriaan de Groot d83543d904 Merge branch 'calamares' into issue-1176 6 years ago
Adriaan de Groot a873badf87 [libcalamares] Update SPDX identifiers in locale/ 6 years ago
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)
6 years ago
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.
6 years ago
Adriaan de Groot e2bf62a64b [libcalamares] Repair test for old Qt
- Qt 5.11 and early 5.12 just don't support Esperanto at all
6 years ago
Adriaan de Groot f08b4e502a i18n: update English source translations 6 years ago
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.
6 years ago
Adriaan de Groot 537aad1222 [libcalamares] SPDX, DLLEXPORT on partition/FileSystem.h 6 years ago
Adriaan de Groot fe3495ff97 [libcalamares] Expand KPMCore tests
- check on FS names as well
6 years ago
Adriaan de Groot 5e5701363c [libcalamares] Test the spot-patch for Johannesburg
- Add a note about notation, degrees-minutes
6 years ago
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.
6 years ago
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.
6 years ago
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
6 years ago
Adriaan de Groot 00626fd96c [libcalamares] Refactor timezone loading
- load from a TextStream. This is prep-work for alternate TZ data
  sources.
6 years ago
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.
6 years ago
Adriaan de Groot 2f871acbfd [libcalamares] Expose distanceFunc-find for timezones 6 years ago
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.
6 years ago
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.
6 years ago
demmm e2a5eb6840 [welcomeq] language bar icon configurable
similar functionality as in welcome module, set in welcomeq.conf
6 years ago
Adriaan de Groot 8bf95b6881 [grubcfg] Support prefer_grub_d settings 6 years ago
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).
6 years ago
Adriaan de Groot aa50dfb8a1 [grubcfg] refactor finding-the-grub-paths into a function 6 years ago
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
6 years ago
Adriaan de Groot 3fc23e3b07 [grubcfg] Fix config schema 6 years ago
Adriaan de Groot 43f9f2e2f4 Merge branch 'issue-1477' into calamares
FIXES #1477
6 years ago
Adriaan de Groot 463ea3c73f [displaymanager] Fix config schema 6 years ago
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
6 years ago
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.
6 years ago
Adriaan de Groot 0de98fe4c1 [libcalamares] Expand YAML testing a little
- load/save of a stringlist seems to work
6 years ago
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)
6 years ago
Adriaan de Groot a44e6802e5 [libcalamares] Rename tests for consistency 6 years ago
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.
6 years ago
Adriaan de Groot ac713d8c4b [libcalamares] Apply locking to GS access 6 years ago
Adriaan de Groot dc5d98af7d [libcalamares] Address outdates assumptions about thread-safety 6 years ago
Adriaan de Groot 0121e3755b [libcalamares] GS improve load/save
- save should be const
- rename save() to saveJson() for parity with saveYaml()
6 years ago
Adriaan de Groot 104452513b [libcalamares] Document GS
- write apidox for all of GlobalStorage
- while here, polish up the SPDX bits
6 years ago
Adriaan de Groot 527449a102 [libcalamares] Improve GS debugDump() formatting 6 years ago
Adriaan de Groot c64aefe43c [libcalamares] Remove unused include, declaration 6 years ago
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
6 years ago
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.
6 years ago
Adriaan de Groot 71ca1e1544 [localeq] Pick up Config changes before showing the module 6 years ago
Adriaan de Groot 32c8338a9c [locale] QML doesn't like const 6 years ago
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.
6 years ago
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.
6 years ago
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.
6 years ago
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.
6 years ago
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)
6 years ago
Adriaan de Groot 21f97db8fd [libcalamares] Offer translation lookup of regions 6 years ago
Adriaan de Groot ad3c0de936 [libcalamares] Reduce logging in POD manipulation 6 years ago
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
6 years ago
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
6 years ago
Adriaan de Groot ab69e7c83a [libcalamares] Add API for geographical lookup
- find a zone given lat, lon -- with a failing test and a bogus
  implementation.
6 years ago
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
6 years ago
Adriaan de Groot d814a3dba8 [libcalamares] Sort the models before use
- zones and regions alphabetically by key
6 years ago
Adriaan de Groot 37c211fd14 [libcalamares] Add an iterator for the full zones model 6 years ago
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.
6 years ago
Adriaan de Groot 245d4a8ef7 [libcalamares] Add a find() to ZonesModel
- Look up TZ data by region and zone name.
6 years ago
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.
6 years ago
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.
6 years ago
Adriaan de Groot 3e32335511 [libcalamares] Introduce a filtering model per-region 6 years ago
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")
6 years ago
Adriaan de Groot 33e39b92fb [libcalamares] Satisfy test, return region names 6 years ago
Adriaan de Groot 609ea8350c [libcalamares] Failing test: there is data in the regions model 6 years ago
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
6 years ago
Adriaan de Groot ca40d2e2d9 [libcalamares] Introduce a failing test for the number of regions 6 years ago
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.
6 years ago
Adriaan de Groot 5066624a8e Merge branch 'issue-1471' into calamares
FIXES #1471
6 years ago
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.
6 years ago
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).
6 years ago
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
6 years ago
Adriaan de Groot eb72d662d1 [users] Add password fields to Config
- no checking is done for validity, and there is no password-status
6 years ago
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
6 years ago
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.
6 years ago
Adriaan de Groot 7b87242107 [users] PW checking does not need widgets 6 years ago
Adriaan de Groot 0ecf1e1cc1 [users] Drop default parameter for badness 6 years ago
Adriaan de Groot fcafe5db8f [users] Test the moved setHostname Config
- document that the default for writeHostsFile is *true*
6 years ago
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.
6 years ago