8313 Commits (e9e4be1c60ec8adcf3a16fb98ae9a48a5b5e2e0c)
 

Author SHA1 Message Date
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 "//", "/../", "/./", ...).
4 years ago
Adriaan de Groot 2535d8ccbd Merge branch 'issue-1327' into calamares
FIXES #1327
FIXES #1267

Generally, flags-manipulation was a mess and restoring the
value-on-disk impossible.
4 years ago
Adriaan de Groot 2c297a068f [partition] Log when an EFI problem has been solved 4 years ago
Adriaan de Groot 0f38ee624e [partition] static-assert that our shortcut makes sense 4 years ago
Adriaan de Groot 15ace5202d [partition] Simplify EFI-flags checking with KPMCore 4 4 years ago
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.
4 years ago
Adriaan de Groot 949e33f1e8 [partition] Massage logging while checking for EFI boot 4 years ago
Adriaan de Groot 63964de4bd [partition] Explain underlying type for flags variant 4 years ago
Adriaan de Groot 87c77d9807 [partition] When flags are explicitly invalid, return early 4 years ago
Adriaan de Groot 356e13ae93 [partition] Improve logging readability 4 years ago
Calamares CI 1ce126c01e i18n: [python] Automatic merge of Transifex translations 4 years ago
Calamares CI c7eb8e1d2c i18n: [calamares] Automatic merge of Transifex translations 4 years ago
Adriaan de Groot b6534c3ebf Changes: credits adjustment 4 years ago
Adriaan de Groot 72c9df67d2
Merge pull request #1565 from Chrysostomus/calamares
[initcpiocfg] Use graphical decryption prompt with plymouth
4 years ago
Adriaan de Groot 455de6f948 Merge branch 'document-1523' into calamares
FIXES #1523
4 years ago
Adriaan de Groot f898840e16 [users] Expand schema to cover new possibilities 4 years ago
Chrysostomus 84558333bf Regular plymouth hook is also still needed 4 years ago
Chrysostomus 3bf57c7785 Use graphical decryption prompt with plymouth as adviced here: https://wiki.archlinux.org/index.php/plymouth#The_plymouth_hook 4 years ago
Adriaan de Groot 36f9fd56a3 [users] Expand the example config with new possibilities 4 years ago
Adriaan de Groot 7c268b2e4d [users] Correct terminology in configuration documentation 4 years ago
Adriaan de Groot ed95c4a541 CMake: pre-release housekeeping 4 years ago
Adriaan de Groot 8ab5b562ad i18n: timezone translations for Vietnamese 4 years ago
Adriaan de Groot 2516f18d1b
Merge pull request #1560 from gportay/partition-mount-make-mountPoint-and-filesystem-optionals
[partition,mount] Make mountPoint and filesystem optionals
4 years ago
Adriaan de Groot f00a095acb Merge branch 'fix-partition-layout' into calamares 4 years ago
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.
4 years ago
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.
4 years ago
Adriaan de Groot 42014a8201 Docs: typo (thanks jdfthetech) 4 years ago
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.
4 years ago
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
4 years ago
Gaël PORTAY 6013ed52f8 [partition] Ignore unformatted filesystem 4 years ago
Gaël PORTAY db08d2db8b [partition] Make filesystem optional and default to unformatted 4 years ago
Gaël PORTAY 163351a803 [mount] Ignore empty or unformatted filesystems 4 years ago
Gaël PORTAY c6feedf923 [mount] Ignore empty mountpoints 4 years ago
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'.
4 years ago
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.
4 years ago
Adriaan de Groot 486cdaeeb6 [users] Shuffle library order to satisfy CI build 4 years ago
Adriaan de Groot 2bd3f1d8c1 Merge branch 'issue-1523' into calamares 4 years ago
Adriaan de Groot b61b5f8650 [users] Run an expected-to-fail test in creating groups 4 years ago
Adriaan de Groot 8127ae704c [users] Expand tests for groups a little 4 years ago
Adriaan de Groot e66f81f6ee CMake: comment on BUILD_AS_TEST 4 years ago
Adriaan de Groot 10991346b7
Merge pull request #1561 from gportay/partition-set-swap-partition-name
[partition] Allow a configurable swap Partition name
4 years ago
Adriaan de Groot 7578768c46
Merge pull request #1562 from gportay/partition-group-efi-things-together
[partition] Group EFI things together
4 years ago
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.
4 years ago
Adriaan de Groot 621ac9b8db Merge branch 'partition-warnings' into calamares 4 years ago
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.
4 years ago
Adriaan de Groot d26fde6647 [partition] Reduce warnings
- Add a helper header that munges the warnings-settings so that
  KPMcore headers can be included.
4 years ago
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;
4 years ago
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.
4 years ago
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
4 years ago
Gaël PORTAY 3967cfe0eb [partition] Group EFI things together 4 years ago