Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package sdbootutil for openSUSE:Factory checked in at 2025-12-18 18:30:45 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/sdbootutil (Old) and /work/SRC/openSUSE:Factory/.sdbootutil.new.1928 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sdbootutil" Thu Dec 18 18:30:45 2025 rev:86 rq:1323485 version:1+git20251218.1cd7294 Changes: -------- --- /work/SRC/openSUSE:Factory/sdbootutil/sdbootutil.changes 2025-12-12 21:40:48.615905536 +0100 +++ /work/SRC/openSUSE:Factory/.sdbootutil.new.1928/sdbootutil.changes 2025-12-18 18:31:03.400617269 +0100 @@ -1,0 +2,6 @@ +Thu Dec 18 09:13:42 UTC 2025 - Alberto Planas Dominguez <[email protected]> + +- Update to version 1+git20251218.1cd7294: + * Improve partition detection for multipath (boo#1254317) + +------------------------------------------------------------------- Old: ---- sdbootutil-1+git20251211.b3d0304.obscpio New: ---- sdbootutil-1+git20251218.1cd7294.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ sdbootutil.spec ++++++ --- /var/tmp/diff_new_pack.4HliPL/_old 2025-12-18 18:31:04.528664646 +0100 +++ /var/tmp/diff_new_pack.4HliPL/_new 2025-12-18 18:31:04.528664646 +0100 @@ -18,7 +18,7 @@ %global rustflags '-Clink-arg=-Wl,-z,relro,-z,now' Name: sdbootutil -Version: 1+git20251211.b3d0304 +Version: 1+git20251218.1cd7294 Release: 0 Summary: Bootctl wrapper for BLS boot loaders License: MIT ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.4HliPL/_old 2025-12-18 18:31:04.584666998 +0100 +++ /var/tmp/diff_new_pack.4HliPL/_new 2025-12-18 18:31:04.588667166 +0100 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/openSUSE/sdbootutil.git</param> - <param name="changesrevision">b3d030441bfe01f2ecd87a7deefc05c213b4bcc0</param></service></servicedata> + <param name="changesrevision">1cd729464d65ba9caa7b223ab33e75129e32361e</param></service></servicedata> (No newline at EOF) ++++++ sdbootutil-1+git20251211.b3d0304.obscpio -> sdbootutil-1+git20251218.1cd7294.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sdbootutil-1+git20251211.b3d0304/sdbootutil new/sdbootutil-1+git20251218.1cd7294/sdbootutil --- old/sdbootutil-1+git20251211.b3d0304/sdbootutil 2025-12-11 13:24:06.000000000 +0100 +++ new/sdbootutil-1+git20251218.1cd7294/sdbootutil 2025-12-18 10:08:44.000000000 +0100 @@ -102,6 +102,7 @@ initialentryfile="$tmpdir/initial_entries.json" snapperfile="$tmpdir/snapper.json" tmpfile="$tmpdir/tmp" +devicefile="$tmpdir/devices.json" helpandquit() { @@ -1641,6 +1642,30 @@ return 1 } +boot_root_drive_partno() +{ + local blkpart drive + blkpart="$(findmnt -nvo SOURCE "$boot_root")" + drive="${blkpart##*/}" + lsblk -o NAME,PKNAME,PARTN --json > "$devicefile" + # Read the json file with all the devices and, recursively, + # inspect the childrens looking for the partition that mounts + # /boot/efi. Once it is found gets the partition number and + # the (kernel) name of the parent. + jq -r --arg name "$drive" \ + 'first( + .blockdevices[] + | recurse(.children[]?) + | select(.children? | arrays | map(.name == $name) | any) + | { + "partn": (.children[] | select(.name == $name).partn | tostring), + "name": .name, + "pkname": .pkname + }) + | if .pkname then "/dev/" + .pkname + " " + .partn else "/dev/" + .name + " " + .partn end + ' < "$devicefile" +} + install_bootloader() { local snapshot="" @@ -1658,7 +1683,7 @@ return 0 } - local bootloader bldr_name blkpart drive partno + local bootloader bldr_name settle_entry_token "${snapshot}" bootloader=$(find_bootloader "$snapshot") @@ -1668,14 +1693,6 @@ mkdir -p "$boot_root/loader/entries" - # The ESP presence was checked early - blkpart="$(findmnt -nvo SOURCE "$boot_root")" - [ -L "/sys/class/block/${blkpart##*/}" ] || err "$blkpart is not a partition" - drive="$(readlink -f "/sys/class/block/${blkpart##*/}")" - drive="${drive%/*}" - drive="/dev/${drive##*/}" - read -r partno < "/sys/class/block/${blkpart##*/}"/partition - if [ -n "$arg_secure_boot" ] && [ ! -e "$prefix$shimdir/shim.efi" ]; then warn "A secure boot installation cannot be done. The shim package is not installed" fi @@ -1721,6 +1738,8 @@ fi # Create boot menu entry if it does not exist + local drive partno + read -r drive partno < <(boot_root_drive_partno) local escaped_entry="${entry//\//\\\\}" [ -n "$arg_no_variables" ] || [ -n "$arg_portable" ] || efibootmgr | grep -q "Boot.*${boot_manager}.*${escaped_entry}" || efibootmgr -q --create --disk "$drive" --part "$partno" --label "${boot_manager} ($bldr_name)" --loader "$entry" || true @@ -2463,8 +2482,8 @@ pcrlock_grub2_bls_entry_files "0" "$tmpdir" fi - blkpart="$(findmnt -nvo SOURCE "$boot_root")" - read -r partno < "/sys/class/block/${blkpart##*/}"/partition + local partno + read -r _ partno < <(boot_root_drive_partno) # Once we are out of the BIOS / EFI, the numeration cannot be # done without device.map. It is safe to assume that the ESP # is always the first disk (hd0) ++++++ sdbootutil.obsinfo ++++++ --- /var/tmp/diff_new_pack.4HliPL/_old 2025-12-18 18:31:04.816676742 +0100 +++ /var/tmp/diff_new_pack.4HliPL/_new 2025-12-18 18:31:04.820676910 +0100 @@ -1,5 +1,5 @@ name: sdbootutil -version: 1+git20251211.b3d0304 -mtime: 1765455846 -commit: b3d030441bfe01f2ecd87a7deefc05c213b4bcc0 +version: 1+git20251218.1cd7294 +mtime: 1766048924 +commit: 1cd729464d65ba9caa7b223ab33e75129e32361e
