Merge branch 'calamares' of https://github.com/calamares/calamares into development

This commit is contained in:
Philip Mueller 2024-03-30 21:59:02 +07:00
commit 891b56d0c7
6 changed files with 25 additions and 42 deletions

View File

@ -1,33 +0,0 @@
name: nightly-opensuse-qt6
on:
schedule:
- cron: "32 2 * * *"
workflow_dispatch:
env:
BUILDDIR: /build
SRCDIR: ${{ github.workspace }}
CMAKE_ARGS: |
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON
-DCMAKE_BUILD_TYPE=Debug
-DWITH_QT6=ON
jobs:
build:
runs-on: ubuntu-latest
container:
image: docker://opensuse/tumbleweed
options: --tmpfs /build:rw --user 0:0
steps:
- name: "prepare git"
shell: bash
run: zypper --non-interactive in git-core jq curl
- name: "prepare source"
uses: calamares/actions/generic-checkout@v5
- name: "install dependencies"
shell: bash
run: ./ci/deps-opensuse-qt6.sh
- name: "build"
shell: bash
run: ./ci/build.sh

View File

@ -15,6 +15,7 @@ env:
-DBUILD_TESTING=ON
-DBUILD_APPSTREAM=ON
-DBUILD_APPDATA=ON
-DWITH_QT6=ON
jobs:
build:

View File

@ -734,13 +734,13 @@ class DMsddm(DisplayManager):
name = "sddm"
executable = "sddm"
configuration_file = "etc/sddm.conf"
configuration_file = "/etc/sddm.conf"
def set_autologin(self, username, do_autologin, default_desktop_environment):
import configparser
# Systems with Sddm as Desktop Manager
sddm_conf_path = os.path.join(self.root_mount_point, self.configuration_file)
sddm_conf_path = os.path.join(self.root_mount_point, self.configuration_file.lstrip('/'))
sddm_config = configparser.ConfigParser(strict=False)
# Make everything case sensitive

View File

@ -33,7 +33,7 @@ calamares_add_plugin(locale
SHARED_LIB
)
if(DEBUG_TIMEZONES)
target_compile_definitions(${localeq_TARGET} PRIVATE DEBUG_TIMEZONES)
target_compile_definitions(${locale_TARGET} PRIVATE DEBUG_TIMEZONES)
endif()
calamares_add_test(

View File

@ -74,13 +74,14 @@ def is_ssd_disk(partition):
return False
def get_mount_options(filesystem, mount_options, partition):
def get_mount_options(filesystem, mount_options, partition, efi_location = None):
"""
Returns the mount options for the partition object and filesystem
:param filesystem: A string containing the filesystem
:param mount_options: A list of dicts that descripes the mount options for each mountpoint
:param partition: A dict containing information about the partition
:param efi_location: A string holding the location of the EFI partition or None
:return: A comma seperated string containing the mount options suitable for passing to mount
"""
@ -92,7 +93,13 @@ def get_mount_options(filesystem, mount_options, partition):
if mount_options is None:
return "defaults"
options = next((x for x in mount_options if x["filesystem"] == filesystem), None)
# The EFI partition uses special mounting options
if efi_location and partition["mountPoint"] == efi_location:
effective_filesystem = "efi"
else:
effective_filesystem = filesystem
options = next((x for x in mount_options if x["filesystem"] == effective_filesystem), None)
# If there is no match then check for default options
if options is None:
@ -214,7 +221,7 @@ def mount_zfs(root_mount_point, partition):
raise ZfsException(_("Failed to set zfs mountpoint"))
def mount_partition(root_mount_point, partition, partitions, mount_options, mount_options_list):
def mount_partition(root_mount_point, partition, partitions, mount_options, mount_options_list, efi_location):
"""
Do a single mount of @p partition inside @p root_mount_point.
@ -223,6 +230,7 @@ def mount_partition(root_mount_point, partition, partitions, mount_options, moun
:param partitions: The full list of partitions used to filter out btrfs subvols which have duplicate mountpoints
:param mount_options: The mount options from the config file
:param mount_options_list: A list of options for each mountpoint to be placed in global storage for future modules
:param efi_location: A string holding the location of the EFI partition or None
:return:
"""
# Create mount point with `+` rather than `os.path.join()` because
@ -235,7 +243,9 @@ def mount_partition(root_mount_point, partition, partitions, mount_options, moun
# Ensure that the created directory has the correct SELinux context on
# SELinux-enabled systems.
os.makedirs(mount_point, exist_ok=True)
try:
subprocess.call(['chcon', '--reference=' + raw_mount_point, mount_point])
except FileNotFoundError as e:
@ -259,7 +269,7 @@ def mount_partition(root_mount_point, partition, partitions, mount_options, moun
if fstype == "zfs":
mount_zfs(root_mount_point, partition)
else: # fstype == "zfs"
mount_options_string = get_mount_options(fstype, mount_options, partition)
mount_options_string = get_mount_options(fstype, mount_options, partition, efi_location)
if libcalamares.utils.mount(device,
mount_point,
fstype,
@ -349,7 +359,10 @@ def run():
if not extra_mounts:
libcalamares.utils.warning("No extra mounts defined. Does mount.conf exist?")
if libcalamares.globalstorage.value("firmwareType") != "efi":
efi_location = None
if libcalamares.globalstorage.value("firmwareType") == "efi":
efi_location = libcalamares.globalstorage.value("efiSystemPartition")
else:
for mount in extra_mounts:
if mount.get("efi", None) is True:
extra_mounts.remove(mount)
@ -365,7 +378,7 @@ def run():
mount_options_list = []
try:
for partition in mountable_partitions:
mount_partition(root_mount_point, partition, partitions, mount_options, mount_options_list)
mount_partition(root_mount_point, partition, partitions, mount_options, mount_options_list, efi_location)
except ZfsException as ze:
return _("zfs mounting error"), ze.message

View File

@ -196,6 +196,8 @@ Item {
Text {
id: notesText
property real padding: 16;
x: padding
y: padding
width: parent.width - 2 * padding