Commit Graph

4090 Commits

Author SHA1 Message Date
Adriaan de Groot
3b0d778d1e [partition] Mention that reuse-swap isn't supported now 2019-05-12 16:34:57 +02:00
Adriaan de Groot
8fcdbd5bd5 [libcalamaresui] Improve warning message
- Tell the packager / deployer that certain modules are missing
2019-05-12 16:29:50 +02:00
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.)
2019-05-12 16:11:35 +02:00
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.
2019-05-10 19:00:11 -04:00
Adriaan de Groot
e972c175d8 [bootloader] Fix typo's
- There's a general "partititon" typo, but the variable
   name also is misused.
2019-05-10 18:26:59 -04:00
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).
2019-05-10 15:35:00 -04:00
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.
2019-05-10 15:28:37 -04:00
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.
2019-05-10 15:02:12 -04:00
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.
2019-05-10 14:44:54 -04:00
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.
2019-05-10 12:07:24 -04:00
Adriaan de Groot
76b45a2740 [libcalamares] const-data retrieval is const for LabelModel 2019-05-10 12:07:24 -04:00
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.
2019-05-10 11:46:20 -04:00
Adriaan de Groot
b490e30a5e [welcome] Use the new locale lookup after GeoIP gets a 2-letter code 2019-05-10 11:03:01 -04:00
Adriaan de Groot
81499b22a1 [libcalamares] Fix build of tests
- Link Qt::Xml publicly because the tests will need it as well.
2019-05-10 10:57:50 -04:00
Adriaan de Groot
69f05bd34a Merge branch 'master' into shuffle-geoip 2019-05-10 08:04:36 -04:00
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).
2019-05-10 07:53:44 -04:00
Adriaan de Groot
b51e22b520 [libcalamares] Implement locale lookups for 2-character codes 2019-05-10 13:46:35 +02:00
Adriaan de Groot
0dfef34160 [libcalamares] Add generated locale data tables 2019-05-10 13:14:52 +02:00
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.
2019-05-10 13:14:52 +02:00
Adriaan de Groot
07a9052fca [libcalamares] Also output size of locale-tables 2019-05-10 13:14:51 +02:00
Adriaan de Groot
bf5ce44bd1 [libcalamares] Tidy up the CLDR script, add license, make more pythonic 2019-05-10 13:06:55 +02:00
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.
2019-05-10 11:49:44 +02:00
Adriaan de Groot
cb7c38daba [welcome] Support GeoIP country lookup 2019-05-09 15:15:03 -04:00
Adriaan de Groot
44559d24bd [libcalamares] Selector wasn't saved for later queries 2019-05-09 15:09:58 -04:00
Adriaan de Groot
4ea29b1cf1 [libcalamares] Implement "raw" handling 2019-05-09 10:40:51 -04:00
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).
2019-05-09 10:15:53 -04:00
Adriaan de Groot
bbd2afc20f Merge branch 'issue-1129'
FIXES #1129
2019-05-09 08:14:25 -04:00
Adriaan de Groot
53230d73e2 [partition] Replace user-visible MB with MiB 2019-05-09 08:13:58 -04:00
Adriaan de Groot
b08de96315 [partition] Comment w/ MiB instead of MB 2019-05-09 08:00:23 -04:00
Adriaan de Groot
707ec98553 [partition] Tidy labels view
- Use MiB terminology and support code
 - Remove debugging chattiness
 - Fix up include style
2019-05-09 07:58:20 -04:00
Kevin Kofler
ecc32ab9b6 [mount] Update copyright notice 2019-05-09 13:52:13 +02:00
Adriaan de Groot
50857dcfec [partition] Fix tests to use "MiB" terminology 2019-05-09 07:51:35 -04:00
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.
2019-05-09 13:50:31 +02:00
Adriaan de Groot
f25b1528a5
Merge pull request #1144 from a-wai/factor-partsize-class
Move partition size classes into libcalamares
2019-05-09 13:32:15 +02:00
Arnaud Ferraris
eb57be1be8 [partition] Remove deprecated sizeToSectors() function
Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-05-08 19:31:41 +02:00
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>
2019-05-08 19:31:20 +02:00
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>
2019-05-08 19:31:01 +02:00
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>
2019-05-08 19:30:33 +02:00
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>
2019-05-08 19:20:38 +02:00
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>
2019-05-08 12:29:01 +02:00
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?
2019-05-07 09:51:23 -04:00
Adriaan de Groot
a99eccf19d [libcalamaresui] Fix PythonQt code w/ moved enums 2019-05-07 08:47:33 -04:00
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.
2019-05-07 07:48:40 -04:00
Adriaan de Groot
16ff8b0767 [fsresizer] Make dependency on partition module more explicit 2019-05-07 07:48:40 -04:00
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.
2019-05-07 07:48:40 -04:00
Adriaan de Groot
de2b85eabf [libcalamaresui] Tidy the CMake bits
- Explain (briefly) what the library is for
 - Explicitly add includes from the non-UI library
