Arnaud Ferraris
0d284759f5
[partition] Apply custom partition layout for Erase and Replace choices
...
This patches add new methods to both PartitionLayout and
PartitionCoreModule classes which apply the partition layout to the
available drive space.
In addition, the partition creation code from PartitioinActions is
removed to call the newly created methods instead, thus applying the
custom partition layout when the "Erase whole disk" and "Replace
partition" choices are selected.
Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-01-07 17:26:37 +01:00
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
Adriaan de Groot
2a61116b3c
[partition] Disable swap choice for replace & alongside
2018-10-08 15:32:02 -04:00
Adriaan de Groot
779542a5d1
Merge branch 'master' into fix-swap-ui
2018-10-08 13:56:28 -04:00
Adriaan de Groot
fc99824c8d
[fsresizer] Fix string error, thanks Lithuanian translators
2018-10-05 17:22:12 +02:00
Adriaan de Groot
bb586de056
[partition] Remove some slowdown methods when debugging is off
...
- Running lsblk and mount for debugging purposes can be
skipped when the debugging is going to be suppressed anyway.
This will speed things up just a little for regular users.
2018-10-05 09:41:37 -04:00
Adriaan de Groot
74ab06e20a
[partition] Drop redundant logging
2018-10-05 09:41:37 -04:00
Adriaan de Groot
02a6b7dd12
[partition] Log the newly-created partition table
...
- Log individual partitions instead of printing QObject(<ptr>)
2018-10-05 09:41:37 -04:00
Adriaan de Groot
4757496c3d
[partition] Improve partition-UUID logging.
2018-10-05 09:41:37 -04:00
Adriaan de Groot
7515386cf8
CMake: clean up test setup
...
- Remove redundant searches for ECM and Qt::Test, move
them to top-level.
2018-10-05 09:41:37 -04:00
Adriaan de Groot
a33b0c4f24
[partition] Log the flags that are used to create a partition
2018-10-05 07:45:05 -04:00
Calamares CI
36161461e2
i18n: [dummypythonqt] Automatic merge of Transifex translations
2018-10-05 07:36:40 -04:00
Adriaan de Groot
292bc57523
[partition] Fix build with suitable operator <<
2018-10-03 13:49:52 -04:00
Adriaan de Groot
b38316365e
[partition] Be more verbose about why UI buttons appear
2018-10-03 13:58:50 +02:00
Adriaan de Groot
800f9d34f9
[partition] In logging, distinguish more cases
...
- While winnowing devices, the zram and nullptr cases
were mixed together; split them, for the sake of
logging more accurately.
- While here, fix up some coding-style issues.
2018-10-03 13:46:08 +02:00
Adriaan de Groot
1a248e0574
[preservefiles] Apply restrictive default permissions
2018-10-01 11:31:54 +02:00
Adriaan de Groot
eb6fc01c01
[preservefiles] Document new permissions key
2018-10-01 11:22:57 +02:00
Adriaan de Groot
d3d08241e2
[preservefiles] Support perm setting
...
- Use settings from config file
- Refactor copy operation
- Apply permissions inside target system
2018-10-01 11:22:57 +02:00
Adriaan de Groot
91c94c6022
[preservefiles] Tidy up permissions code
...
- superfluous const
- add default constructor
- Add octal-string accessor to permissions
2018-10-01 11:18:44 +02:00
Adriaan de Groot
1c85a648a4
[preservefiles] Tie permissions into the build, file header
2018-10-01 10:45:39 +02:00
Adriaan de Groot
3ef4842a4d
[preservefiles] Add permissions-parsing code from Scott Harvey
2018-10-01 10:40:43 +02:00
Adriaan de Groot
21fedfce65
[fsresizer] Calamares oding style
2018-10-01 04:22:25 -04:00
Adriaan de Groot
39902d1c3f
[fsresizer] "can not" -> "cannot"
2018-10-01 04:19:14 -04:00
Adriaan de Groot
eb7c6385cd
[fsresizer] Bail out if resize required but not feasible
2018-10-01 04:19:14 -04:00
Adriaan de Groot
0b4c0f9c38
[fsresizer] Add setting required
...
- If resize is required, fail if it doesn't happen.
2018-10-01 04:06:01 -04:00
Adriaan de Groot
29bae61610
Merge branch 'master' into fix-swap-ui
2018-10-01 03:21:06 -04:00
Adriaan de Groot
7e88f637b1
[localecfg] Fix error in string-formatting.
2018-09-30 18:56:48 +02:00
Adriaan de Groot
b42a36e5ad
[fsresizer] Don't need to check KPMCore version
2018-09-28 14:24:25 +02:00
Adriaan de Groot
ed841d1674
[fsresizer] Typo
2018-09-28 12:34:40 +02:00
Adriaan de Groot
aaf27ac2ab
[fsresizer] Apply sizes properly
...
- Distinguish size and atleast; in percentages they mean different
things (atleast is a bit weird as a percentage, but hey).
- Fix bug in percentage calculation.
- Avoid percentage above 100.
- Add documentation in config-file.
2018-09-28 12:32:08 +02:00
Adriaan de Groot
c725f6b552
[fsresizer] Distinguish error from no-useful-resize
2018-09-28 12:05:41 +02:00
Adriaan de Groot
5dc11b223a
[fsresizer] Do the resize itself
...
- handle weird partition tables
- ignore unallocated space -- that's what we want to expand into
- use ResizeOperation for the actual work
2018-09-28 11:55:16 +02:00
Adriaan de Groot
14b6755714
[fsresizer] Initialize harder
2018-09-27 21:47:54 +02:00
Adriaan de Groot
e627633c44
[fsresizer] initialize FS support
2018-09-27 21:39:22 +02:00
Adriaan de Groot
2556891e39
[fsresizer] Fix backwards logic in error message
2018-09-27 20:49:28 +02:00
Adriaan de Groot
869357a89c
Merge branch 'master' into oem-resizer
2018-09-27 20:47:17 +02:00
Adriaan de Groot
e7c62c114f
[keyboard] Improve debugging output
2018-09-27 13:35:33 +02:00
Adriaan de Groot
9124281bcb
[fsresizer] Calculate resize parameters
...
- apply() a relativesize to a device to find out how much it
means in sectors
- find the space into which the configured FS can grow.
2018-09-27 05:28:20 -04:00
Adriaan de Groot
9e1c95ad05
[fsresizer] Refactor finding device
...
- Find device in separate function
- If device isn't found, bail out
2018-09-27 04:10:25 -04:00
Adriaan de Groot
1c2714d832
[fsresizer] Match configuration to system
...
- Bail out earlier before doing any work if the configuration
is invalid.
- If it's valid, look for a matching device.
2018-09-27 03:56:57 -04:00
Adriaan de Groot
aae4b38e69
[fsresizer] Fix endless loop
...
- Improve variable names
- Missing iterator++
2018-09-27 03:44:39 -04:00
Adriaan de Groot
3ab891793a
[keyboard] Add Austrian keyboard layout
...
- Map xkb 'at' to 'de' on the text console
- Thanks Philip Mueller, Kevin Kofler
FIXES #1035
2018-09-26 16:54:39 +02:00
Adriaan de Groot
06a00a15c6
[fsresizer] Scan for devices, list partitions
...
- The is just debugging output, but it's the start of what needs
to happen to find the FS that needs resizing.
2018-09-25 06:39:14 -04:00
Adriaan de Groot
35ca813064
[partition] Use "" for including from current directory
2018-09-25 06:34:03 -04:00
Adriaan de Groot
0396ed28b7
[keyboard] Update some origin information for the keyboard map
2018-09-24 17:05:36 +02:00
Adriaan de Groot
88c973f7cc
[partition] Simplify space calculations
...
- Q_ASSERT doesn't work in constexpr functions because it's not
- May as well calculate bytes at compile-time, no need to give
the runaround via number-of-MiB
2018-09-24 13:50:19 +02:00
Adriaan de Groot
428929b64f
[fsresizer] Tiny step towards getting data from KPMcore
2018-09-22 11:11:19 -04:00
Adriaan de Groot
e3bf9fc220
[partition] Fix build with KPMCore <= 3.3.0
...
- Reported by Philip Mueller
2018-09-21 16:19:05 -04:00
Adriaan de Groot
45195b9f7e
[fsresizer] Remove over-enthusiastic constexpr
2018-09-20 10:34:46 -04:00
Adriaan de Groot
499dd2ce83
[fsresizer] Document configuration
...
- Add some notes on configuration of fsresizer
- Convenience methods for checking validity.
2018-09-20 15:38:26 +02:00
Adriaan de Groot
3b8fa187e1
[fsresizer] Fix syntax error in YAML
2018-09-20 07:49:49 -04:00