diff --git a/.github/workflows/nightly-opensuse-qt6.yml b/.github/workflows/nightly-opensuse-qt6.yml deleted file mode 100644 index cd286d5db..000000000 --- a/.github/workflows/nightly-opensuse-qt6.yml +++ /dev/null @@ -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 diff --git a/.github/workflows/nightly-opensuse.yml b/.github/workflows/nightly-opensuse.yml index 5b742b704..49c155a77 100644 --- a/.github/workflows/nightly-opensuse.yml +++ b/.github/workflows/nightly-opensuse.yml @@ -15,6 +15,7 @@ env: -DBUILD_TESTING=ON -DBUILD_APPSTREAM=ON -DBUILD_APPDATA=ON + -DWITH_QT6=ON jobs: build: diff --git a/src/modules/displaymanager/main.py b/src/modules/displaymanager/main.py index cb6ca8b20..8114649ac 100644 --- a/src/modules/displaymanager/main.py +++ b/src/modules/displaymanager/main.py @@ -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 diff --git a/src/modules/locale/CMakeLists.txt b/src/modules/locale/CMakeLists.txt index 990032e87..1cb7a4f84 100644 --- a/src/modules/locale/CMakeLists.txt +++ b/src/modules/locale/CMakeLists.txt @@ -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( diff --git a/src/modules/mount/main.py b/src/modules/mount/main.py index 4202639f3..bfeb23ea6 100644 --- a/src/modules/mount/main.py +++ b/src/modules/mount/main.py @@ -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 diff --git a/src/qml/calamares-qt6/slideshow/Presentation.qml b/src/qml/calamares-qt6/slideshow/Presentation.qml index aab7007e6..1eed2e842 100644 --- a/src/qml/calamares-qt6/slideshow/Presentation.qml +++ b/src/qml/calamares-qt6/slideshow/Presentation.qml @@ -196,6 +196,8 @@ Item { Text { id: notesText + property real padding: 16; + x: padding y: padding width: parent.width - 2 * padding