4184 Commits (edd2cc7244c86f925edb2cf505fe5aa0d46462ce)

Author SHA1 Message Date
Adriaan de Groot 38485f675c [branding] In the stylesheet, mention how styling works
SEE #1149
6 years ago
Adriaan de Groot 6a7c2f541e [branding] Mention the stylesheet in the docs 6 years ago
Adriaan de Groot a30edb194a [branding] Update branding.desc with new os-release feature
- Point to supported keys on the fd.o site
 - Point out need for quoting
 - Update example with "@{NAME}" for the window-title
6 years ago
Adriaan de Groot af73d90b7b [libcalamaresui] Fix build with KOSRelease
- initialization of the hash was all wrong
 - special-case ID_LIKE
 - typo's
 - link to CoreAddons
6 years ago
Adriaan de Groot fbbbe63642 [libcalamaresui] WIP: Use KOSRelease and KMacroExpander in branding
- allows you to use -- at runtime -- values from os-release in the
   branding file.
 - WIP because the only machine I have with sufficiently new KF5
   is the FreeBSD box.
6 years ago
Adriaan de Groot 92d0e71029 [libcalamaresui] one more refactor for string-loading
- Do the checking for IsMap inside loadStrings() and use
   YAML::Exception to get to bail() (since we're already dealing
   with exceptions here, no extra costs). This tidies up the code
   somewhat.
6 years ago
Adriaan de Groot 667f78c016 [libcalamaresui] if there's a YAML exception in branding, bail
- all kinds of type errors result in bailing out, but a totally
   broken branding file does not?
6 years ago
Adriaan de Groot 62328c9940 [libcalamaresui] images-strings loading fixed
- move the string-munge into a lambda and use the generic loadStrings()
6 years ago
Adriaan de Groot 544d905b2f [libcalamaresui] WIP: refactor again
- the string-manipulation can be done through a lambda. That makes
   handling *strings* and *styles* simple.
 - still doesn't compile.
6 years ago
Adriaan de Groot 5a126816f4 [libcalamaresui] WIP: refactor copying strings from config to Branding
- this is mostly to make the constructor easier to read by
   moving parts of the story to easily-understood methods.
 - doesn't actually compile.
6 years ago
Adriaan de Groot 5bae7b7b52 [libcalamaresui] check for sufficiently-new KF5CoreAddons
- From 5.58, KOSRelease is available (not used yet, though)
6 years ago
Adriaan de Groot a9f3b4050c [libcalamaresui] don't over-complicate PythonQt library linking 6 years ago
Adriaan de Groot 0c4d77541f [plasmalnf] simplify KF5-finding
- No need to double-up package finding.
6 years ago
Adriaan de Groot 1cf3ac810a [calamares] avoid extra defines for KCrash
- Don't need an extra indirection from WITH_KF5Crash to WITH_KCRASH,
   just use the cmakedefine directly.
 - Since the setting is only used in main.cpp, move the define
   down there and remove cmakedefine entirely.
6 years ago
Adriaan de Groot 81c4114de9 welcome: disable geoip by default (and document how)
FIXES #1148
6 years ago
Adriaan de Groot f3bfc81e52 [libcalamares] Rename dontCancel to disableCancelDuringExec
- This way the name actually refers to what it does, rather
   than being a somewhat ambiguous overload of disableCancel.
6 years ago
Adriaan de Groot a5cba02769 [calamares] Leave a note about changing close-window hint 6 years ago
Adriaan de Groot 2208ff95fe [calamares] Simplify disable-window-close-button code 6 years ago
Adriaan de Groot d4f4a40fa5 [libcalamaresui] Refactor quit-enabling
- Add signal for change-of-quit-enabledness
 - Minor tidying
6 years ago
Adriaan de Groot 088fa5004c [libcalamaresui] Disallow closing the window during execution
- If the disable-cancel-during-exec setting is on, and the user clicks
   the window-close button, then disregard the close message.
6 years ago
Adriaan de Groot ad4352b65c [libcalamaresui] Make stepIsExecute() more general
- Checking if the **next** step is an execute-step is a little
   weird, so make the API more general (and add the +1 to indexes
   where it was using NextWillExecute before).
6 years ago
Adriaan de Groot 25099ae854 [libcalamaresui] Remove duplicate setEnabled
- If executing is set to true, then later setEnabled( !executing && ... )
   fill be false, so we don't need to call setEnabled( false ) here as well.
6 years ago
Adriaan de Groot 5868657101 [calamares] Hide the window-close decoration when disable-cancel is set 6 years ago
Adriaan de Groot d78bc0c5c5 [libcalamaresui] When disable-cancel is on, never confirm
- This function is also reached by clicking the window-close decoration.
6 years ago
Adriaan de Groot 34ffc7a20a [libcalamares] Consistent namespace usage in partition service
- The sub-directories under libcalamares (e.g. Utils, ..)
   all live in namespace CalamaresUtils (well, except for Logger).
   The services (e.g. subdirs other than utils/) live in their
   own nested namespace, so partitioning should go into
   CalamaresUtils::Partition for consistency.
6 years ago
Adriaan de Groot e520c66bb9 [fsresizer] Give the FSResizerJob some accessors
- This is primarily for the tests: then they can drop the
   #define private public hack and be "proper" consumers.
6 years ago
Adriaan de Groot 80606cc38d [partition] Reduce test warnings through consistent signedness 6 years ago
Adriaan de Groot 7e12b65c94 [partition] Silence warnings about missing vtable 6 years ago
Adriaan de Groot 81715ba199 [partition] Warnings-- by using nullptr instead of 0 6 years ago
Adriaan de Groot 54108d2bab [partition] Fix up logging of jobs
- Logging `*it` was printing raw pointers, logging (plain) `it`
   needs the specialized logging `operator<<` to DTRT with temporaries.
6 years ago
Adriaan de Groot fd4bc4bb17 [partition] Avoid UB by initializing size everywhere 6 years ago
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