Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package sdbootutil for openSUSE:Factory 
checked in at 2026-04-07 16:32:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sdbootutil (Old)
 and      /work/SRC/openSUSE:Factory/.sdbootutil.new.21863 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "sdbootutil"

Tue Apr  7 16:32:30 2026 rev:98 rq:1344985 version:1+git20260407.f1134c1

Changes:
--------
--- /work/SRC/openSUSE:Factory/sdbootutil/sdbootutil.changes    2026-03-27 
06:50:03.799345326 +0100
+++ /work/SRC/openSUSE:Factory/.sdbootutil.new.21863/sdbootutil.changes 
2026-04-07 16:47:26.304903032 +0200
@@ -1,0 +2,22 @@
+Tue Apr 07 11:32:59 UTC 2026 - Alberto Planas Dominguez <[email protected]>
+
+- Update to version 1+git20260407.f1134c1:
+  * Add missing e2fsprogs dependency
+  * Check that the efivars filesystem is writable
+
+-------------------------------------------------------------------
+Mon Apr 06 09:45:27 UTC 2026 - Alberto Planas Dominguez <[email protected]>
+
+- Update to version 1+git20260406.42f6bd8:
+  * Detect if shim is installed in the ESP
+  * Update entries for the system if no snapshot is provided
+  * Allow version values without snapshot number
+  * Detect in buildroot invocations (mkosi)
+  * Avoid cleaning entries without subvol
+  * Use more idiomatic way to refer the snapshot
+  * Drop mkmoduleinitrd
+  * Find cmdline when there is no subvolumes
+  * Change rootflags based on local information
+  * Ignore lsblk sdterr output
+
+-------------------------------------------------------------------

Old:
----
  sdbootutil-1+git20260324.bd0fc60.obscpio

New:
----
  sdbootutil-1+git20260407.f1134c1.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ sdbootutil.spec ++++++
--- /var/tmp/diff_new_pack.uciOxs/_old  2026-04-07 16:47:28.344987337 +0200
+++ /var/tmp/diff_new_pack.uciOxs/_new  2026-04-07 16:47:28.356987833 +0200
@@ -18,7 +18,7 @@
 
 %global rustflags '-Clink-arg=-Wl,-z,relro,-z,now'
 Name:           sdbootutil
-Version:        1+git20260324.bd0fc60
+Version:        1+git20260407.f1134c1
 Release:        0
 Summary:        Bootctl wrapper for BLS boot loaders
 License:        MIT
@@ -32,6 +32,7 @@
 BuildRequires:  systemd-rpm-macros
 Requires:       %{name}-dracut-measure-pcr
 Requires:       dracut-pcr-signature
+Requires:       e2fsprogs
 Requires:       efibootmgr
 Requires:       jq
 Requires:       keyutils

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.uciOxs/_old  2026-04-07 16:47:28.640999570 +0200
+++ /var/tmp/diff_new_pack.uciOxs/_new  2026-04-07 16:47:28.685001388 +0200
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/openSUSE/sdbootutil.git</param>
-              <param 
name="changesrevision">bd0fc603733b1f27ac315d61be0169bd4eae186b</param></service></servicedata>
+              <param 
name="changesrevision">f1134c1f6d97ee2e6005fee8d66ca7d50b2391b8</param></service></servicedata>
 (No newline at EOF)
 

++++++ sdbootutil-1+git20260324.bd0fc60.obscpio -> 
sdbootutil-1+git20260407.f1134c1.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sdbootutil-1+git20260324.bd0fc60/sdbootutil 
new/sdbootutil-1+git20260407.f1134c1/sdbootutil
--- old/sdbootutil-1+git20260324.bd0fc60/sdbootutil     2026-03-24 
13:34:05.000000000 +0100
+++ new/sdbootutil-1+git20260407.f1134c1/sdbootutil     2026-04-07 
13:24:44.000000000 +0200
@@ -47,6 +47,7 @@
 arg_esp_free_space=
 arg_force=
 have_snapshots=
