Adriaan de Groot
a6db224fcb
[fsresizer] [partition] Gracefully fail on missing dependencies
...
- If KPMcore is found -- it requires some other KDE Frameworks but
at least in pre-4.0 versions doesn't check very well for them --
then missing its dependencies is no cause for CMake failure.
Instead, log it nicely and suppress the module.
2019-08-12 13:23:34 +02:00
Adriaan de Groot
3335c2003e
[fsresizer] Fix tests
...
- Again? The checks on the job name (using filesystem or device
name) all looked very bogus, unless it was previously not
setting them at all.
2019-06-03 15:00:04 +02:00
Adriaan de Groot
34ffc7a20a
[libcalamares] Consistent namespace usage in partition service
...
- The sub-directories under libcalamares (e.g. Utils, ..)
all live in namespace CalamaresUtils (well, except for Logger).
The services (e.g. subdirs other than utils/) live in their
own nested namespace, so partitioning should go into
CalamaresUtils::Partition for consistency.
2019-05-14 05:52:58 -04:00
Adriaan de Groot
e520c66bb9
[fsresizer] Give the FSResizerJob some accessors
...
- This is primarily for the tests: then they can drop the
#define private public hack and be "proper" consumers.
2019-05-14 05:29:19 -04: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
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
Adriaan de Groot
16ff8b0767
[fsresizer] Make dependency on partition module more explicit
2019-05-07 07:48:40 -04: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
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
c83395ff6d
Reduce warnings for yaml-cpp
...
- Use only utils/YamlUtils.h to pull in yaml-cpp and supporting code.
- When compiling with clang, turn off warnings that the system header
for yaml-cpp would generate.
2019-04-18 12:06:09 +02:00
Adriaan de Groot
520478847c
Make logging more consistent.
...
- Across all the C++ modules, use Logger::SubEntry for sub/continues
log lines, instead of somewhat-random indent strings.
2019-04-15 09:02:21 -04:00
Adriaan de Groot
198acadd23
[partition] [fsresizer] Fix KPMCore API versions
...
- tests need the defines as well
- scandevices API changed with API 3.3.1
2019-04-12 13:17:38 +02:00
Adriaan de Groot
4e24ea29e2
[partition] [fsresizer] Adjust to post-3.3.0 API
...
- KDE neon ships a post-3.3.0 KPMCore, with deprecations, but not yet
the KPMCore 4 API, so add another API-version check to handle the
deprecations. Keeps warnings down.
2019-04-12 12:44:59 +02:00
Adriaan de Groot
c0710cabe4
[partition] [fsresizer] Adjust to new #define
...
- Using KPMCORE4API is clearer than just relying on a version number
2019-04-12 12:16:55 +02:00
Adriaan de Groot
9159761171
[partition] [fsresizer] Fix KPMCore API detection
...
- There will be a 3.3.1 which still has the "old" API,
so look at 3.3.80 (pre-4.0) instead. Make the way
compile flags are passed consistent.
2019-04-12 12:16:55 +02:00
Adriaan de Groot
affc73d3d2
[fsresizer] Avoid KPMCore warnings about scanDevices()
2019-03-20 18:20:56 +01:00
Adriaan de Groot
478168c841
[fsresizer] Make sure KPMCore version definitions are consistent
...
- Duplicate setting from partition module to fsresizer
2019-03-20 18:16:54 +01:00
Arnaud Ferraris
c3ccc0de0e
[libcalamares] Add a KiB unit
...
This commit creates a _KiB operator for future use by the partition
module.
It also fixes a typo in one instance of MiBtoBytes(), requiring a couple
extra fixes.
Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-02-28 13:49:15 +01:00
Adriaan de Groot
f825a63bfe
[fsresizer] Fix tests
...
- Test used 127% as value; this is now considered an invalid
percentage (greater than 100%) and yields different values.
2019-02-12 07:57:35 -05:00
Adriaan de Groot
0648a3facf
[fsresizer] Be explicit about type of string
2019-01-14 12:49:58 +01:00
Adriaan de Groot
ef33aa01f3
[fsresizer] Port to NamedSuffix template
2019-01-11 19:49:39 +01:00
Adriaan de Groot
fc99824c8d
[fsresizer] Fix string error, thanks Lithuanian translators
2018-10-05 17:22:12 +02: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
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
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
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
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
428929b64f
[fsresizer] Tiny step towards getting data from KPMcore
2018-09-22 11:11:19 -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
Adriaan de Groot
745629b659
[fsresizer] Turn on KPMCore requirement again
2018-09-17 06:58:18 -04:00
Adriaan de Groot
a6c3899e10
[fsresizer] Add tests
...
- Test the parsing of configuration values, that it gets the right
values when given correct(-ish) configurations. Doesn't test
any situations with bad config.
2018-09-14 17:59:50 +02:00
Adriaan de Groot
a81588190a
[fsresizer] Simplify and make safer
...
- Make RelativeSize public so we can use it in non-member functions
- Make a template out of matching the string suffixes; this is
safer because the length of the suffix can be computed at compile-time
(+1 for the trailing NUL) rather than writing it out in boilerplate.
2018-09-14 16:51:09 +02:00
Adriaan de Groot
cdfb55e5cf
[fsresizer] Just right now it doesn't need KPMCore
...
- Drop the dependency while developing the configuration parser
part of the module and writing initial tests.
2018-09-14 16:49:07 +02:00
Adriaan de Groot
4d5eb90a04
[fsresize] Add new module fsresizer
...
- Non-functional as yet, WIP
- Intended for use on SBC images and similar, which need to resize
the root partition to the size of the SD card they're on.
FIXES #921
2018-09-14 07:56:18 -04:00