2019-05-07 07:48:40 -04:00
Adriaan de Groot
0be34d281d [libcalamares] Remove incorrect comment
- The setting for OEM mode is already independent.
2019-05-07 07:48:40 -04:00
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.
2019-05-07 07:48:40 -04:00
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
2019-05-07 07:02:55 -04:00
Adriaan de Groot
169159f888 [libcalamaresui] Switch to enum classes for Type, Interface
- Somewhat gratuitous change, but brings more enums into modern style.
2019-05-07 06:33:31 -04:00
Adriaan de Groot
6b89ac8461 [libcalamaresui] Remove TODO
- I don't know what this would mean, so it's not a TODO any more.
2019-05-07 06:26:43 -04:00
Adriaan de Groot
d3783ef293 [partition] Use GiB and MiB consistently 2019-05-06 16:47:11 +02:00
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.
2019-05-06 16:39:14 +02:00
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
2019-05-06 16:31:23 +02:00
Adriaan de Groot
30a306f1b4 [welcome] Make check consistent with verbiage
SEE #1129
2019-05-06 16:18:19 +02:00
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.
2019-05-06 15:08:10 +02:00
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).
2019-05-06 15:04:58 +02:00
Kevin Kofler
02c7fe8345 [umount]: Fix default srcLog in umount.conf
Also fix the introductory comment, which also contained the old
location.
2019-05-06 15:01:30 +02:00
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
2019-05-06 14:30:53 +02:00
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.
2019-05-06 14:14:20 +02:00
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.
2019-05-06 13:45:08 +02:00
Adriaan de Groot
fdc2cff65a [calamares] Keep text on a single line
- In the sidepane, don't wrap long texts
2019-05-06 13:36:27 +02:00
Adriaan de Groot
44107d6c33 [finished] Actually read the new-style config value 2019-05-06 12:23:10 +02:00
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.
2019-05-06 10:35:09 +02:00
Adriaan de Groot
e281a74552 [finished] Fix up include guards and include style 2019-05-06 10:04:28 +02:00
Adriaan de Groot
d6c7e53966 [finished] Warnings should be logged as such 2019-05-06 09:57:19 +02:00
Adriaan de Groot
ef4196dbd8 [finished] Simplify configuration code 2019-05-06 09:57:19 +02:00
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.
2019-05-03 11:37:12 -04:00
Adriaan de Groot
7899ab83f9 [libcalamares] Remove convenience API 2019-05-03 11:35:13 -04:00
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.
2019-05-03 11:21:01 -04:00
Adriaan de Groot
fc76313ea6 [libcalamares] Implement GeoIP Handler config from map
- read map entries with alternate keys
 - delegate to other constructor
2019-05-03 11:06:36 -04:00
Adriaan de Groot
d5fe86c394 [libcalamares] Use NamedEnum for named-enum wrangling 2019-05-03 11:00:57 -04:00
Adriaan de Groot
5f01a8ccc5 [oemid] If the configuration is broken, complain loudly
- Adds an InvalidConfiguration value for internal errors

SEE #1136
2019-05-03 09:01:19 -04:00
Adriaan de Groot
e0a79f4c0f [partition] Reduce scope for nullptr dereference
- document what types are in use
 - avoid at least one nullptr deref
