Adriaan de Groot
76041a2184
[dummycpp] Reduce warnings and apply coding style
...
- tired of the (IMO, bogus) clang warnings from the
switch() statement with a default:, so swap it out for
some cascaded ifs.
2019-08-09 16:34:53 +02:00
Adriaan de Groot
e81bd52fb5
[initcpio] [initramfs] Set compilation options on tests
...
- calamares_automoc() sets AUTOMOC, but also adds some flags
to avoid compilation warnings from the generated MOC code.
- drop weird hard-coded include paths
2019-08-09 16:29:55 +02:00
Adriaan de Groot
48a25858f0
[partition] Chase 3rdparty move
2019-08-08 12:42:47 -04:00
Adriaan de Groot
8636689cea
[packagechooser] Fix tests when run from in-source build
2019-08-07 12:58:22 +02:00
Adriaan de Groot
20f43225b5
[packagechooser] Adjust AppData path for tests
...
- running tests by hand or from "make test" uses different paths.
2019-08-07 12:02:03 +02:00
Adriaan de Groot
781be3368e
[packagechooser] Remove bogus images
...
- KDE and GNOME selection images were drawn by me for the bogus
package model, and should not be used.
- Keep Calamares logo though, even if it doesn't make much sense
to use it in package selection.
- Keep the no-selection image since it might be used more often,
but it's not very good.
2019-08-07 11:57:02 +02:00
Adriaan de Groot
f3de320288
[packagechooser] Drop hard-coded data
...
- Now that the configuration can do all the things, we don't need
a hard-coded model with bogus entries.
2019-08-07 11:51:56 +02:00
Adriaan de Groot
194a562727
[packagechooser] Expand tests with override features
2019-08-06 22:51:14 +02:00
Adriaan de Groot
a4362dac65
[packagechooser] Change tests for modified API
2019-08-06 22:48:04 +02:00
Adriaan de Groot
5d4c3ea92c
[packagechooser] Don't give a default pixmap
2019-08-06 22:48:04 +02:00
Adriaan de Groot
0b72006ffb
[packagechooser] Use overrides on AppData for example
2019-08-06 22:48:04 +02:00
Adriaan de Groot
6ddae94628
[packagechooser] Allow to override some of AppData
...
- The ID and Screenshot entries might be weird in AppData (in particular,
a remove URL) so put those back under the control of Calamares even
when using AppData as the source of descriptions.
2019-08-06 22:48:04 +02:00
Adriaan de Groot
d72391942f
[packagechooser] Implement AppData loading
...
- An item can refer to *appdata* and load that, or provide
the data in the config file itself.
- Fix documentation about translations.
2019-08-06 15:55:27 +02:00
Adriaan de Groot
9a8b2c5a1e
[packagechooser] CHeck that AppData load was succesful
2019-08-06 15:45:14 +02:00
Adriaan de Groot
fb547364c7
[packagechooser] Complete parsing of AppData
...
- Document all the static inline methods that do the work
- Fill up a QVariantMap from <name>, <summary> and <description><p>
elements, and use that to initialize the PackageItem.
2019-08-06 15:36:34 +02:00
Adriaan de Groot
431c4de77f
[packagechooser] Use GUI for tests
...
- Because we'll be creating Pixmaps, we need to have a GUI main.
2019-08-06 15:19:20 +02:00
Adriaan de Groot
6821b14d00
[packagechooser] Enable logging in tests
2019-08-06 14:50:04 +02:00
Adriaan de Groot
beb5896fa2
[packagechooser] Start implementation of AppData loading
...
- Doing a manual read of the XML, since existing appdata libraries
don't seem to have a convenient entry for what I need.
- Expand tests to loading AppData (currently, they fail).
2019-08-06 14:50:04 +02:00
Adriaan de Groot
6c41151f80
[packagechooser] Just one screenshot, and mark package unused
2019-08-06 12:38:28 +02:00
Adriaan de Groot
6e05a1ef05
[packagechooser] Load translated strings as well
...
- This makes it possible to put the translations into the config
file, and have them displayed when the Calamares language changes.
2019-08-06 12:02:29 +02:00
Adriaan de Groot
8d3546f0b3
[packagechooser] Expand the example config with translated entries
2019-08-06 00:31:05 +02:00
Adriaan de Groot
fee2297e67
[packagechooser] Fix fallthrough situation
...
- Add a FALLTHRU macro to annotate fallthrough situations in both
Clang and GCC,
- Annotate intentional fallthroughs.
- Add missing break which meant that the selection mode was
always multiple-selection.
2019-08-06 00:24:53 +02:00
Adriaan de Groot
56db9e9341
[packagechooser] Use translated strings
2019-08-06 00:17:50 +02:00
Adriaan de Groot
b16354133d
[packagechooser] Switch to a list form
...
- Using id's as keys in a map orders them indeterminately -- in
practice, alphabetically by key. Switch to a list form so that
the products stick to the order they have in the config file
(which means distro's can list "preferred" versions at top).
2019-08-04 20:19:56 +02:00
Adriaan de Groot
9a52430e74
[packagechooser] Too many 'o's in test name
2019-08-04 20:04:32 +02:00
Adriaan de Groot
791f9cbccb
[packagechooser] Read packages model from config
...
- add key *items* which will be used to fill up the model for
software products.
TODO: needs translation support
2019-08-04 16:00:55 +02:00
Adriaan de Groot
adb939b2e8
[packagechooser] Word-wrap package descriptions
2019-08-04 00:11:50 +02:00
Adriaan de Groot
d5275d5e10
[packagechooser] Allow the model to set the introductory text
2019-08-04 00:08:41 +02:00
Adriaan de Groot
047a300a51
[packagechooser] Remove unneeded debug
2019-08-03 23:55:29 +02:00
Adriaan de Groot
140c0db7a4
[packagechooser] Set GlobalStorage packagechooser_<id>
2019-08-03 23:51:00 +02:00
Adriaan de Groot
c59ffc7765
[packagechooser] Set default ID as documented
2019-08-03 23:33:34 +02:00
Adriaan de Groot
b711c791bd
[packagechooser] Fix build, tidy code
2019-08-03 23:28:55 +02:00
Adriaan de Groot
87d7b2a5c0
[packagechooser] Allow setting an ID for the module's GS key
2019-08-03 23:24:30 +02:00
Adriaan de Groot
2f2080727d
Merge branch 'master' into software-chooser
2019-08-03 23:16:38 +02:00
Adriaan de Groot
76077743af
[packagechooser] Add configuration setting for selection mode
...
- Add a *mode* key to the configuration file
- Change some names around to be more consistent (not user-visible)
2019-08-03 15:45:00 +02:00
Adriaan de Groot
042852218f
[license] Apply current coding style
2019-08-03 14:52:38 +02:00
Adriaan de Groot
fb3204262c
[packagechooser] Remove unneeded forward declaration
2019-08-02 23:24:35 +02:00
Adriaan de Groot
9d026862a8
[packagechooser] Provide names for selection mode
2019-08-02 23:20:45 +02:00
Adriaan de Groot
ab7374628b
[packagechooser] Use sample screenshots
2019-08-02 17:17:53 +02:00
Adriaan de Groot
86d8db6bbf
[packagechooser] Enforce selection mode on the next-button
2019-08-02 17:13:35 +02:00
Adriaan de Groot
7609546d8b
[packagechooser] Add screenshots for example
2019-08-02 17:02:02 +02:00
Adriaan de Groot
2272d2ab43
[packagechooser] Add selection modes
...
- Introduce different selection modes (most don't work yet)
- Use model data in the main widget
2019-08-02 16:43:10 +02:00
Adriaan de Groot
86e2e6242f
[packagechooser] Warn about weird calling orders
2019-08-02 16:26:10 +02:00
Adriaan de Groot
a32dcdad86
[packagechooser] Support multiple selection modes
2019-08-02 16:25:26 +02:00
Adriaan de Groot
dc5cdbb38c
[packagechooser] Update other parts of the window on selection
2019-08-02 16:07:47 +02:00
Adriaan de Groot
f8d159dfa4
[packagechooser] Massage layout a bit
2019-08-02 15:32:14 +02:00
Adriaan de Groot
d1a85ba5ca
[packagechooser] Add a model for the list to use
...
- Model contents currently hard-coded
2019-08-02 13:05:46 +02:00
Adriaan de Groot
727290f75e
[packagechooser] Handle translation events (stub)
2019-08-02 11:09:12 +02:00
Adriaan de Groot
735d5d2683
[packagechooser] Add stub of module
...
Package chooser is a **low density** package selector -- unlike
netinstall which offers a high density tree view -- for picking
zero, one, or more items from a small collection of packages.
This can be used, e.g., for "pick exactly one desktop environment",
"pick zero or more text editors" which can then be installed
by another module. The UI is big and shiny (rather than netinstall's
text-based tree view) and isn't suitable for more than a dozen or
so items.
2019-08-02 10:57:12 +02:00
Adriaan de Groot
dab841df02
[fstab] Tighten up the *efiMountOptions* documentation
2019-08-02 09:27:54 +02:00
Adriaan de Groot
d76c33bd3a
[tracking] Tidy code some more
2019-08-02 09:19:15 +02:00
Adriaan de Groot
8186d5730a
[contextualprocess] Apply current coding style
2019-08-01 23:10:49 +02:00
Adriaan de Groot
a0430f76b7
[shellprocess] Apply current coding style
2019-08-01 23:10:20 +02:00
Adriaan de Groot
d363732302
[tracking] Use std::chrono where appropriate
2019-08-01 23:07:45 +02:00
Adriaan de Groot
5183200515
[tracking] Apply current coding style
2019-08-01 23:05:42 +02:00
Adriaan de Groot
e3ecb083a0
Merge branch 'strictly-typed-timeout'
2019-08-01 23:00:28 +02:00
Adriaan de Groot
a0854a999e
Modules: chase API change, use std::chrono::seconds
2019-08-01 22:59:06 +02:00
Adriaan de Groot
626fd8828a
Merge pull request #1206 from apt-ghetto/espMount
...
[fatab] Esp mount options
2019-08-01 19:15:36 +02:00
Adriaan de Groot
bedff6b252
[netinstall] Log immediate failures
...
- If the request is immediately bad (e.g. because of a botched
url) then log that fact; in this case no finished() is ever
emitted.
2019-08-01 15:17:24 +02:00
Adriaan de Groot
82055f6854
[netinstall] Logging; code duplication
...
- If there was an error, the network reply was never deleted
- Improve logging to show where data is coming from
2019-08-01 14:31:25 +02:00
Adriaan de Groot
2bb66b8b9b
[preservefiles] Example with REQUIRES
...
- preservefiles generally needs to have the target filesystems
mounted, so that it can preserve to them; but you can also
configure it such that there is no need for mounted filesystems
(e.g. in OEM setup).
- Add an example line in CMakeLists.txt to show how that would be done.
2019-08-01 12:37:23 +02:00
Adriaan de Groot
b0bcdba867
[unpackfs] Needs mount before it
...
- The mount module must happen before unpackfs because that (mount)
module sets up the root mount point (in /tmp) and some other
variables needed later.
2019-08-01 12:37:03 +02:00
apt-ghetto
0f5ff9a517
Add possibility to set mount options for the ESP
...
Added new configuration "efiMountOptions" to fstab.conf
When generating the fstab entry for the ESP, take the mount options from
the new configuration or fall back to "mountOptions".
2019-07-29 18:03:32 +02:00
apt-ghetto
8a545941d4
Remove flake8 errors
...
Remove the flake8 errors. This commit does not change any behaviour.
2019-07-29 16:01:30 +02:00
Calamares CI
08ac97b1ea
i18n: [dummypythonqt] Automatic merge of Transifex translations
2019-07-29 13:29:03 +02:00
Adriaan de Groot
940c990268
[initcpio] [initramfs] Allow turning off CVE mitigations
...
- The mitigations are slightly intrusive, and may clash
with other, similar mitigations (especially for initramfs,
the recommended solution is to configure the system with
the snippet outside of Calamares).
2019-07-06 00:04:16 +02:00
Adriaan de Groot
a761bf0280
[initramfs] Add tests
...
- These tests exercise the createTargetFile() logic,
which is essential for creating a safe initramfs
configuration snippet.
- Could be moved into libcalamares instead, since the tests
are not really initramfs specific.
2019-07-05 23:21:24 +02:00
Adriaan de Groot
39d618c61e
[initcpio] Simple test for fixPermissions()
2019-07-05 13:28:32 +02:00
Adriaan de Groot
5f6efd2822
[initcpio] Improve security by making initramfs files not world-readable
2019-07-05 13:17:55 +02:00
Adriaan de Groot
43eb664e7d
[initramfs] Configure mkinitramfs to be safe
...
SEE #1191
2019-07-05 11:43:40 +02:00
Adriaan de Groot
315e1ac54e
[luksbootkeyfile] Improve logging to distinguish from other modules
2019-07-04 22:08:36 +02:00
Adriaan de Groot
bb6530577d
[initcpio] Replace Python implementation with C++
...
- This is a simple variation on the theme of things-that-call-a-
initramfs-updater, so the code is mostly a copy of initramfs/
module. I didn't even bother to strip out the configuration-
handling (I figure it might be good for *something*) so now
"" and "$uname" are valid kernel names as well.
- Fixes security issue where the initramfs ends up readable
by all, and that includes the cryptfile for LUKS.
SEE #1190
2019-07-04 20:23:40 +02:00
Adriaan de Groot
d5340f9743
[initramfs] Drop timeout entirely, even two minutes too short
2019-07-04 20:05:48 +02:00
Adriaan de Groot
efd409cf78
[luksbootkeyfile] Refactor static function to outside class
2019-07-04 19:38:10 +02:00
Adriaan de Groot
7d7d4c69ef
[luksbootkeyfile] Don't log passphrase
2019-07-04 19:37:37 +02:00
Adriaan de Groot
8a7884d476
[luksbootkeyfile] More debugging of the crypt file
2019-07-04 19:30:11 +02:00
Adriaan de Groot
97e44f971d
[initramfs] That's not a safety setting
...
- Don't confuse a method declaration with an object.
- Thanks clang for warning me.
2019-07-04 16:23:21 +02:00
Adriaan de Groot
af2a900276
[luksbootkeyfile] Fix lax permissions on file.
2019-07-04 16:05:58 +02:00
Adriaan de Groot
856a2eaa1d
[luksbootkeyfile] Implement keyfile creation and use
...
- Just copy the commands from the existing Python code,
including nonsensical dd.
2019-07-04 16:05:54 +02:00
Adriaan de Groot
8706b579ec
[luksbootkeyfile] Stub out an implementation
...
- stubs for the actual work to be done
- program-flow for looping over all the work
2019-07-04 16:05:54 +02:00
Adriaan de Groot
f6c50564cd
[luksbootkeyfile] Extract devices that need cryptsetup
...
- Rename classes and functions to be more descriptive
(a LuksDevice is .. information for a LUKS device, for instance).
- Move the smarts of unpacking a QVariantMap to LuksDevice.
- Apply code formatting
2019-07-04 16:05:54 +02:00
Adriaan de Groot
745b4b1693
[luksbootkeyfile] Extract partitioning keyphrases from GS
2019-07-04 16:05:48 +02:00
Adriaan de Groot
676df86712
[luksbootkeyfile] Stub job implementation in C++
2019-07-04 16:05:47 +02:00
Adriaan de Groot
c2fa315735
[luksbootkeyfile] Prepare for C++-ification
...
- Mess around with the CMakeFile in preparation of new code
- Drop the Python implementation already
2019-07-04 16:05:47 +02:00
Adriaan de Groot
1be81ec3b0
[initramfs] Bump the timeout much higher
...
- Use 120 seconds for update-initramfs, instead of 10. Previous
Python code had no timeout at all, which wasn't so hot either.
10 seconds, though, is too short for slow CPU & slow disk.
2019-07-03 21:20:08 +02:00
Adriaan de Groot
0030966986
[initramfs] Set umask before update-initramfs
...
SEE #1191
2019-07-03 00:43:40 +02:00
Adriaan de Groot
c0cd14df47
[initramfs] Fix sample config file for tests
...
- the tests want a non-empty config, so put something in there:
a kernel setting that matches the legacy behavior.
2019-06-28 13:04:40 +02:00
Adriaan de Groot
f7cbb7b5ea
Changes: Note modified initramfs module
...
- Also add note about $uname handling.
2019-06-24 16:47:20 +02:00
Adriaan de Groot
6ae8bd82fa
[initramfs] Log what kernel will be passed to update-initramfs
2019-06-24 16:37:58 +02:00
Adriaan de Groot
a2d7fdcb8a
[initramfs] Document settings
...
- Move the README text into the config file
- Document the *kernel* setting
2019-06-24 16:35:54 +02:00
Adriaan de Groot
8d712276ad
[initramfs] Replace module with C++ implementation
...
- new implementation handles blank (maps to "all") configuration,
- allows specifying "$uname" as kernel name, to use `uname -r`,
- allows specifying a specific kernel.
2019-06-24 14:38:56 +02:00
Adriaan de Groot
b216daf574
[initramfs] Prepare for C++-ification
2019-06-24 13:19:24 +02:00
Calamares CI
42bd638667
i18n: [dummypythonqt] Automatic merge of Transifex translations
2019-06-21 16:43:01 +02:00
Adriaan de Groot
5876c3fdd7
[partition] Warn about storage setting in partition.conf
...
- This is really a specialised setting, not something for
general use. People should be using `welcome.conf` instead.
2019-06-21 13:43:02 +02:00
Adriaan de Groot
0f66a89236
[welcome] Only do GeoIP query if it's useful
...
- If badly-configured, then type is none; this is warned about
in the constructor of Handler()
- Only run the query if it's a useful type.
2019-06-18 12:34:52 +02:00
Adriaan de Groot
3967f6c5ae
[welcome] Log where GeoIP information came from, if it's unusable
...
- This helps chase down broken GeoIP configurations, since you
can check the URL and handler type shown in the log.
2019-06-18 12:24:30 +02:00
Adriaan de Groot
e94bbc5e0c
[dummyprocess] Add some delay in the dummy
2019-06-17 15:53:02 +02:00
Calamares CI
1d01253249
i18n: [dummypythonqt] Automatic merge of Transifex translations
2019-06-17 15:35:07 +02:00
Adriaan de Groot
74432f698f
[partition] Allow the requiredStorage setting to propagate
...
- store into globalStorage if the welcome module hasn't already done so.
- this ends up used in PartUtils (via globalStorage).
2019-06-08 14:36:11 +02:00
Adriaan de Groot
e6a2cb607f
[partition] Add setting for requiredstorage
...
- If the welcome module isn't used, can set a required amount
of storage for the installation here.
2019-06-08 07:48:47 -04:00