Commit graph

2878 commits

Author SHA1 Message Date
Arnaud Ferraris
f863912a2f [partition] export PartitionActions::bytesToSectors for future use
As we move some of the partition creation code away from
PartitionActions, we will need the bytesToSectors function. Rather than
copying it, we export it in the PartitionActions namespace, so that
other classes can use it.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-01-07 17:26:12 +01:00
Arnaud Ferraris
b2bf873ede [partition] Initialize partition layout from config file
In order to keep the partition layout during calamares' execution, we
add a PartitionLayout object instance to PartitionCoreModule. This class
will therefore be used to initialize the PartitionLayout object and
interact with it thoughout the program's execution.

When no partition layout is present in the config file, we initialize
the layout with a single ext4 partition mounted on '/', as it was
previously done.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-01-07 17:25:39 +01:00
Arnaud Ferraris
f1ead5193d [partition] Create PartitionLayout class
In order to use a custom partition layout in the partition module, we
need to write this layout in the module's config file, and store it into
a dedicated object.

As it doesn't look appropriate to extend an existing class with layout
information, we create a new PartitionLayout class, which will be used
to parse the layout from the config file and keep it in memory.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-01-07 17:25:22 +01:00
Adriaan de Groot
e52f0318fe [locale] Call timedatectl only when needed
- When testing and running not-as-root, only call the timedatectl
   when the settings actually change; this reduces the number of
   times kauth pops up.
2019-01-07 15:16:37 +01:00
Adriaan de Groot
b1ea96e463 [partition] Don't autoremove the tempdir
- Dangerout since we're mounting things inside that tempdir,
   and then doing a "weak" unmount
2019-01-03 15:10:07 +01:00
Calamares CI
e572784eb5 i18n: [dummypythonqt] Automatic merge of Transifex translations 2019-01-03 15:06:55 +01:00
Adriaan de Groot
fe3a88f834 [packages] Fix cut-and-paste-o in packages try_remove
- Copied from_local from the code for install, which doesn't
   make sense and causes a NameError.

FIXES #1063
2019-01-03 14:36:48 +01:00
Adriaan de Groot
56a71c232f [locale] Use the re-factored LocaleLabel 2018-12-14 13:27:32 +01:00
Adriaan de Groot
084f4d2445 [libcalamaresui] Refactor: move LocaleLabel to UI library
- This is prep-work for making locale labels consistent everywhere.
 - While here, improve code documentation.
2018-12-14 10:52:55 +01:00
Harald Sitter
311af6de5d [locale] prefer native language and country names when available
This basically means we talk about localization in the respective
localized variant. e.g. "German (Germany)" ➡ "Deutsch (Deutschland)".

If geoip lookup failed or isn't configured for whatever reason it's a
stretch to expect the user to know english enough to find their own
language. Preferring the localized strings resolves this issue.

Additionally this happens to bypass #712 respectively
https://bugreports.qt.io/browse/QTBUG-34287
as the native names are properly spelled. So, as long as Qt has localized
names the names will also be properly spelled.
2018-12-13 23:18:37 +01:00
Calamares CI
bf976b3de0 i18n: [dummypythonqt] Automatic merge of Transifex translations 2018-12-11 19:31:23 +01:00
Adriaan de Groot
4973d00ace [partition] Only create drop-down if there is something to select
- Swap choices may be 0 (then choose none), 1 (choose that one)
   or more (currently undecided)
2018-12-11 13:52:23 +01:00
Adriaan de Groot
00df8a9fb1 [partition] Remove unused code
- Swap choice for replace and alongside will happen much, much later.
2018-12-04 12:21:02 +01:00
Adriaan de Groot
a456687924 [partition] Include all possible SwapChoices in example 2018-12-04 12:11:35 +01:00
Adriaan de Groot
a66ea106d6 [partition] Missing implicit include 2018-12-04 11:40:27 +01:00
Adriaan de Groot
2998c27545 [partition] Use configured swap choices in choice page 2018-12-04 11:35:35 +01:00
Adriaan de Groot
5945e9584d [partition] Refactor name-to-enum and back for swap choices 2018-12-04 11:15:38 +01:00
Adriaan de Groot
edc6c64657 [partition] Create swap-combo from a set
- Alternate way to create swap-combobox, using configuration
   values rather than an initializer list.
2018-12-04 11:01:16 +01:00
Adriaan de Groot
988a0a5388 [partition] Changing swap choice also changes preview
- When selecting *erase*, you may be able to change the swap
   settings. If so, changing swap settings should change the
   preview.
2018-12-04 10:34:02 +01:00
Adriaan de Groot
0231619c7c [partition] Refactor slot for change in action
- Let's not go overboard on lambdas,
 - Needed for others that also want to update the partitioning preview