+in_buildroot=
 # for x in vmlinuz image vmlinux linux bzImage uImage Image zImage; do
 image=
 unlock_method=
@@ -549,7 +550,7 @@
 {
        local device
        read -r device < <(findmnt / -v -n -o SOURCE 2> /dev/null)
-       [ -n "$device" ] && [ "$(lsblk --noheadings -o TYPE "$device")" = 
"crypt" ]
+       [ -n "$device" ] && [ "$(lsblk --noheadings -o TYPE "$device" 2> 
/dev/null)" = "crypt" ]
 }
 
 get_rootfs()
@@ -630,7 +631,7 @@
                "-e s/\<\(BOOT_IMAGE\|initrd\)=[^ ]* \?//"
                "-e s/\$//;ta;:a"
                "-e s,\<root=[^ ]*,root=$root_param,;tb;s,\$, 
root=$root_param,;tc;:c;:b")
-       [ -z "$have_snapshots" ] || sed_arguments+=("-e s,\<rootflags=subvol=[^ 
]*,rootflags=subvol=$subvol,;td;s,\$, rootflags=subvol=$subvol,;te;:e;:d")
+       [ -z "$subvol" ] || sed_arguments+=("-e s,\<rootflags=subvol=[^ 
]*,rootflags=subvol=$subvol,;td;s,\$, rootflags=subvol=$subvol,;te;:e;:d")
        [ -z "$machine_id" ] || sed_arguments+=("-e s,\<systemd.machine_id=[^ 
]*,systemd.machine_id=$machine_id,;tf;s,\$, 
systemd.machine_id=$machine_id,;tg;:g;:f")
        sed "${sed_arguments[@]}"
 }
@@ -710,7 +711,11 @@
        local id
        id="$(entry_conf_file "$kernel_version" "$snapshot")"
 
-       update_entries_for_snapshot "$snapshot"
+       if [ -n "$snapshot" ]; then
+               update_entries_for_snapshot "$snapshot"
+       else
+               update_entries_for_this_system
+       fi
 
        while IFS= read -r path; do
                if [ -f "$path" ]; then
@@ -1178,21 +1183,21 @@
        local subvol="$1"
        local cmdline
        local boot_options
-       for i in "${subvol:1}/etc/kernel/cmdline" 
"${subvol:1}/usr/lib/kernel/cmdline" /proc/cmdline; do
+       for i in "${subvol:1}/etc/kernel/cmdline" 
"${subvol:1}/usr/lib/kernel/cmdline" /etc/kernel/cmdline 
/usr/lib/kernel/cmdline /proc/cmdline; do
                [ -f "$i" ] || continue
                dbg_cat "$i"
                cmdline="$(<"$i")"
                break
        done
 