2019-05-03 08:47:34 -04:00
Adriaan de Groot
f1ddd0c233 [welcome] Simplify configuration code 2019-05-02 14:00:32 -04:00
Adriaan de Groot
25d97efe48 [locale] Use GeoIP Handler instead of own implementation 2019-05-02 13:48:19 -04:00
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.
2019-05-02 11:17:55 -04:00
Adriaan de Groot
84a759a591 [libcalamares] Emphasise that GeoIP::Handler::get() is synchronous
- prep-work for also having an async API
2019-05-02 11:06:08 -04:00
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).
2019-05-02 08:38:31 -04:00
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.
2019-05-02 08:33:29 -04:00
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.
2019-05-02 07:25:48 -04:00
Adriaan de Groot
16413e7bdb [libcalamares] Stub GeoIPHandler
- The handler class should deal with configuration and query
2019-05-02 06:55:41 -04:00
Adriaan de Groot
26b61a4ddb [libcalamares] Make RegionZonePair type stronger
- Derive from QPair instead of being QPair
 - Add isValid() for checking
 - Convenience constructors
2019-05-02 06:16:08 -04:00
Adriaan de Groot
73a5e7dd62 [libcalamares] Put GeoIP in namespace
- Use consistent include-guard style
 - Put things in namespace CalamaresUtils
2019-05-02 05:58:52 -04:00
Adriaan de Groot
ce909f00cc [libcalamares] Drop unnecessary HAVE_XML
- Linking to QtXml gives us a -DQT_XML_LIB already, so use that.
2019-05-01 06:39:20 -04:00
Adriaan de Groot
a1b1ebcd29 [locale] Compile with moved GeoIP handling 2019-05-01 06:31:31 -04:00
Adriaan de Groot
9ed46fc275 [libcalamares] [locale] Adjust CMakeLists to moved code 2019-04-30 17:01:10 -04:00
Adriaan de Groot
7ec7278fd3 [libcalamares] [locale] Move GeoIP code to the library 2019-04-30 16:52:31 -04:00
Adriaan de Groot
dd33848975 [oemid] Tweak layout some more 2019-04-30 14:47:46 +02:00
Adriaan de Groot
6b137d6fd2 CMake: don't reset project() in a subdir 2019-04-30 13:43:57 +02:00
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.
2019-04-30 13:38:46 +02:00
Adriaan de Groot
2620829515 [webview] Make optional based on presence of dependencies 2019-04-30 13:12:16 +02:00
Adriaan de Groot
ea95913be9 [oemid] Expand documentation a little. 2019-04-29 11:25:34 -04:00
Adriaan de Groot
127c425a9a [oemid] Write batch-identifier into standard file location 2019-04-29 11:22:53 -04:00
Adriaan de Groot
2b12bd82e4 [oemid] Stub of a Job
- Create job, run it, and just debug-log what it should do.
2019-04-29 10:41:33 -04:00
Adriaan de Groot
1df726fc1d [oemid] Add summary widget text 2019-04-29 10:37:32 -04:00
Adriaan de Groot
672634547b [oemid] Tweak UI layout 2019-04-29 10:19:28 -04:00
Adriaan de Groot
e510c829e1 [oemid] Add form explanation 2019-04-29 10:16:59 -04:00
Adriaan de Groot
ae85381aae [oemid] Initial version of UI 2019-04-29 09:40:13 -04:00
Adriaan de Groot
96828c1df0 [oemid] Handle substitution in config-string 2019-04-29 09:03:10 -04:00
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.
2019-04-29 08:49:53 -04:00
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.
2019-04-29 06:49:16 -04:00
Adriaan de Groot
eaba696173 [libcalamares] Move the crash() function to the one place it's used 2019-04-29 06:49:16 -04:00
Adriaan de Groot
66c4445077 [libcalamares] Move translation-related functions to Retranslator.h 2019-04-29 06:49:16 -04:00
Adriaan de Groot
ac095d9ed0 [libcalamares] [libcalamaresui] [calamares] Adjust to moved Dirs.h 2019-04-29 06:49:16 -04:00
Adriaan de Groot
50694ef610 [libcalamares] Split dirs-functionality into separate file 2019-04-29 06:49:16 -04:00
Adriaan de Groot
2907b48844 [libcalamaresui] Move RESPATH #define to the one place it's used 2019-04-29 06:14:21 -04:00
Adriaan de Groot
432b8848ab [libcalamares] Make #include guards consistent 2019-04-29 06:14:21 -04:00
Adriaan de Groot
f076dd76ad [libcalamares] Rename YamlUtils.h
- Since we have the utils/ filesystem namespace, and use CalamaresUtils::
   as C++ namespace, simplify naming.
