4503 Commits (d592a5bb947ee50b74a39c2d9d979c9653d2d1c8)

Author SHA1 Message Date
Adriaan de Groot bffaf47900 [partition] Reduce warnings about integer size 6 years ago
Adriaan de Groot 10ba468748 [libcalamares] Avoid warnings / errors on both gcc and clang
- Clang 8 can detect that there is no need for a return if all
   previous paths already return. GCC 8 does not. Clang warns if
   the unreachable return is there, GCC errors out if it isn't.
 - Introduce a hack NOTREACHED that comments-out on Clang, and
   marks as unreachable (but still present) on GCC.
 - This might go away with an [[unreachable]] annotation or
   similar.
6 years ago
Adriaan de Groot ed3eafbc2d [oemid] Reduce warnings about vtable by adding virtual destructor 6 years ago
Adriaan de Groot 6db09f0679 [libcalamares] Handle all SizeUnit cases inside switch
- Although None will be filtered out already by unitsComparable(),
   include it in the switch to avoid a warning .. then we can
   drop the post-switch return since the switch covers all possible
   values of the enum.
6 years ago
Adriaan de Groot 90975b62bf [libcalamares] Tidy PartitionSize
- Use unitsComparable where applicable
 - Use SizeUnit instead of unit_t -- since this is a template
   specialization, we have the more meaningful type name to
   use, instead of the generic one.
6 years ago
Adriaan de Groot 72e1a36752 [libcalamares] Update partition service tests
- Use long so that 2GiB fits in the values
 - Document special case of 0[KMG]iB
6 years ago
Adriaan de Groot 7a368dc1d7 [libcalamares] Add tests for the partitioning service 6 years ago
Adriaan de Groot 93a68c3d5f [libcalamares] Add convenience method to check for unit-comparability
- Not all kinds of units are comparable. Introduce a method
   in PartitionSize to check for comparability (this could
   also be a free method, but seems more tidy here because it
   is specifically about comparing in the context of partition sizes).
6 years ago
Adriaan de Groot d048975f15 [libcalamares] One more nested namespace 6 years ago
Adriaan de Groot 0b0fb93e75 [libcalamares] Remove redundant default: in case
- the switch handles all values of the enum and the compiler should
   be smart enough to know that (therefore default isn't needed,
   nor the return afterwards).
6 years ago
Adriaan de Groot 2c94cbdb14 [libcalamares] namespace A::B is a C++17 extension 6 years ago
Adriaan de Groot 7302b9c851 [libcalamares] Fix nested namespaces
- Declaring namespace A::B is a C++17 extension, and Calamares
   is C++14. Split the namespace declarations.
 - While here, fix extra const warning as well.
6 years ago
Adriaan de Groot 859e95432e [partition] Handle all enum values in the switch 6 years ago
Adriaan de Groot 3b0d778d1e [partition] Mention that reuse-swap isn't supported now 6 years ago
Adriaan de Groot 8fcdbd5bd5 [libcalamaresui] Improve warning message
- Tell the packager / deployer that certain modules are missing
6 years ago
Kevin Kofler ec7c5a4611 [bootloader] Fix sb-shim mode to write grub.cfg into the ESP
src/modules/bootloader/main.py (install_secureboot): Run the configured
grubMkconfig command (should be `grub-mkconfig` or `grub2-mkconfig`) to
create `/boot/efi/EFI/$efi_bootloader_id/grub.cfg`. The sb-shim is just
a chainloader to GRUB 2, which expects a grub.cfg in that location, so
something has to create it or the installed system will not boot beyond
the GRUB rescue shell.
(install_grub): Fix misleading comment above the grubMkconfig call: it
is not the file specified in grubCfg that should be already filled out
by the grubcfg job module, that file is written by `grub*-mkconfig`
using `/etc/default/grub` as the input file. It is that input file
`/etc/default/grub` that should already be filled out by the grubcfg job
module. (The same input file is used in install_secureboot.)
6 years ago
Adriaan de Groot 255f1e85a8 [fsresizer] Fix tests
- These are obvious mismatches between the tested-configuration
   and the assertions -- e.g. "71MiB" being tested for percents.
6 years ago
Adriaan de Groot e972c175d8 [bootloader] Fix typo's
- There's a general "partititon" typo, but the variable
   name also is misused.
6 years ago
Adriaan de Groot 23ae6b77bd [bootloader] Convert to str
- The output of subprocess is a bytes object, which needs to
   be decoded so we can use it like a regular string (alternatively,
   we could have changed more code to manipulate bytes, but eventually
   we need a string to pass to a subsequent command anyway).
