Commit Graph

6362 Commits

Author SHA1 Message Date
Adriaan de Groot
a8359696ca [plasmalnf] Remove unnecessary includes 2020-11-11 13:06:09 +01:00
Adriaan de Groot
76b0981918 [plasmalnf] Apply workaround for lookandfeeltool
The lookandfeeltool does not (always?) write the LookAndFeelPackage
key that the KCM does -- and which this module reads on startup
to find the default LnF. This seems to be a regression in recent
lookandfeeltool versions (or in the KCM code that backs it).

Workaround supplied by jghodd.

Fixes #1573
2020-11-11 12:57:40 +01:00
Adriaan de Groot
8f590848bd [plasmalnf] Simplify code
- Look-and-Feel job has no status to speak of
- Coding style
2020-11-11 12:45:19 +01:00
Chrysostomus
543a9e1afc Remove extra static keyword 2020-11-10 22:11:49 +02:00
Adriaan de Groot
b503aa645b
Merge pull request #1563 from LordTermor/calamares
[users] Full name transliteration support for user creation
2020-11-10 01:19:44 +01:00
Artem Grinev
16eca3c1be [users] Apply code format 2020-11-10 01:54:21 +03:00
Artem Grinev
ca033583a4 Simplified logic a bit, made punctuation handling more correct 2020-11-10 01:47:07 +03:00
Artem Grinev
da5fb2d3e1 Improved comment 2020-11-10 01:40:08 +03:00
Artem Grinev
d5e678157d Changed TRANSLITERATOR_ID type to array 2020-11-10 01:23:10 +03:00
Chrysostomus
e3ee3c623d Add some relevant looking stuff to header file 2020-11-09 23:24:09 +02:00
Adriaan de Groot
b4c3236e4a [users] Consume error information from libpwquality
Previously, the auxerror information was never stored, and
the messages were all un-numbered or un-explained.
Now, consume that information and store it when check()
is called, ready to be used when (possibly much later,
or after a translation change) explanation() is called.
2020-11-09 16:08:19 +01:00
Adriaan de Groot
43565027f5 [users] m_auxerror never set, always nullptr 2020-11-09 15:42:22 +01:00
Adriaan de Groot
f3e37f3cee [users] Remove unused PWQuality method 2020-11-09 15:40:23 +01:00
Adriaan de Groot
a5dfe7cd68 i18n: update english translations 2020-11-09 15:14:54 +01:00
Adriaan de Groot
4e9c18a565 [users] Translate PWQuality error messages with numbers 2020-11-09 15:14:41 +01:00
Adriaan de Groot
2a9bbf1dd5 [users] Add test for jobs-creation
- This tries to avoid the now-fixed situation where a sudoersGroup job
  is not created at all (because of a logic error).
- While here, coding style
2020-11-09 11:39:11 +01:00
Chrysostomus
adc8d7e624 Fix typo 2020-11-07 12:55:54 +02:00
Adriaan de Groot
3b152ba455 Merge branch 'fix-sudo-settings' into calamares 2020-11-06 22:28:37 +01:00
Adriaan de Groot
43e271dfec [users] Missing negation 2020-11-06 22:27:46 +01:00
Adriaan de Groot
8e53b83f9f [users] Test for setting / resetting sudo settings 2020-11-06 22:27:34 +01:00
Chrysostomus
b7cc4860e0 Put the condition on a single line for prettiness sake 2020-11-06 21:45:01 +02:00
Chrysostomus
3731dfb146 Try not to create the keyfile if not necessary 2020-11-06 21:32:10 +02:00
Adriaan de Groot
6f41949bba [users] Log when sudo is skipped 2020-11-06 14:38:12 +01:00
Gaël PORTAY
6e9ce7194f [mount] Ignore unformatted filesystems only
Mount guesses the filesystem if it is unset or if it is set to auto,
thanks to blkid. That is the case for the bind mountpoints like /dev or
/run/udev in mount.conf. See `mount(8)` for more details.
2020-11-06 07:38:48 -05:00
Matti Hyttinen
73b5c62ab8
Update main.py
typo in a comment
2020-11-06 08:49:22 +02:00
Adriaan de Groot
afb4e00f92 [keyboard] Pre-select pc105 2020-11-06 01:10:27 +01:00
Adriaan de Groot
e5b7e66ee9 [locale] Filter zones combo always
The drop-down of zones was initially unfiltered, so you could start
in Europe/Amsterdam and the zones drop-down would also show Australian
zones; picking Perth would have weird effects, since Europe/Perth
doesn't exist and so you'd end up in New York instead.

