Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package agama-installer for openSUSE:Factory checked in at 2025-08-13 16:29:28 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/agama-installer (Old) and /work/SRC/openSUSE:Factory/.agama-installer.new.1085 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "agama-installer" Wed Aug 13 16:29:28 2025 rev:19 rq:1299044 version:17.0.0 Changes: -------- --- /work/SRC/openSUSE:Factory/agama-installer/agama-installer.changes 2025-07-31 17:45:53.843398034 +0200 +++ /work/SRC/openSUSE:Factory/.agama-installer.new.1085/agama-installer.changes 2025-08-13 16:31:31.826944217 +0200 @@ -1,0 +2,17 @@ +Mon Aug 11 09:42:22 UTC 2025 - Imobach Gonzalez Sosa <igonzalezs...@suse.com> + +- Fix handling of Driver Update Disks when they are placed in local + file systems (bsc#1247682, bsc#1247776). + +------------------------------------------------------------------- +Thu Aug 7 15:39:03 UTC 2025 - Steffen Winterfeldt <snw...@suse.com> + +- fix DUD application in 99-agama-dud-apply.sh (jsc#PED-13262) + +------------------------------------------------------------------- +Thu Jul 31 16:58:42 UTC 2025 - Josef Reidinger <jreidin...@suse.com> + +- Boot by default from disk to avoid endless loop in unattended + installation (bsc#1247438) + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ config-cdroot.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fix_bootconfig.aarch64 new/fix_bootconfig.aarch64 --- old/fix_bootconfig.aarch64 2025-07-28 09:27:57.000000000 +0200 +++ new/fix_bootconfig.aarch64 2025-08-11 13:03:10.000000000 +0200 @@ -76,6 +76,9 @@ fi terminal_input console terminal_output gfxterm +menuentry "Boot from Hard Disk" --class opensuse --class gnu-linux --class gnu --class os { + exit +} menuentry "Install $label" --class os --unrestricted { set gfxpayload=keep echo Loading kernel... @@ -104,9 +107,6 @@ echo Loading initrd... initrd (\$root)/boot/aarch64/loader/initrd } -menuentry "Boot from Hard Disk" --class opensuse --class gnu-linux --class gnu --class os { - exit -} if [ -f "/.snapshots/grub-snapshot.cfg" ]; then source "/.snapshots/grub-snapshot.cfg" fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fix_bootconfig.x86_64 new/fix_bootconfig.x86_64 --- old/fix_bootconfig.x86_64 2025-07-28 09:27:57.000000000 +0200 +++ new/fix_bootconfig.x86_64 2025-08-11 13:03:10.000000000 +0200 @@ -76,6 +76,17 @@ fi terminal_input console terminal_output gfxterm +menuentry "Boot from Hard Disk" --class opensuse --class gnu-linux --class gnu --class os { + if search --no-floppy --file /efi/boot/fallback.efi --set ; then + for os in opensuse sles leap suse; do + if [ -f /efi/\$os/grub.efi ] ; then + chainloader /efi/\$os/grub.efi + boot + fi + done + fi + exit +} menuentry "Install $label" --class os --unrestricted { set gfxpayload=keep echo Loading kernel... @@ -104,17 +115,7 @@ echo Loading initrd... initrd (\$root)/boot/x86_64/loader/initrd } -menuentry "Boot from Hard Disk" --class opensuse --class gnu-linux --class gnu --class os { - if search --no-floppy --file /efi/boot/fallback.efi --set ; then - for os in opensuse sles leap suse; do - if [ -f /efi/\$os/grub.efi ] ; then - chainloader /efi/\$os/grub.efi - boot - fi - done - fi - exit -} + if [ -f "/.snapshots/grub-snapshot.cfg" ]; then source "/.snapshots/grub-snapshot.cfg" fi ++++++ live-root-PXE.tar.xz ++++++ ++++++ live-root.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usr/lib/dracut/modules.d/99agama-dud/agama-dud-apply.sh new/usr/lib/dracut/modules.d/99agama-dud/agama-dud-apply.sh --- old/usr/lib/dracut/modules.d/99agama-dud/agama-dud-apply.sh 2025-07-28 09:27:57.000000000 +0200 +++ new/usr/lib/dracut/modules.d/99agama-dud/agama-dud-apply.sh 2025-08-11 13:03:10.000000000 +0200 @@ -10,7 +10,7 @@ . /lib/img-lib.sh DUD_DIR="$NEWROOT/run/agama/dud" -AGAMA_CLI="$NEWROOT/usr/bin/agama" +AGAMA_CLI="/usr/bin/agama" AGAMA_DUD_INFO="/tmp/agamadud.info" DUD_RPM_REPOSITORY="$NEWROOT/var/lib/agama/dud/repo" @@ -26,6 +26,10 @@ local options index=0 + # make local devices available to "agama download" + mount -o bind /dev "$NEWROOT"/dev + mount -o bind /sys "$NEWROOT"/sys + # make sure the HTTPS downloads work correctly configure_ssl @@ -41,7 +45,7 @@ file="${DUD_DIR}/${filename}" # FIXME: use an index because two updates, coming from different places, can have the same name. echo "Fetching a Driver Update Disk from $dud_url to ${file}" - if ! $AGAMA_CLI $options download "$dud_url" "${file}"; then + if ! "$NEWROOT/usr/bin/chroot" "$NEWROOT" "$AGAMA_CLI" $options download "$dud_url" "${file##"$NEWROOT"}"; then warn "Failed to fetch the Driver Update Disk" continue fi @@ -57,12 +61,16 @@ ;; *) - apply_dud_update "$file" "$dir" + unpack_dud_update "$file" "$dir" + apply_dud_update "$dir" ;; esac ((index++)) done <$AGAMA_DUD_INFO + + umount "$NEWROOT"/dev + umount "$NEWROOT"/sys } # Applies an update from an RPM package @@ -77,23 +85,44 @@ install_update "$dir" } -# Applies an update from an RPM package +# Unpacks a driver update archive (DUD) to a directory +# +unpack_dud_update() { + file=$1 + dir=$2 + + echo "Unpack Driver Update Disk archive" + unpack_img "$file" "$dir" +} + +# Applies a driver update (DUD) # # 1. Copy the inst-sys updates to the $NEWROOT system. # 2. Update agamactl, agama-autoyast and agama-proxy-setup alternative links. # 3. Copy the packages to the $DUD_RPM_REPOSITORY. apply_dud_update() { - file=$1 - dir=$2 + dir=$1 echo "Apply update from a Driver Update Disk archive" - unpack_img "$file" "$dir" + # FIXME: do not ignore the dist (e.g., "tw" in "x86_64-tw"). + + # notes: + # (1) there can be several updates in a single archive; each with a + # prefix directory consisting of a number + # (2) there can be ARCH-DIST subdirs with multiple dists - pick one and + # ignore the others arch=$(uname -m) - dud_root=$(echo "${dir}/linux/suse/${arch}"-*) - install_update "${dud_root}/inst-sys" - copy_packages "$dud_root" "$DUD_RPM_REPOSITORY" - update_kernel_modules "$dud_root" + for base_dir in "${dir}"/linux/suse "${dir}"/[0-9]*/linux/suse ; do + [ -d "$base_dir" ] || continue + for dud_root in "${base_dir}/${arch}"-* ; do + [ -d "$dud_root" ] || continue + install_update "${dud_root}/inst-sys" + copy_packages "$dud_root" "$DUD_RPM_REPOSITORY" + update_kernel_modules "$dud_root" + break + done + done } # Extracts an RPM file @@ -268,6 +297,9 @@ ! [ -d /etc/crypto-policies ] && ln -s "$NEWROOT/etc/crypto-policies" /etc } +# there can be (already unpacked) driver updates directly in the initrd +apply_dud_update "" + if [ -f "$AGAMA_DUD_INFO" ]; then apply_updates fi