5386 Commits (ecc32ab9b68012ea9072ee9dcca627aeb4ddd642)
 

Author SHA1 Message Date
Kevin Kofler ecc32ab9b6 [mount] Update copyright notice 6 years ago
Kevin Kofler 34083344a4 mount: copy the SELinux context of the host directory to the mountpoint
On systems with SELinux enabled, we have to create the directories on
top of which we mount another partition or virtual file system (e.g.,
/dev) with the correct SELinux context, BEFORE we mount the other
partition. Otherwise, SELinux will get really confused when systemd
tries to recreate the mount tree for a private file system namespace for
a service. And unfortunately, even an autorelabel does not fix it
because it runs when /dev etc. are already mounted.

Without this fix, on Fedora >= 30, the system installed with Calamares
would fail to start the dbus-broker system bus, leading to several
important pieces of functionality not working (e.g., shutdown as
non-root).

On systems without SELinux enabled, chcon (which is part of coreutils)
will just print a warning and do nothing, so this should always be safe.
6 years ago
Adriaan de Groot f25b1528a5
Merge pull request #1144 from a-wai/factor-partsize-class
Move partition size classes into libcalamares
6 years ago
Adriaan de Groot 0864153eb6
Merge pull request #1142 from a-wai/fix-sidebar-label-setup-mode
[libcalamaresui] Fix sidebar label for setup mode
6 years ago
Arnaud Ferraris eb57be1be8 [partition] Remove deprecated sizeToSectors() function
Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Arnaud Ferraris 80fd3d3353 [partition] 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>
6 years ago
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>
6 years ago
Arnaud Ferraris 4937668b5b [libcalamares] Add generic PartitionSize class
Using PartUtils::PartSize as reference, this commit creates a new
PartitionSize class in libcalamares, which will then be used in every
module needing such a class.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Arnaud Ferraris 36bc0e6308 [partition] Move bytesToSectors() to CalamaresUtils namespace
In order to prepare for future refactoring of the PartSize class, move
the bytesToSectors() function to libcalamares in the CalamaresUtils
namespace.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Arnaud Ferraris bfd46276ad [libcalamaresui] Fix sidebar label for setup mode
In the sidebar, the "Install" step should be named "Set Up" when in
setup mode, which will be more consistent with the other UI texts,
including button labels.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Adriaan de Groot b840bce22d CMake: reduce Qt dependency back to 5.9
- Although KDE CI onlt tests with Qt 5.10, and KPMCore 4 requires
   Qt 5.10, Calamares is still ok with older Qt and KPMCore 3.3,
   so drop the dependency back down again. This means, though, that
   the code will build against a Qt version we don't usually test.
   We're going to assume that Someone Else does the LTS-Qt testing
   for us.
6 years ago
Adriaan de Groot 86ed8fd044 Merge branch 'exec-steps' 6 years ago
Adriaan de Groot 9331a25905 [libcalamares] Remove Typedefs.h
- This small header file contained a few unrelated typedefs.
   Move those typedefs to the classes they relate to. This
   **does** mean that some consumers need to #include something
   else instead.
 - Use type names more consistently.

Editorial: why are **pages** responsible for creating the jobs?
6 years ago
Adriaan de Groot a99eccf19d [libcalamaresui] Fix PythonQt code w/ moved enums 6 years ago
Adriaan de Groot f60ac5e101 [modules] The modules can include libcalamares and libcalamaresui
- Remove (heavy-handed) top-level include_directories, in favor
   of more focused ones; this helps to make sure that the dependencies
   ordering is correct.
6 years ago
Adriaan de Groot 16ff8b0767 [fsresizer] Make dependency on partition module more explicit 6 years ago
Adriaan de Groot a482d7be44 [libcalamaresui] Don't expose build details in DebugWindow
- In a library class, don't include uic-generated headers inside
   the public headers.
6 years ago
Adriaan de Groot de2b85eabf [libcalamaresui] Tidy the CMake bits
- Explain (briefly) what the library is for
 - Explicitly add includes from the non-UI library
6 years ago
Adriaan de Groot 0be34d281d [libcalamares] Remove incorrect comment
- The setting for OEM mode is already independent.
6 years ago
Adriaan de Groot cdb613bf02 [libcalamares] Move module-related things into subdirectory
- Currently just moves a single enum, but this is prep-work for
   moving the non-GUI parts of the module system into libcalamares,
   to better support GUI-less operation.
6 years ago
Adriaan de Groot 761205ecf7 [libcalamares] Tidy some bits
- Explain what the library is for (briefly) in the CMakeLists
 - Settings should use the right export macro
