4503 Commits (d592a5bb947ee50b74a39c2d9d979c9653d2d1c8)

Author SHA1 Message Date
Adriaan de Groot b704933b58 [keyboard] Avoid crash with unconfigured keyboards
- If there's no items at all, ->currentItem() can return nullptr,
   so don't dereference that.

Found on FreeBSD.
6 years ago
Adriaan de Groot 3e88b408fa [calamares] Remove unused item Role 6 years ago
Adriaan de Groot 3ccbcdc1bd [libcalamares] Don't moc on JobQueue
- There is no reason for JobThread to have a Q_OBJECT macro,
   so drop the moccing (this also stops some warnings from
   the generated moc code).
 - Define the (virtual) destructor out-of-line to avoid vtable
   warnings.
6 years ago
Adriaan de Groot a1e08d2236 [keyboard] Don't use useless rvalue-ref
- Weird && usage here made redundant through RVO, just return
   something normally instead.
6 years ago
Adriaan de Groot 123c774a47 Use new automoc options 6 years ago
Adriaan de Groot bdb7bf71a8 Reduce warnings from moc-generated code
- The auto-generated code produces a lot of warnings from
   Clang 8; this obscures the more meaningful warnings from
   actual Calamares code, so tone the warnings down.
 - For Clang, set CALAMARES_MOC_OPTIONS.
 - Add convenience CMake function for automoccing. It applies
   the options as needed to a given target.
6 years ago
Adriaan de Groot cef2f50510 Reduce warnings about extra ;
- Trailing ; after Q_UNUSED
 - Trailing ; after CALAMARES_RETRANSLATE
6 years ago
Adriaan de Groot c83395ff6d Reduce warnings for yaml-cpp
- Use only utils/YamlUtils.h to pull in yaml-cpp and supporting code.
 - When compiling with clang, turn off warnings that the system header
   for yaml-cpp would generate.
6 years ago
Adriaan de Groot 27140ff5bb [libcalamares] Reduce warnings in KDAB code
- This is an older copy of kdsingleapplicationguard, now updated for
   C++11 warnings; removed __ in header guards, fixed up last of 0-for-
   nullptr, signedness mismatch.
6 years ago
Arnaud Ferraris 123222c0a8 Add global checks for partition layout
This commit adds several checks while reading the configuration of the
`partition` module, in case the partition layout configuration is
misformed. If an error is encountered, an message is printed to the
console and the module reverts to the default partition layout.

Checks are also added when implementing the partition layout, in case a
problem occurs that couldn't be anticipated (for example, when a
partition size is in %, checking its absolute value require knowing the
total device size, which is not the case when the configuration is
being read).

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Arnaud Ferraris d32733bf59 Switch to using PartSize class for partition sizes
Every call of `ParseStringSize` is replaced by using an instance of the
`PartUtils::PartSize` class.

This commit also removes the now-unused previous size parsing functions.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Arnaud Ferraris 3a58ae5e8b Introduce new partition size class based on NamedSuffix
In order to maintain consistency, and make use, create a new PartSize
class in the PartUtils namespace, which inherits from NamedSuffix for
easier parsing and handling of size strings.

The switch to using this class instead of the previous functions will be
done in a follow-up commit.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Arnaud Ferraris 680b0bc472 Add missing header to NamedEnum
Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Adriaan de Groot 92b60dac65 [libcalamares] Warnings-- over extra ; 6 years ago
Adriaan de Groot 620940c75b [libcalamaresui] Drop now-unused sortKey from LocaleLabel
- sortKey is unused
 - add englishLabel for reverse-i18n
6 years ago
The feren OS Dev a7ac046b3d
Update copyright headers 6 years ago
The feren OS Dev 9cafd0a495
Update copyright headers 6 years ago
The feren OS Dev 455505ba78
Update copyright header 6 years ago
The feren OS Dev 825c92582a
Update ViewManager.cpp 6 years ago
The feren OS Dev 700e6f0ec6
Update Settings.h 6 years ago
The feren OS Dev 6d6c152f70
Update Settings.cpp 6 years ago
The feren OS Dev d31f2d2116
Update Settings.cpp 6 years ago
The feren OS Dev 02d6e1a946
Update Settings.cpp 6 years ago
The feren OS Dev a79dfa4135
Added myself to the copyright header 6 years ago
The feren OS Dev c0d61b666d
Made amendments based on review
Fixed 'prepend' terminology in comments, restored old loop as it seems to work for me now in overwriting the file as one overall multiline instead of overwriting the file with each line at a time, code simplification based on review comments... credits-adding will come in the next commit.
6 years ago
Adriaan de Groot 5e951466df [libcalamaresui] Sort languages by ISO code
- this puts the Englishes together, and is less confusing than
   sorting with American first.
6 years ago
Adriaan de Groot 329bd36929 [libcalamares] Sanitize logging 6 years ago
Adriaan de Groot 93be1a6582 [partition] Remove confusing spaces in logging 6 years ago
Adriaan de Groot dbac9ecf7b [partition] Remove unused code
- The name table is in PartitionActions::Choices
6 years ago
Adriaan de Groot d2404851cd [partition] Reduce warnings (shadow, ;, types) 6 years ago
Adriaan de Groot 1a4a265262 [partition] Refactor check for ISO9660 6 years ago
Adriaan de Groot 75f1a05fec [partition] No copy-constructor for CDebug 6 years ago
Adriaan de Groot 009dfd7de5 [locale] Reduce warnings (shadowed global) 6 years ago
The feren OS Dev 3ecd031d9d
Better LightDM Autologin Support
This change fixes a few issues and adds a few improvements to the LightDM Autologin configuration process:

Fixes:

- Fixes malforming of configuration file out of the box, as without `[SeatDefaults]`, `[Seat:*]` or similar in the configuration file LightDM will break on a lot of distributions using LightDM

- Preserves the intended lightdm.conf file settings outside of `autologin-user` if the distribution has an /etc/lightdm/lightdm.conf file of its own

Misc. changes:

- Small spelling fix
6 years ago
Adriaan de Groot ef3b4c387c [libcalamaresui] Remove unused AbstractPage 6 years ago
Adriaan de Groot 4fec6731ba [calamares] [libcalamaresui] Improve includes
- avoid useless ../
 - sort alphabetically and by kind
6 years ago
Adriaan de Groot 520478847c Make logging more consistent.
- Across all the C++ modules, use Logger::SubEntry for sub/continues
   log lines, instead of somewhat-random indent strings.
6 years ago
Adriaan de Groot d6cf0617f6 [libcalamaresui] Make logging more consistent 6 years ago
Adriaan de Groot aaeea16871 [libcalamares] Make logging more consistent 6 years ago
Adriaan de Groot 8bb07528e2 [calamares] Make logging output more consistent
- Use Logger::SubEntry instead of various indents
 - Improve wording of message
6 years ago
Adriaan de Groot 5677a4bb28 [finished] Fix up string arguments
- The "set up" message only uses one argument.
6 years ago
Adriaan de Groot 63b317902d [libcalamares] [partition] Adjust to logging changes
- Use the un-paren'ed Continuation and SubEntry
6 years ago
Adriaan de Groot d72e3b3c22 [libcalamares] Simplify writing of logging continuations
- Instead of Continuation(), write just Continuation
 - All that futzing with overloads and tag-classes isn't needed
   since the whole point is to output some constant string. Leave
   cleverness for later, if it's needed.
6 years ago
Adriaan de Groot 198acadd23 [partition] [fsresizer] Fix KPMCore API versions
- tests need the defines as well
 - scandevices API changed with API 3.3.1
6 years ago
Adriaan de Groot c844188907 [partition] Fix build w/ "3.3.1" API
- Need older-style scanning, but new-style iteration
6 years ago
Adriaan de Groot 4e24ea29e2 [partition] [fsresizer] Adjust to post-3.3.0 API
- KDE neon ships a post-3.3.0 KPMCore, with deprecations, but not yet
   the KPMCore 4 API, so add another API-version check to handle the
   deprecations. Keeps warnings down.
6 years ago
Adriaan de Groot c0710cabe4 [partition] [fsresizer] Adjust to new #define
- Using KPMCORE4API is clearer than just relying on a version number
6 years ago
Adriaan de Groot 9159761171 [partition] [fsresizer] Fix KPMCore API detection
- There will be a 3.3.1 which still has the "old" API,
   so look at 3.3.80 (pre-4.0) instead. Make the way
   compile flags are passed consistent.
6 years ago
Adriaan de Groot 9917bc27fc
Merge pull request #1119 from cjlcarvalho/master
[partition] Fixing LVM scanning according to new kpmcore API
6 years ago
Adriaan de Groot 1a063a9b5d [partition] Use modern tr() annotation 6 years ago
Adriaan de Groot e664370b28 [libcalamaresui] Use modern tr() annotation 6 years ago
Adriaan de Groot b6cd1c576a [plasmalnf] Don't translate placeholder text 6 years ago
Adriaan de Groot 78d6b51c3c [partition] Don't translate placeholder --- 6 years ago
Adriaan de Groot 369c5f4619 [tracking] Don't translate placeholder text 6 years ago
Adriaan de Groot d0e1e46df2 [users] Don't translate CSS 6 years ago
Adriaan de Groot 95897bf83b [users] Mark as not-translated 6 years ago
Adriaan de Groot 5a95bf507f [libcalamaresui] Improve WindowDimensions class
- Make sure the class knows its own suffixes
6 years ago
Adriaan de Groot 6560c194ad [libcalamaresui] Reduce 0-for-nullptr warnings in 3rd party code
- replace = 0 with = nullptr to reduce warnings; not a meaningful
   or copyrightable change.
6 years ago
Adriaan de Groot 1008a91eba [libcalamaresui] Reduce warnings
- getting a (sensible) uint from an int is tougher than you might think
6 years ago
Adriaan de Groot 8dd22dcbbf [libcalamaresui] bail() is a [[noreturn]] function 6 years ago
Adriaan de Groot 365f83b789 [libcalamares] Reduce warnings in KDAB code
- Use nullptr and suitable include guards
6 years ago
Adriaan de Groot 2777b5dd30 [libcalamares] Reduce copying and warnings 6 years ago
Adriaan de Groot 5279e78c9f [libcalamares] Reduce warnings
- improve variable names, don't shadow
6 years ago
Adriaan de Groot c13c7c4891 [libcalamares] Don't use (bare) endl
- Use '\n' instead of endl (which should have been std::endl).
6 years ago
Adriaan de Groot d2941d335e [libcalamares] Reduce unused-parameter warnings
- The tag-class "parameters" are empty anyway
6 years ago
Adriaan de Groot b416842c20 [calamares] Reduce compile warnings in tests
- Switch debug-level to unsigned
 - Don't shadow usings; the first TR type is enough
 - The (bogus) return values were commented as // NOTREACHED,
   but still yield unreachable code warnings. Drop them
   instead, and rely on the compiler understanding [[noreturn]]
   on parser.usage().
6 years ago
Adriaan de Groot b10c7ad9c6 [locale] Reduce warnings for gcount()
- The read is at most sizeof(arr), so int is fine. Do
   the cast explicitly.
6 years ago
Adriaan de Groot 620d2a769a [users] Reduce compile warnings
- Avoid C-style casts
 - Unfortunately needs some verbose casting machinery to do
   it "right" wrt. C++ type system.
6 years ago
Adriaan de Groot 189e192c83 [shellprocess] Reduce warnings
- The old-style cast still causes a warning, but do the
   more idiomatic (void) rather then casting to (void*)
6 years ago
Adriaan de Groot 6cfb5a9c88 [welcome] Reduce unused-parameter warnings
- Don't use this if we don't need it (QObject::tr is static).
 - C++14 allows (copy) binding to arbitrary expresstions in lambda's,
   so detach from this.
6 years ago
Adriaan de Groot 713370da55 Merge remote-tracking branch 'origin/issue-1100' 6 years ago
Adriaan de Groot 547dc7d334
Merge pull request #1117 from a-wai/partition-layout-add-maxsize
[partition] Add max size parameter
6 years ago
Caio Carvalho 2c33535ee8 [partition] Using std::find_if to search in container for elements according to a condition 6 years ago
Caio Carvalho 34e091833d [partition] Fixing LVM scanning according to new kpmcore API 6 years ago
Arnaud Ferraris 6463e5f83c [users] Adjust messages to setup mode
Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Arnaud Ferraris dddebc98b5 [finished] Adjust messages to setup mode
Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Arnaud Ferraris e3cebd9da9 [plasmalnf] Adjust explanation message to setup mode
Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Arnaud Ferraris 9b77e5b17d [summary] Adjust summary text to setup mode
Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Arnaud Ferraris 866afcfe47 [welcome] Adjust checker-messages for setup mode
Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Arnaud Ferraris cbf7f4fb17 [calamares] Adjust window title for setup mode
Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Arnaud Ferraris 5358e2314d [partition] Add max size parameter
When using a custom partition layout with partition sizes in %, it can
be useful to set an upper limit to the partition size.

For instance, using a 20% size for the `/` partition will create a 24G
partition on a 120GB drive, but a 200GB partition on a 1TB drive, which
is not useful, and could be avoided by setting a maximum partition size.

This commit adds the `maxSize` parameter (with a default value of 100%).

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Adriaan de Groot 4caa401a07 [partition] Use structured logging
- Structured logging
 - Reduce chattiness
 - Use helper functions
 - Some TODO were done a while ago
6 years ago
Adriaan de Groot 04146df36b [partition] Reduce logging for mounted partitions
- The other log entries say when something is possible,
   not when something is **not** possible.
6 years ago
Adriaan de Groot 6bccbcd1f5 [partition] Improve logging of status of choice buttons 6 years ago
Adriaan de Groot b5a997d11e [partition] Use structured logging 6 years ago
Adriaan de Groot 01f5ac22a0 CMake: use conventional method for setting version
- Using project() to set up the version is idiomatic for CMake
   and more standardised than doing it by hand. Do retain the
   RC flag, because that's used in other parts of versioning.