2019-04-29 06:14:21 -04:00
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.
2019-04-29 06:14:21 -04:00
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.
2019-04-29 06:14:21 -04:00
Adriaan de Groot
3e011d1419 [libcalamares] Don't link with PythonQt
- PythonQt is only needed (and used) from the GUI library.
2019-04-29 04:36:32 -04:00
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.
2019-04-28 14:43:39 -04:00
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.
2019-04-28 14:36:56 -04:00
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.
2019-04-28 14:34:39 -04:00
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.
2019-04-28 14:34:39 -04:00
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).
2019-04-28 14:34:39 -04:00
Adriaan de Groot
b8be07573b [initramfs] Fix syntax error 2019-04-27 14:12:03 -04:00
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
2019-04-27 11:37:12 -04:00
Adriaan de Groot
6f9548af34 CMake: Check module interfaces
- Only allow meaningful interface strings
 - Improve documentation of which interfaces work for
   which module types.
2019-04-27 11:30:16 -04:00
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.
2019-04-27 11:09:54 -04:00
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).
2019-04-27 11:07:59 -04:00
Adriaan de Groot
cf08e59501 [localecfg] Add missing import 2019-04-27 11:04:10 -04:00
Adriaan de Groot
ca3110d429 [partition] Drop extra ; (warnings--) 2019-04-25 10:17:07 -04:00
Adriaan de Groot
e8264a4503 [partition] Prefer GPT on EFI systems for new partition table 2019-04-25 14:40:27 +02:00
Adriaan de Groot
a68a381481 [license] Fix compiler warnings
- out-of-order and incomplete initialization
 - documentation style
 - missing assignment operator
2019-04-25 14:15:14 +02:00
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.
2019-04-25 13:42:59 +02:00
Adriaan de Groot
3ddb49afb7 Merge branch 'issue-1061'
FIXES #1061
2019-04-25 06:47:32 -04:00
Adriaan de Groot
74d42fe229 [summary] Tidy scrollbar handling
- Handle different window-expansion strategies
2019-04-24 13:58:38 -04:00
Adriaan de Groot
3533bb3c2d Merge branch 'master' into issue-1061 2019-04-24 12:26:01 -04:00
Adriaan de Groot
52f824289e Changes: document license module changes
- also document applicable stylesheet ids
2019-04-24 07:13:06 -04:00
Adriaan de Groot
3ab9c0efdf Merge branch 'issue-1052'
FIXES #1052
2019-04-24 07:06:30 -04:00
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.
2019-04-24 07:04:38 -04:00
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.
2019-04-24 07:03:57 -04:00
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.
2019-04-24 06:53:31 -04:00
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.
2019-04-24 06:43:00 -04:00
Adriaan de Groot
f0d26a74b7 [license] Set object names
- This is prep-work now that the CSS styling branch has merged
2019-04-23 17:05:44 -04:00
Adriaan de Groot
e9a295dfe5 [branding] Add example (empty) CSS file 2019-04-23 16:48:29 -04:00
Adriaan de Groot
08e4090354 Merge remote-tracking branch 'origin/raurodse-branding'
FIXES #961
2019-04-23 16:41:22 -04:00
Adriaan de Groot
982a3fb372 [license] Apply stylesheet so displayed text is nicer. 2019-04-23 08:41:32 -04:00
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)
2019-04-23 08:29:32 -04:00
Adriaan de Groot
92a3666dce [license] Simplify isLocal() by using Qt method 2019-04-23 08:16:54 -04:00
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
2019-04-23 04:10:43 -04:00
Adriaan de Groot
a216b5ca76 [libcalamaresui] Misplaced const 2019-04-22 00:18:28 +02:00
Adriaan de Groot
c696b5c19d [license] Add show-license toggle button
- Non-functional as yet
 - Toggles expand / collapse arrow and tooltip
2019-04-21 20:36:11 +02:00
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.
2019-04-21 17:32:05 +02:00
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
2019-04-21 17:15:53 +02:00
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
2019-04-21 17:02:21 +02:00
Adriaan de Groot
3b7b0d6f04
Merge branch 'master' into patch-1 2019-04-21 16:55:42 +02:00
Adriaan de Groot
32ed3f6db6 [license] Add GPLv3 as an example in the license.conf 2019-04-21 14:23:56 +02:00