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" ]

Reply via email to