6 years ago
Adriaan de Groot 9bf1d83c2f [bootloader] Centralize the filename sanitizer
- Centralize the sanitizer so that it's consistent in different
   environments.
 - While here, add () to the sanitizer to avoid some distro's with
   parenthesized names from creating weird EFI dirs.
6 years ago
Adriaan de Groot f18f9dcd14 [welcome] Lookup GeoIP language and pass to language widget
- FIXES #934
 - Whether this is really wanted depends on the distro, and I'm not
   100% convinced the likely tags from Unicode are correct (or it'd
   take a lot more data). In any case, starting Calamares in "NL"
   gets me "nl_NL" as translation; presumably starting it in "BE"
   will get me that as well (what about Les Wallons?)
 - This also shows off that it's a real hack to have so much program
   logic in the *widget* parts of each ViewStep. Longer-term,
   a lot of functionality should go to the ViewStep itself, which
   will then control the UI.
6 years ago
Adriaan de Groot 03f88b3ed6 [libcalamares] Support looking up translation by 2-letter country
- Looks for an available translation by 2-letter country code
   and returns the row for it.
6 years ago
Adriaan de Groot 1857952431 [libcalamares] Add convenience accessor for translations
- Which translations are available is a global property
   of Calamares itself, not of the plugins, so getting
   the model of available translations should live there.
   Move the relevant code (which is simple) from the
   Welcome module.
6 years ago
Adriaan de Groot 76b45a2740 [libcalamares] const-data retrieval is const for LabelModel 6 years ago
Adriaan de Groot 18ed4c74ef [libcalamares] Move more into the locale service
- Use namespace CalamaresUtils::Locale consistently for this service.
 - Move locale-related non-GUI support code from the Welcome module
   to libcalamares; these are generally useful. Both Label (naming a locale)
   and LabelModel (managing a bunch of those Labels) have been moved.
6 years ago
Adriaan de Groot b490e30a5e [welcome] Use the new locale lookup after GeoIP gets a 2-letter code 6 years ago
Adriaan de Groot 81499b22a1 [libcalamares] Fix build of tests
- Link Qt::Xml publicly because the tests will need it as well.
6 years ago
Adriaan de Groot 69f05bd34a Merge branch 'master' into shuffle-geoip 6 years ago
Adriaan de Groot 2a448c057d [welcome] Provide API for updating the country
- Changing country will pre-select the language most likely
   for that country (it doesn't, yet, since we don't have the data).
6 years ago
Adriaan de Groot b51e22b520 [libcalamares] Implement locale lookups for 2-character codes 6 years ago
Adriaan de Groot 0dfef34160 [libcalamares] Add generated locale data tables 6 years ago
Adriaan de Groot 529d93c58f [libcalamares] Add the first locale-data C++ infra
- Lookup country data based on enum or 2-letter code
 - No data yet, so return only stubs
 - The (generated) data tables are not listed as sources because
   they are #include'd by the API implementation; they're full of
   otherwise-unused static tables, so don't make sense to compile
   separately.
 - While here, tidy up the CMakeLists a bit to reduce the number
   of superfluous variables.
6 years ago
Adriaan de Groot 07a9052fca [libcalamares] Also output size of locale-tables 6 years ago
Adriaan de Groot bf5ce44bd1 [libcalamares] Tidy up the CLDR script, add license, make more pythonic 6 years ago
Adriaan de Groot 2a5d99be50 [libcalamares] Start on a locale-data subdirectory
- Continuing the notion that libcalamares should provide
   (non-GUI) services for modules, add a locale service.
 - This will, unfortunately, roughly duplicate Qt's QLocale
   database, but in a form that is public and more readable.
6 years ago
Adriaan de Groot cb7c38daba [welcome] Support GeoIP country lookup 6 years ago
Adriaan de Groot 44559d24bd [libcalamares] Selector wasn't saved for later queries 6 years ago
Adriaan de Groot 4ea29b1cf1 [libcalamares] Implement "raw" handling 6 years ago
Adriaan de Groot 9931b2df44 [libcalamares] Add "raw" support for extracting data from GeoIP
- This is prep-work for getting something other than the
   timezone (e.g. most extended formats also support Country).
6 years ago
Adriaan de Groot bbd2afc20f Merge branch 'issue-1129'
FIXES #1129
6 years ago
Adriaan de Groot 53230d73e2 [partition] Replace user-visible MB with MiB 6 years ago
Adriaan de Groot b08de96315 [partition] Comment w/ MiB instead of MB 6 years ago
Adriaan de Groot 707ec98553 [partition] Tidy labels view
- Use MiB terminology and support code
 - Remove debugging chattiness
 - Fix up include style