-       for i in "${subvol:1}"/usr/kernel/cmdline.d/*; do
+       for i in "${subvol:1}"/usr/kernel/cmdline.d/* /usr/kernel/cmdline.d/*; 
do
                [ -e "${subvol:1}/etc/kernel/cmdline.d/$(basename "$i")" ] && 
continue
                dbg_cat "$i"
                [ -s "$i" ] || continue
                cmdline="${cmdline:+$cmdline }$(<"$i")"
        done
 
-       for i in "${subvol:1}"/etc/kernel/cmdline.d/*; do
+       for i in "${subvol:1}"/etc/kernel/cmdline.d/* /etc/kernel/cmdline.d/*; 
do
                dbg_cat "$i"
                [ -s "$i" ] || continue
                cmdline="${cmdline:+$cmdline }$(<"$i")"
@@ -1210,7 +1215,6 @@
        local kernel_version="$2"
        local dstinitrd=()
        local 
src="${subvol#"${subvol_prefix}"}/lib/modules/$kernel_version/$image"
-       local initrddir="${subvol#"${subvol_prefix}"}/usr/lib/initrd"
        [ -n "$kernel_version" ] || err "Missing kernel version"
        [ -e "$src" ] || err "Can't find $src"
 
@@ -1232,16 +1236,7 @@
 
        if [ -e "$initrd" ]; then
                ln -s "$initrd" "$tmpdir/initrd-0"
-       elif [ -d "$initrddir" ] && [ -x "/usr/bin/mkmoduleinitrd" ]; then
-               local f i
-               i=0
-               for f in "$initrddir"/*; do
-                       ln -s "$f" "$tmpdir/initrd-$i"
-                       ((++i))
-               done
-               /usr/bin/mkmoduleinitrd "${subvol#"${subvol_prefix}"}" 
"$kernel_version" "$tmpdir/initrd-$i"
        elif ! reuse_initrd "$snapshot" "$subvol" "$kernel_version"; then
-               local snapshot_dir="/.snapshots/$snapshot/snapshot"
                local dracut_args=(
                        '--reproducible'
                        '--force'
@@ -1253,16 +1248,16 @@
 
                info "Generating new initrd"
 
-               if [ "$subvol" != "$root_subvol" ] && [ -n "$have_snapshots" ]; 
then
-                       mount_chroot "${snapshot_dir}"
+               if [ -n "$have_snapshots" ] && [ "$subvol" != "$root_subvol" ]; 
then
+                       mount_chroot "${subvol#"${subvol_prefix}"}"
                        # In MicroOS we need to be sure to have the same /etc
                        # inside the snapshot.  For example, /etc/crypttab can
                        # have modifications in the overlay that will be
                        # visible once the snapshot is active, but the version
                        # in /.snapshots is still the unmodified base
-                       is_transactional && mount_etc "${snapshot_dir}"
-                       chroot "${snapshot_dir}" dracut "${dracut_args[@]}" 
"$tmpdir/initrd-0" "$kernel_version"
-                       umount_chroot "${snapshot_dir}"
+                       is_transactional && mount_etc 
"${subvol#"${subvol_prefix}"}"
+                       chroot "${subvol#"${subvol_prefix}"}" dracut 
"${dracut_args[@]}" "$tmpdir/initrd-0" "$kernel_version"
+                       umount_chroot "${subvol#"${subvol_prefix}"}"
                else
                        dracut "${dracut_args[@]}" "$tmpdir/initrd-0" 
"$kernel_version"
                fi
@@ -1271,6 +1266,7 @@
        make_free_space_for_kernel "$snapshot" || err "No free space in 
$boot_root for new kernel"
 
        local boot_options
+       [ -z "$in_buildroot" ] || 
subvol="${subvol_prefix}/.snapshots/${snapshot}/snapshot"
        boot_options="$(create_boot_options "$subvol")"
 
        if [ "${#dstinitrd[@]}" -eq 0 ] && [ -e "$tmpdir/initrd-0" ]; then
@@ -1297,7 +1293,7 @@
        cat > "$tmpdir/entry.conf" <<-EOF
        # Boot Loader Specification type#1 entry
        title      $title
-       version    $snapshot@$kernel_version${entry_machine_id:+${nl}machine-id 
$entry_machine_id}${sort_key:+${nl}sort-key   $sort_key}
+       version    
${snapshot:+$snapshot@}$kernel_version${entry_machine_id:+${nl}machine-id 
$entry_machine_id}${sort_key:+${nl}sort-key   $sort_key}
        options    $boot_options
        linux      $dst
        EOF
@@ -1401,6 +1397,8 @@
 
 cleanup_entries()
 {
+       local snapshot="$1"
+
        info "Cleaning up boot entries"
 
        [ -z "$TRANSACTIONAL_UPDATE" ] || [ -n "$arg_force" ] || {
@@ -1409,8 +1407,8 @@
        }
 
        if [ ! -s "$entryfile" ]; then
-               if [ -n "$1" ]; then
-                       update_entries_for_snapshot "$1"
+               if [ -n "$snapshot" ]; then
+                       update_entries_for_snapshot "$snapshot"
                else
                        update_entries_for_this_system
                fi
@@ -1421,13 +1419,16 @@
                read -r path
                read -r snapshot
                read -r kernel_version
-               subvol="${subvol_prefix}/.snapshots/${snapshot}/snapshot"
+               subvol=
+               if [ -n "$snapshot" ] && [ "$snapshot" != "null" ]; then
+                       
subvol="${subvol_prefix}/.snapshots/${snapshot}/snapshot"
+               fi
                
src="${subvol#"${subvol_prefix}"}/lib/modules/$kernel_version/$image"
                [ -e "$src" ] || {
                        info "Cleaning boot entry $id"
                        rm "$path"
                }
-       done < <(jq -r '.[] | .id, .path, (.version | scan("(.*)@(.*)") | .[])' 
"$entryfile")
+       done < <(jq -r '.[] | .id, .path, (.version | 
capture("((?<snapshot>[0-9]*)@)?(?<kernel>.*)")) as $v | $v.snapshot, 
$v.kernel' "$entryfile")
 
        dbg "Calling bootctl cleanup"
        bootctl -q cleanup 2> /dev/null
@@ -1438,11 +1439,13 @@
 
 list_entries()
 {
+       local snapshot="$1"
+
        info "Listing boot entries"
 
        if [ ! -s "$entryfile" ]; then
-               if [ -n "$1" ]; then
-                       update_entries_for_snapshot "$1"
+               if [ -n "$snapshot" ]; then
+                       update_entries_for_snapshot "$snapshot"
                elif [ -n "$arg_all_entries" ]; then
                        update_entries
                else
@@ -1526,7 +1529,9 @@
        local snapshot="$2"
 
        local subvol=""
-       [ -z "$have_snapshots" ] || 
subvol="${subvol_prefix}/.snapshots/${snapshot}/snapshot"
+       if [ -n "$have_snapshots" ] || [ -z "$in_buildroot" ]; then
+               subvol="${subvol_prefix}/.snapshots/${snapshot}/snapshot"
+       fi
 
        local boot_options
        boot_options="$(create_boot_options "$subvol")"
@@ -1576,7 +1581,12 @@
 
        make_free_space "$snapshot" 1024
 
-       update_entries_for_snapshot "$1"
+       if [ -n "$snapshot" ]; then
+               update_entries_for_snapshot "$snapshot"
+       else
+               update_entries_for_this_system
+       fi
+
        while read -r conf; do
                update_entry_conf "$conf" "$snapshot"
        done < <(jq -r '.[]|.path' < "$entryfile")
@@ -1722,7 +1732,7 @@
 {
        local fn="$1"
        if [ -z "$1" ]; then
-               if [ -e "$shimdir/shim.efi" ]; then
+               if is_shim_installed; then
                        fn="$boot_root$boot_dst/grub.efi"
                elif [ -n "$arg_portable" ]; then
                        fn="$boot_root/EFI/BOOT/BOOT${firmware_arch^^}.EFI"
@@ -2004,7 +2014,7 @@
 
 has_efivars()
 {
-       [ -d /sys/firmware/efi/efivars ]
+       [ -w /sys/firmware/efi/efivars ]
 }
 
 bli_efi_var_get()
@@ -2281,27 +2291,27 @@
 set_default_snapshot()
 {
        [ -n "$have_snapshots" ] || { info "System does not support 
snapshots."; return 0; }
-       local num="${1:?}"
+       local snapshot="${1:?}"
        local configs
 
-       info "Setting default snapshot $num"
+       info "Setting default snapshot $snapshot"
 
        [ -z "$TRANSACTIONAL_UPDATE" ] || [ -n "$arg_force" ] || {
                warn "Inside transactional-update. Setting default snapshots 
must be done outside the transaction"
                return 0
        }
 
-       update_entries_for_snapshot "$num"
+       update_entries_for_snapshot "$snapshot"
        mapfile configs < <(jq '.[]|[.id]|join(" ")' -r < "$entryfile")
        configs=("${configs[@]%$nl}")
        if [ -z "${configs[0]}" ]; then
-               info "Snapshot $num has no configs, trying to create them..."
-               install_all_kernels "$num"
-               update_entries_for_snapshot "$num"
+               info "Snapshot $snapshot has no configs, trying to create 
them..."
+               install_all_kernels "$snapshot"
+               update_entries_for_snapshot "$snapshot"
                mapfile configs < <(jq '.[]|[.id]|join(" ")' -r < "$entryfile")
                configs=("${configs[@]%$nl}")
                if [ -z "${configs[0]}" ]; then
-                       err "snapshot $num has no kernels"
+                       err "snapshot $snapshot has no kernels"
                fi
        fi
 
@@ -2313,7 +2323,7 @@
        # We do not use snapper, to avoid recursion and do not trigger
        # any plugin
        local subvolume_id
-       read -r _ subvolume_id _ < <(btrfs subvolume list -o /.snapshots | grep 
"${subvol_prefix}/.snapshots/$num/snapshot")
+       read -r _ subvolume_id _ < <(btrfs subvolume list -o /.snapshots | grep 
"${subvol_prefix}/.snapshots/$snapshot/snapshot")
        btrfs subvolume set-default "${subvolume_id}" /.snapshots
        rm -f "$snapperfile"
 
@@ -4197,7 +4207,15 @@
        have_snapshots=1
        root_subvol=$(btrfs subvol show / 2> /dev/null | head -1)
        subvol_prefix="${root_subvol%/.snapshots/*}"
+elif [ -e /.snapshots/1/info.xml ]; then
+       # We can detect when we are in a image building situation
+       # (mkosi) when we are not in btrfs, but there is a snapshots
+       # directory partially available.  The `subvol_prefix` variable
+       # is assumed what is used in openSUSE
+       in_buildroot=1
+       subvol_prefix="@"
 fi
+
 root_snapshot=""
 if [ -n "$have_snapshots" ]; then
        if [ -n "$arg_default_snapshot" ]; then
@@ -4207,6 +4225,8 @@
                root_snapshot="${root_subvol#"${subvol_prefix}"/.snapshots/}"
                root_snapshot="${root_snapshot%/snapshot}"
        fi
+elif [ -n "$in_buildroot" ]; then
+       root_snapshot="1"
 fi
 
 if [ -n "$arg_esp_path" ] && [ "$boot_root" != "$arg_esp_path" ]; then
@@ -4266,7 +4286,7 @@
 
 if [ "$UPDATE_NVRAM" = "no" ]; then
        if has_efivars; then
-               warn 'The system have EFI variables but UPDATE_NVRAM is set to 
"no"'
+               warn 'The system has EFI variables but UPDATE_NVRAM is set to 
"no"'
        fi
        arg_no_variables=1
 fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sdbootutil-1+git20260324.bd0fc60/sdbootutil.spec 
new/sdbootutil-1+git20260407.f1134c1/sdbootutil.spec
--- old/sdbootutil-1+git20260324.bd0fc60/sdbootutil.spec        2026-03-24 
13:34:05.000000000 +0100
+++ new/sdbootutil-1+git20260407.f1134c1/sdbootutil.spec        2026-04-07 
13:24:44.000000000 +0200
@@ -32,6 +32,7 @@
 BuildRequires:  systemd-rpm-macros
 Requires:       %{name}-dracut-measure-pcr
 Requires:       dracut-pcr-signature
+Requires:       e2fsprogs
 Requires:       efibootmgr
 Requires:       jq
 Requires:       keyutils

++++++ sdbootutil.obsinfo ++++++
--- /var/tmp/diff_new_pack.uciOxs/_old  2026-04-07 16:47:29.517035772 +0200
+++ /var/tmp/diff_new_pack.uciOxs/_new  2026-04-07 16:47:29.553037260 +0200
@@ -1,5 +1,5 @@
 name: sdbootutil
-version: 1+git20260324.bd0fc60
-mtime: 1774355645
-commit: bd0fc603733b1f27ac315d61be0169bd4eae186b
+version: 1+git20260407.f1134c1
+mtime: 1775561084
+commit: f1134c1f6d97ee2e6005fee8d66ca7d50b2391b8
 

Reply via email to