2018-12-04 10:22:08 +01:00
Calamares CI
6ac872e724 i18n: [dummypythonqt] Automatic merge of Transifex translations 2018-12-03 21:09:30 +01:00
Adriaan de Groot
c5d707399d Merge branch 'fix-swap-ui' 2018-12-03 21:02:10 +01:00
Adriaan de Groot
14c72824f0 [partition] Be chatty when deciding a partition isn't resizable 2018-12-03 16:42:40 +01:00
Adriaan de Groot
b798c27bc4 [partition] Be more verbose while looking for fstab entries 2018-12-03 16:33:12 +01:00
Adriaan de Groot
1f2d547d5b Merge remote-tracking branch 'origin/partitioning-fixes' 2018-11-30 12:50:03 +01:00
Adriaan de Groot
e074959ede Merge remote-tracking branch 'origin/package-scripts'
FIXES #1057
2018-11-30 12:29:31 +01:00
Adriaan de Groot
1fb1189f74 Merge remote-tracking branch 'origin/mount-conf-flexible' 2018-11-30 12:28:07 +01:00
Adriaan de Groot
e4d67b5572 [mount] Handle missing configuration keys gracefully
- If a key is missing from mount.conf, don't raise KeyError
 - If both keys are missing, suggest that mount.conf might
   be missing instead (a consequence of INSTALL_CONFIG=OFF, for
   instance).
 - Simplify code a bit.
 - Don't bother returning None explicitly.
2018-11-28 13:26:40 +01:00
Adriaan de Groot
0a73d57808 [packages] Add support for pre- and post- scripts everywhere
- for remove and localInstall, add support for pre- and post-
   scripts like there already was for install.

This feels like there's code duplication going on, but I haven't
thought of an elegant way to distinguish the available operations
so that I can pass around functions instead.
2018-11-27 12:52:24 +01:00
Adriaan de Groot
34255b4cf5 [packages] Document *localInstall* operation. 2018-11-27 12:48:31 +01:00
Adriaan de Groot
05588a1ffd [packages] Improvide conf documentation
- about LOCALE packages
 - about pre- and post-scripts

CC: #1057
2018-11-27 12:39:19 +01:00
Calamares CI
94dcf56282 i18n: [dummypythonqt] Automatic merge of Transifex translations 2018-11-20 13:17:21 +01:00
Adriaan de Groot
38d58fb6ed [partition] Check for suitable FS before passing -o noload
- The noload option prevents journal re-play (so it's an extra-
   strong read-only) but is only applicable to ext3 and ext4.
   Check the FS type before mounting; other FS types don't
   accept -o noload and will fail to mount.
2018-11-12 17:07:18 +01:00
Adriaan de Groot
e0ce500f36 [partition] Improve debug-output after os-prober 2018-11-12 16:31:30 +01:00
Adriaan de Groot
c522004575 [partition] Mount fs read-only when searching for fstab
Submitted by aliveafter1000

FIXES: #1044
CLOSES: #1050
2018-11-12 15:26:15 +01:00
Adriaan de Groot
9459ef7d93 [partition] Set FlagBoot for the root partition
- This only applies to legacy (non-EFI) BIOS systems, and
   adds the FlagBoot to whatever is already set for the root
   filesystem, and only when autopartitioning the device.

Submitted by aliveafter1000.

FIXES: #1046
CLOSES: #1049
2018-11-12 15:15:22 +01:00
Adriaan de Groot
a1143e8fef [partition] Document flags parameter to createPartition() 2018-11-12 14:16:33 +01:00
Adriaan de Groot
8144295e98 [partition] Make new partition flags explicit
Suggested by aliveafter1000: having a default value, and then
filling in the default in one place it is used and not others,
is weird. Instead of dropping the one use, remove the default
value: partition flags are important enough to be explicit.
2018-11-09 08:25:26 -05:00
Adriaan de Groot
97c9e5bdcd [partition] Debug-log available file-system types 2018-11-06 06:22:02 -05:00
Adriaan de Groot
463b1441a5 [partition] Be more verbose about default file-system settings
- Log the type that is configured
 - Document that this is a delicate setting, case-sensitive and
   dependent on KPMCore.
2018-11-06 05:54:45 -05:00
Adriaan de Groot
6de55e6951 [partition] Construct, then winnow, the fstab entries 2018-11-02 12:13:29 -04:00
Adriaan de Groot
ebbc1a1bcb [partition] "constructor-like" needs to be static 2018-11-02 12:13:06 -04:00
Adriaan de Groot
516ae494bf [partition] Complain if unmount fails
- If unmount fails, then warn and don't autoremove
2018-11-02 12:04:09 -04:00
Adriaan de Groot
bd1b482242 [partition] Don't autoremove the tempdir
- Dangerout since we're mounting things inside that tempdir,
   and then doing a "weak" unmount
2018-11-02 11:58:49 -04:00
Adriaan de Groot
f1c1d07dca [partition] Add convenience methods to FstabEntry
- Add something like a constructor
 - Add validity checking
2018-11-02 11:57:49 -04:00
Adriaan de Groot
417eeedd9f [partition] Calamares is spaced-out enough without extra's 2018-10-11 06:35:45 -04:00
Adriaan de Groot
c7645af358 [partition] Translate swap-choice-strings to enum
- Handle legacy and modern config, mixed-configs,
 - Translate strings to enum values,
 - Default and warn as appropriate.
 - Doesn't **do** anything with the config, though.
2018-10-11 06:27:39 -04:00
Adriaan de Groot
f7cc571635 Merge branch 'fix-swap-ui' of github.com:calamares/calamares into fix-swap-ui 2018-10-08 16:49:18 -04:00
Adriaan de Groot
3d543e9063 [partition] Refactor to use current config-reading methods 2018-10-09 05:46:12 -04:00
Adriaan de Groot
caa4b8ab53 [partition] Document intention of new-style swap config 2018-10-09 05:30:14 -04:00