- set the filtering region immediately, rather than only when the
  region changes.
2020-11-05 00:33:45 +01:00
Adriaan de Groot
83b2b95381 [libcalamares] Reduce object churn
- we don't need to allocate a new translator each time the language changes
2020-11-05 00:09:23 +01:00
Chrysostomus
741c1c5d1e Use constructor instead of a loop 2020-11-05 01:01:26 +02:00
Adriaan de Groot
59255c7a57 Changes: apply coding style 2020-11-05 00:00:29 +01:00
Adriaan de Groot
be7b63051e Enable keyboard-model and layout-name translations.
SEE #1515
2020-11-04 23:36:33 +01:00
Chrysostomus
26b1c349d3 Set default value inside the relevant function 2020-11-04 19:27:59 +02:00
Adriaan de Groot
c4de62cb9a Merge branch 'fix-keyboardq' into calamares
Various file writes were not being checked, and the code
was a bit tangled; specifically keyboardq did **not**
configure properly on KaOS and now seems ok.
2020-11-04 17:09:56 +01:00
Adriaan de Groot
83d2c06f68 [keyboard] Apply coding style 2020-11-04 16:36:52 +01:00
Adriaan de Groot
705e6dd8d6 [keyboard] Improve debug-logging for writing etc/default 2020-11-04 16:32:22 +01:00
Adriaan de Groot
cbc376a206 [keyboard] Improve debug-logging for writing X11 config 2020-11-04 16:32:22 +01:00
Philip Müller
5191df2bde
Merge pull request #1568 from gportay/partition-fix-typo
[partition] Fix typo
2020-11-04 16:18:00 +01:00
Adriaan de Groot
57da222c72 [keyboard] Improve debug-logging for vconsole-config 2020-11-04 16:16:28 +01:00
Gaël PORTAY
e2b00bc517 [partition] Fix typo 2020-11-04 09:58:07 -05:00
Gaël PORTAY
e9e4be1c60 [umount] Fix list of mount-points to unmount
The root mount-point can end with a / while the mount-point read from
the file /etc/mtab does not end with a /.

This leads to skip the unmounting of the root mount-point and causes the
removal of the root mountpoint directory to fail with EBUSY because it
is still mounted.

This uses the python functions os.path.normpath() to normalize the root
mount-point (i.e. to drop the trailing /) and os.path.commonprefix() to
determine the longest common prefix between the two mount-points. If the
returned prefix is identical to the normalized root mount-point then the
mount-point must be added to the list of the mount-points to unmount.

More generally, the python modules should rely on the os.path functions
to compare for paths instead of using strings. It covers this way lots
of corner cases (path with "//", "/../", "/./", ...).
2020-11-04 08:37:22 -05:00
Adriaan de Groot
845fb3f6da [keyboard] Refactor writing-various-files
- put the writing of each kind of file in its own block -- this should
  become separate functions -- so that variables become more local
  and debugging can be improved.
- while here, fix the error message for /etc/default/keyboard:
  it would complain and name the vconsole file path if it ever failed.