6 years ago
Adriaan de Groot 169159f888 [libcalamaresui] Switch to enum classes for Type, Interface
- Somewhat gratuitous change, but brings more enums into modern style.
6 years ago
Adriaan de Groot 6b89ac8461 [libcalamaresui] Remove TODO
- I don't know what this would mean, so it's not a TODO any more.
6 years ago
Kevin Kofler a01d4707e1 [partition] Do not unmount /dev/mapper/live-* in ClearMountsJob
src/modules/partition/jobs/ClearMountsJob.cpp
(ClearMountsJob::getCryptoDevices): Skip not only `/dev/mapper/control`,
but also `/dev/mapper/live-*`. Fedora live images use
`/dev/mapper/live-*` internally. We must not unmount those devices,
because they are used by the live image and because we need
`/dev/mapper/live-base` in the `unpackfs` module.
6 years ago
Kevin Kofler 71d991e2e4 [unpackfs] Do not use `-o loop` on a device
src/modules/unpackfs/main.py (UnpackOperation.mount_image): Check
whether entry.source is a regular file or a device and only use
`-o loop` on regular files, not devices.

At least on Fedora >= 29, `-o loop` fails on the read-only device
`/dev/mapper/live-base` (though `-o loop,ro` would be accepted).
6 years ago
Kevin Kofler 02c7fe8345 [umount]: Fix default srcLog in umount.conf
Also fix the introductory comment, which also contained the old
location.
6 years ago
Adriaan de Groot c933eda610 Merge branch 'issue-1137'
FIXES #1137
6 years ago
Adriaan de Groot f7494864be [calamares] Tidying after fixing fit-text-in-sidepane
- Simplify delegate: unused m_parent, tidy up inheritance, then drop
   unnecessary custom constructor and extra Q_OBJECT macro.
 - Drop some unnecessary included headers
 - Drop single-use #define. APP was used in only one place; remove it
   (that would be stylistically correct, anyway).
 - Update copyright headers
 - Document new label-handling
6 years ago
Adriaan de Groot dc8cfd2fce [calamares] Fit text into sidepane
- Shrink the font in an attempt to fit into the box,
   but only up to 4pt smaller; after that just clip on one line.
6 years ago
Adriaan de Groot 0f30acc13f [calamares] Fix off-center text in sidepane
- The text rectangle was **moved**, not shrunk-in-place. Add
   the missing - sign for the right and bottom margin.
 - While here, move from #define to constexpr.
6 years ago
Adriaan de Groot fdc2cff65a [calamares] Keep text on a single line
- In the sidepane, don't wrap long texts
6 years ago
Adriaan de Groot 1c12449f03 Merge branch 'issue-1138'
FIXES #1138
6 years ago
Adriaan de Groot f8ecc32116 Changes: document changed configuration of finished module 6 years ago
Adriaan de Groot 44107d6c33 [finished] Actually read the new-style config value 6 years ago
Adriaan de Groot f3c86810a1 [finished] More (display) modes for restarting
- Use a named enum instead of a collection of booleans
 - Support old-style configuration but complain about it
 - Update AppImage config as well

The new setup allows four different restart modes: never,
always, user-unchecked and user-checked. The user-modes
are interactive and give the user a choice (defaulting to
unchecked-don't-restart and checked-do-restart respectively).
The non-interactive versions vary in how they are
displayed.
6 years ago
Adriaan de Groot e281a74552 [finished] Fix up include guards and include style 6 years ago
Adriaan de Groot d6c7e53966 [finished] Warnings should be logged as such 6 years ago
Adriaan de Groot ef4196dbd8 [finished] Simplify configuration code 6 years ago
Adriaan de Groot 1aa87da4b8 Changes: credit Kevin for the Python-build-fix 6 years ago
Kevin Kofler fa9aeb4a5d CMake: Fix BoostPython3.cmake for Fedora >= 30
CMakeModules/BoostPython3.cmake: Also try e.g. "python37" as the module
name, because Fedora 30 switched from the e.g. "python-py37" format to
that. Otherwise, Boost::Python3 cannot be found on Fedora without
manually setting CALAMARES_BOOST_PYTHON3_COMPONENT.
6 years ago
Adriaan de Groot 5f01a8ccc5 [oemid] If the configuration is broken, complain loudly
- Adds an InvalidConfiguration value for internal errors

SEE #1136
6 years ago
Adriaan de Groot e0a79f4c0f [partition] Reduce scope for nullptr dereference
- document what types are in use
 - avoid at least one nullptr deref
6 years ago
Calamares CI 1660e15eda i18n: [python] Automatic merge of Transifex translations 6 years ago
Calamares CI d50f3a4d15 i18n: [calamares] Automatic merge of Transifex translations 6 years ago
Adriaan de Groot 882e8cc766 Merge branch 'master' of github.com:calamares/calamares 6 years ago
Adriaan de Groot f937ef6eb9 CMake: be compatible with clang 6
- Some of the pragmas in moc-warnings.h, intended to *reduce*
   warnings from MOC code, generate a warning in their own right.
6 years ago
Adriaan de Groot dd33848975 [oemid] Tweak layout some more 6 years ago
Adriaan de Groot 6b137d6fd2 CMake: don't reset project() in a subdir 6 years ago
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.
6 years ago
Adriaan de Groot 2620829515 [webview] Make optional based on presence of dependencies 6 years ago