Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package rdi-installer for openSUSE:Factory checked in at 2026-10-20 12:42:20 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rdi-installer (Old) and /work/SRC/openSUSE:Factory/.rdi-installer.new.3698736 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rdi-installer" Tue Oct 20 12:42:20 2026 rev:4 rq:1386326 version:1.2.1+git20261019.1a525f6 Changes: -------- --- /work/SRC/openSUSE:Factory/rdi-installer/rdi-installer.changes 2026-10-14 18:35:50.550689014 +0200 +++ /work/SRC/openSUSE:Factory/.rdi-installer.new.3698736/rdi-installer.changes 2026-10-20 12:42:36.707260850 +0200 @@ -1,0 +2,12 @@ +Mon Oct 19 13:55:04 UTC 2026 - Thorsten Kukuk <[email protected]> + +- Update to version 1.2.1+git20261019.1a525f6: + * Release version 1.2.1 + * mount-part-by-label: mount tmpfs on /images + * settings: fix selection of keymap layout + * image: create /images mount point + * Make mount-part-by-label.sh more robust + * rdii-helper: always log if default bootloader get changed + * Add minimal Quickguide + +------------------------------------------------------------------- Old: ---- rdi-installer-1.2.0+git20261013.6276d8c.tar.xz New: ---- rdi-installer-1.2.1+git20261019.1a525f6.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rdi-installer.spec ++++++ --- /var/tmp/diff_new_pack.8j4Xh9/_old 2026-10-20 12:42:37.418290608 +0200 +++ /var/tmp/diff_new_pack.8j4Xh9/_new 2026-10-20 12:42:37.419290649 +0200 @@ -16,7 +16,7 @@ # Name: rdi-installer -Version: 1.2.0+git20261013.6276d8c +Version: 1.2.1+git20261019.1a525f6 Release: 0 Summary: Utility to write disk images to hard disk License: MIT ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.8j4Xh9/_old 2026-10-20 12:42:37.470292784 +0200 +++ /var/tmp/diff_new_pack.8j4Xh9/_new 2026-10-20 12:42:37.473292910 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/thkukuk/rdi-installer.git</param> -<param name="changesrevision">6276d8c9cc21dbe78a3ab99556eaf0a0e4204705</param></service></servicedata> +<param name="changesrevision">1a525f685c1dd285f69d5039122db9d08d33c356</param></service></servicedata> (No newline at EOF) ++++++ rdi-installer-1.2.0+git20261013.6276d8c.tar.xz -> rdi-installer-1.2.1+git20261019.1a525f6.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdi-installer-1.2.0+git20261013.6276d8c/Quick-Guide/README.md new/rdi-installer-1.2.1+git20261019.1a525f6/Quick-Guide/README.md --- old/rdi-installer-1.2.0+git20261013.6276d8c/Quick-Guide/README.md 1970-01-01 01:00:00.000000000 +0100 +++ new/rdi-installer-1.2.1+git20261019.1a525f6/Quick-Guide/README.md 2026-10-19 15:53:46.000000000 +0200 @@ -0,0 +1,10 @@ + + + + + + + + + + Binary files old/rdi-installer-1.2.0+git20261013.6276d8c/Quick-Guide/rdi-installer-01.png and new/rdi-installer-1.2.1+git20261019.1a525f6/Quick-Guide/rdi-installer-01.png differ Binary files old/rdi-installer-1.2.0+git20261013.6276d8c/Quick-Guide/rdi-installer-03.png and new/rdi-installer-1.2.1+git20261019.1a525f6/Quick-Guide/rdi-installer-03.png differ Binary files old/rdi-installer-1.2.0+git20261013.6276d8c/Quick-Guide/rdi-installer-04.png and new/rdi-installer-1.2.1+git20261019.1a525f6/Quick-Guide/rdi-installer-04.png differ Binary files old/rdi-installer-1.2.0+git20261013.6276d8c/Quick-Guide/rdi-installer-05.png and new/rdi-installer-1.2.1+git20261019.1a525f6/Quick-Guide/rdi-installer-05.png differ Binary files old/rdi-installer-1.2.0+git20261013.6276d8c/Quick-Guide/rdi-installer-06.png and new/rdi-installer-1.2.1+git20261019.1a525f6/Quick-Guide/rdi-installer-06.png differ Binary files old/rdi-installer-1.2.0+git20261013.6276d8c/Quick-Guide/rdi-installer-07.png and new/rdi-installer-1.2.1+git20261019.1a525f6/Quick-Guide/rdi-installer-07.png differ Binary files old/rdi-installer-1.2.0+git20261013.6276d8c/Quick-Guide/rdi-installer-08.png and new/rdi-installer-1.2.1+git20261019.1a525f6/Quick-Guide/rdi-installer-08.png differ Binary files old/rdi-installer-1.2.0+git20261013.6276d8c/Quick-Guide/rdi-installer-09.png and new/rdi-installer-1.2.1+git20261019.1a525f6/Quick-Guide/rdi-installer-09.png differ Binary files old/rdi-installer-1.2.0+git20261013.6276d8c/Quick-Guide/rdi-installer-settings-1.png and new/rdi-installer-1.2.1+git20261019.1a525f6/Quick-Guide/rdi-installer-settings-1.png differ Binary files old/rdi-installer-1.2.0+git20261013.6276d8c/Quick-Guide/rdi-installer-settings-2.png and new/rdi-installer-1.2.1+git20261019.1a525f6/Quick-Guide/rdi-installer-settings-2.png differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdi-installer-1.2.0+git20261013.6276d8c/lib/select_keymap.c new/rdi-installer-1.2.1+git20261019.1a525f6/lib/select_keymap.c --- old/rdi-installer-1.2.0+git20261013.6276d8c/lib/select_keymap.c 2026-10-13 17:49:46.000000000 +0200 +++ new/rdi-installer-1.2.1+git20261019.1a525f6/lib/select_keymap.c 2026-10-19 15:53:46.000000000 +0200 @@ -30,7 +30,7 @@ strstr(all_keymaps[i], filter_buf)) filtered_keymaps[filtered_count++] = all_keymaps[i]; } - if (selected_index >= filtered_count) + if (selected_index < 0 || selected_index >= filtered_count) selected_index = filtered_count > 0 ? 0 : -1; list_offset = 0; // Reset scroll on new filter input diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdi-installer-1.2.0+git20261013.6276d8c/meson.build new/rdi-installer-1.2.1+git20261019.1a525f6/meson.build --- old/rdi-installer-1.2.0+git20261013.6276d8c/meson.build 2026-10-13 17:49:46.000000000 +0200 +++ new/rdi-installer-1.2.1+git20261019.1a525f6/meson.build 2026-10-19 15:53:46.000000000 +0200 @@ -14,7 +14,7 @@ 'werror=true', 'warning_level=2'], license : ['MIT', 'GPL-2.0-or-later'], - version : '1.2.0', + version : '1.2.1', ) conf = configuration_data() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdi-installer-1.2.0+git20261013.6276d8c/scripts/mount-part-by-label.sh new/rdi-installer-1.2.1+git20261019.1a525f6/scripts/mount-part-by-label.sh --- old/rdi-installer-1.2.0+git20261013.6276d8c/scripts/mount-part-by-label.sh 2026-10-13 17:49:46.000000000 +0200 +++ new/rdi-installer-1.2.1+git20261019.1a525f6/scripts/mount-part-by-label.sh 2026-10-19 15:53:46.000000000 +0200 @@ -1,19 +1,95 @@ #!/bin/bash +# +# Mount all filesystems with the given label (default: "images") under +# /<label>/<device-name>. Invoked by rdii-mount-img-part.service; stdout and +# stderr are captured by systemd and written to the journal under that +# service's unit, and a non-zero exit code marks the service as failed. + +set -u +set -o pipefail TARGET_LABEL=${1:-"images"} +MOUNT_BASE="/images" + +log_info() { + echo "$*" +} + +log_err() { + echo "$*" >&2 +} + +if ! command -v blkid >/dev/null 2>&1; then + log_err "blkid command not found, cannot search for partitions labeled \"${TARGET_LABEL}\"." + exit 1 +fi -# Find all partitions with the filesystem label DEVICES=$(blkid -t LABEL="${TARGET_LABEL}" -o device) +STATUS=$? + +# blkid exits with 2 when no matching device is found; that is not an error here. +if [ "$STATUS" -gt 2 ]; then + log_err "blkid failed while searching for partitions labeled \"${TARGET_LABEL}\" (exit code ${STATUS})." + exit 1 +fi if [ -z "$DEVICES" ]; then - echo "No partitions with label \"${TARGET_LABEL}\" found." + log_info "No partitions with label \"${TARGET_LABEL}\" found." exit 0 fi -for DEV in $DEVICES; do +# Root is normally read-only, so "/images" is expected to already exist +# (created at image build time). Handle the read-only root fallback cases +# before trying to create any mount points below it. +if [ ! -d "$MOUNT_BASE" ]; then + if [ ! -w / ]; then + log_err "\"${MOUNT_BASE}\" does not exist and \"/\" is not writable." + exit 1 + fi + if ! mkdir -p "$MOUNT_BASE"; then + log_err "Failed to create \"${MOUNT_BASE}\"." + exit 1 + fi +elif [ ! -w "$MOUNT_BASE" ]; then + log_info "\"${MOUNT_BASE}\" is not writable, mounting tmpfs on it." + if ! mount -t tmpfs tmpfs "$MOUNT_BASE"; then + log_err "Failed to mount tmpfs on \"${MOUNT_BASE}\"." + exit 1 + fi +fi + +EXIT_CODE=0 + +while IFS= read -r DEV; do + [ -n "$DEV" ] || continue + + if [ ! -b "$DEV" ]; then + log_err "Skipping \"${DEV}\": not a block device." + EXIT_CODE=1 + continue + fi + DEV_NAME=$(basename "$DEV") - MOUNTPOINT="/images/$DEV_NAME" - mkdir -p "$MOUNTPOINT" - mount "$DEV" "$MOUNTPOINT" - echo "Successfully mounted $DEV to $MOUNTPOINT" -done + MOUNTPOINT="${MOUNT_BASE}/${DEV_NAME}" + + if mountpoint -q "$MOUNTPOINT" 2>/dev/null; then + log_info "\"${DEV}\" is already mounted on \"${MOUNTPOINT}\", skipping." + continue + fi + + if ! mkdir -p "$MOUNTPOINT"; then + log_err "Failed to create mount point \"${MOUNTPOINT}\" for \"${DEV}\"." + EXIT_CODE=1 + continue + fi + + if ! mount "$DEV" "$MOUNTPOINT"; then + log_err "Failed to mount \"${DEV}\" on \"${MOUNTPOINT}\"." + EXIT_CODE=1 + continue + fi + + log_info "Successfully mounted \"${DEV}\" on \"${MOUNTPOINT}\"." +done <<< "$DEVICES" + +exit "$EXIT_CODE" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdi-installer-1.2.0+git20261013.6276d8c/src/rdii-helper.c new/rdi-installer-1.2.1+git20261019.1a525f6/src/rdii-helper.c --- old/rdi-installer-1.2.0+git20261013.6276d8c/src/rdii-helper.c 2026-10-13 17:49:46.000000000 +0200 +++ new/rdi-installer-1.2.1+git20261019.1a525f6/src/rdii-helper.c 2026-10-19 15:53:46.000000000 +0200 @@ -245,12 +245,11 @@ if (streq(strempty(efi->entry), strempty(defloaderentry))) { if (verbose) - MSG_INFO("Booted and default entry are equal, no changes done."); + MSG_INFO("Booted and default entry are identical, no changes were made."); return 0; } - if (verbose) - MSG_INFO("Setting LoaderEntryDefault to '%s'", efi->entry); + MSG_INFO("Setting LoaderEntryDefault to '%s'", efi->entry); r = exec_cmd(false, "sdbootutil", "sdbootutil", "set-default", efi->entry, NULL); if (r < 0) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdi-installer-1.2.0+git20261013.6276d8c/src/rdii-menu-settings.c new/rdi-installer-1.2.1+git20261019.1a525f6/src/rdii-menu-settings.c --- old/rdi-installer-1.2.0+git20261013.6276d8c/src/rdii-menu-settings.c 2026-10-13 17:49:46.000000000 +0200 +++ new/rdi-installer-1.2.1+git20261019.1a525f6/src/rdii-menu-settings.c 2026-10-19 15:53:46.000000000 +0200 @@ -36,7 +36,7 @@ filtered_keymaps[(*filtered_count)++] = all_keymaps[i]; } - if (*selected_index >= *filtered_count) + if (*selected_index < 0 || *selected_index >= *filtered_count) *selected_index = *filtered_count > 0 ? 0 : -1; *list_offset = 0; // Reset scroll on new filter input @@ -206,7 +206,7 @@ return -ENOMEM; rdii_download_server = new_server; // intentionally not freeing the previous value } - else if (focus == FOCUS_LIST && filtered_count > 0) + else if (focus == FOCUS_LIST && filtered_count > 0 && selected_index != -1) { if (is_linux_vt() || show_warning_popup("Keymaps can only be configured directly on a virtual console.",