6 years ago
Kevin Kofler ecc32ab9b6 [mount] Update copyright notice 6 years ago
Adriaan de Groot 50857dcfec [partition] Fix tests to use "MiB" terminology 6 years ago
Kevin Kofler 34083344a4 mount: copy the SELinux context of the host directory to the mountpoint
On systems with SELinux enabled, we have to create the directories on
top of which we mount another partition or virtual file system (e.g.,
/dev) with the correct SELinux context, BEFORE we mount the other
partition. Otherwise, SELinux will get really confused when systemd
tries to recreate the mount tree for a private file system namespace for
a service. And unfortunately, even an autorelabel does not fix it
because it runs when /dev etc. are already mounted.

Without this fix, on Fedora >= 30, the system installed with Calamares
would fail to start the dbus-broker system bus, leading to several
important pieces of functionality not working (e.g., shutdown as
non-root).

On systems without SELinux enabled, chcon (which is part of coreutils)
will just print a warning and do nothing, so this should always be safe.
6 years ago
Adriaan de Groot f25b1528a5
Merge pull request #1144 from a-wai/factor-partsize-class
Move partition size classes into libcalamares
6 years ago
Arnaud Ferraris eb57be1be8 [partition] Remove deprecated sizeToSectors() function
Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Arnaud Ferraris 80fd3d3353 [partition] Switch to using the generic PartitionSize class
Instead of relying on a module-specific implementation, use the new
PartitionSize class for storing partition sizes.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Arnaud Ferraris 8f9f8f1cc1 [fsresizer] Switch to using the generic PartitionSize class
Instead of relying on a module-specific implementation, use the new
PartitionSize class for storing partition sizes.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Arnaud Ferraris 4937668b5b [libcalamares] Add generic PartitionSize class
Using PartUtils::PartSize as reference, this commit creates a new
PartitionSize class in libcalamares, which will then be used in every
module needing such a class.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Arnaud Ferraris 36bc0e6308 [partition] Move bytesToSectors() to CalamaresUtils namespace
In order to prepare for future refactoring of the PartSize class, move
the bytesToSectors() function to libcalamares in the CalamaresUtils
namespace.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Arnaud Ferraris bfd46276ad [libcalamaresui] Fix sidebar label for setup mode
In the sidebar, the "Install" step should be named "Set Up" when in
setup mode, which will be more consistent with the other UI texts,
including button labels.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Adriaan de Groot 9331a25905 [libcalamares] Remove Typedefs.h
- This small header file contained a few unrelated typedefs.
   Move those typedefs to the classes they relate to. This
   **does** mean that some consumers need to #include something
   else instead.
 - Use type names more consistently.

Editorial: why are **pages** responsible for creating the jobs?
6 years ago
Adriaan de Groot a99eccf19d [libcalamaresui] Fix PythonQt code w/ moved enums 6 years ago
Adriaan de Groot f60ac5e101 [modules] The modules can include libcalamares and libcalamaresui
- Remove (heavy-handed) top-level include_directories, in favor
   of more focused ones; this helps to make sure that the dependencies
   ordering is correct.
6 years ago
Adriaan de Groot 16ff8b0767 [fsresizer] Make dependency on partition module more explicit 6 years ago
Adriaan de Groot a482d7be44 [libcalamaresui] Don't expose build details in DebugWindow
- In a library class, don't include uic-generated headers inside
   the public headers.
6 years ago
Adriaan de Groot de2b85eabf [libcalamaresui] Tidy the CMake bits
- Explain (briefly) what the library is for
 - Explicitly add includes from the non-UI library
6 years ago
Adriaan de Groot 0be34d281d [libcalamares] Remove incorrect comment
- The setting for OEM mode is already independent.
6 years ago
Adriaan de Groot cdb613bf02 [libcalamares] Move module-related things into subdirectory
- Currently just moves a single enum, but this is prep-work for
   moving the non-GUI parts of the module system into libcalamares,
   to better support GUI-less operation.
6 years ago
Adriaan de Groot 761205ecf7 [libcalamares] Tidy some bits
- Explain what the library is for (briefly) in the CMakeLists
 - Settings should use the right export macro
6 years ago
Adriaan de Groot 169159f888 [libcalamaresui] Switch to enum classes for Type, Interface
- Somewhat gratuitous change, but brings more enums into modern style.
6 years ago
Adriaan de Groot 6b89ac8461 [libcalamaresui] Remove TODO
- I don't know what this would mean, so it's not a TODO any more.
6 years ago
Adriaan de Groot d3783ef293 [partition] Use GiB and MiB consistently 6 years ago
Adriaan de Groot 502d43d111 [welcome] [partition] Rename GlobalStorage variable used for storage
- Change name passed into GS to use "GiB" instead of "GB", for
   consistency. This needs to be done in consumers as well.