6 years ago
Adriaan de Groot b18e0a0bd8 [libcalamares] Use structured logging tags 6 years ago
Adriaan de Groot 09ae721038 [libcalamares] Structure continuations and sub-entries 6 years ago
Adriaan de Groot b6ea171365 [libcalamares] Reduce chatty logging
- Only log module-search entries when they are bad.
6 years ago
Adriaan de Groot 53cdf0b054 [calamares] Log version and supported languages
- These logging statements happened before logging was configured,
   so never ended up in the session log. Move them to be executed later.
6 years ago
Adriaan de Groot caba74438e [libcalamares] Improve XDG handling
- When environment is empty, use default values from spec
 - Search in application-named subdirs first (but keep previous
   behavior of also searching directly in the named dirs)
 - Don't consider empty XDG_* elements
 - Settings XDG_DATA_DIRS=":" would yield an empty list of extra
   directories to check; don't bother setting haveExtraDirs for that.
6 years ago
Adriaan de Groot 4282e4c31f [partition] Instantiate the manual-partitioning page on-demand
- When the manual partitioning page exists, it reacts to
   changes in a bunch of models; these models can be changed
   repeatedly from the choice page.
 - the manual partitioning page really only needs to deal with
   the relevant selections at the moment it is instantiated.
6 years ago
Adriaan de Groot 71fd3ab010 [partition] Check-which-page consistently 6 years ago
Adriaan de Groot 8f9b9a2ccf [partition] Remove unused include 6 years ago
Adriaan de Groot 7074829c24 [partition] Initialising BootLoader model is atomic
- don't send a bunch of update signals, do only a single
   model-reset when the BootLoaderModel is (re-)initialised.
6 years ago
Adriaan de Groot cccd4402d8 [partition] Simplify DeviceModel sorting 6 years ago
Adriaan de Groot 544131c4bc [partition] Improve type notation 6 years ago
Adriaan de Groot dd6d1bf1c1 [partition] Protect PartitionModel against concurrent access
- Try to avoid concurrent access while the model is being reset.
6 years ago
Adriaan de Groot df921606b9 [partition] Update copyright headers
- Files modified in 2019 by me
6 years ago
Adriaan de Groot b55a6cf716 [partition] Improve type-constness
- Don't bother copying the vector of available PVs, we need the
   contained pointers.
6 years ago
Adriaan de Groot 7806ccbe72 [partition] Drop superfluous debug logging
- While here, update copyright header
6 years ago
Adriaan de Groot 752a922bde [partition] Lock the bootloader model during reset
- Try to avoid races between resetting the model and getting
   data from it for the UI.
6 years ago
Adriaan de Groot 3248aba899 [libcalamares] Make oem-setup independent of dont-chroot
- At least for testing purposes it makes sense to decouple dont-chroot
   from the OEM-setup wording, so introduce a separate setting for it.
6 years ago
Adriaan de Groot 3a0bd254c0 [libcalamaresui] Adjust quit-messages to setup-mode 6 years ago
Adriaan de Groot 8ee2375ee6 [welcome] Adjust welcome message to setup-mode 6 years ago
Adriaan de Groot 57ccefa1e5 [libcalamares] Distinguish "install" and "setup" modes.
- This initial bit of code re-uses the *dont-chroot* setting;
   it may need to be made independent.
 - This branch will use `isSetupMode()` to adjust user-visible
   strings to match the intended use.