2020-11-04 14:03:14 +01:00
Adriaan de Groot
3e51d77782 [keyboard] Check for successful file-write 2020-11-04 13:39:23 +01:00
Adriaan de Groot
2c297a068f [partition] Log when an EFI problem has been solved 2020-11-04 12:32:51 +01:00
Adriaan de Groot
0f38ee624e [partition] static-assert that our shortcut makes sense 2020-11-04 09:59:35 +01:00
Artem Grinev
94f7efb89f [users] Remove ' from transliterated string 2020-11-04 03:37:25 +03:00
Artem Grinev
f20d0a7593 [users] Name cleanup after transliteration 2020-11-04 03:24:58 +03:00
Artem Grinev
aa5ef7a6b8 [users] New transliterator ID 2020-11-04 03:21:31 +03:00
Adriaan de Groot
15ace5202d [partition] Simplify EFI-flags checking with KPMCore 4 2020-11-04 01:16:36 +01:00
Adriaan de Groot
85bb8c27b3 [partition] Simplify flags calculations
- factor out the flags-we-want from the flags-we-already-have
 - the use of ->activeFlags() meant that the state on *disk* was
   being compared with the flags-we-want; if a partition was re-edited,
   then you couldn't change the flags back to the state-on-disk
   (eg. enable a flag, then change your mind and disable it).
 - set the flags before refreshing the partition, because the
   refresh checks for EFI bootability and that needs the new flags,
   not the old ones.
2020-11-04 00:58:11 +01:00
Adriaan de Groot
949e33f1e8 [partition] Massage logging while checking for EFI boot 2020-11-04 00:43:32 +01:00
Adriaan de Groot
63964de4bd [partition] Explain underlying type for flags variant 2020-11-04 00:32:21 +01:00
Adriaan de Groot
87c77d9807 [partition] When flags are explicitly invalid, return early 2020-11-04 00:14:05 +01:00
Adriaan de Groot
356e13ae93 [partition] Improve logging readability 2020-11-03 23:46:07 +01:00
Chrysostomus
fe291bc51a Write the crypttab entry still 2020-11-03 23:33:24 +02:00
Chrysostomus
9f52282e4c Don't use keyfile if there /boot is unencrypted 2020-11-03 23:23:56 +02:00
Chrysostomus
3eae98eac3 Don't enable grub password query if /boot is on unencrypted partition 2020-11-03 23:15:35 +02:00
Adriaan de Groot
72c9df67d2
Merge pull request #1565 from Chrysostomus/calamares
[initcpiocfg] Use graphical decryption prompt with plymouth
2020-11-03 14:29:22 +01:00
Adriaan de Groot
f898840e16 [users] Expand schema to cover new possibilities 2020-11-03 13:02:49 +01:00
Chrysostomus
84558333bf Regular plymouth hook is also still needed 2020-11-03 13:57:19 +02:00
Chrysostomus
3bf57c7785 Use graphical decryption prompt with plymouth as adviced here: https://wiki.archlinux.org/index.php/plymouth#The_plymouth_hook 2020-11-03 13:55:24 +02:00
Adriaan de Groot
36f9fd56a3 [users] Expand the example config with new possibilities 2020-11-03 12:54:19 +01:00
Adriaan de Groot
7c268b2e4d [users] Correct terminology in configuration documentation 2020-11-03 12:48:12 +01:00
Adriaan de Groot
2516f18d1b
Merge pull request #1560 from gportay/partition-mount-make-mountPoint-and-filesystem-optionals
[partition,mount] Make mountPoint and filesystem optionals
2020-11-02 23:25:53 +01:00
Adriaan de Groot
ffce79e30e [partition] Initialize the filesystem type, not the partition type
- Passing FileSystem::Type to the QString constructor for
  partition type is not what I intended.
2020-11-02 22:32:44 +01:00
Adriaan de Groot
73b5a0898d [partition] Migrate the defaultFS type
- remove the m_defaultFSType from PartitionLayout, because it is
  set on construction -- which is too early, before the configuration
  has been read.
- make the default FS explicit in the init() calls which pass in
  a configuration; this needs support in the intermediate
  PartitionCoreModule.