6 years ago
Adriaan de Groot 599b34c70e [welcome] Rename GB variable to GiB
- User visible string with GiB
 - Update documentation in welcome.conf to match code
 - Rename variable because it was always GiB just named wrong
6 years ago
Adriaan de Groot 30a306f1b4 [welcome] Make check consistent with verbiage
SEE #1129
6 years ago
Kevin Kofler a01d4707e1 [partition] Do not unmount /dev/mapper/live-* in ClearMountsJob
src/modules/partition/jobs/ClearMountsJob.cpp
(ClearMountsJob::getCryptoDevices): Skip not only `/dev/mapper/control`,
but also `/dev/mapper/live-*`. Fedora live images use
`/dev/mapper/live-*` internally. We must not unmount those devices,
because they are used by the live image and because we need
`/dev/mapper/live-base` in the `unpackfs` module.
6 years ago
Kevin Kofler 71d991e2e4 [unpackfs] Do not use `-o loop` on a device
src/modules/unpackfs/main.py (UnpackOperation.mount_image): Check
whether entry.source is a regular file or a device and only use
`-o loop` on regular files, not devices.

At least on Fedora >= 29, `-o loop` fails on the read-only device
`/dev/mapper/live-base` (though `-o loop,ro` would be accepted).
6 years ago
Kevin Kofler 02c7fe8345 [umount]: Fix default srcLog in umount.conf
Also fix the introductory comment, which also contained the old
location.
6 years ago
Adriaan de Groot f7494864be [calamares] Tidying after fixing fit-text-in-sidepane
- Simplify delegate: unused m_parent, tidy up inheritance, then drop
   unnecessary custom constructor and extra Q_OBJECT macro.
 - Drop some unnecessary included headers
 - Drop single-use #define. APP was used in only one place; remove it
   (that would be stylistically correct, anyway).
 - Update copyright headers
 - Document new label-handling
6 years ago
Adriaan de Groot dc8cfd2fce [calamares] Fit text into sidepane
- Shrink the font in an attempt to fit into the box,
   but only up to 4pt smaller; after that just clip on one line.
6 years ago
Adriaan de Groot 0f30acc13f [calamares] Fix off-center text in sidepane
- The text rectangle was **moved**, not shrunk-in-place. Add
   the missing - sign for the right and bottom margin.
 - While here, move from #define to constexpr.
6 years ago
Adriaan de Groot fdc2cff65a [calamares] Keep text on a single line
- In the sidepane, don't wrap long texts
6 years ago
Adriaan de Groot 44107d6c33 [finished] Actually read the new-style config value 6 years ago
Adriaan de Groot f3c86810a1 [finished] More (display) modes for restarting
- Use a named enum instead of a collection of booleans
 - Support old-style configuration but complain about it
 - Update AppImage config as well