SEE #1100
6 years ago
Calamares CI 7259ddd3d8 i18n: [dummypythonqt] Automatic merge of Transifex translations 6 years ago
Adriaan de Groot b03d72952b [partition] Improve logging 6 years ago
Adriaan de Groot fb412c177c [unpackfs] Improve human-readable name 6 years ago
Adriaan de Groot 5c4f2423f8 [unpackfs] Fix error in error-handling (warn -> warning) 6 years ago
Adriaan de Groot d87badbf45 [unpackfs] Add test with too-small destination FS 6 years ago
Adriaan de Groot 2a6bf50621 [unpackfs] Don't let ir-phase reduce total number of files 6 years ago
Adriaan de Groot fae0b8c2f8 [unpackfs] Re-jig progress reporting
- rsync reports its own progress, and reports on files that
   find -type f doesn't. This meant that the numbers didn't
   match what was stored in entry.total
 - The ir-phase adds files to be handled; to-phase happens once
   ir-phase is over and the remaining files are processed.
   By adding the to-phase files, percentages over 100% were
   reported (in part because the number of files doesn't match).
 - Update expected entries total from rsync output.
 - Re-jig computation of how done everything is: tally it
   up in integers, and do only one global progress percentage.
6 years ago
Adriaan de Groot 6d85fd3586 [unpackfs] One last progress call afterwards 6 years ago
Adriaan de Groot 9ce34782ee [unpackfs] Avoid double / at end 6 years ago
Adriaan de Groot dc2fafe324 [unpackfs] to-chk is also progress information
- ir-chk happens first, and then there's a phase with to-chk
   messages; use those as well.
6 years ago
Adriaan de Groot 38821f47ba [unpackfs] Make comment match code
- The mismatch between "ir-chk" and the comment "to-check" led me
   to check (ha!) the output of rsync, and it outputs "to-chk"
   during small transfers; make sure the comment reflects what
   is actually being used to track progress (which is "ir-chk").
6 years ago
Adriaan de Groot 273c32705d [partition] Restore selected bootloader
- After the BootLoader model is reset, if a bootloader location
   has been selected before, try to find it in the (now-reset)
   model to preserve the selection.
6 years ago
Adriaan de Groot 3eae445ead [partition] Don't signal changes from model before they're done
- clear() signals modelReset(), which is true, but inconvenient
   when we do a bunch of changes afterwards. Block signals,
   and rely on own signaling when all of the changes are done.
 - Keep blocking signals while updating the model, since the row
   appends otherwise trigger a change in the connected combo box.
6 years ago
Adriaan de Groot dc04aa999d [partition] Introduce post-reset slot for boot loader selection 6 years ago
Adriaan de Groot 17aeaa134a [partition] Simplify display-role code for bootloader 6 years ago
Calamares CI bab2e2ca2f i18n: [dummypythonqt] Automatic merge of Transifex translations 6 years ago
Adriaan de Groot affc73d3d2 [fsresizer] Avoid KPMCore warnings about scanDevices() 6 years ago
Adriaan de Groot 478168c841 [fsresizer] Make sure KPMCore version definitions are consistent
- Duplicate setting from partition module to fsresizer
6 years ago
Adriaan de Groot e8c18c0b5c [partition] Prepare scanDevices for post-KPMCore 3.3.0 6 years ago
Adriaan de Groot 68f29ebf20 [partition] Handle partition flag FlagEsp post KPMCore 3.3.0 6 years ago
Adriaan de Groot 2a2795c54c [partition] Avoid KPMCore warnings
- Get ready for KPMCore post-3.3.0, which deprecates a bunch of
   Flag<foo> and State<foo> in preparation of enum classes.
6 years ago
Adriaan de Groot 5d6d2b8078 [partition] Make convenienceName() available for debugging
- Function for human-readable names is useful in more parts of
   the partition module.
6 years ago
Adriaan de Groot 1ffc0bf77d [partition] Allow all the unsafe options
- If the unsafe actions are enabled, but won't be executed,
   allow more unsafe actions like erasing mounted partitions
   and everything.
6 years ago
Adriaan de Groot cd545e51b0 [partition] Reduce superfluous logging 6 years ago
Adriaan de Groot 8db004ce45 [partition] Use the FailJob to stop installation
- For unsafe installations (compile-time option), make sure
   things fail before partitions are actually written, unless
   the other option is also turned off.
6 years ago
Adriaan de Groot 62f03d8aad [partition] Allow unsafe partitioning decisions
- This is a compile-time choice, and off by default. This may be useful
   for developers that need to get through installation to a different
   partition on their root drive.
 - Add an option to avoid actually doing unsafe things. This is an extra
   safeguard; you need to turn on one and turn off the other option to
   really be unsafe.
6 years ago
Adriaan de Groot 2caefce3cb [locale] Add a CMake option for debugging 6 years ago
Adriaan de Groot 3db708dd04 [keyboard] qDebug -> cDebug 6 years ago
Adriaan de Groot 826453aa65 [calamares] Note that qDebug() is sometimes ok 6 years ago
Adriaan de Groot 4b486cfe82 [libcalamares] Add some debugging Jobs
- FailJob always fails, and GoodJob always succeeds, both without doing
   anything. These aren't particularly useful, except for debugging.
6 years ago
Adriaan de Groot 2b7832857c [libcalamaresui] Simplify checking dependencies
- Avoid crash due to invalid iterator, when modules
   are removed due to missing requirements.
 - Simplify code, factor out the determination of
   which required modules are missing.
6 years ago
Adriaan de Groot 5f308e8e17 [calamares] Check that a sequence has been set 6 years ago
Adriaan de Groot 7515f36b96 [libcalamares] Refactor settings-loading some more
- Load instances list in a separate method
 - Load sequence list in a separate method
 - Don't rely on QASSERT, explicitly throw if something is missing.
6 years ago
Adriaan de Groot 5a8ed8583f [libcalamaresui] Complain about missing config files
- When no config file is found, tell where it wasn't.
6 years ago
Adriaan de Groot e18e4e3d6f [libcalamares] Refactor module-search path
- Refactor code that fills up the module search path from
   the *modules-search* configuration key.
 - Improve debug logging while here.
6 years ago
Adriaan de Groot 540d27d0c3 [libcalamares] Convenience function YAML->QStringList
- operator>> already existed, but here's a version that
   can be used in function-call context.
6 years ago
Adriaan de Groot 43f6405714 [welcome] Simplify team listing
- There are a lot more contributors who should be named, but
   it's not going to fit here. Instead, link to the website.
6 years ago
Adriaan de Groot 105f9c4861 [partition] Set firmware type
- This got lost in 3.2.4.
 - Thanks Gabriel for hunting it down; patch applied with some changes.
6 years ago
Adriaan de Groot bc26c3e009 [welcome] Remove unused method
- This **should** be used, though. See #1104. It should be used
   somewhere else.
6 years ago
Adriaan de Groot a93df6fcfb [bootloader] Requires partition before it. 6 years ago
Adriaan de Groot 5513b5a697 Docs: mention python module descriptor key 6 years ago
Adriaan de Groot 2fdf799ee1 Docs: document the requiredModules descriptor key 6 years ago
Adriaan de Groot eab36a098f Docs: shuffle the modules README 6 years ago
Adriaan de Groot 53fb53454f Docs: fix up explanations, mention INSTALL_CONFIG 6 years ago
Adriaan de Groot fdb4311a70 Merge branch 'issue-1098'
- Doesn't fix the issue, but adds useful things I want in master
   already, also for debugging other issues.
6 years ago
Adriaan de Groot 2b149fb944 [partition] Uncomment updateButtons()
- This was commented out to combat the crash in device->type()
 - I believe the crash was caused by double-deletion, which was
   fixed in 2092ec3c9a by not re-
   parenting an immutable copy of something.
 - Restore the button-fix, since we need that to keep the
   *create* button in-sync with the selected partition.

FIXES #1097
6 years ago
Adriaan de Groot 3e067e617e [partition] Add accessor and documentation to BootLoaderInstallPath 6 years ago
Arnaud Ferraris 982840bafd [partition] Allow a configurable EFI System Partition size
As requested, this commit adds a new configuration option to the
partition.conf file, name `efiSystemPartitionSize`.

When this option is absent, the default size of 300MiB will be used.

Fixes #1090

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Arnaud Ferraris a5258f07a1 [partition] move bytesToSectors() and sizeToSectors() to PartUtils
In order to allow the use of these functions across the whole partition
module and keep all partition size-related functions in the same
namespace, this commit moves them to PartUtils.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Arnaud Ferraris c3ccc0de0e [libcalamares] Add a KiB unit
This commit creates a _KiB operator for future use by the partition
module.
It also fixes a typo in one instance of MiBtoBytes(), requiring a couple
extra fixes.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Arnaud Ferraris 90eb6afd52 [partition] move parseSizeString() function to PartUtils
In order to be able to parse partition size strings using the same
functions across the partition module, the parseSizeString() function is
exported to the PartUtils namespace.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Adriaan de Groot b4cefff975 [partition] Avoid heap-wrangling
- The CreatePartitionDialog doesn't need to be on the heap, it's
   modal here. Avoid QPointer weirdness as well.
6 years ago
Adriaan de Groot 943f3fb1f9 [partition] Improve debug-logging
- Use cDebug() instead of qDebug()
 - Be more chatty when selecting a bootloader installation path
6 years ago
Adriaan de Groot 92d9c9491a [partition] Reduce lambda-happiness
- Make some methods that are called mostly as slots, actual slots,
   instead of going through extra lambdas.
 - Use QOverload<>::of for disambiguation instead of homebrew casts.
6 years ago
Adriaan de Groot 4d8acdf425 [welcome] Code-formatting
- Update copyright headers
 - Apply calamaresstyle
6 years ago
Adriaan de Groot 54ba0aaf13 [welcome] Use convenience function
- Introduce a hasDetails() for RequirementEntry, which is just
   a short-cut, but makes code more readable.
6 years ago
Adriaan de Groot bfb5a4efb9 [welcome] Chase file renaming
- Rename classes inside
 - Rename include guards
6 years ago
Adriaan de Groot 1240f63a39 [welcome] Rename files to reflect their purpose 6 years ago
Adriaan de Groot ba9a6981b3 [welcome] Fix SEGV
- In the retranslate function, need to check if the waiting
   widget still exists.
 - Tighten up lifetime of the CheckerWidget.
6 years ago
Adriaan de Groot 7cfaba2d53 [partition] In logging, name device nicely
- Provide a convenience method that names a Partition* with the
   best human-readable name we can find (worst-case, spit out a
   pointer representation which will at least help figure out
   the identity of the Partition*).
6 years ago
Adriaan de Groot 33bd6c67c0 [welcome] Without libparted, don't even check size available 6 years ago
Adriaan de Groot 8cf3c217f7 Merge branch 'requirements-checking' 6 years ago
Adriaan de Groot 9889bd6cbe [welcome] Be louder when libparted is disabled 6 years ago
Adriaan de Groot c3d13e3451 [libcalamaresui] Add documentation to ViewStep methods 6 years ago
Adriaan de Groot 64ca9d0d5a [libcalamaresui] Document multi-page support. 6 years ago
Adriaan de Groot cece01e3c5 [partition] Simplify next() 6 years ago
Adriaan de Groot 6071489788 [libcalamaresui] Provide default implementations of next() and back()
- These methods are used for multi-page view-steps, which are rare.
   For all the others, just drop the empty implementation and defer
   to the base class.
6 years ago
Adriaan de Groot 08565b5f17 [libcalamaresui] Remove the signal done() from ViewStep
- The signal is emitted, generally from next(), but not actually used.
6 years ago
Adriaan de Groot 40a7082bfc [libcalamaresui] Handle no-requirements-to-check case
- If there's no requirements at all, none of the watchers
   will call finished(), so do it once extra.
6 years ago
Adriaan de Groot 987cf36f51 [welcome] Use convenience types 6 years ago
Adriaan de Groot 8a8ec01380 [welcome] Don't enable next early
- Next was enabled early; presumably to cover the case that no requirements
   were checked and the requirements checker never emitted an update signal.
   Drop that since the module manager is now responsible for doing that checking.
6 years ago
Adriaan de Groot fbb513eee3 [partition] Remove artificial delay
- The sleep(3) was meant as a debugging aid for the multi-threaded
   part of requirements checking.
6 years ago
Adriaan de Groot 0ad115732e [libcalamaresui] Report elapsed time as well.
- While waiting on modules, report the elapsed time in seconds
   based on the number of progress-ticks that have passed.
6 years ago
Adriaan de Groot 5ddf7b980b [libcalamaresui] Report progress also while waiting
- Ping the progress every 1.2 seconds, so the user sees more than
   just the throbber.
6 years ago
Adriaan de Groot 452b51304d [welcome] Update next button when checking is complete 6 years ago
Adriaan de Groot 40de1bd2eb [partition] Give requirement entry a description
- The description is used in the Details dialog when the
   requirements fail. This one should be visible.
6 years ago
Adriaan de Groot 2092ec3c9a [partition] Drop some re-parenting trickery
- Can't re-parent across threads easily
 - If device is made by immutableDeviceCopy(), then it's still owned by the
   PartitionCoreModule; giving it away to the widget is not a good idea.
6 years ago
Adriaan de Groot ac652a2bc1 [libcalamaresui] Report module-name in italics 6 years ago
Adriaan de Groot 41fecf341b [libcalamaresui] Avoid metatype warnings at runtime
- Register the types with the Qt type system. This is needed
   because we're passing them as signal and slot parameters
   across threads.
6 years ago
Adriaan de Groot f1aa22d9e8 [libcalamaresui] Sort signals chronologically 6 years ago
Adriaan de Groot c508e3ed4d [welcome] Show progress during requirements checking 6 years ago
Adriaan de Groot b169281b69 [libcalamaresui] Use convenience type 6 years ago
Adriaan de Groot 2cdfe35430 [welcome] Avoid threading warnings
- The NAM is being created from a method call on the GeneralRequirements
   object in the requirements-checking thread, while the GR object itself
   was created in a different thread. This cross-thread parenting
   produces a warning, and we don't need the parent relationship here
   anyway.
6 years ago
Adriaan de Groot e50c2bcb44 [grubcfg] REVERT d775cee4cf
This is causing issue #1073 and needs further thought.
6 years ago
Adriaan de Groot a19d81e38c [welcome] Chase renaming of files
- Rename the classes to match
 - Drop some unused includes
6 years ago
Adriaan de Groot c1cd88d5fa [welcome] Rename files before class-rename 6 years ago
Adriaan de Groot 6090a464f8 [libcalamaresui] Switch requirementschecking to threaded mode
- Use QFuture and QFutureWatcher to spawn threads that do the actual
   checking of the requirements; collect results and report on
   them as they come in.
6 years ago
Adriaan de Groot e366e7d83a [displaymanager] It's not fatal to have no DM
- If a distro provides an install-scenario that doesn't provide a DM,
   (e.g. via netinstall) then that should be ok; if there **is** a DM
   it should be configured.

FIXES: #1095
6 years ago
Adriaan de Groot be5abf08dc
Merge pull request #1094 from a-wai/fix-default-fs
[partition] Fix default fs

FIXES: #1093
6 years ago
Arnaud Ferraris 74ead4c7ba [partition] improve filesystem search operation
Due to changes to the FileSsytem::typeForName() function, more
processing is needed to deal with locales and different cases.
This is done by refactoring the findFS() function, initially located in
the PartitionViewStep class, and making it available to the whole module.

Additionnally, more checks have been implemented regarding the use of
global storage in the PartitionLayout class, and the filesystem types
now use the correct FileSystem::Type, as requested.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Adriaan de Groot cd92b8dd5e [libcalamares] Simplify logging code
- log() was never called with a non-default value for toDisk,
   so simplify to true. Keep the if() around to indicate block scope.
6 years ago
Arnaud Ferraris 5084c44b54 [partition] fix naming of PartitionLayout class member variables
Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Adriaan de Groot 79c20b8fbd [partition] Fix user-visible strings
- The default window title in the designer file wasn't a good string
   to translate. Use one of the titles instanced from elsewhere.
 - The window titles set in subclasses were not translatable.

FIXES #1092
6 years ago
Arnaud Ferraris 586cb63ef5 [partition] use configured default filesystem type instead of ext4
When using the default partition layout (only a `/` partition), the
filesystem used was ext4, ignoring the `defaultFileSystemType`
configuration option.

This commit fixes this bug, so that any supported filesystem can now be
used for the default partitioning scheme.

Fixes #1093

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Adriaan de Groot 3ea6c6cfbe [users] Rename badly-named variable 6 years ago
Adriaan de Groot c678cd80b4 [libcalamaresui] Refactor Requirements-Checking
- Move the actual checking into a separate object with some lifecycle-
   management signals.
 - Right now this is still single-threaded and blocking, so no net gain.
6 years ago
Dan Simmons 651b52ead9 Fix spelling typo 6 years ago
Adriaan de Groot bbb9ff0cbf [libcalamaresui] Remove useless #define 6 years ago
Adriaan de Groot ff10e1301d [libcalamaresui] Fix struct/class mismatch 6 years ago
Adriaan de Groot 18efcf2200 [welcome] Drop unnecessary parameter 6 years ago
Adriaan de Groot 5aa4e52452 [libcalamaresui] Improve debug-logging 6 years ago
Adriaan de Groot 946c5a493f [services-*] Fix translations
- Strings like "{} the {} with {}" are terrible for translators:
   - no context
   - no possibility to re-order grammatical units
   - substituting in English parts-of-speech is going to make a mess
 - Write the strings out with explicitly named substitutions,
   no part-of-speech substitution, and better formatting.
6 years ago
Adriaan de Groot d33752c66c [libcalamaresui] Refactor Requirements classes
- improve naming of member variables
 - expand documentation
6 years ago
Adriaan de Groot 43eae0bc47 Merge branch 'master' into requirements-checking 6 years ago
Adriaan de Groot 723358e145 [partition] Reduce Transifex warnings
- Add a (superfluous, since they don't have their own signals or slots)
   Q_OBJECT macro to the VG jobs, to silence a Transifex warning (this
   does make sure that the tool knows about the context for the translated
   messages)
6 years ago
Adriaan de Groot 6fbc467795 [partition] Reduce Transifex warnings
- the string here has no context (no QObject-derived class that
   it is called in) so use the static method instead.
6 years ago
Adriaan de Groot b7c77e7323 [services-systemd] Make user-visible messages translatable 6 years ago
Adriaan de Groot 544c1b708c [services-openrc] Make user-visible messages translatable 6 years ago
Adriaan de Groot c9f89e2929 [modules] Translate name of services-* modules. 6 years ago
Adriaan de Groot 4178d5841c [modules] Enable translations on some Python modules
- Python modules should have human-readable names, which
   means that the description should be translated in `pretty_name()`
6 years ago
Adriaan de Groot 0f80a6295b [libcalamares] Reduce warnings about trailing ; 6 years ago
Adriaan de Groot 496f9fdaf1 [libcalamares] Fix tests
- The test wants to read settings.conf, but by default it's run
   from way inside the build dir, where there is no such file.
   Go looking for one (but not too far).
6 years ago
Adriaan de Groot 9b36783961 [rawfs] Add example configuration
- Part of the tests checks that the example configuration
   is not empty. So uncomment the example. (Distro's should
   not be installing the example configs, and this one in
   particular needs to be customized).
6 years ago
Adriaan de Groot f825a63bfe [fsresizer] Fix tests
- Test used 127% as value; this is now considered an invalid
   percentage (greater than 100%) and yields different values.
6 years ago
Adriaan de Groot 2a8960cd0f [partition] Ensure combobox pre-selects consistently
- Match the selected item in the combobox with a given default,
   which should be whatever is selected from the available set of
   choices.
6 years ago
Adriaan de Groot 5f20eedb6e [partition] Use swap-choice member, not the combobox pointer
- Store changes to the selected swap-choice when the combobox changes
 - Use that member instead of dereferencing the combobox

This avoids nullptr crashes when the combobox isn't even created
(e.g. when there is only one swap choice).
6 years ago
Adriaan de Groot a4e6d4cd35 [partition] Rename combo box
- Too much confusion possible between the different members all
   named variations of *SwapChoice*
 - Update copyright years, too
6 years ago
Adriaan de Groot 335976e32c [partition] Improve defaultFS handling
- drop the localized comparisons; that's just confusing
 - warn when no default FS is set (then use ext4)
 - fix case-insensitive fallback; it used fsType, which was
   set to Unknown in the for loop.
6 years ago
Adriaan de Groot faa3392cc5 Merge branch 'smooth-partition-crash' 6 years ago
Adriaan de Groot dff5afe227 [partition] Reduce refreshes when reverting 6 years ago
Adriaan de Groot b9fa0398c0 [partition] Disable one call to updateButtons()
- suggested by @abucodonosor, removing this one call seems
   to solve the data race for the device model.
6 years ago
Adriaan de Groot ebc9a00bcf [users] Massage text widths
- Make the explanations about 3 times as wide as the text-boxes
   that they are explaining. This is partly moot because the
   text-boxes have fixed pixel sizes in the designer file, but keep
   it flexible for now.
6 years ago
Adriaan de Groot 1adf4da736 [users] Small space between password explanation and checkboxes 6 years ago
Adriaan de Groot 6316173f1b [partition] More conservative handling of device pointers
- thanks @abucodonosor
6 years ago
Adriaan de Groot a6edb3ed34 [partition] Refactor PartitionEntry
- add a constructor that parses size and min
 - minor reduction in code duplication
6 years ago
Adriaan de Groot 5863300f67 [partition] Use const QString&
- minor code-layout and idiomatic-C++
6 years ago
Adriaan de Groot abf1f14604 [partition] Initialize members of PartitionEntry 6 years ago
Adriaan de Groot 04b4e37bd0 [partition] Don't display unsupported swap styles
- Suppress unsupported options while reading the config file.
6 years ago
Adriaan de Groot 0fdc737968 [partition] Fix logging output
- Using the assignment-operator just generates blank lines.
 - Using QLog with a log-level avoids the cDebug()-style special
   handling of warnings and errors (useless here, but may as well
   fix code style).
6 years ago
Adriaan de Groot 2fda5957f1 [partition] Complain about unsupported swap choices 6 years ago
Calamares CI 33ed176b2e i18n: [dummypythonqt] Automatic merge of Transifex translations 6 years ago
Adriaan de Groot 7711cb0ad3
Merge pull request #1080 from a-wai/fix-systemd-boot-install
[bootloader] Fix systemd-boot installation
6 years ago
Adriaan de Groot 273461a497 [partition] Be verbose about handling osprober results 6 years ago
Arnaud Ferraris 91430a3cdb [rawfs] Add rawfs source to the `partitions` entry in global storage
When using the `rawfs` module for copying data, it may be useful to
save the source device used for later checks or actions. This commit
therefore adds a `source` field to each corresponding partition entry in
global storage, so that this information can be retrieved later during
the installation process.

Another small improvement is that global storage is now modified only
once (it was previously modified as many times as there were entries
processed by the `rawfs` module).

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Arnaud Ferraris a14968a646 [bootloader] Fix systemd-boot installation
When choosing `systemd-boot` as the bootloader, numerous problems
occurred:

- the kernel and initrd were not copied to the EFI System Partition,
and therefore could not be reached by the bootloader
- the fallback entry used the default initramfs image instead of the
fallback image

`systemd-boot` provides the `kernel-install` utility, which
automatically copies the kernel + initramfs to the EFI partition, and
creates the corresponding bootloader entry.

Unfortunately, `kernel-install` cannot be used here as the module is not
executed in a chroot. As setting up one only for running a single
command would be overkill, this patch re-creates what `kernel-install`
usually does:

- copy the kernel and initramfs to their own subdirectory at the root of
the EFI partition
- create the corresponding entry configuration file

To this end, the `systemd-boot` installation code in the `bootloader`
module has been largely refactored, including removing a few duplicate
LOCs.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Adriaan de Groot 2c6ff26aaa [partition] Reduce warnings 6 years ago
Adriaan de Groot d3ac29d98c
Merge pull request #1077 from a-wai/partition-layout-fix-sizes
Fix partition layout sizes parsing
6 years ago
Arnaud Ferraris 32a5a796f7 [rawfs] Allow use of symlinks in configuration
In its current state, the 'rawfs' module requires the source partition 
to be identified either by its mount point or device name, but using a 
symlink to either one (e.g '/dev/disk/by-uuid/...') would fail.

This patch fetches the real path of source partition, allowing the use 
of symlinks.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Arnaud Ferraris cf45d55b32 [partition] Fix parsing of partition size in partition layout
When setting the size of a partition without indicating the unit, two
problems occur:

- the size is parsed as an integer, not as a string, hence the
configuration parsing fails
- the size parser doesn't recognize the fact that the size has no units
and defaults to 100%

This patch fixes the configuration parsing as well as the size string
parsing.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Arnaud Ferraris 18bb71aceb [partition] Fix minimum size parsing in partition layout
When a partition doesn't have a minimum size in the partition layout
configuration, it defaults to using 100% of the available space.

This patch fixes this error by setting the minimum partition size to 0
when the attribute has been omitted.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Adriaan de Groot fe0c57c7af [calamares] Make loadmodule --help consistent
- Name job.yaml consistently, call it "job settings document"
6 years ago
Adriaan de Groot 958d15fb71 [libcalamares] Improve saveYaml()
- Write out Int, Double
 - Special-case empty lists
 - Do objects (not lists of objects) correctly

Now passes the tests for all the example config files.
6 years ago
Adriaan de Groot 3d6dd1202a [libcalamares] Extend tests to all example config files
- Do a `find ../src/ -name *.conf` to get files to load
 - Load and save all of them to check for correctness
6 years ago
Adriaan de Groot e25deffa74 [libcalamares] Implement most of dumpYaml
- Write out bools, strings, lists and maps; this is enough to
   read and reproduce settings.conf
 - Fix infinite loop in writeIndent()
6 years ago
Adriaan de Groot f72d6ca403 [libcalamares] Add very basic test for load/save YAML 6 years ago
Adriaan de Groot 8789b52cb1 Tests: add language and global-settings options
- The test-loader can be set to a specific language through the
   -l option (just like the Python one can) and can load a global
   configuration file.
6 years ago
Adriaan de Groot 5e1bcd9b4a [libcalamares] Stub of saveYaml
- This belongs alongside loadYaml, so place it in libcalamares
 - Doesn't actually save anything yet (it isn't used yet)
6 years ago
Adriaan de Groot 5efbf51ed3 [libcalamares] Improve naming in implementation
- The code in loadYaml was refactored out of the module-descriptor
   loading code, but the variable names in the implementation were
   not changed and still strangely specific to the prior task.
6 years ago
Adriaan de Groot b3a7545217 [unpackfs] One more test case 6 years ago
Adriaan de Groot b44fd65986 [libcalamares] load/save globals in YAML format 6 years ago
Adriaan de Groot a36afc52df Tests: add command-line options to loadmodule
- The testing-application loadmodule gets -g and -j options
   for loading configurations (although -g is not implemented yet).
6 years ago
Adriaan de Groot aebe67fde7 [libcalamares] Improve debug message while looking for gettext 6 years ago
Adriaan de Groot d95193f646 [unpackfs] Translate and log other error messages 6 years ago
Adriaan de Groot 79ce2c2d0f [unpackfs] Translate pretty module name 6 years ago
Adriaan de Groot 28efe2b85a [unpackfs] Log messages in English, too
- For debugging purposes, need to log the message in English before
   returning the (user-visible) error description.
6 years ago
Adriaan de Groot 8ddf801bfb [unpackfs] Switch on translations for user-visible strings 6 years ago
Adriaan de Groot 18f172e80c [unpackfs] Add tests
- Add global- and job-configurations for test runs.
 - Add a driver script that sets up some assumptions on the host
   system so that the tests can complete.
 - The idea is that these tests together get a decent code-coverage
   for the module.
6 years ago
Adriaan de Groot 2d684bb385 [unpackfs] Be more resilient to globalStorage weirdness
- If no extraMount is defined, just don't mount anything
6 years ago
Adriaan de Groot 823b5e480e Tests: add script for running multiple Python-module tests
- This is a driver script for running testmodule.py multiple times
   with different global- and job-configurations.
 - Usage: testpythonrun.sh <modulename>
 - Run the script from the build-directory. It uses files from the
   tests/ (source) subdirectory to drive the test runs.
6 years ago
Adriaan de Groot e96a29b1b9 [unpackfs] Improve error message wording 6 years ago
Adriaan de Groot 56d05d5834 [unpackfs] Reduce file-reading
- Only need to get the list of supported filesystems *once*,
   not for each and every filesystem that is going to be unpacked.
 - Be more Python-idiomatic.
6 years ago
Adriaan de Groot 4ceedf239c Merge remote-tracking branch 'origin/master' 6 years ago
Adriaan de Groot 73c39adf9c Merge branch 'improve-swap-ui' 6 years ago
Adriaan de Groot ee5eef36d2
Merge pull request #1075 from a-wai/rawfs-module
Add a raw filesystem copy module
6 years ago
Adriaan de Groot 667c0594a4
Merge pull request #1074 from a-wai/disable-cancel-button
Add a settings.conf option to disable "Cancel" button
6 years ago
Adriaan de Groot 02416578cd Merge branch 'release-3.2.4' 6 years ago
Calamares CI 2f35ff96bb i18n: [dummypythonqt] Automatic merge of Transifex translations 6 years ago
Arnaud Ferraris 902772d9f8 [rawfs] Fix copyright notice in module header
Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Arnaud Ferraris 4e6492de28 Add a raw filesystem copy module
In some cases, we might want to copy a filesystem as if we were using a
simple 'dd' command, in order to create an exact copy, down to the block
level.
This can be useful in particular when working with dm-verity for
checking the rootfs integrity: that way, we can make a direct copy of
the rootfs and its verity partition and keep the system usable.

This patch adds a new 'rawfs' module to calamares, making possible to
block-copy a filesystem to a block device.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Arnaud Ferraris db3d3a7d03 Add a settings.conf option to disable "Cancel" button
In some cases, e.g. when calamares is used as an "initial setup" tool,
we may want to user to go through all the configuration steps in order
to end up with a usable system.
Therefore, disabling the "Cancel" button can be useful in this case.

This commit adds an option to settings.conf which disables this button
when set to "true". If the option is not present in the settings file,
the default behavior ("Cancel" button enabled & visible) is enforced.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Adriaan de Groot b913753831 [partition] No need to re-query the current choice 6 years ago
Adriaan de Groot aef61a42bc [partition] Tidy up code
- avoid possible nullptr dereference on connect() if no swap choices
 - group retranslations together
6 years ago
Adriaan de Groot 24422b19bd [partition] Idiomatic connect() usage 6 years ago
Adriaan de Groot fbef117fc8 [partition] Remove unused code 6 years ago
Adriaan de Groot 8ecae75dc8 [partition] Simplify code a little
- Document and make pickOne() more correct
 - Reduce calls to globalStorage(), it doesn't change
6 years ago
Adriaan de Groot e85fedfd41 [partition] Drop comment that doesn't apply anymore 6 years ago
Adriaan de Groot fee1794924 [partition] Use NamedEnumTable support code
- reduce amount of custom code by using the (new) generic implementation
6 years ago
Adriaan de Groot a51a000681 Merge branch 'master' into improve-swap-ui 6 years ago
Adriaan de Groot bcce704589 Merge branch 'resize-control'
FIXES #1062 #1038
6 years ago
Adriaan de Groot 12665192ae [libcalamaresui] Defend against missing config settings 6 years ago
Adriaan de Groot ef94b1f689 [calamares] Support noexpand
- When in noexpand mode, just don't grow the window, and assume
   widgets elsewhere will get scrollbars automatically.
6 years ago
Adriaan de Groot 866797a6c9 [calamares] Support starting fullscreen 6 years ago
Adriaan de Groot 80569a746f [libcalamaresui] Relax validity check in branding
- A size of 64em has a value less than 1024, which is the minimum
   size **in pixels**. The check doesn't make sense as-is and would
   have to take the unit into account. Leave that to clients of
   branding (e.g. CalamaresWindow, which already does this).
6 years ago
Adriaan de Groot 79cee26b33 [libcalamares] Switch to std::vector
Keeping std::initializer_list around is fraught. Causes segfaults
because I'm not keeping the underlying temporary array around
properly. Switch to vectors because those initialize from the
underlying array.

TODO: look into making this sufficiently constexpr -- perhaps
just use std::array and make find() work on that.
6 years ago
Adriaan de Groot 097927eb3e [libcalamares] Fix off-by-one in taking substring for value 6 years ago
Adriaan de Groot 0648a3facf [fsresizer] Be explicit about type of string 6 years ago
Adriaan de Groot f6c69db9ff [calamares] Use branding-settings for initial window-size 6 years ago
Adriaan de Groot 32ab377e43 [libcalamaresui] Record branding window-size 6 years ago
Adriaan de Groot 99a19c7c6b [libcalamares] Document NamedSuffix
- Add more constructors
 - Make the table-constructor public, no need to force
   subclassing on everyone
 - Declare some useful API
 - Document the bits.
6 years ago
Adriaan de Groot ef33aa01f3 [fsresizer] Port to NamedSuffix template 6 years ago
Adriaan de Groot e28aeebb48 [libcalamares] Introduce helper NamedSuffix template
For (all?) those cases where we have configuration with
a value followed by a unit, introduce a class that
uses the NamedEnum properties to make parsing and split-up easier.
6 years ago
Adriaan de Groot 819a57e458 [libcalamaresui] Store resize configuration
- Use the named enums code for simplicity.
6 years ago
Adriaan de Groot 194f693412 [partition] Use new NamedEnum approach 6 years ago
Adriaan de Groot 9c2a6b03e4 [libcalamares] Slight refactor, move into NamedEnumTable
- expand documentation on find()
 - make find() methods
6 years ago
Adriaan de Groot fb44113561 [libcalamares] Named enumeration support 6 years ago
Arnaud Ferraris 5cacc0ddc6 Merge remote-tracking branch 'upstream/master' into partition-layout 6 years ago
Adriaan de Groot 305249976f
Merge pull request #1069 from a-wai/preserve-selected-device
Preserve current device when going to manual partitioning and back
6 years ago
Adriaan de Groot ba63084c7e [partition] Refactor fstype naming
- Use locale "C" for checking filesystem names
 - Also check other possibilities and case-insensitive, to
   be more forgiving of weird configurations (and localizations)
6 years ago
Arnaud Ferraris dfb5412c57 [partition] Preserve current device when going to manual partitioning
Fixes #1043

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Calamares CI 807861c97d i18n: [dummypythonqt] Automatic merge of Transifex translations 6 years ago
Adriaan de Groot 44211ee19a Merge branch 'release-3.2.3'
- Pull in CHANGES and release-numbering modifications
 - Pull in locale fixes
 - Bump version again, to 3.2.4-RC1 in master
6 years ago
Adriaan de Groot 4b1b71dd3e [locale] Update Copyright statements 6 years ago
Adriaan de Groot 527392f0af [libcalamares] Update Copyright statement 6 years ago
Adriaan de Groot 200f68ae48 [locale] Reduce debug-chattiness 6 years ago
Adriaan de Groot f1cbd5fcbf [locale] Provide API for setting language
- The language and BCP need to be in-sync
 - Existing code was inconsistent in setting things, which is why
   you could get through the locale page without setting a locale
   (at all) or it would keep English in spite of picking Germand on
   the welcome page.
 - Patch tests to use that API.
6 years ago
Adriaan de Groot 8cc0e1f5f9 [locale] Expand tests to check lang
- This shows that one constructor isn't doing it right.
6 years ago
Arnaud Ferraris 921f70d3bb [partition] Fix size and last sector computation
Due to a computation error when calculating the total drive space and
each partition's last sector, the last partition's last sector was out
of boundaries, leading to an error creating this partition.

This patch fixes the computation algorithm to get rid of this error.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Adriaan de Groot 2345b933cd [locale] Add operator << for LocaleConfiguration, for debugging 6 years ago
Adriaan de Groot dbe50fe3db [locale] Improve LocaleConfiguration constructors
- Allow split-setting of the language and formats
 - Test new constructors
 - Since fromLanguageAndLocation can handle empty localeGen
   lists just fine, skip all the weird checks that return
   invalid guessed locale configurations.
6 years ago
Adriaan de Groot 0a526febae [locale] Refactor setting the BCP47 name and update test 6 years ago
Adriaan de Groot b1921cced9 [locale] Add tests for some of the data classes 6 years ago
Adriaan de Groot 50e6f0fcbf [locale] Replace weird static-constructor
- Replace createDefault() with a constructor that takes a
   locale name; use it with en_US.UTF-8 in those places where
   createDefault was previously used.
6 years ago
Adriaan de Groot 093240c131 [libcalamares] Be less chatty in Python scripts
- When finding the gettext path, the debug output was very
   chatty and didn't include an indication that it was looking
   for translations.
6 years ago
Adriaan de Groot 9d871fb9db [locale] Update global locale setting when it changes
- use debugging to be a little more chatty
 - when changing the system language on the locale page,
   the global locale setting should change, too.
6 years ago
Arnaud Ferraris cb60a3e7f1 [partition] Keep copyright notice for copied code
Some code was copied and adapted from PartitionActions.cpp. For full
compliance, it is best to copy the copyright holders list from this file
to PartitionLayout.cpp.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Adriaan de Groot bc398756f5 [locale] Debugging support for Location
- code formatting
 - provide an operator << for debugging TZ widget
6 years ago
Adriaan de Groot 3ff480eaa9 [locale] Refactor to make updating global locale setting easier. 6 years ago
Arnaud Ferraris fcd0e8d362 [partition] Apply partition layout when replacing free space
When chosing the "Replace partition" option, free space is not handled
like any partition. In order to apply the custom partition layout in
that case too, we have to modify the code where "replace free space" is
handled.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Arnaud Ferraris ba673b17ee [partition] Add configuration option to disable manual partitioning
In some cases where a custom partition layout is used, use of this
layout is mandatory (this can be the case when using a read-only rootfs
which is updated by block-cpying an image file to it).

For these cases, the user must not be able to change the partition
layout, therefore we have to disable manual partitioning.

In order to stay consistent with current behaviour, manual partitioning
is still enabled by default. It will only be disabled if the partition
module's config file contains the corresponding option set to "false".

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Arnaud Ferraris 2f14a21456 [partition] Apply custom layout when installing "Alongside"
When choosing "Install alongside another system", the custom partition
layout is applied to the space freed by resizing the selected partition.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Arnaud Ferraris 74a59ae68a [partition] Display partition labels when they exist
Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Arnaud Ferraris 0d284759f5 [partition] Apply custom partition layout for Erase and Replace choices
This patches add new methods to both PartitionLayout and
PartitionCoreModule classes which apply the partition layout to the
available drive space.

In addition, the partition creation code from PartitioinActions is
removed to call the newly created methods instead, thus applying the
custom partition layout when the "Erase whole disk" and "Replace
partition" choices are selected.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Arnaud Ferraris f863912a2f [partition] export PartitionActions::bytesToSectors for future use
As we move some of the partition creation code away from
PartitionActions, we will need the bytesToSectors function. Rather than
copying it, we export it in the PartitionActions namespace, so that
other classes can use it.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Arnaud Ferraris b2bf873ede [partition] Initialize partition layout from config file
In order to keep the partition layout during calamares' execution, we
add a PartitionLayout object instance to PartitionCoreModule. This class
will therefore be used to initialize the PartitionLayout object and
interact with it thoughout the program's execution.

When no partition layout is present in the config file, we initialize
the layout with a single ext4 partition mounted on '/', as it was
previously done.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Arnaud Ferraris f1ead5193d [partition] Create PartitionLayout class
In order to use a custom partition layout in the partition module, we
need to write this layout in the module's config file, and store it into
a dedicated object.

As it doesn't look appropriate to extend an existing class with layout
information, we create a new PartitionLayout class, which will be used
to parse the layout from the config file and keep it in memory.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Adriaan de Groot e52f0318fe [locale] Call timedatectl only when needed
- When testing and running not-as-root, only call the timedatectl
   when the settings actually change; this reduces the number of
   times kauth pops up.
6 years ago
Adriaan de Groot 2bb7a5f686 [branding] Document intended settings for window size
- Control Calamares window size through the branding file
 - This is for #1062 and #1038
6 years ago
Adriaan de Groot 8b72c93d67 [branding] Group the welcome-settings together 6 years ago
Adriaan de Groot b1ea96e463 [partition] Don't autoremove the tempdir
- Dangerout since we're mounting things inside that tempdir,
   and then doing a "weak" unmount
6 years ago
Calamares CI e572784eb5 i18n: [dummypythonqt] Automatic merge of Transifex translations 6 years ago
Adriaan de Groot fe3a88f834 [packages] Fix cut-and-paste-o in packages try_remove
- Copied from_local from the code for install, which doesn't
   make sense and causes a NameError.

FIXES #1063
6 years ago
Adriaan de Groot 56a71c232f [locale] Use the re-factored LocaleLabel 6 years ago
Adriaan de Groot 210965aca4 [libcalamaresui] Allow always-show-country setting in locale label 6 years ago
Adriaan de Groot 8790985fca [libcalamaresui] Code-formatting, remove dead code 6 years ago
Adriaan de Groot 3dda9ab860 [libcalamaresui] LocaleLabel doesn't need to inherit QObject
- Use static QObject::tr instead.
6 years ago
Adriaan de Groot 1f4ac45bb5 [libcalamaresui] Cleanup locale-labeling code
- Support translations of the "language (country)" format instead
   of forcing English parenthesis.
6 years ago
Adriaan de Groot 084f4d2445 [libcalamaresui] Refactor: move LocaleLabel to UI library
- This is prep-work for making locale labels consistent everywhere.
 - While here, improve code documentation.
6 years ago
Harald Sitter 311af6de5d [locale] prefer native language and country names when available
This basically means we talk about localization in the respective
localized variant. e.g. "German (Germany)" ➡ "Deutsch (Deutschland)".

If geoip lookup failed or isn't configured for whatever reason it's a
stretch to expect the user to know english enough to find their own
language. Preferring the localized strings resolves this issue.

Additionally this happens to bypass #712 respectively
https://bugreports.qt.io/browse/QTBUG-34287
as the native names are properly spelled. So, as long as Qt has localized
names the names will also be properly spelled.
6 years ago
Calamares CI bf976b3de0 i18n: [dummypythonqt] Automatic merge of Transifex translations 6 years ago
Adriaan de Groot 4973d00ace [partition] Only create drop-down if there is something to select
- Swap choices may be 0 (then choose none), 1 (choose that one)
   or more (currently undecided)
6 years ago
Adriaan de Groot 00df8a9fb1 [partition] Remove unused code
- Swap choice for replace and alongside will happen much, much later.
6 years ago
Adriaan de Groot a456687924 [partition] Include all possible SwapChoices in example 6 years ago
Adriaan de Groot a66ea106d6 [partition] Missing implicit include 6 years ago
Adriaan de Groot 2998c27545 [partition] Use configured swap choices in choice page 6 years ago
Adriaan de Groot 5945e9584d [partition] Refactor name-to-enum and back for swap choices 6 years ago
Adriaan de Groot edc6c64657 [partition] Create swap-combo from a set
- Alternate way to create swap-combobox, using configuration
   values rather than an initializer list.
6 years ago
Adriaan de Groot 988a0a5388 [partition] Changing swap choice also changes preview
- When selecting *erase*, you may be able to change the swap
   settings. If so, changing swap settings should change the
   preview.
6 years ago
Adriaan de Groot 0231619c7c [partition] Refactor slot for change in action
- Let's not go overboard on lambdas,
 - Needed for others that also want to update the partitioning preview
6 years ago
Calamares CI 6ac872e724 i18n: [dummypythonqt] Automatic merge of Transifex translations 6 years ago
Adriaan de Groot c5d707399d Merge branch 'fix-swap-ui' 6 years ago
Adriaan de Groot 14c72824f0 [partition] Be chatty when deciding a partition isn't resizable 6 years ago
Adriaan de Groot b798c27bc4 [partition] Be more verbose while looking for fstab entries 6 years ago
Adriaan de Groot 1f2d547d5b Merge remote-tracking branch 'origin/partitioning-fixes' 6 years ago
Adriaan de Groot e074959ede Merge remote-tracking branch 'origin/package-scripts'
FIXES #1057
6 years ago
Adriaan de Groot 1fb1189f74 Merge remote-tracking branch 'origin/mount-conf-flexible' 6 years ago
Adriaan de Groot e4d67b5572 [mount] Handle missing configuration keys gracefully
- If a key is missing from mount.conf, don't raise KeyError
 - If both keys are missing, suggest that mount.conf might
   be missing instead (a consequence of INSTALL_CONFIG=OFF, for
   instance).
 - Simplify code a bit.
 - Don't bother returning None explicitly.
7 years ago
Adriaan de Groot 0a73d57808 [packages] Add support for pre- and post- scripts everywhere
- for remove and localInstall, add support for pre- and post-
   scripts like there already was for install.

This feels like there's code duplication going on, but I haven't
thought of an elegant way to distinguish the available operations
so that I can pass around functions instead.
7 years ago
Adriaan de Groot 34255b4cf5 [packages] Document *localInstall* operation. 7 years ago
Adriaan de Groot 05588a1ffd [packages] Improvide conf documentation
- about LOCALE packages
 - about pre- and post-scripts

CC: #1057
7 years ago
Calamares CI 94dcf56282 i18n: [dummypythonqt] Automatic merge of Transifex translations 7 years ago
Adriaan de Groot 38d58fb6ed [partition] Check for suitable FS before passing -o noload
- The noload option prevents journal re-play (so it's an extra-
   strong read-only) but is only applicable to ext3 and ext4.
   Check the FS type before mounting; other FS types don't
   accept -o noload and will fail to mount.
7 years ago
Adriaan de Groot e0ce500f36 [partition] Improve debug-output after os-prober 7 years ago
Adriaan de Groot c522004575 [partition] Mount fs read-only when searching for fstab
Submitted by aliveafter1000

FIXES: #1044
CLOSES: #1050
7 years ago
Adriaan de Groot 9459ef7d93 [partition] Set FlagBoot for the root partition
- This only applies to legacy (non-EFI) BIOS systems, and
   adds the FlagBoot to whatever is already set for the root
   filesystem, and only when autopartitioning the device.

Submitted by aliveafter1000.

FIXES: #1046
CLOSES: #1049
7 years ago
Adriaan de Groot a1143e8fef [partition] Document flags parameter to createPartition() 7 years ago
Adriaan de Groot 8144295e98 [partition] Make new partition flags explicit
Suggested by aliveafter1000: having a default value, and then
filling in the default in one place it is used and not others,
is weird. Instead of dropping the one use, remove the default
value: partition flags are important enough to be explicit.
7 years ago
Adriaan de Groot 1def06cfd3 [calamares] Reduce warnings about signedness 7 years ago
Adriaan de Groot 97c9e5bdcd [partition] Debug-log available file-system types 7 years ago
Adriaan de Groot 463b1441a5 [partition] Be more verbose about default file-system settings
- Log the type that is configured
 - Document that this is a delicate setting, case-sensitive and
   dependent on KPMCore.
7 years ago
Adriaan de Groot 6de55e6951 [partition] Construct, then winnow, the fstab entries 7 years ago
Adriaan de Groot ebbc1a1bcb [partition] "constructor-like" needs to be static 7 years ago
Adriaan de Groot 516ae494bf [partition] Complain if unmount fails
- If unmount fails, then warn and don't autoremove
7 years ago
Adriaan de Groot bd1b482242 [partition] Don't autoremove the tempdir
- Dangerout since we're mounting things inside that tempdir,
   and then doing a "weak" unmount
7 years ago
Adriaan de Groot f1c1d07dca [partition] Add convenience methods to FstabEntry
- Add something like a constructor
 - Add validity checking
7 years ago
Adriaan de Groot 417eeedd9f [partition] Calamares is spaced-out enough without extra's 7 years ago
Adriaan de Groot c7645af358 [partition] Translate swap-choice-strings to enum
- Handle legacy and modern config, mixed-configs,
 - Translate strings to enum values,
 - Default and warn as appropriate.
 - Doesn't **do** anything with the config, though.
7 years ago
Adriaan de Groot f7cc571635 Merge branch 'fix-swap-ui' of github.com:calamares/calamares into fix-swap-ui 7 years ago
Adriaan de Groot 3d543e9063 [partition] Refactor to use current config-reading methods 7 years ago
Adriaan de Groot caa4b8ab53 [partition] Document intention of new-style swap config 7 years ago
Adriaan de Groot 2a61116b3c [partition] Disable swap choice for replace & alongside 7 years ago
Adriaan de Groot 779542a5d1 Merge branch 'master' into fix-swap-ui 7 years ago
Adriaan de Groot 3b8d2835e0 [calamares] Use XDG_{DATA,CONFIG}_DIRS as appropriate
- Use DATA for the qml and branding directories (looks for qml/
   and branding/<name>/ in those directories).
 - Use CONFIG for the global settings and module settings (looks
   for settings.conf and module/<name>/ in those directories).

FIXES #941
7 years ago
Adriaan de Groot c489320af5 [calamares] Add option to obey XDG dirs
- Prep-work for #941
 - This does nothing, yet, just sets the stage for using
   XDG_CONFIG_DIRS and XDG_DATA_DIRS as well as the regular
   directories.
7 years ago
Adriaan de Groot 4a2ca8bb77 [libcalamares] Fix compilation of tests
- QCOMPARE is picky with types, enum vs unsigned int, so just
   hit it with a hammer.
7 years ago
Adriaan de Groot fc99824c8d [fsresizer] Fix string error, thanks Lithuanian translators 7 years ago
Adriaan de Groot bb586de056 [partition] Remove some slowdown methods when debugging is off
- Running lsblk and mount for debugging purposes can be
   skipped when the debugging is going to be suppressed anyway.
   This will speed things up just a little for regular users.
7 years ago
Adriaan de Groot 74ab06e20a [partition] Drop redundant logging 7 years ago
Adriaan de Groot 02a6b7dd12 [partition] Log the newly-created partition table
- Log individual partitions instead of printing QObject(<ptr>)
7 years ago
Adriaan de Groot 4757496c3d [partition] Improve partition-UUID logging. 7 years ago
Adriaan de Groot 5b936f33ec [libcalamares] Add tests
- Test only the new debug-level query methods
7 years ago
Adriaan de Groot 0b1c969a80 [libcalamares] Allow querying debug settings 7 years ago
Adriaan de Groot 7515386cf8 CMake: clean up test setup
- Remove redundant searches for ECM and Qt::Test, move
   them to top-level.
7 years ago
Adriaan de Groot a33b0c4f24 [partition] Log the flags that are used to create a partition 7 years ago
Calamares CI 36161461e2 i18n: [dummypythonqt] Automatic merge of Transifex translations 7 years ago
Adriaan de Groot 292bc57523 [partition] Fix build with suitable operator << 7 years ago
Adriaan de Groot b38316365e [partition] Be more verbose about why UI buttons appear 7 years ago
Adriaan de Groot 800f9d34f9 [partition] In logging, distinguish more cases
- While winnowing devices, the zram and nullptr cases
   were mixed together; split them, for the sake of
   logging more accurately.
 - While here, fix up some coding-style issues.
7 years ago
Adriaan de Groot 1a248e0574 [preservefiles] Apply restrictive default permissions 7 years ago
Adriaan de Groot eb6fc01c01 [preservefiles] Document new permissions key 7 years ago
Adriaan de Groot d3d08241e2 [preservefiles] Support perm setting
- Use settings from config file
 - Refactor copy operation
 - Apply permissions inside target system
7 years ago
Adriaan de Groot 91c94c6022 [preservefiles] Tidy up permissions code
- superfluous const
 - add default constructor
 - Add octal-string accessor to permissions
7 years ago
Adriaan de Groot 1c85a648a4 [preservefiles] Tie permissions into the build, file header 7 years ago
Adriaan de Groot 3ef4842a4d [preservefiles] Add permissions-parsing code from Scott Harvey 7 years ago
Adriaan de Groot 21fedfce65 [fsresizer] Calamares oding style 7 years ago
Adriaan de Groot 39902d1c3f [fsresizer] "can not" -> "cannot" 7 years ago
Adriaan de Groot eb7c6385cd [fsresizer] Bail out if resize required but not feasible 7 years ago
Adriaan de Groot 0b4c0f9c38 [fsresizer] Add setting required
- If resize is required, fail if it doesn't happen.
7 years ago
Adriaan de Groot 29bae61610 Merge branch 'master' into fix-swap-ui 7 years ago
Adriaan de Groot 7e88f637b1 [localecfg] Fix error in string-formatting. 7 years ago
Adriaan de Groot b42a36e5ad [fsresizer] Don't need to check KPMCore version 7 years ago
Adriaan de Groot ed841d1674 [fsresizer] Typo 7 years ago
Adriaan de Groot aaf27ac2ab [fsresizer] Apply sizes properly
- Distinguish size and atleast; in percentages they mean different
   things (atleast is a bit weird as a percentage, but hey).
 - Fix bug in percentage calculation.
 - Avoid percentage above 100.
 - Add documentation in config-file.
7 years ago
Adriaan de Groot c725f6b552 [fsresizer] Distinguish error from no-useful-resize 7 years ago
Adriaan de Groot 5dc11b223a [fsresizer] Do the resize itself
- handle weird partition tables
 - ignore unallocated space -- that's what we want to expand into
 - use ResizeOperation for the actual work
7 years ago
Adriaan de Groot 14b6755714 [fsresizer] Initialize harder 7 years ago
Adriaan de Groot e627633c44 [fsresizer] initialize FS support 7 years ago
Adriaan de Groot 2556891e39 [fsresizer] Fix backwards logic in error message 7 years ago
Adriaan de Groot 869357a89c Merge branch 'master' into oem-resizer 7 years ago
Adriaan de Groot a749f041f0 [calamares] More verbose failure in test-loader 7 years ago
Adriaan de Groot e7c62c114f [keyboard] Improve debugging output 7 years ago
Adriaan de Groot 9124281bcb [fsresizer] Calculate resize parameters
- apply() a relativesize to a device to find out how much it
   means in sectors
 - find the space into which the configured FS can grow.
7 years ago
Adriaan de Groot 9e1c95ad05 [fsresizer] Refactor finding device
- Find device in separate function
 - If device isn't found, bail out
7 years ago
Adriaan de Groot 1c2714d832 [fsresizer] Match configuration to system
- Bail out earlier before doing any work if the configuration
   is invalid.
 - If it's valid, look for a matching device.
7 years ago
Adriaan de Groot aae4b38e69 [fsresizer] Fix endless loop
- Improve variable names
 - Missing iterator++
7 years ago
Adriaan de Groot 3ab891793a [keyboard] Add Austrian keyboard layout
- Map xkb 'at' to 'de' on the text console
 - Thanks Philip Mueller, Kevin Kofler

FIXES #1035
7 years ago
Adriaan de Groot 06a00a15c6 [fsresizer] Scan for devices, list partitions
- The is just debugging output, but it's the start of what needs
   to happen to find the FS that needs resizing.
7 years ago
Adriaan de Groot 35ca813064 [partition] Use "" for including from current directory 7 years ago
Adriaan de Groot d752223d0b [libcalamaresui] When reporting failure, use full product name. 7 years ago
Adriaan de Groot 0396ed28b7 [keyboard] Update some origin information for the keyboard map 7 years ago
Adriaan de Groot 88c973f7cc [partition] Simplify space calculations
- Q_ASSERT doesn't work in constexpr functions because it's not
 - May as well calculate bytes at compile-time, no need to give
   the runaround via number-of-MiB
7 years ago
Adriaan de Groot 428929b64f [fsresizer] Tiny step towards getting data from KPMcore 7 years ago
Adriaan de Groot e3bf9fc220 [partition] Fix build with KPMCore <= 3.3.0
- Reported by Philip Mueller
7 years ago
Adriaan de Groot 45195b9f7e [fsresizer] Remove over-enthusiastic constexpr 7 years ago
Adriaan de Groot 499dd2ce83 [fsresizer] Document configuration
- Add some notes on configuration of fsresizer
 - Convenience methods for checking validity.
7 years ago
Adriaan de Groot 3b8fa187e1 [fsresizer] Fix syntax error in YAML 7 years ago
Adriaan de Groot bf092de76f [calamares] Explain config-file failures better 7 years ago
Adriaan de Groot 39a0d2315b [calamares] Better config-loading diagnostics
- Be more verbose when things go wrong while loading module-
   configuration files.
 - Allow more forms of paths to be specified. In debug mode, this
   is mostyle helpful for the module test-loader.
7 years ago
Adriaan de Groot c6e8cdf65b [calamares] Better command-line help in module test-loader 7 years ago
Adriaan de Groot 40e031411c [calamares] Improve debug log in module test-loader 7 years ago
Adriaan de Groot 745629b659 [fsresizer] Turn on KPMCore requirement again 7 years ago
Adriaan de Groot d2f4079a18 [partition] Move partitioning options into a class
- As (auto) partitioning grows more options, the parameter
   list becomes more unwieldy. Add some structure to it.
7 years ago
Adriaan de Groot 3f09857cb7
Merge pull request #1013 from cjlcarvalho/master
Some RAID fixes
7 years ago
Adriaan de Groot a6c3899e10 [fsresizer] Add tests
- Test the parsing of configuration values, that it gets the right
   values when given correct(-ish) configurations. Doesn't test
   any situations with bad config.
7 years ago
Adriaan de Groot a81588190a [fsresizer] Simplify and make safer
- Make RelativeSize public so we can use it in non-member functions
 - Make a template out of matching the string suffixes; this is
   safer because the length of the suffix can be computed at compile-time
   (+1 for the trailing NUL) rather than writing it out in boilerplate.
7 years ago
Adriaan de Groot cdfb55e5cf [fsresizer] Just right now it doesn't need KPMCore
- Drop the dependency while developing the configuration parser
   part of the module and writing initial tests.
7 years ago
Adriaan de Groot 4d5eb90a04 [fsresize] Add new module fsresizer
- Non-functional as yet, WIP
 - Intended for use on SBC images and similar, which need to resize
   the root partition to the size of the SD card they're on.

FIXES #921
7 years ago
Adriaan de Groot 5136021416 [partition] Move SwapChoice to another namespace
- The choice of swap needs to be handled in more places,
   so make the enum available in the partition module core instead
   of just inside the choice page.
7 years ago
Adriaan de Groot 846e496d76 [partition] Tidy includes 7 years ago
Adriaan de Groot 8c79c981b1 [partition] Simplify space calculations
- Q_ASSERT doesn't work in constexpr functions because it's not
 - May as well calculate bytes at compile-time, no need to give
   the runaround via number-of-MiB
7 years ago
Adriaan de Groot 959cd7b224 [partition] Simplify creation of comboboxes for swap choices 7 years ago
Adriaan de Groot cfa940b35c [partition] Support translations of swap choices
- Introduce enum to indicate what is selected
 - Support translations
 - Fill selections for erase
7 years ago
Adriaan de Groot 7d0451fe69 [partition] Rename Choice -> InstallChoice
- There are more choices to be made (or to come) when partitioning,
   so don't take the most generic term for one enum.
7 years ago
Adriaan de Groot 10f7bac2df [partition] Reorder initialization 7 years ago
Adriaan de Groot c3f3276188 [partition] Improve presentation of swap options 7 years ago
Adriaan de Groot dc492b301c [partition] Drop label on swap-options box 7 years ago
Adriaan de Groot a791818a65 [partition] Add swap drop-down
- This is WIP; the drop-down contents should be customised,
   depending on configuration and the state of the device being
   installed-to.
7 years ago
Adriaan de Groot c813375908 [partition] Prepare for swap options
- Extend PrettyRadioButton with options (combo-boxes which may
   be added later).
7 years ago
Calamares CI 5291072cbc i18n: [dummypythonqt] Automatic merge of Transifex translations 7 years ago
Adriaan de Groot e0cd90cab1 Update the documentation and implementation of swap calculation.
Make the ramps consistent between suspend-to-disk and not,
and don't do the weird drop from 8GiB swap down to 4GiB for
large-memory systems.
7 years ago
Adriaan de Groot c104d14086 [partition] Call the helpers in the right order.
This fixes the crash by calling the model-reset first, then
refreshing. Previously, the destructors that do the work
were still being called in the wrong order.

FIXES #1019
7 years ago
Adriaan de Groot fe662345bd [partition] Extra helper classes for doing reset and refresh
- The ResetHelper only finalized changes to the module on
   destruction, but calls to refresh() assumed it was already
   done. This leads to crashes when refresh() uses an intermediate
   state of the model.

Introduce extra helpers, and rename refresh() to avoid calling the
old implementation from any code. The new helper just creates and
destroys a ResetHelper, before creating and destroying an object
that calls the new refreshAfterModelChange().

FIXES #1019
7 years ago
Adriaan de Groot 4602b30264 [libcalamaresui] Use PYTHONQT_INCLUDE_DIRS
- document new variable from the CMake module
 - use it in libcalamaresui to simplify #include'ing the
   header for the "all" extension.

Suggested by Denis Proskurin.
7 years ago
Adriaan de Groot 42d606171d
Merge pull request #1020 from apachelogger/esp-eq-boot
do not set boot flag on ESP (thanks @philmmanjaro for testing)
7 years ago
Adriaan de Groot 8b6fb1f5fa
Merge pull request #1021 from apachelogger/no-active-esp
do not set active flags on the to-be ESP (thanks @philmmanjaro for testing)
7 years ago
Adriaan de Groot a796981ace
Merge pull request #1022 from ximion/master
grubcfg: Only try to decrypt disk that /boot is on (thanks @philmmanjaro for testing)
7 years ago
Philip Müller e3ca2dd857
[displaymanager] fix desktop_environment_setup ldm 7 years ago
Matthias Klumpp d775cee4cf grubcfg: Only try to decrypt disk that /boot is on 7 years ago
Harald Sitter 84ad2852bf do not set boot flag on ESP
ESP == boot. at best this is duplicated information, at worst kpmcore may
implode if you try to set a boot flag since that is technically an MBR
type flag and means nothing within the context of GPT where ESP is the flag
to set.
7 years ago
Harald Sitter 81cab43701 do not set active flags on the to-be ESP
having ESP as active flag AND then trying to set ESP means nothing is
set since kpmcore will think ESP is already set (it is listed as active
after all). this ultimately meant that nothing was set since there was
no delta between the requested flags and the already active flags.
7 years ago
Adriaan de Groot c3219a4905 [displaymanager] Fix call in LightDM code
- The parameter list was wrong, and could never have worked
   (apparently noone mixes LightDM with basic setup, even though
   it's one of the few with basic_setup()).
 - Shorten some lines.
7 years ago
Adriaan de Groot 858c959285 Merge branch 'master' into refactor-dm 7 years ago
root fa45e21e15 Fix default desktop environment variable in displaymanager. Closes #1016. 7 years ago
Adriaan de Groot a83ee4984d [displaymanager] Enable translation for user-visible messages
See also #991
7 years ago
Adriaan de Groot 5191400d89 [displaymanager] Fix LightDM error message
- Error tuple was not being constructed properly
 - Fix capitalization consistency
7 years ago
Adriaan de Groot ebae7e1f47 [displaymanager] Re-arrange initializations
- Move variable initializations closer to where they are first used
 - Also warn if no implementations are available
 - Handle sysconfig as any other DM; there's no real reason
   to treat it specially.
7 years ago
Adriaan de Groot 229cc241fa [displaymanager] Massage do_autologin
- Move getting the global setting closer to where it is used
 - Initialize variable
7 years ago
Adriaan de Groot 59a003a41f [displaymanager] Expand check for no-DMs
- The message refers to an empty list or unset variable,
   but the if only checked for unset. Also bail out if
   the list is empty.
7 years ago
Adriaan de Groot 2d0660a54a [displaymanager] Fix up missing methods
- Add (empty) implementations of all the abstract methods that
   are not needed (or supported) by various DMs.
 - Order the abstract methods by calling order
 - Fix up have_dm
7 years ago
Adriaan de Groot 155e212616 [displaymanager] Call all configuration methods through instance
- Make root_mount_point a parameter of the DM classes
 - Create instances as needed, then check if they're available
 - Keep instances that actually need to be configured
 - Clean up remaining cruft from removing old setup_autologin()
   with all the string-comparison magic.
7 years ago
Adriaan de Groot 18392cb216 [displaymanager] Refactor greeter setup
- Only lightdm has support for dynamically configuring the
   greeter based on what is installed. Still, refactory that
   to something general.
7 years ago
Adriaan de Groot 383e0e4f25 [displaymanager] Refactor setting up default DE
- Some DMs allow setting up the default DE. Factor that
   out into a method like basic_setup() and setup_autologin()
   and add it to the configuration chain.
7 years ago
Adriaan de Groot 1c0b9e6a2a [displaymanager] Call basic_setup through instance
- Now that basic_setup is factored out into the classes,
   call it via an instance before doing set_autologin.
7 years ago
Adriaan de Groot cd0cdfc9af [displaymanager] Move basic setup to DM classes
- For all the DMs that have some kind of basic setup,
   introduce a method in the DM class for doing just that.
 - The Python code now doesn't call basic setup anywhere,
   so this specific revision isn't going to work properly.
7 years ago
Adriaan de Groot 47b58083f7 [displaymanager] Move setup_autologin to individual classes
- Split the entire body of setup_autologin() to a method
   per implementation class.
 - Make the check for presence of a DM a class-method,
   since if it fails, instantiation is going to be useless.
7 years ago
Adriaan de Groot e1f7dbdbb9 [displaymanager] Simplify do_autologin initialization 7 years ago
Adriaan de Groot 7f47b2f9ca [displaymanager] Introduce class for DM configuration
- Much like PackageManager, this is where the actual
   implementation of configuration methods will end up,
   for each supported DM.
7 years ago
Adriaan de Groot f188c6f71b [displaymanager] Simplify DE class
- The DE isn't being configured, and isn't where the complexity
   lies. Drop the ABC from it.
7 years ago
Adriaan de Groot 76a7c439c1 [displaymanager] Begin refactoring DM
- Introduce a base-class to "do the stuff" for one specific
   display manager / desktop environment.
7 years ago
Adriaan de Groot c3cef4d919 [displaymanager] Avoid unassigned variable
If displaymanagers is not set in the job config or globally,
it wasn't set at all, leading to a runtime error. Set to
None, so that the regular error message will be triggered.

FIXES #1002
7 years ago
Adriaan de Groot 08d41f745b [partition] Remove superfluous null check
delete is specified to handle nullptr gracefully.

FIXES #1012
7 years ago
Caio Carvalho 01a972c6ea [partition] Fixing LVM LV name line edit visibility. 7 years ago
Caio Carvalho b5a2a5bbdd [partition] Don't show erase button for inactive RAID. 7 years ago
Caio Carvalho 7fd0ad5795 [partition] Disabling partition buttons for inactive RAID. 7 years ago
Andrius Štikonas 22aa6dc132 [partition] fix build with latest kpmcore. 7 years ago
Adriaan de Groot 8dc95f3e75 Merge branch 'master' of github.com:calamares/calamares 7 years ago
Simon Quigley 5c50587f89
Fix LUKS deployment link. 7 years ago
Adriaan de Groot bf40f3bd23 Merge branch 'master' into requirements-checking 7 years ago
Adriaan de Groot f946254433 [branding] Document compiling .ts files
FIXES #1003
7 years ago
Adriaan de Groot 3b82e655d7 Merge remote-tracking branch 'origin/update-lvm-support' 7 years ago
Adriaan de Groot 238a1e812f [partition] Reduce the fudge-factor for swap size
- Reported by Bill Auger (I think), a 15GiB disk wouldn't hold
   a 8.9GiB root plus 4GiB swap -- due to 10% overprovisioning
   of swap, plus the 2.1GiB fudge factor.
7 years ago
Adriaan de Groot f10bab8a3a [partition] Minor code-styling 7 years ago
Adriaan de Groot 8ed26e537f [partition] Fix swap maximum size
- The existing calculation comment says "maximum 10% of disk"
   but the calculation itself uses 110%.
7 years ago
Adriaan de Groot 59fea041b6 [partition] Fix up calculations of sectors in auto-partition
- Calculating first free sector had an off-by-one so that
   partitioning would start at 2049.
 - EFI boot partition grew 1 sector larger than desired.
 - While here, align everything to 1MiB boundaries as well.

FIXES #1008
7 years ago
Adriaan de Groot 1cbfa9d693 [partition] Simplify code for sizing 7 years ago
Calamares CI 8c32fc75a1 i18n: [dummypythonqt] Automatic merge of Transifex translations 7 years ago
Adriaan de Groot ba639beb9a Merge branch 'master' into update-lvm-support 7 years ago
Adriaan de Groot ae7700f2d7 [libcalamares] Refactor searching for module configurations
- Similar to the refactorings in Calamares proper, just split out
   collecting the search paths into a static function. This makes
   it a little easier to find places that will need expansion for
   more-than-one-config-directory.
7 years ago
Adriaan de Groot f899bda81d [calamares] Restore missing search paths
- Misplaced {} makes the branding search path empty
 - Reported by @apachelogger
7 years ago
Adriaan de Groot b0e55c059a [calamares] Refactor searching for branding descriptor 7 years ago
Adriaan de Groot 22ee24a5ad [calamares] Refactor searching for settings.conf
- Split the collection of paths off from the search itself.
7 years ago
Adriaan de Groot 3329f2ea55 [calamares] Refactor searching for QML dir
- Split collecting the search paths into separate function
 - Don't fall back on the current directory
7 years ago
Adriaan de Groot 5d5feeb0ab Merge branch 'master' of https://github.com/cjlcarvalho/calamares into lvm-update 7 years ago
Adriaan de Groot f118fd73bc [calamares] More info when Cala is already running
- If Calamares is already running, print some information
   about which instances there are so that it is possible
   to unstick them.
7 years ago
Adriaan de Groot 1957478618 [services-systemd] Follow the flexible example of openrc
- Make *mandatory* optional (and default to false); this
   allows shorter lists of entries
 - Allow degenerate entries which are just a name
   (which have *mandatory* set to false as well).

SEE #992
7 years ago
Adriaan de Groot 73ecd7320c [services-openrc] Introduce *mandatory* subkey
- Follow services-systemd and have a *mandatory* subkey
   that selects for install-failure instead of just a warning.

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

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

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

FIXES #977
7 years ago
Philip Müller 3a3a4ec363 [packages] update documentation 7 years ago
Philip Müller c600c3ecca [packages] update documentation to reflect 'update_db' and 'update_system' differences 7 years ago
Philip Müller 1bd149c14e [packages] add initial support for update target system 7 years ago
Philip Müller 18bd455ae1 [bootloader] make paths for executable optional and adjustable 7 years ago
Calamares CI 88c168e6d5 i18n: [dummypythonqt] Automatic merge of Transifex translations 7 years ago
Adriaan de Groot 5643ee4b8f Merge branch 'master' into secureboot 7 years ago
Adriaan de Groot 374a9bdca6 Merge branch 'emergency-modules'
Introduce the notion of emergency modules and emergency jobs.
Initial use will probably center around the preservefiles module,
and possibly umount.

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

While here, coding-style.
7 years ago
Adriaan de Groot 96cb42414c Merge remote-tracking branch 'origin/improve-settings-sanitization' 7 years ago
Adriaan de Groot 6cdb2daca3 Merge abucodonosor-plymouth 7 years ago
Gabriel Craciunescu 0ccca6902b [grubcfg] fix inter-module dependency with plymouthcfg modules
The plymouthcfg Calamares module is optional. Distributions which
  write filesystems with a full plymouth configuration won't even
  want to use it (see plymouthcfg docs).

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

  Just check for plymouth existence separately in the grub module.

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

Reported from Neptune Linux
7 years ago
Adriaan de Groot 83688f2837 Merge remote-tracking branch 'origin/shuffle-cmake' 7 years ago
Adriaan de Groot fe7f48662e Merge branch 'fix-iceland' (again) 7 years ago
Adriaan de Groot 15b97f8e3f [libcalamares] Add missing include-dir
- Fix build on FreeBSD, where the yaml-cpp headers don't live in
   any normally-searched include directory.
7 years ago
Caio d15ce56c97 [partition] Initial implementation of VolumeGroupBaseDialog. 7 years ago
Calamares CI 54515688f7 i18n: [dummypythonqt] Automatic merge of Transifex translations 7 years ago
Adriaan de Groot 8430970e71 [preservefiles] Reduce copying by using const-ref into list 7 years ago
Gabriel Craciunescu 41d427e543 [modules]: hwclock fix typo
- methode -> method
7 years ago
Adriaan de Groot b66d4856e7 [libcalamaresui] Use modern C++ for (auto)deleting failed modules 7 years ago
Adriaan de Groot 40b60abcb3 [locale] Move constants for map-munging
These don't have to be defines at all.
7 years ago
Adriaan de Groot 1ee87c3cde [locale] Drop debugging define 7 years ago
Adriaan de Groot 6b3299e6ff [locale] Adjust the North
- Fudge the numbers in the North, to improve location
   of the pins and lines of latitude.
 - Inuvik, Yellowknife, Cambridge Bay, Resolute look ok
 - Thule, Scoresbysund look ok; Danmarkshavn a pixel or so too far North
 - Reykjavik is a bit too far North
 - Longyearbyen is a bit too far North

Since these places are off by one or two pixels, this becomes
invisible when a large pin + text label is placed on it.
7 years ago
Adriaan de Groot 4bacafb411 [locale] Fix timezone pixel map for Tierra del Fuego region
- Punta Arenas, draw like it's in -4
 - Ushuaia, draw like it's in -3

FIXUP pixel
7 years ago
Adriaan de Groot b7dbc8cc1f [locale] Name zones when debugging
- When debugging timezones, state their names (e.g. UTC offset)
   and also log the pixel position under consideration.
7 years ago
Adriaan de Groot 2c18ba6ddb [locale] Adjust latitude calculation in the southern hemisphere
The scaling on the map was a little off; the degrees of latitude
are a little wider there than around the equator and Europe.

 - Johannesburg is in the right spot
 - Hobart is no longer a suburb of Melbourne
 - Punta Arenas is in Chile
7 years ago
Adriaan de Groot 9f8f76befc [locale] Introduce timezone-widget debugging
Replace pin and text label with just a dot (to pinpoint where
locations are) and draw latitude lines on the globe when
DEbUG_TIMEZONE is set at compile time. Since there's probably
still timezone-related bugs (in particular in the images that
map points on the globe to timezones), leave this in the codebase.
7 years ago
Adriaan de Groot eddee7d76a [libcalamaresui] No point in isLoaded() being virtual. 7 years ago
Adriaan de Groot a04915e6fa [libcalamaresui] Add 'emergency' concept to modules. 7 years ago
Adriaan de Groot fdda1ef840 [bootloader] Mimic openSUSE's efibootmgr calls 7 years ago
Adriaan de Groot dad3669eae [bootloader] Take a stab at determining the shim name 7 years ago
Adriaan de Groot e4bda546cf [bootloader] factor our EFI-platform-bitness discovery 7 years ago
Adriaan de Groot cbd62fbeb1 Merge branch 'master' into secureboot 7 years ago
udeved a878c1a610 add openrccfg 7 years ago
Calamares CI 51b50b9366 i18n: [dummypythonqt] Automatic merge of Transifex translations 7 years ago
Adriaan de Groot 50dea6ded3 [interactiveterminal] Make optional if requirements not met
This is orthogonal to the SKIP_* mechanism already documented
for avoiding modules. If the module is enabled, but its dependencies
are not present, don't bother building the module. This follows
e.g. plasmalnf as an "avoidably heavy dependency".

Related to a misplaced comment in ISSUE #956
7 years ago
Adriaan de Groot ce3e09318a [preservefiles] Improve failure messages 7 years ago
Adriaan de Groot 28a42a7230 Merge branch 'filepreserver' 7 years ago
Adriaan de Groot cdadc2f003 [libcalamares] Improve error logging during module loading 7 years ago
Adriaan de Groot 182458ad5a [calamares] Need a JobQueue and global storage before running any job.
The 'singleton' instances don't do a very good job of being singletons
or ensuring their own creation.
7 years ago
Adriaan de Groot 48771f968a [calamares] Load and execute the modules
This runs dummyprocess, at least, but the other three dummies coredump.
7 years ago
Adriaan de Groot 308f508c7e [calamares] Add a test-application.
This test-application should load a single module and execute it --
that can be used to quickly test configurations, loading, etc. This
is preparation for loading all sorts of Python modules by PythonQt.

The loader does some internals initialization and gets the module,
but doesn't actually run it yet.
7 years ago
Adriaan de Groot fdda0e14aa [libcalamaresui] Improve explainYamlException
- overloads for common kinds of label
 - improve error reporting when reading settings and branding files
7 years ago
Adriaan de Groot e5ca8e091f [libcalamaresui] Use refactored loadYaml 7 years ago
Adriaan de Groot 261c545476 [libcalamaresui] Refactor loading of YAML to QVariantMap 7 years ago
Adriaan de Groot f26ac63c07 [libcalamaresui] Make Python code const
- This is always loaded into the Python context, so it may as well
   be done only once.
7 years ago
Adriaan de Groot d3e57e9c9f [shellprocess] Expand tests
These tests run (shell) commands as part of the test; this may be
a security problem, although I've tried to do things safely.
7 years ago
Adriaan de Groot 87b9c42158 [shellprocess] Don't crash test
- May need to create a JobQueue before doing anything internal
 - May need to create global settings
 - Chroot always needs rootMountPath internally
7 years ago
Adriaan de Groot 8b00a03423 [shellprocess] Test command-substitution 7 years ago
Adriaan de Groot b5d900c1c6 [libcalamares] Allow a @@USER@@ replacement in commands
- Following example in preservefiles module, allow @@USER@@
   in commands (e.g. to do something specific in the home-dir
   of the new user).
7 years ago
Adriaan de Groot b7890d865f [preservefiles] Save GS, munge destination
- using `from: config` now writes a JSON file
 - using @@ROOT@@ and @@USER@@ in dest does a sensible
   substitution.
7 years ago
Adriaan de Groot ac287a0ac5 [libcalamares] Add a save() method to global storage
- This is a quick way to dump GS to JSON, which is useful
   for the preservefiles module #928
 - Also useful for, e.g., #466
7 years ago
Adriaan de Groot dae84d3bb1 [users] Improve explanation of other steps of adding a user 7 years ago
Adriaan de Groot 01ff1efc5d [users] Improve explanation when useradd fails 7 years ago
Adriaan de Groot 0d24c1db6c [users] Introduce userShell setting
- Add a *userShell* key, which can be left out (default, backwards-
   compatible) to retain the old /bin/bash behavior, or explicitly
   set to empty to defer to useradd-configuration, or explicitly
   set to something non-empty to use that shell.
7 years ago
Adriaan de Groot ed15edabf9 [users] Document passwordRequirements and code 7 years ago
Adriaan de Groot 3a59574128 [users] Factor out command-line to useradd
- This is prep-work for #964, which was caused by #955
 - Original assumption was that distro's would have a working
   useradd configuration; @abucodonosor already pointed out that
   this was probably not the case, but I ignored that.
7 years ago
Adriaan de Groot 6aa5be192b [netinstall] Drop unused includes 7 years ago
Calamares CI a79e62ac6b i18n: [dummypythonqt] Automatic merge of Transifex translations 7 years ago
Adriaan de Groot 3133e759d0
Merge pull request #958 from bill-auger/patch-2
avoid pinging hard-coded server for netinstall.yaml
7 years ago
Adriaan de Groot 2413180c67 Branding: update copyright notices 7 years ago
Adriaan de Groot 5bcfb32cf5 Branding: move the branding stylesheet to the Branding class 7 years ago
Adriaan de Groot 975004fc63 [libcalamaresui] Document accessors in Branding
- document accessors
 - put all path and directory accessors together
 - make simple accessors inline
 - rename "pathprefix" to "directory" to be consistent with others
7 years ago
bill auger b6673f6324 move thisModule->isLoaded assert to after it's warning message 7 years ago
bill auger d7b1811e56 avoid pinging hard-coded server for netinstall.yaml
groupsUrl is optional and should be commented out by default
also this URL is 404
also only chakra would ever want to ping the chakra server anyways
7 years ago
Adriaan de Groot 47805209c6 Merge branch 'branding' of https://github.com/raurodse/calamares into raurodse-branding 7 years ago
Adriaan de Groot fb94c227f6 Merge branch 'netinstall' 7 years ago
Adriaan de Groot ba85fc760a [netinstall] Remove data-indirection
- There is no need to move data around between two parts of the
   same module via global storage.
7 years ago
Adriaan de Groot 3160bd7a54 [netinstall] Simplify getting configuration
- Use convenience methods for getting bools and strings from
   the configuration map. Ignore empty groupsUrls.
7 years ago
Adriaan de Groot 6779a44991 [preservefiles] New module preservefiles
- more flexible way to keep (all kinds of) files from the host
   system, into the target system.
 - WIP: substitutions like in shellprocess (@@ROOT@@, @@HOME@@ probably)
 - WIP: creating a JSON file from global settings
7 years ago
Adriaan de Groot 6c87747a5d [libcalamares] Make it possible to get the logfile name 7 years ago
Adriaan de Groot 5bcd6eaef8 [partition] Reduce warnings by removing unused code 7 years ago
Raul Rodrigo Segura 7b6c76ba15 fix typo 7 years ago
Raul Rodrigo Segura 3f2cc854f4 Set type to variable and import library 7 years ago
Raul Rodrigo Segura e2801daf33 check path 7 years ago
Raul Rodrigo Segura 1636f665c3 Set Object name to graphical elements to thematize by qss 7 years ago
Raul Rodrigo Segura 4c6f42ecfa Set Object name to graphical elements to thematize by qss 7 years ago
bill auger 4826af97a9 consistent indentation in src/modules/netinstall/page_netinst.ui
this file has 1 space char indentation except for these lines
7 years ago
Calamares CI 6b02da9e9e i18n: [dummypythonqt] Automatic merge of Transifex translations 7 years ago
Frede H f2677b0879
Update CreateUserJob.cpp
Removal of the hardcoded shell, letting the `/etc/default/useradd` be responsible for the shell.
7 years ago
Adriaan de Groot 65d00ccc37 Merge branch 'partition-flags'
Extensive go-over on the partitioning code. #622 is maybe "possibly fixed",
but there's no real indication of what constitutes an invalid combination
of flags.

FIXES #884 FIXES #951 FIXES #953 FIXES #622
7 years ago
Adriaan de Groot c73d6e80f6 [libcalamares] Switch @@ROOT@@ magic around
The substitution of @@ROOT@@ should happen when running in the
host, not in the target, system. Also only complain about it
if @@ROOT@@ is actually used in the commands.

FIXES #954
7 years ago
Calamares CI 6d1f5433b4 i18n: [dummypythonqt] Automatic merge of Transifex translations 7 years ago
Adriaan de Groot 90a2e482be [partition] Check for available partition type before creating
- Avoid situation where you make 5 or more primaries in an
   MSDOS partition table.

FIXES #953
7 years ago
Adriaan de Groot bd57f1f2f1 [partition] Fix re-editing a newly created partition
- If there is a partition already (newly) created, then pass that
   to the dialog so that it can use the setings previously applied
   (e.g. mount point and flags).
 - This avoids the case where you create or format a partition,
   then click on it again to edit it and the previous settings are lost.
7 years ago
Adriaan de Groot ca03dad67b [partition] Refactor setting the flags UI
- Setup the lsit of flags consistently, by providing the available
   and to-be-checked flags.
 - In CreatePartitionDialog, assume that ~0 is all the flags.
7 years ago
Adriaan de Groot 4f451eece5 [partition] Refactor getting the checked flags 7 years ago
Adriaan de Groot 950cc9070d [partition] Rename MountPoints to PartitionDialogHelpers
This file is full of helper functions for the partition-editing
dialogs. At first it was just mount-point helper functions,
but there is other functionality that can be refactored.
7 years ago
Adriaan de Groot 336b8c758a [partition] Consider the future flags when checking EFI bootability
- If we're changing the flags to enable EFI boot, then that's
   enough to satisfy the (future) EFI bootability check.
   This is for issue #622 as well. Fixes #884.
7 years ago
Adriaan de Groot 0df304b206 [partition] Preserve desired partition flags
- Use the desired (future) flags, if set, to initialize the
   flags checkboxes. If there are no future flags set, this
   returns active flags as before.
 - This fixes the situation where editing a partition, changing
   flags, then editing it *again* re-starts with the original
   flags instead of the modified flags.
7 years ago
Adriaan de Groot 6739b81c2a [partition] Tell PartitionInfo about desired flags
- When creating a partition, or changing flags, tell
   the PartitionInfo about those desired flags.
7 years ago
Adriaan de Groot 7df143f64a [partition] Add flags to PartitionInfo
- PartitionInfo maintains information on "what is desired" for
   a given Partition. Now we can set desired flags, alongside
   the flags already supported by Partition (where activeFlags()
   gives you the flags currently set on that partition).
7 years ago
Adriaan de Groot 5b4668822d [partition] Also update combo box index when setting up
- Avoids case where you edit a partition with a mountpoint
   set; previously, calling setText() would update the text
   but leave the selected index unchanged (usually 0), so that
   later calling selectedMountPoint() would return empty.
7 years ago
Adriaan de Groot 323d20d1a5 [partition] Avoid sneaking an empty string into the mount points combo 7 years ago
Adriaan de Groot 255a99d714 [partition] Drop now-unneeded debugging 7 years ago
Adriaan de Groot 310555f16b [partition] Add /srv to standard mount-points list. 7 years ago
Adriaan de Groot 4402198b37 [partition] Centralize setting-of-mountpoint
- map empty to the 0'th index
 - add new entries as needed

This avoids having selected index 0, but a different text.
7 years ago
Adriaan de Groot a49c39bb53 [partition] Unmap mount-point special strings
- Reverse "(no mount point)" to the empty string
 - Provide convenience pointer-taking function
7 years ago
Adriaan de Groot a4997c4be8 [partition] Convenience for selecting default mount point
- map blank to the "(no mount point)" string for UI purposes
7 years ago
Adriaan de Groot fda2e54e0f [partition] Refactor filling combobox with moint points
- Move to one place which handles the standard mount points
 - While here, introduce explicit "(no mount point)" string
   into the combo box. This is prep-work for issue #951.
7 years ago
Adriaan de Groot 39bf2eb9aa [welcome] Fix display of unsupported locales
- Some locales have no nativeLanguageName(), so instead display
   the locale id (e.g. "eo") and the resulting language in English
   (which, if it is really unsupported, will be "C").
7 years ago
Calamares CI 03c2329093 i18n: [dummypythonqt] Automatic merge of Transifex translations 7 years ago
Adriaan de Groot 29848e0279
Merge pull request #950 from cjlcarvalho/master
[partition] Only bootloader model should ignore devices that are not of Disk_Device type
7 years ago
Caio Carvalho f72f7bd8fe [partition] Only bootloader model should ignore devices that are not of Disk_Device type. 7 years ago
Adriaan de Groot ccdfe53201
Merge pull request #945 from cjlcarvalho/master
- Switch to enum types
 - Ignore LVM
 - Check LUKS support

Builds locally in my Manjaro test-box and kpmcore 3.3.0
7 years ago
Adriaan de Groot 2da09f7648 [libcalamaresui] Fix build
- Include all headers for types that need to be fully-defined
   (e.g. return types). This guards against uses in contexts where
   those headers have not been implicitly or previously included.

FIXES #948
7 years ago
Caio Carvalho 77d2667b53 [partition] Checking if there is LUKS creation support and if partition is not Extended before enabling encryption in CreatePartitionDialog. 7 years ago
Adriaan de Groot 96887e754c i18n: drop es_ES, add tooling 7 years ago
Adriaan de Groot ff43752f47 i18n: pl_PL has merged into pl 7 years ago
Adriaan de Groot a38a2a54f7 [locale] Check all XML TimeZone elements if needed
- reduce warnings about loop-executed-only-once
 - if there is more than one TimeZone element, use the virst valid one
 - warn if nothing is found
7 years ago
Calamares CI 0fc30d6cd6 i18n: [dummypythonqt] Automatic merge of Transifex translations 7 years ago
Caio Carvalho f561f04591 [partition] Changing PartUtils::getDevices to ignore devices that aren't of Disk_Device type. 7 years ago
Caio Carvalho 8726b70574 [partition] Ignoring LVM devices in PartUtils::getDevices to prevent installing bootloader in LVM VG. 7 years ago
Adriaan de Groot 42f5ed5d41 [welcome] Fix build, reduce redundancy
- constexpr isn't applicable because of non-trivial destructor
 - May as well only create " (%1)" once.

FIXES #938
7 years ago
Adriaan de Groot e5b599fbe3 [welcome] Drop accidental logging 7 years ago
Adriaan de Groot 0c5590c2e4 Merge branch 'language-selection'
Display the name of each translation in the language of that translation.

FIXES #935
7 years ago
Adriaan de Groot a47b3f8d14 [libcalamares] Document special-case translations 7 years ago
Adriaan de Groot b9ed96d4f8 [libcalamares] Special case sr@latin
QLocale::name() doesn't include script information, and if it did
it would probably use sr_RS@Latin; when searching for translation
files it won't consider dropping just the country.
7 years ago
Adriaan de Groot a9ffd3351d [welcome] Support sr@latin
- The QLocale constructor which takes a string (locale name) doesn't
   understand sr@latin, and returns the Cyrillic locale. Fix that
   by creating locales ourselves for @latin locales.
 - sr and sr@latin now display correctly in the right script in the
   native language dropdown.
7 years ago
Adriaan de Groot 7cc2b222d9 [welcome] Present RTL (country) annotations better
- The (RTL) text "Arabiy (Misr)" should be entirely RTL, so
   make the parenthetical insert -- which would otherwise be LTR
   and so mess up the placing of those parenthesis around the country --
   explicitly RTL.
 - Since there are no RTL languages in Calamares right now with
   country-local translations, this isn't visible.
7 years ago
Adriaan de Groot 7c944760fc [welcome] Only show (country) in list if the locale suggests it
- A locale suggests it is country-specific by having the form <lang>_<country>
 - This mostly fixes locale "ar" being presented as "Arabiy (Misr)" when
   there is no need to (and the RTL is messed up then, too).
7 years ago
Adriaan de Groot 59537d86d6 [welcome] Present languages in native format
- Introduce intermediate data class for building up the list
   of languages to present.
 - Sort on the English names, with en_US at the top (ugh).
 - Show the native names.
7 years ago
Adriaan de Groot b8b607c421 [locale] Fix QString-vs-char* confusion 7 years ago
Andrius Štikonas 1b21668bff [partition] Switch to scoped Device enums. 7 years ago
Adriaan de Groot 6930400b67 DEBUG logging 7 years ago
Adriaan de Groot 4b7465696d [welcome] Refactor the code that picks a locale to use
- Much like std::find_if, but slightly muddled because there's
   no iterator that we can sensibly use.
 - Scan the ComboBox for a locale that matches a predicate.
 - Log more as the search for a good locale progresses.
 - Don't mix matching the locale with filling the ComboBox
   (even though that's slightly more efficient).
7 years ago
Adriaan de Groot 522adf766a [locale] Switch HTTP GET test to KDE servers
- Use the official name of the KDE GeoIP service
 - Log the URL *before* the check, in case one fails
7 years ago
Adriaan de Groot 5acf67a057 [locale] Fix tests with spaces in zone names
- "North Dakota" -> "North_Dakota" following the change that fixes up
   dodgy names automatically.
7 years ago
Adriaan de Groot b4e4b691fd [locale] Accomodate more dodgy GeoIP providers
- Force spaces to _
 - Document the bits

FIXES #933
7 years ago
Adriaan de Groot 3ef0fbe892 [locale] Add tests for a bunch of GeoIP providers
- Since these tests use network resources, they are not enabled by default.
   Set the environment variable TEST_HTTP_GET to actually do them.
 - Do one request for each provider and check that they are all consistent.
   (This works for me, yielding Europe/Amsterdam for all).
7 years ago
Adriaan de Groot 0f5e061c4a [locale] Support multi-level selection from JSON data
- Some providers don't provide a single flat JSON object
   (e.g. "{time_zone: foo}") but a nested structure
   (e.g. "{location: {time_zone: foo}}"), so allow dots
   in the selector to do multi-level selection.
7 years ago
Adriaan de Groot 6545d5d022 Merge branch 'expand-geoip'
- Allow configurable TZ selector string, to allow for more variation in providers
7 years ago
Adriaan de Groot d04e243c4e [locale] Auto-clean up time zone data
- Some providers return weirdly escaped data; strip out useless
   escaping before splitting (there are no characters in correct
   time zone names that need escaping)
 - Add some tests for TZ splitting
7 years ago
Adriaan de Groot fa5d40006c [locale] Fix interpretation of configured selector
- In GeoIP handler constructors that take a string (to configure the
   selector to use), interpret the empty string (which generally isn't
   a meaningful selector) as meaning "use the default".
 - Drop the no-argument constructors in favor of a default-argument
   which is empty.
7 years ago
Adriaan de Groot 352b385b12 [locale] Make the selector configurable via the config file 7 years ago
Adriaan de Groot b1b59b27b2 [locale] Expand tests for alternate selectors
- Check that the alternate selectors are used
7 years ago
Adriaan de Groot fe20416a54 [locale] Make the selector configurable
- GeoIP gets a string selector; the interpretation is up to derived classes.
 - GeoIPXML and GeoIPJSON use the selector to select an element by tag
   or an attribute, respectively.
7 years ago
Adriaan de Groot 79a6d7ccbd [locale] Make file and class consistent GeoIPXML
- Rename the class to match the filename.
7 years ago
Adriaan de Groot 2cd4461b57 [locale] Rename JSON handler
- The handler for JSON data should be called that, not named
   specially after the original provider it was implemented for.
 - Make filename and classname consistent, GeoIPJSON.
7 years ago
Calamares CI 8ba4de6d0a i18n: [dummypythonqt] Automatic merge of Transifex translations 7 years ago
Adriaan de Groot ec113e3df3 [locale] Log GeoIP attempt URL, use possibly-modified form 7 years ago
Adriaan de Groot d6f082752d [locale] On GeoIP failure, log URL 7 years ago
Adriaan de Groot 47b7040897 [locale] Adjust to Calamares 3.2 idiom 7 years ago