Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package dracut for openSUSE:Factory checked in at 2026-07-23 23:09:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/dracut (Old) and /work/SRC/openSUSE:Factory/.dracut.new.2004 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dracut" Thu Jul 23 23:09:12 2026 rev:263 rq:1367081 version:110+suse.45.geaec47e4 Changes: -------- --- /work/SRC/openSUSE:Factory/dracut/dracut.changes 2026-07-08 17:36:28.361330721 +0200 +++ /work/SRC/openSUSE:Factory/.dracut.new.2004/dracut.changes 2026-07-23 23:10:00.355577873 +0200 @@ -1,0 +2,9 @@ +Wed Jul 22 06:10:56 UTC 2026 - [email protected] + +- Update to version 110+suse.45.geaec47e4: + * fix(systemd-networkd): escape values from DHCP options (bsc#1264833, GHSA-x37p-6hhc-6628) + * feat(base): add escape function implementing printf %q + * fix(systemd-networkd): get DHCP options values from networkctl + * fix(kernel-modules): include xhci-pci-prom21 for early USB + +------------------------------------------------------------------- Old: ---- dracut-110+suse.41.g38f7c003.tar.xz New: ---- dracut-110+suse.45.geaec47e4.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dracut.spec ++++++ --- /var/tmp/diff_new_pack.40fLld/_old 2026-07-23 23:10:01.531619169 +0200 +++ /var/tmp/diff_new_pack.40fLld/_new 2026-07-23 23:10:01.539619450 +0200 @@ -26,7 +26,7 @@ %endif Name: dracut -Version: 110+suse.41.g38f7c003 +Version: 110+suse.45.geaec47e4 Release: 0 Summary: Event driven initramfs infrastructure License: GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.40fLld/_old 2026-07-23 23:10:01.723625912 +0200 +++ /var/tmp/diff_new_pack.40fLld/_new 2026-07-23 23:10:01.735626333 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/opensuse/dracut-ng.git</param> - <param name="changesrevision">38f7c0038b33d5f8f86c04f8a5ea69cd0f494262</param></service></servicedata> + <param name="changesrevision">eaec47e4f92cac47ca2e8a41e98f2dcdcbf30a90</param></service></servicedata> (No newline at EOF) ++++++ dracut-110+suse.41.g38f7c003.tar.xz -> dracut-110+suse.45.geaec47e4.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-110+suse.41.g38f7c003/modules.d/11systemd-networkd/module-setup.sh new/dracut-110+suse.45.geaec47e4/modules.d/11systemd-networkd/module-setup.sh --- old/dracut-110+suse.41.g38f7c003/modules.d/11systemd-networkd/module-setup.sh 2026-07-06 07:59:48.000000000 +0200 +++ new/dracut-110+suse.45.geaec47e4/modules.d/11systemd-networkd/module-setup.sh 2026-07-22 08:01:09.000000000 +0200 @@ -58,7 +58,7 @@ "$systemdsystemunitdir"/systemd-networkd-wait-online.service \ "$systemdsystemunitdir"/[email protected] \ "$systemdsystemunitdir"/systemd-network-generator.service \ - ip sed grep + ip sed grep networkctl inst_simple "$moddir"/99-wait-online-dracut.conf \ "$systemdsystemunitdir"/systemd-networkd-wait-online.service.d/99-dracut.conf diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-110+suse.41.g38f7c003/modules.d/11systemd-networkd/networkd-run.sh new/dracut-110+suse.45.geaec47e4/modules.d/11systemd-networkd/networkd-run.sh --- old/dracut-110+suse.41.g38f7c003/modules.d/11systemd-networkd/networkd-run.sh 2026-07-06 07:59:48.000000000 +0200 +++ new/dracut-110+suse.45.geaec47e4/modules.d/11systemd-networkd/networkd-run.sh 2026-07-22 08:01:09.000000000 +0200 @@ -12,10 +12,24 @@ leases_file="/run/systemd/netif/leases/$(cat "$ifpath"/ifindex)" dhcpopts_file="/tmp/dhclient.${ifname}.dhcpopts" if [ -r "$leases_file" ]; then - grep -E "^(NEXT_SERVER|ROOT_PATH)=" "$leases_file" \ - | sed -e "s/NEXT_SERVER=/new_next_server='/" \ - -e "s/ROOT_PATH=/new_root_path='/" \ - -e "s/$/'/" > "$dhcpopts_file" || true + { + new_next_server="$(sed -n 's/^NEXT_SERVER=//p' "$leases_file")" + [ -n "$new_next_server" ] && printf "new_next_server='%s'\n" "$(escape "$new_next_server")" + new_root_path="$(sed -n 's/^ROOT_PATH=//p' "$leases_file")" + [ -n "$new_root_path" ] && printf "new_root_path='%s'\n" "$(escape "$new_root_path")" + } > "$dhcpopts_file" + else + # Since systemd v261 the DHCP lease is no longer serialized to /run/, use the new networkctl command. + lease=$(networkctl --no-pager --no-legend --full dhcp-lease "$ifname" 2> /dev/null) || lease="" + if [ -n "$lease" ]; then + { + next_server=$(printf '%s\n' "$lease" | sed -n "s/^[[:space:]]*Server Address:[[:space:]]*//p") + [ -n "$next_server" ] && printf "new_next_server='%s'\n" "$(escape "$next_server")" + # option 17 is the DHCP root-path; strip the leading "<code> <name> " columns + root_path=$(printf '%s\n' "$lease" | sed -n "s/^[[:space:]]*17[[:space:]].*[[:space:]]//p") + [ -n "$root_path" ] && printf "new_root_path='%s'\n" "$(escape "$root_path")" + } > "$dhcpopts_file" || : + fi fi source_hook initqueue/online "$ifname" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-110+suse.41.g38f7c003/modules.d/70kernel-modules/module-setup.sh new/dracut-110+suse.45.geaec47e4/modules.d/70kernel-modules/module-setup.sh --- old/dracut-110+suse.41.g38f7c003/modules.d/70kernel-modules/module-setup.sh 2026-07-06 07:59:48.000000000 +0200 +++ new/dracut-110+suse.45.geaec47e4/modules.d/70kernel-modules/module-setup.sh 2026-07-22 08:01:09.000000000 +0200 @@ -39,15 +39,15 @@ hostonly='' instmods \ hid_generic unix - # xhci-pci-renesas is needed for the USB to be available during - # initrd on platforms with such USB controllers since Linux - # 6.12-rc1 (commit 25f51b76f90f). + # Some xHCI PCI controllers are handled by sibling glue drivers + # instead of plain xhci-pci. Include them so USB is available + # during initrd when those drivers are built as modules. hostonly=$(optional_hostonly) instmods \ ehci-hcd ehci-pci ehci-platform \ ohci-hcd ohci-pci \ uhci-hcd \ usbhid \ - xhci-hcd xhci-pci xhci-pci-renesas xhci-plat-hcd \ + xhci-hcd xhci-pci xhci-pci-prom21 xhci-pci-renesas xhci-plat-hcd \ "=drivers/hid" \ "=drivers/tty/serial" \ "=drivers/input/serio" \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-110+suse.41.g38f7c003/modules.d/80base/dracut-lib.sh new/dracut-110+suse.45.geaec47e4/modules.d/80base/dracut-lib.sh --- old/dracut-110+suse.41.g38f7c003/modules.d/80base/dracut-lib.sh 2026-07-06 07:59:48.000000000 +0200 +++ new/dracut-110+suse.45.geaec47e4/modules.d/80base/dracut-lib.sh 2026-07-22 08:01:09.000000000 +0200 @@ -27,6 +27,12 @@ [ "$RD_DEBUG" = "yes" ] && set -x } +# printf %q implementation for POSIX shell +# Safe usage: printf "variable='%s'\n" "$(escape "$value")" +escape() { + printf '%s' "$1" | sed -e "s/'/'\\\\''/g" +} + # returns OK if $1 contains literal string $2 (and isn't empty) strstr() { [ "${1##*"$2"*}" != "$1" ]