2020-11-02 21:35:43 +01:00
Adriaan de Groot
23eabd74c6 [partition] Set FS type explicitly if no layout is given
- the "simple" constructor for PartitionEntry left the FS type
  set as the constructor left it -- which is Unknown by default.
  This leads to install failures in systems that don't set a
  special layout but just want a single / -- because the FS is
  set to Unknown.
- massage the constructor and consumer of the code, push
  Ext4 FS in the tests and use the configured default in production.
2020-11-02 16:01:10 +01:00
Artem Grinev
c85d1ae1fe Explanation why ICU is needed for usersq module 2020-11-02 17:53:05 +03:00
Adriaan de Groot
f78752303b [partition] Improve constructors for layout
- initialize flags by default
- the copy constructor was just doing the default thing,
  so make that explicit
2020-11-02 15:40:32 +01:00
Gaël PORTAY
6013ed52f8 [partition] Ignore unformatted filesystem 2020-11-02 09:01:23 -05:00
Gaël PORTAY
db08d2db8b [partition] Make filesystem optional and default to unformatted 2020-11-02 08:36:41 -05:00
Gaël PORTAY
163351a803 [mount] Ignore empty or unformatted filesystems 2020-11-02 08:36:41 -05:00
Gaël PORTAY
c6feedf923 [mount] Ignore empty mountpoints 2020-11-02 08:36:41 -05:00
Gaël PORTAY
54fd1f4b26 [mount] Print a warning if mount failure
The return of the call to libcalamares.utils.mount is never tested and
it may fail silently; this causes some mounpoints to be missing.

This adds a warning if mountpoint cannot be mounted.

	chcon: failed to get security context of '/tmp/verity': Operation not supported
	06:44:23 [6]: static CalamaresUtils::ProcessResult CalamaresUtils::System::runCommand(CalamaresUtils::System::RunLocation, const QStringList&, const QString&, const QString&, std::chrono::seconds)
	    Running "env" ("mount", "-t", "unformatted", "/dev/sdb2", "/tmp/calamares-root-kv8dqgb5/tmp/verity")
	    ..  Finished. Exit code: 32
	    ..  Target cmd: ("mount", "-t", "unformatted", "/dev/sdb7", "/tmp/calamares-root-kv8dqgb5/tmp/verity") output:
	 mount: /tmp/calamares-root-kv8dqgb5/tmp/verity: unknown filesystem type 'unformatted'.
2020-11-02 08:36:41 -05:00
Gaël PORTAY
1f9f506a16 [partition] Make mountPoint optional
Some devices cannot be mounted (as DM_verity_hash), therefore, it is
nosense to set a mountPoint for them.
2020-11-02 08:36:41 -05:00
Adriaan de Groot
486cdaeeb6 [users] Shuffle library order to satisfy CI build 2020-11-02 14:10:35 +01:00
Adriaan de Groot
2bd3f1d8c1 Merge branch 'issue-1523' into calamares 2020-11-02 13:08:30 +01:00
Adriaan de Groot
b61b5f8650 [users] Run an expected-to-fail test in creating groups 2020-11-02 12:27:50 +01:00
Adriaan de Groot
8127ae704c [users] Expand tests for groups a little 2020-11-02 12:13:59 +01:00
Adriaan de Groot
e66f81f6ee CMake: comment on BUILD_AS_TEST 2020-11-02 12:01:02 +01:00
Adriaan de Groot
10991346b7
Merge pull request #1561 from gportay/partition-set-swap-partition-name
[partition] Allow a configurable swap Partition name
2020-11-02 11:43:07 +01:00
Adriaan de Groot
7578768c46
Merge pull request #1562 from gportay/partition-group-efi-things-together
[partition] Group EFI things together
2020-11-02 11:39:44 +01:00
Artem Grinev
4e54a2aefe [users] Cleaned error handling a bit 2020-11-02 04:01:01 +03:00
Artem Grinev
8e07bb00f9 [users] Construct icu::UnicodeString from QString's utf16 chars directly 2020-11-02 03:52:37 +03:00
Artem Grinev
48eae463cc [users] Full name transliteration support for user creation 2020-11-01 19:45:12 -05:00
Adriaan de Groot
0bad5469fc [libcalamares] Fix tests failures from JobQueue asserts
Some compile flags changed recently, triggering assert()
in the jobqueue when there is more than one. There's no
real reason for JobQueue to be a singleton, but it wants
to be. So clean up pointers a little more enthusiastically.
2020-11-01 17:59:41 +01:00
Adriaan de Groot
4746754344 [keyboard] Translate layouts as well 2020-11-01 14:28:12 +01:00
Adriaan de Groot
6863db0dc1 [keyboard] Use the translations if they were loaded 2020-11-01 14:19:06 +01:00
Adriaan de Groot
f088efdf84 [keyboard] Re-jig translation extraction
- Use classes to prompt lupdate to extract with a better
  context (e.g. the class name, rather than plain "QObject")
  so that the translation-lookup can use the named context.