The new setup allows four different restart modes: never,
always, user-unchecked and user-checked. The user-modes
are interactive and give the user a choice (defaulting to
unchecked-don't-restart and checked-do-restart respectively).
The non-interactive versions vary in how they are
displayed.
6 years ago
Adriaan de Groot e281a74552 [finished] Fix up include guards and include style 6 years ago
Adriaan de Groot d6c7e53966 [finished] Warnings should be logged as such 6 years ago
Adriaan de Groot ef4196dbd8 [finished] Simplify configuration code 6 years ago
Adriaan de Groot 8774b605fa [locale] Update to use newer configuration
- deprecate the old entries
 - use a geoip sub-map for GeoIP configuration
 - polish up documentation
 - drop mention of blank and "legacy" styles for GeoIP config,
   just update your URLs already.
6 years ago
Adriaan de Groot 7899ab83f9 [libcalamares] Remove convenience API 6 years ago
Adriaan de Groot 44cbb0d374 [libcalamares] Drop alternate-config handling for GeoIP
- Dealing with legacy formats and alternate configurations
   is something that consumers should do (and then hand off
   to the 3-string constructor) instead.
6 years ago
Adriaan de Groot fc76313ea6 [libcalamares] Implement GeoIP Handler config from map
- read map entries with alternate keys
 - delegate to other constructor
6 years ago
Adriaan de Groot d5fe86c394 [libcalamares] Use NamedEnum for named-enum wrangling 6 years ago
Adriaan de Groot 5f01a8ccc5 [oemid] If the configuration is broken, complain loudly
- Adds an InvalidConfiguration value for internal errors

SEE #1136
6 years ago
Adriaan de Groot e0a79f4c0f [partition] Reduce scope for nullptr dereference
- document what types are in use
 - avoid at least one nullptr deref
6 years ago
Adriaan de Groot f1ddd0c233 [welcome] Simplify configuration code 6 years ago
Adriaan de Groot 25d97efe48 [locale] Use GeoIP Handler instead of own implementation 6 years ago
Adriaan de Groot 2f2adb3623 [libcalamares] Implement async GeoIP::Handler::query()
- do this the cheap way by splitting the synchronous API into a
   free function and then calling that through QtConcurrent.
6 years ago
Adriaan de Groot 84a759a591 [libcalamares] Emphasise that GeoIP::Handler::get() is synchronous
- prep-work for also having an async API
6 years ago
Adriaan de Groot ee6e8de31a [libcalamares] Disable broken GeoIP providers
- The tests were querying broken or disabled GeoIP providers,
   so remove them (this leaves only very few reliable free providers).
6 years ago
Adriaan de Groot 1da580f43d [libcalamares] Implement Handler's synchronous query()
- Steal code from existing tests for a synchronous HTTP get,
   then hand it off to the handler.
 - Extend tests with Handler interpreting the same data.
6 years ago
Adriaan de Groot 9bc8d28800 [libcalamares] Shuffle GeoIP into a namespace
- Use CalamaresUtils::GeoIP for GeoIP code
 - Name the public interface parts generically, while the
   implementation details retain GeoIP<foo> names.
6 years ago
Adriaan de Groot 16413e7bdb [libcalamares] Stub GeoIPHandler
- The handler class should deal with configuration and query
6 years ago
Adriaan de Groot 26b61a4ddb [libcalamares] Make RegionZonePair type stronger
- Derive from QPair instead of being QPair
 - Add isValid() for checking
 - Convenience constructors
6 years ago
Adriaan de Groot 73a5e7dd62 [libcalamares] Put GeoIP in namespace
- Use consistent include-guard style
 - Put things in namespace CalamaresUtils
6 years ago
Adriaan de Groot ce909f00cc [libcalamares] Drop unnecessary HAVE_XML
- Linking to QtXml gives us a -DQT_XML_LIB already, so use that.
6 years ago
Adriaan de Groot a1b1ebcd29 [locale] Compile with moved GeoIP handling 6 years ago
Adriaan de Groot 9ed46fc275 [libcalamares] [locale] Adjust CMakeLists to moved code 6 years ago
Adriaan de Groot 7ec7278fd3 [libcalamares] [locale] Move GeoIP code to the library 6 years ago
Adriaan de Groot dd33848975 [oemid] Tweak layout some more 6 years ago
Adriaan de Groot 6b137d6fd2 CMake: don't reset project() in a subdir 6 years ago
Adriaan de Groot a01262a535 CMake: massage dependency-finding
- If KPMCore is not found, don't require the KF5 components
   that it would depend on.
 - If ECM is found, use KDEInstallDirs always, not just when
   the partitioning module is used.
6 years ago
Adriaan de Groot 2620829515 [webview] Make optional based on presence of dependencies 6 years ago
Adriaan de Groot ea95913be9 [oemid] Expand documentation a little. 6 years ago
Adriaan de Groot 127c425a9a [oemid] Write batch-identifier into standard file location 6 years ago
Adriaan de Groot 2b12bd82e4 [oemid] Stub of a Job
- Create job, run it, and just debug-log what it should do.
6 years ago
Adriaan de Groot 1df726fc1d [oemid] Add summary widget text 6 years ago
Adriaan de Groot 672634547b [oemid] Tweak UI layout 6 years ago
Adriaan de Groot e510c829e1 [oemid] Add form explanation 6 years ago
Adriaan de Groot ae85381aae [oemid] Initial version of UI 6 years ago
Adriaan de Groot 96828c1df0 [oemid] Handle substitution in config-string 6 years ago
Adriaan de Groot 7d8b122835 [oemid] New module, stub
- OEMID is a module for configuring phase-0 things for an OEM,
   like batch-ID. This is just a stub.
 - Currently planned functionality is limited to just batch-ID.
6 years ago
Adriaan de Groot 8d0f076591 [libcalamares] Rename CalamaresUtils -> String
- The only remaining functions in the file are string-related, so
   rename to match their purpose.
 - Drop this include file from most places, since they don't actually
   use the string functionality at all.
6 years ago
Adriaan de Groot eaba696173 [libcalamares] Move the crash() function to the one place it's used 6 years ago
Adriaan de Groot 66c4445077 [libcalamares] Move translation-related functions to Retranslator.h 6 years ago
Adriaan de Groot ac095d9ed0 [libcalamares] [libcalamaresui] [calamares] Adjust to moved Dirs.h 6 years ago
Adriaan de Groot 50694ef610 [libcalamares] Split dirs-functionality into separate file 6 years ago
Adriaan de Groot 2907b48844 [libcalamaresui] Move RESPATH #define to the one place it's used 6 years ago
Adriaan de Groot 432b8848ab [libcalamares] Make #include guards consistent 6 years ago
Adriaan de Groot f076dd76ad [libcalamares] Rename YamlUtils.h
- Since we have the utils/ filesystem namespace, and use CalamaresUtils::
   as C++ namespace, simplify naming.
6 years ago
Adriaan de Groot 090aee9196 Modules: adjust to split-out utils/Variant.h
- Most modules only needed the variant support, not the "whole"
   CalamaresUtils header.
 - While here improve ordering of headers as well.
6 years ago
Adriaan de Groot 6e0e06078b [libcalamares] Split out the variant-manipulation bits
- We already have utils/ as the filesystem namespace, may as well
   make clearer what the various parts are.
 - Adjust CommandList to the moved API.
6 years ago
Adriaan de Groot 3e011d1419 [libcalamares] Don't link with PythonQt
- PythonQt is only needed (and used) from the GUI library.
6 years ago
Adriaan de Groot d2dd4fd76b Modules: Improve error reporting
- Remaining modules [networkcfg] [openrcdmcryptcfg] [rawfs] with
   code that throws on bad configuration. Replace with meaningful
   error messages, to better check cases of SyntaxError &c.
6 years ago
Adriaan de Groot 7d0874e23b [mount] Bail on bad config
- One might argue whether an empty list of partitions to mount is
   a bad thing. It suggests that the partition module wasn't used,
   and so we're in an OEM situation -- but then everything should
   already be mounted anyway. That's why I choose empty -> bail.
6 years ago
Adriaan de Groot ec0fe2ccd3 Modules: Improve error reporting
- [initcpio] remove superfluous inner function
 - [initcpio] catch errors from mkinitcpio itself and report them in a nice
   readable format.

 - Save translators the effort of doing a dozen messages
   with just the name of the module changed. All of these modules
   bail out on bad configurations with a meaningful message.
   - [initcpiocfg]
   - [fstab]
   - [initramfscfg]
   - [localecfg]
   - [luksbootkeyfile]
   - [luksopenswaphookcfg]

 - [machineid] Warn on bad config. It's conceivable that this is run
   with an empty rootMountPoint (i.e. "") to modify the running system,
   so only bail on None.
6 years ago
Adriaan de Groot 1f7dfafe9a [libcalamares] Provide accessor to error code.
- Document meaning of error codes.
 - The test-loader considers internal errors a real (test) failure,
   while errors returned normally by the modules (e.g. because the
   configuration is broken) to be ok for testing purposes.
6 years ago
Adriaan de Groot 7149b80146 [libcalamares] Distinguish kinds of errors
- errors can now carry an integer what-am-I code apart from
   the message; all errors have a code != 0 (and ok has code 0).
6 years ago
Adriaan de Groot b8be07573b [initramfs] Fix syntax error 6 years ago
Adriaan de Groot e072b76fea [shellprocess] [contextualprocess] Unneeded module.desc
- C++ modules should have a CMakeLists.txt which does the
   right thing, e.g. calamares_add_plugin() , and don't need
   a textual module.desc
6 years ago
Adriaan de Groot 6f9548af34 CMake: Check module interfaces
- Only allow meaningful interface strings
 - Improve documentation of which interfaces work for
   which module types.
6 years ago
Adriaan de Groot f8bc40ba91 [calamares] (test-app) loadmodule exit code 1 on failures
- If the module fails to load, or runs with an error, exit
   with code 1.
6 years ago
Adriaan de Groot 9700359cab [calamares] In (test-app) loadmodule, log failure as error
- Errors were being logged as debug output, which is normally
   hidden (e.g. unless -D6 is passed to turn on debugging).
6 years ago
Adriaan de Groot cf08e59501 [localecfg] Add missing import 6 years ago
Adriaan de Groot ca3110d429 [partition] Drop extra ; (warnings--) 6 years ago
Adriaan de Groot e8264a4503 [partition] Prefer GPT on EFI systems for new partition table 6 years ago
Adriaan de Groot a68a381481 [license] Fix compiler warnings
- out-of-order and incomplete initialization
 - documentation style
 - missing assignment operator
6 years ago
Adriaan de Groot 516b3b4b6c [partition] Adjust to logging-API changes
- missed due to #ifdef on a KPMcore API version I don't have on
   my main workstation.
6 years ago
Adriaan de Groot 3ddb49afb7 Merge branch 'issue-1061'
FIXES #1061
6 years ago
Adriaan de Groot 74d42fe229 [summary] Tidy scrollbar handling
- Handle different window-expansion strategies
6 years ago
Adriaan de Groot 3533bb3c2d Merge branch 'master' into issue-1061 6 years ago
Adriaan de Groot 52f824289e Changes: document license module changes
- also document applicable stylesheet ids
6 years ago
Adriaan de Groot 3ab9c0efdf Merge branch 'issue-1052'
FIXES #1052
6 years ago
Adriaan de Groot 58770037f4 [license] Allow more things locally
- If it says file:, it's local (don't require a specific file
   extension).
 - Report actual path loaded.