- Add hard-coded "default" variant
- Add totally bogus Tajik translations, for testing purposes
2020-11-01 13:50:12 +01:00
Adriaan de Groot
1a5fa36fb6 i18n: build keyboard translations
This is the Wrong Thing To Do, but we'll do it for now: build the
keyboard translations into the executable. In the medium term
they should move to the modules that use them, with the re-vamp
of how translation changes are signalled.
2020-11-01 12:42:58 +01:00
Adriaan de Groot
4a08fdbb92 [partition] Reduce warnings from KPMCore
- make KPMHelper.h an "everything include" and suppress warnings
  from it, then use it in the tests.
2020-11-01 00:20:17 +01:00
Adriaan de Groot
d26fde6647 [partition] Reduce warnings
- Add a helper header that munges the warnings-settings so that
  KPMcore headers can be included.
2020-11-01 00:05:05 +01:00
Adriaan de Groot
c41ff94f8a [locale] Reduce warnings (C++17)
Now that Calamares is compiled as C++17, we get this:

src/modules/locale/timezonewidget/TimeZoneImage.cpp:28:55: warning: out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated [-Wdeprecated]
/* static constexpr */ const QSize TimeZoneImageList::imageSize;
2020-10-31 23:48:20 +01:00
Adriaan de Groot
4d444cbfbb [partition] Reduce warnings (Clang, FreeBSD)
The code doesn't match the comment: there are no by-ref captures
in the code, and the shadowing of parameters and local variables
is confusing. Remove one variable that is passed in as an argument
(and just pass the value as argument) and copy-capture the other
rather than doing weird argument passing.
2020-10-31 23:37:06 +01:00
Adriaan de Groot
0a44ce381e [partition] Reduce warnings (Clang, FreeBSD)
- remove unused this captures from lambda
- rename variables that are short, cryptic, and shadowed
- remove documentation for parameters that don't exist
2020-10-31 23:16:48 +01:00
Gaël PORTAY
3967cfe0eb [partition] Group EFI things together 2020-10-31 18:09:44 -04:00
Gaël PORTAY
a1d45122eb [partition] Update partition.conf 2020-10-31 17:59:08 -04:00
Gaël PORTAY
dad9587c3e [partition] Allow a configurable swap Partition name
This commit adds the new configuration `swapPartitionName` to the file
partition.conf.

This option sets the partition name to the swap partition that is
created. If this option is unset, the partition is left unnamed.
2020-10-31 17:39:50 -04:00
Adriaan de Groot
4387b8061e [keyboard] Move responsibility for retranslation to Config
- only widgets get language change events, so we need to
  hook that up to the ViewSteps and inform the Config
  object so that it can (re)load translations for the
  keyboard data.
2020-10-31 20:02:21 +01:00
Adriaan de Groot
71e0081fce [keyboard] SPDX-tagging 2020-10-30 22:31:42 +01:00
Adriaan de Groot
7db398cfdf
Merge pull request #1558 from gportay/partition-cleanups
[partition] cleanups
2020-10-30 22:30:38 +01:00