6 years ago
Adriaan de Groot ca870a6d41 [license] Update example
- Explain that the GPLv3 isn't actually a proprietary license, but
   is used as convenient text for the license page.
 - Invent a Calamares, Inc.
6 years ago
Adriaan de Groot 3608f62ec0 [license] Adjust tooltip and button texts
- Handle various states of the link and tool buttons,
   give them appropriate texts and tooltips.
6 years ago
Adriaan de Groot 4ce6fdbd90 [license] Make area scrollable
- Since the list of license entries may be long (especially
   if the text is expanded) make it scrollable.
6 years ago
Adriaan de Groot f0d26a74b7 [license] Set object names
- This is prep-work now that the CSS styling branch has merged
6 years ago
Adriaan de Groot e9a295dfe5 [branding] Add example (empty) CSS file 6 years ago
Adriaan de Groot 08e4090354 Merge remote-tracking branch 'origin/raurodse-branding'
FIXES #961
6 years ago
Adriaan de Groot 982a3fb372 [license] Apply stylesheet so displayed text is nicer. 6 years ago
Adriaan de Groot 4bdae0cab0 [license] Load full license text if local
- Load full text, toggle display
 - Swap Up and Down arrow semantics on button, to match usual
   text-editor display (down means it's expanded, displayed)
6 years ago
Adriaan de Groot 92a3666dce [license] Simplify isLocal() by using Qt method 6 years ago
Adriaan de Groot ddf541774b [license] Make local and external links more consistent
- Capitalization of message
 - Add a right-pointing "open" button to external links as well
6 years ago
Adriaan de Groot a216b5ca76 [libcalamaresui] Misplaced const 6 years ago
Adriaan de Groot c696b5c19d [license] Add show-license toggle button
- Non-functional as yet
 - Toggles expand / collapse arrow and tooltip
6 years ago
Adriaan de Groot b7ddb39105 [libcalamaresui] Massage disable-cancel code
- Even when Cancel is hidden, also disable it (prevents DBUS
   triggers, for instance),
 - Re-enable it when exec is over, if it's disabled then.
 - simplify code a little.
6 years ago
Adriaan de Groot d506296aa7 [libcalamares] Adjust code to changed name
- renamed setting in the configuration file, but not in the code
 - add documentation to getters
6 years ago
Adriaan de Groot 10727c7bd9
Merge pull request #1126 from feren/patch-3
Patch to add 'dont-cancel' setting to disable Cancel only during the installation phase
6 years ago
Adriaan de Groot 3b7b0d6f04
Merge branch 'master' into patch-1 6 years ago
Adriaan de Groot 32ed3f6db6 [license] Add GPLv3 as an example in the license.conf 6 years ago
Adriaan de Groot cb80d47682 [license] Move translation / retranslation to LicenseWidget
- Language change didn't otherwise apply to the license items
6 years ago
Adriaan de Groot 1235207ead [license] Refactor LicenseWidget
- Move all the widget code into its own file
6 years ago
Adriaan de Groot 35f23c86c6 [license] Add stub LicenseWidget files
- Prepare for refactoring
 - Clean up weirdness in the CMakeLists.txt
6 years ago
Adriaan de Groot d2957fbad3 [license] Handle the case where all the licenses are optional
- If all of the licenses are optional, you should be able to
   continue without accepting. Refactor to a single visible
   slot to check the conditions.
 - Always set the globalsettings value; to "false" on entry
   to make sure it's there.
 - When setting the list of entries, check the conditions
   (because if the list is empty, or all of them are optional,
   then it's ok to continue).

FIXES #1124
FIXES #1125
6 years ago
Adriaan de Groot c245238b89 [license] Use standard algorithms, simplify code
- Introduce isRequired() for readability later
 - Use std::any_of instead of rolling own loop
6 years ago
Adriaan de Groot 937f332441 [license] Refactor LicenseEntry
- Follow Calamares conventions for member naming
 - Switch to struct since everything is public anyway
6 years ago
Adriaan de Groot dc006d58b2 [license] Use NamedEnum 6 years ago
Adriaan de Groot 614bd3c6de [license] Move logic to LicenseEntry class 6 years ago
Adriaan de Groot 81016667ae [license] Change to enum class
- non-functional change, just chasing modern C++
6 years ago
Adriaan de Groot f299b86a3b [license] start to document license.conf
- document keys and values in a way consistent with other modules
 - document **intended** use of local URLs.
6 years ago
Adriaan de Groot e326b658ef Enable translation in Python modules
- covers all the remaining Python modules
 - most only get a translatable pretty name, some also return
   error messages
6 years ago
Adriaan de Groot c364e4fc38 [dracut] [fstab] Translate module names and error messages 6 years ago
Adriaan de Groot ff6a3608a6 [mount] [networkcfg] [openrcdmcryptcfg] Translate module name 6 years ago
Adriaan de Groot dd5c0d1629 [bootloader] Log when the bootloader-module does nothing 6 years ago
Adriaan de Groot 333f0d9215 [bootloader] Simplify finding the ESP 6 years ago
Adriaan de Groot df37c51c1e [bootloader] [hwclock] Translate module name 6 years ago
Adriaan de Groot c44e221fb6 Merge branch 'issue-1107'
FIXES #1107
6 years ago
Adriaan de Groot cb5825a521 [libcalamares] English label with country 6 years ago
Adriaan de Groot 81acc496dc [welcome] Introduce a delegate for drawing the languages list
- Show the native name left, English name right
6 years ago
Adriaan de Groot 0b833b1e75 [welcome] Switch model to a list model
- There doesn't seem to be a real benefit to providing the
   name and label as separate columns.
6 years ago
Adriaan de Groot 53fd1590b8 [welcome] Don't use combobox itemdata for locale information 6 years ago
Adriaan de Groot e5d1c0ae27 [welcome] Fix matched-with-a-locale
- Previously the matchLocale() function set the index in the
   combobox; do it separately now.
6 years ago
Adriaan de Groot 57452b8c38 [locale] [welcome] Adjust to moved LocaleLabel
- Adjust #includes
 - In [welcome], use find() on the model rather than querying
   the combo-box.
6 years ago
Adriaan de Groot 58aa9f4989 [libcalamares] Move LocaleLabel from libcalamaresui to libcalamares
- This isn't a UI-dependent class
 - Doesn't make much sense in CalamaresUtilsGui either
6 years ago
Adriaan de Groot 242d756731 [libcalamaresui] Add convenience name() to LocaleLabel 6 years ago
Adriaan de Groot 0c868dbd17 [welcome] Another find() overload
- Also find a specific locale
 - While here, apply Calamares coding style
6 years ago
Adriaan de Groot 314aee8d68 [welcome] Switch to QVector
- QVector is a better match with passing in QStringList, otherwise
   you end up dealing with Qt's int indexes vs. std::vector's uint
   indexes everywhere.
 - Introduce find()
6 years ago
Adriaan de Groot bd0af4bb77 [libcalamaresui] Give LocaleLabel a default constructor
- Needed for use in containers
 - While here refactor building the english label
6 years ago
Adriaan de Groot 94765d40cd [welcome] Switch to using LocaleModel for language combobox
- Use the model instead of inserting items
 - While here, tidy includes and documentation
6 years ago
Adriaan de Groot 589168685e [welcome] Complete LocaleModel implementation
- It's a table with two columns (localized name and english name)
6 years ago
Adriaan de Groot 7f8411c3b7 [welcome] Add standard language-chooser icon
- After discussion with Red Hat UI advice, switch to standard icon
 - Tooltip as well
6 years ago
Adriaan de Groot f04d084548 [welcome] Start on a model for the locale choices 6 years ago
Adriaan de Groot c99742bc70
Merge pull request #1127 from a-wai/partition-layout-size-checks
Add various checks for partition layout configuration
6 years ago
Adriaan de Groot cf51eb7aab [keyboard] Apply source formatting
- Move errant attribution line to the copyright headers;
   unsure of the year though.
 - Apply Calamares coding style.
6 years ago
Adriaan de Groot 118f9255fd [keyboard] Refactor sectioning
- Look for section in a consistent fashion
 - Simplify parsing loops
6 years ago
Adriaan de Groot fa70b3aa60 [keyboard] Refactor keyboard model loading
- Don't need private static methods
 - Pass char* if that's what we've got
6 years ago
Adriaan de Groot 3c014a868c [keyboard] Make keyboard preview more robust
- Replace #define with static const char
 - Handle FreeBSD as well (for testing purposes)
6 years ago
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