Hello community, here is the log from the commit of package dracut for openSUSE:Factory checked in at 2020-09-03 01:11:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/dracut (Old) and /work/SRC/openSUSE:Factory/.dracut.new.3399 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dracut" Thu Sep 3 01:11:48 2020 rev:163 rq:830111 version:050+suse.75.g266a76d9 Changes: -------- --- /work/SRC/openSUSE:Factory/dracut/dracut.changes 2020-06-26 21:45:13.977790656 +0200 +++ /work/SRC/openSUSE:Factory/.dracut.new.3399/dracut.changes 2020-09-03 01:12:12.944428215 +0200 @@ -1,0 +2,18 @@ +Wed Aug 19 14:32:51 UTC 2020 - daniel.molken...@suse.com + +- Update to version 050+suse.75.g266a76d9: + * net-lib.sh: support infiniband network mac addresses (bsc#996146) + * 95iscsi: use ip_params_for_remote_addr() (bsc#1167494) + * 95nfs: use ip_params_for_remote_addr() (bsc#1167494) + * dracut-functions: add ip_params_for_remote_addr() helper (bsc#1167494) + +------------------------------------------------------------------- +Thu Jul 09 10:11:27 UTC 2020 - daniel.molken...@suse.com + +- Update to version 050+suse.71.g390f4d72: + * 01fips: modprobe failures during manual module loading is not fatal (bsc#1169997) + * 91zipl: parse-zipl.sh: honor SYSTEMD_READY (bsc#1165828) + * 95iscsi: fix ipv6 target discovery (bsc#1172807) + * 35network-legacy: correct conditional for creating did-setup file (bsc#1172807) + +------------------------------------------------------------------- Old: ---- dracut-050+suse.67.g28be2f36.obscpio dracut-050+suse.67.g28be2f36.tar.xz New: ---- dracut-050+suse.75.g266a76d9.obscpio dracut-050+suse.75.g266a76d9.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dracut.spec ++++++ --- /var/tmp/diff_new_pack.5zxVGp/_old 2020-09-03 01:12:17.928429876 +0200 +++ /var/tmp/diff_new_pack.5zxVGp/_new 2020-09-03 01:12:17.932429877 +0200 @@ -19,7 +19,7 @@ %define dracutlibdir %{_prefix}/lib/dracut Name: dracut -Version: 050+suse.67.g28be2f36 +Version: 050+suse.75.g266a76d9 Release: 0 Summary: Initramfs generator using udev License: GPL-2.0-or-later AND LGPL-2.1-or-later ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.5zxVGp/_old 2020-09-03 01:12:18.000429900 +0200 +++ /var/tmp/diff_new_pack.5zxVGp/_new 2020-09-03 01:12:18.000429900 +0200 @@ -1,4 +1,4 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/opensuse/dracut.git</param> - <param name="changesrevision">28be2f3692d6a641c841f636c03e45c5f3c4ec6b</param></service></servicedata> \ No newline at end of file + <param name="changesrevision">266a76d9f00325498b36c60fb1a32c42548c5720</param></service></servicedata> \ No newline at end of file ++++++ dracut-050+suse.67.g28be2f36.obscpio -> dracut-050+suse.75.g266a76d9.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-050+suse.67.g28be2f36/dracut-functions.sh new/dracut-050+suse.75.g266a76d9/dracut-functions.sh --- old/dracut-050+suse.67.g28be2f36/dracut-functions.sh 2020-06-17 16:36:27.000000000 +0200 +++ new/dracut-050+suse.75.g266a76d9/dracut-functions.sh 2020-08-19 16:32:22.000000000 +0200 @@ -723,3 +723,117 @@ printf -- "%s\n" "$_dev" done } + +iface_for_remote_addr() { + set -- $(ip -o route get to "$1") + echo $3 +} + +local_addr_for_remote_addr() { + set -- $(ip -o route get to "$1") + echo $5 +} + +peer_for_addr() { + local addr=$1 + local qtd + + # quote periods in IPv4 address + qtd=${addr//./\\.} + ip -o addr show | \ + sed -n 's%^.* '"$qtd"' peer \([0-9a-f.:]\{1,\}\(/[0-9]*\)\?\).*$%\1%p' +} + +netmask_for_addr() { + local addr=$1 + local qtd + + # quote periods in IPv4 address + qtd=${addr//./\\.} + ip -o addr show | sed -n 's,^.* '"$qtd"'/\([0-9]*\) .*$,\1,p' +} + +gateway_for_iface() { + local ifname=$1 addr=$2 + + case $addr in + *.*) proto=4;; + *:*) proto=6;; + *) return;; + esac + ip -o -$proto route show | \ + sed -n "s/^default via \([0-9a-z.:]\{1,\}\) dev $ifname .*\$/\1/p" +} + +# This works only for ifcfg-style network configuration! +bootproto_for_iface() { + local ifname=$1 + local dir + + # follow ifcfg settings for boot protocol + for dir in network-scripts network; do + [ -f "/etc/sysconfig/$dir/ifcfg-$ifname" ] && { + sed -n "s/BOOTPROTO=[\"']\?\([[:alnum:]]\{1,\}\)[\"']\?.*\$/\1/p" \ + "/etc/sysconfig/$dir/ifcfg-$ifname" + return + } + done +} + +is_unbracketed_ipv6_address() { + strglob "$1" '*:*' && ! strglob "$1" '\[*:*\]' +} + +# Create an ip= string to set up networking such that the given +# remote address can be reached +ip_params_for_remote_addr() { + local remote_addr=$1 + local ifname local_addr peer netmask= gateway ifmac + + [[ $remote_addr ]] || return 1 + ifname=$(iface_for_remote_addr "$remote_addr") + [[ $ifname ]] || { + berror "failed to determine interface to connect to $remote_addr" + return 1 + } + + # ifname clause to bind the interface name to a MAC address + if [ -d "/sys/class/net/$ifname/bonding" ]; then + dinfo "Found bonded interface '${ifname}'. Make sure to provide an appropriate 'bond=' cmdline." + elif [ -e "/sys/class/net/$ifname/address" ] ; then + ifmac=$(cat "/sys/class/net/$ifname/address") + [[ $ifmac ]] && printf 'ifname=%s:%s ' "${ifname}" "${ifmac}" + fi + + bootproto=$(bootproto_for_iface "$ifname") + case $bootproto in + dhcp|dhcp6|auto6) ;; + dhcp4) + bootproto=dhcp;; + static*|"") + bootproto=;; + *) + derror "bootproto \"$bootproto\" is unsupported by dracut, trying static configuration" + bootproto=;; + esac + if [[ $bootproto ]]; then + printf 'ip=%s:%s ' "${ifname}" "${bootproto}" + else + local_addr=$(local_addr_for_remote_addr "$remote_addr") + [[ $local_addr ]] || { + berror "failed to determine local address to connect to $remote_addr" + return 1 + } + peer=$(peer_for_addr "$local_addr") + # Set peer or netmask, but not both + [[ $peer ]] || netmask=$(netmask_for_addr "$local_addr") + gateway=$(gateway_for_iface "$ifname" "$local_addr") + # Quote IPv6 addresses with brackets + is_unbracketed_ipv6_address "$local_addr" && local_addr="[$local_addr]" + is_unbracketed_ipv6_address "$peer" && peer="[$peer]" + is_unbracketed_ipv6_address "$gateway" && gateway="[$gateway]" + printf 'ip=%s:%s:%s:%s::%s:none ' \ + "${local_addr}" "${peer}" "${gateway}" "${netmask}" "${ifname}" + fi + +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-050+suse.67.g28be2f36/modules.d/01fips/fips.sh new/dracut-050+suse.75.g266a76d9/modules.d/01fips/fips.sh --- old/dracut-050+suse.67.g28be2f36/modules.d/01fips/fips.sh 2020-06-17 16:36:27.000000000 +0200 +++ new/dracut-050+suse.75.g266a76d9/modules.d/01fips/fips.sh 2020-08-19 16:32:22.000000000 +0200 @@ -83,6 +83,14 @@ return 0 } +nonfatal_modprobe() +{ + modprobe $1 2>&1 > /dev/stdout | + while read -r line || [ -n "$line" ]; do + echo "${line#modprobe: FATAL: }" >&2 + done +} + fips_load_crypto() { local _k @@ -117,7 +125,7 @@ mv /etc/modprobe.d/fips.conf /etc/modprobe.d/fips.conf.bak for _module in $FIPSMODULES; do if [ "$_module" != "tcrypt" ]; then - if ! modprobe "${_module}" 2>/tmp/fips.modprobe_err; then + if ! nonfatal_modprobe "${_module}" 2>/tmp/fips.modprobe_err; then # check if kernel provides generic algo _found=0 while read _k _s _v || [ -n "$_k" ]; do diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-050+suse.67.g28be2f36/modules.d/35network-legacy/ifup.sh new/dracut-050+suse.75.g266a76d9/modules.d/35network-legacy/ifup.sh --- old/dracut-050+suse.67.g28be2f36/modules.d/35network-legacy/ifup.sh 2020-06-17 16:36:27.000000000 +0200 +++ new/dracut-050+suse.75.g266a76d9/modules.d/35network-legacy/ifup.sh 2020-08-19 16:32:22.000000000 +0200 @@ -651,7 +651,7 @@ do_dhcp -4 fi fi - if [ $? -eq 0 ] && [ -z "$(ls /tmp/leaseinfo.${netif}*)" ]; then + if [ $? -eq 0 ] && [ -n "$(ls /tmp/leaseinfo.${netif}*)" ]; then > /tmp/net.${netif}.did-setup if [ -e /sys/class/net/${netif}/address ]; then > /tmp/net.$(cat /sys/class/net/${netif}/address).did-setup diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-050+suse.67.g28be2f36/modules.d/40network/net-lib.sh new/dracut-050+suse.75.g266a76d9/modules.d/40network/net-lib.sh --- old/dracut-050+suse.67.g28be2f36/modules.d/40network/net-lib.sh 2020-06-17 16:36:27.000000000 +0200 +++ new/dracut-050+suse.75.g266a76d9/modules.d/40network/net-lib.sh 2020-08-19 16:32:22.000000000 +0200 @@ -570,6 +570,11 @@ # udev requires MAC addresses to be lower case ifname_mac=$(echo $2:$3:$4:$5:$6:$7 | sed 'y/ABCDEF/abcdef/') ;; + 21) + ifname_if=$1 + # udev requires MAC addresses to be lower case + ifname_mac=$(echo $2:$3:$4:$5:$6:$7:$8:$9:${10}:${11}:${12}:${13}:${14}:${15}:${16}:${17}:${18}:${19}:${20}:${21} | sed 'y/ABCDEF/abcdef/') + ;; *) die "Invalid arguments for ifname=" ;; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-050+suse.67.g28be2f36/modules.d/91zipl/parse-zipl.sh new/dracut-050+suse.75.g266a76d9/modules.d/91zipl/parse-zipl.sh --- old/dracut-050+suse.67.g28be2f36/modules.d/91zipl/parse-zipl.sh 2020-06-17 16:36:27.000000000 +0200 +++ new/dracut-050+suse.75.g266a76d9/modules.d/91zipl/parse-zipl.sh 2020-08-19 16:32:22.000000000 +0200 @@ -31,7 +31,7 @@ esac if [ "$zipl_env" ] ; then { - printf 'ACTION=="add|change", SUBSYSTEM=="block", %s=="%s", RUN+="/sbin/initqueue --settled --onetime --unique --name install_zipl_cmdline /sbin/install_zipl_cmdline.sh %s"\n' \ + printf 'ACTION=="add|change", SUBSYSTEM=="block", %s=="%s", ENV{SYSTEMD_READY}!="0", RUN+="/sbin/initqueue --settled --onetime --unique --name install_zipl_cmdline /sbin/install_zipl_cmdline.sh %s"\n' \ ${zipl_env} ${zipl_val} ${zipl_arg} echo "[ -f /tmp/install.zipl.cmdline-done ]" >$hookdir/initqueue/finished/wait-zipl-conf.sh } >> /etc/udev/rules.d/99zipl-conf.rules diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-050+suse.67.g28be2f36/modules.d/95iscsi/iscsiroot.sh new/dracut-050+suse.75.g266a76d9/modules.d/95iscsi/iscsiroot.sh --- old/dracut-050+suse.67.g28be2f36/modules.d/95iscsi/iscsiroot.sh 2020-06-17 16:36:27.000000000 +0200 +++ new/dracut-050+suse.75.g266a76d9/modules.d/95iscsi/iscsiroot.sh 2020-08-19 16:32:22.000000000 +0200 @@ -213,6 +213,9 @@ echo "iscsi_lun=$iscsi_lun . /bin/mount-lun.sh " > $hookdir/mount/01-$$-iscsi.sh fi + if strglobin $iscsi_target_ip '*:*:*' && ! strglobin $iscsi_target_ip '['; then + iscsi_target_ip="[$iscsi_target_ip]" + fi targets=$(iscsiadm -m discovery -t st -p $iscsi_target_ip:${iscsi_target_port:+$iscsi_target_port} | sed 's/^.*iqn/iqn/') [ -z "$targets" ] && echo "Target discovery to $iscsi_target_ip:${iscsi_target_port:+$iscsi_target_port} failed with status $?" && exit 1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-050+suse.67.g28be2f36/modules.d/95iscsi/module-setup.sh new/dracut-050+suse.75.g266a76d9/modules.d/95iscsi/module-setup.sh --- old/dracut-050+suse.67.g28be2f36/modules.d/95iscsi/module-setup.sh 2020-06-17 16:36:27.000000000 +0200 +++ new/dracut-050+suse.75.g266a76d9/modules.d/95iscsi/module-setup.sh 2020-08-19 16:32:22.000000000 +0200 @@ -120,27 +120,7 @@ done [ -z "$iscsi_address" ] && return - local_address=$(ip -o route get to $iscsi_address | sed -n 's/.*src \([0-9a-f.:]*\).*/\1/p') - ifname=$(ip -o route get to $iscsi_address | sed -n 's/.*dev \([^ ]*\).*/\1/p') - - # follow ifcfg settings for boot protocol - for _path in \ - "/etc/sysconfig/network-scripts/ifcfg-$ifname" \ - "/etc/sysconfig/network/ifcfg-$ifname" \ - ; do - [ -f "$_path" ] && bootproto=$(sed -n "s/BOOTPROTO='\?\([[:alpha:]]*6\?\)4\?/\1/p" "$_path") - done - - if [ $bootproto ]; then - printf 'ip=%s:%s ' ${ifname} ${bootproto} - else - printf 'ip=%s:static ' ${ifname} - fi - - if [ -e /sys/class/net/$ifname/address ] ; then - ifmac=$(cat /sys/class/net/$ifname/address) - printf 'ifname=%s:%s ' ${ifname} ${ifmac} - fi + ip_params_for_remote_addr "$iscsi_address" if [ -n "$iscsi_address" -a -n "$iscsi_targetname" ] ; then if [ -n "$iscsi_port" -a "$iscsi_port" -eq 3260 ] ; then diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-050+suse.67.g28be2f36/modules.d/95nfs/module-setup.sh new/dracut-050+suse.75.g266a76d9/modules.d/95nfs/module-setup.sh --- old/dracut-050+suse.67.g28be2f36/modules.d/95nfs/module-setup.sh 2020-06-17 16:36:27.000000000 +0200 +++ new/dracut-050+suse.75.g266a76d9/modules.d/95nfs/module-setup.sh 2020-08-19 16:32:22.000000000 +0200 @@ -34,7 +34,6 @@ local nfs_root local nfs_address local lookup - local ifname ### nfsroot= ### nfs_device=$(findmnt -t nfs4 -n -o SOURCE /) @@ -56,21 +55,9 @@ lookup=$(host "${nfs_device%%:*}"| grep " address " | head -n1) nfs_address=${lookup##* } fi - ifname=$(ip -o route get to $nfs_address | sed -n 's/.*dev \([^ ]*\).*/\1/p') - if [ -d /sys/class/net/$ifname/bonding ]; then - dinfo "Found bonded interface '${ifname}'. Make sure to provide an appropriate 'bond=' cmdline." - return - elif [ -e /sys/class/net/$ifname/address ] ; then - ifmac=$(cat /sys/class/net/$ifname/address) - printf 'ifname=%s:%s ' ${ifname} ${ifmac} - fi - bootproto=$(sed -n "/BOOTPROTO/s/BOOTPROTO='\([[:alpha:]]*6\?\)4\?'/\1/p" /etc/sysconfig/network/ifcfg-$ifname) - if [ $bootproto ]; then - printf 'ip=%s:%s ' ${ifname} ${bootproto} - else - printf 'ip=%s:static ' ${ifname} - fi + [[ $nfs_address ]] || return + ip_params_for_remote_addr "$nfs_address" } # called by dracut ++++++ dracut-050+suse.67.g28be2f36.tar.xz -> dracut-050+suse.75.g266a76d9.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-050+suse.67.g28be2f36/dracut-functions.sh new/dracut-050+suse.75.g266a76d9/dracut-functions.sh --- old/dracut-050+suse.67.g28be2f36/dracut-functions.sh 2020-06-17 16:36:27.000000000 +0200 +++ new/dracut-050+suse.75.g266a76d9/dracut-functions.sh 2020-08-19 16:32:22.000000000 +0200 @@ -723,3 +723,117 @@ printf -- "%s\n" "$_dev" done } + +iface_for_remote_addr() { + set -- $(ip -o route get to "$1") + echo $3 +} + +local_addr_for_remote_addr() { + set -- $(ip -o route get to "$1") + echo $5 +} + +peer_for_addr() { + local addr=$1 + local qtd + + # quote periods in IPv4 address + qtd=${addr//./\\.} + ip -o addr show | \ + sed -n 's%^.* '"$qtd"' peer \([0-9a-f.:]\{1,\}\(/[0-9]*\)\?\).*$%\1%p' +} + +netmask_for_addr() { + local addr=$1 + local qtd + + # quote periods in IPv4 address + qtd=${addr//./\\.} + ip -o addr show | sed -n 's,^.* '"$qtd"'/\([0-9]*\) .*$,\1,p' +} + +gateway_for_iface() { + local ifname=$1 addr=$2 + + case $addr in + *.*) proto=4;; + *:*) proto=6;; + *) return;; + esac + ip -o -$proto route show | \ + sed -n "s/^default via \([0-9a-z.:]\{1,\}\) dev $ifname .*\$/\1/p" +} + +# This works only for ifcfg-style network configuration! +bootproto_for_iface() { + local ifname=$1 + local dir + + # follow ifcfg settings for boot protocol + for dir in network-scripts network; do + [ -f "/etc/sysconfig/$dir/ifcfg-$ifname" ] && { + sed -n "s/BOOTPROTO=[\"']\?\([[:alnum:]]\{1,\}\)[\"']\?.*\$/\1/p" \ + "/etc/sysconfig/$dir/ifcfg-$ifname" + return + } + done +} + +is_unbracketed_ipv6_address() { + strglob "$1" '*:*' && ! strglob "$1" '\[*:*\]' +} + +# Create an ip= string to set up networking such that the given +# remote address can be reached +ip_params_for_remote_addr() { + local remote_addr=$1 + local ifname local_addr peer netmask= gateway ifmac + + [[ $remote_addr ]] || return 1 + ifname=$(iface_for_remote_addr "$remote_addr") + [[ $ifname ]] || { + berror "failed to determine interface to connect to $remote_addr" + return 1 + } + + # ifname clause to bind the interface name to a MAC address + if [ -d "/sys/class/net/$ifname/bonding" ]; then + dinfo "Found bonded interface '${ifname}'. Make sure to provide an appropriate 'bond=' cmdline." + elif [ -e "/sys/class/net/$ifname/address" ] ; then + ifmac=$(cat "/sys/class/net/$ifname/address") + [[ $ifmac ]] && printf 'ifname=%s:%s ' "${ifname}" "${ifmac}" + fi + + bootproto=$(bootproto_for_iface "$ifname") + case $bootproto in + dhcp|dhcp6|auto6) ;; + dhcp4) + bootproto=dhcp;; + static*|"") + bootproto=;; + *) + derror "bootproto \"$bootproto\" is unsupported by dracut, trying static configuration" + bootproto=;; + esac + if [[ $bootproto ]]; then + printf 'ip=%s:%s ' "${ifname}" "${bootproto}" + else + local_addr=$(local_addr_for_remote_addr "$remote_addr") + [[ $local_addr ]] || { + berror "failed to determine local address to connect to $remote_addr" + return 1 + } + peer=$(peer_for_addr "$local_addr") + # Set peer or netmask, but not both + [[ $peer ]] || netmask=$(netmask_for_addr "$local_addr") + gateway=$(gateway_for_iface "$ifname" "$local_addr") + # Quote IPv6 addresses with brackets + is_unbracketed_ipv6_address "$local_addr" && local_addr="[$local_addr]" + is_unbracketed_ipv6_address "$peer" && peer="[$peer]" + is_unbracketed_ipv6_address "$gateway" && gateway="[$gateway]" + printf 'ip=%s:%s:%s:%s::%s:none ' \ + "${local_addr}" "${peer}" "${gateway}" "${netmask}" "${ifname}" + fi + +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-050+suse.67.g28be2f36/modules.d/01fips/fips.sh new/dracut-050+suse.75.g266a76d9/modules.d/01fips/fips.sh --- old/dracut-050+suse.67.g28be2f36/modules.d/01fips/fips.sh 2020-06-17 16:36:27.000000000 +0200 +++ new/dracut-050+suse.75.g266a76d9/modules.d/01fips/fips.sh 2020-08-19 16:32:22.000000000 +0200 @@ -83,6 +83,14 @@ return 0 } +nonfatal_modprobe() +{ + modprobe $1 2>&1 > /dev/stdout | + while read -r line || [ -n "$line" ]; do + echo "${line#modprobe: FATAL: }" >&2 + done +} + fips_load_crypto() { local _k @@ -117,7 +125,7 @@ mv /etc/modprobe.d/fips.conf /etc/modprobe.d/fips.conf.bak for _module in $FIPSMODULES; do if [ "$_module" != "tcrypt" ]; then - if ! modprobe "${_module}" 2>/tmp/fips.modprobe_err; then + if ! nonfatal_modprobe "${_module}" 2>/tmp/fips.modprobe_err; then # check if kernel provides generic algo _found=0 while read _k _s _v || [ -n "$_k" ]; do diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-050+suse.67.g28be2f36/modules.d/35network-legacy/ifup.sh new/dracut-050+suse.75.g266a76d9/modules.d/35network-legacy/ifup.sh --- old/dracut-050+suse.67.g28be2f36/modules.d/35network-legacy/ifup.sh 2020-06-17 16:36:27.000000000 +0200 +++ new/dracut-050+suse.75.g266a76d9/modules.d/35network-legacy/ifup.sh 2020-08-19 16:32:22.000000000 +0200 @@ -651,7 +651,7 @@ do_dhcp -4 fi fi - if [ $? -eq 0 ] && [ -z "$(ls /tmp/leaseinfo.${netif}*)" ]; then + if [ $? -eq 0 ] && [ -n "$(ls /tmp/leaseinfo.${netif}*)" ]; then > /tmp/net.${netif}.did-setup if [ -e /sys/class/net/${netif}/address ]; then > /tmp/net.$(cat /sys/class/net/${netif}/address).did-setup diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-050+suse.67.g28be2f36/modules.d/40network/net-lib.sh new/dracut-050+suse.75.g266a76d9/modules.d/40network/net-lib.sh --- old/dracut-050+suse.67.g28be2f36/modules.d/40network/net-lib.sh 2020-06-17 16:36:27.000000000 +0200 +++ new/dracut-050+suse.75.g266a76d9/modules.d/40network/net-lib.sh 2020-08-19 16:32:22.000000000 +0200 @@ -570,6 +570,11 @@ # udev requires MAC addresses to be lower case ifname_mac=$(echo $2:$3:$4:$5:$6:$7 | sed 'y/ABCDEF/abcdef/') ;; + 21) + ifname_if=$1 + # udev requires MAC addresses to be lower case + ifname_mac=$(echo $2:$3:$4:$5:$6:$7:$8:$9:${10}:${11}:${12}:${13}:${14}:${15}:${16}:${17}:${18}:${19}:${20}:${21} | sed 'y/ABCDEF/abcdef/') + ;; *) die "Invalid arguments for ifname=" ;; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-050+suse.67.g28be2f36/modules.d/91zipl/parse-zipl.sh new/dracut-050+suse.75.g266a76d9/modules.d/91zipl/parse-zipl.sh --- old/dracut-050+suse.67.g28be2f36/modules.d/91zipl/parse-zipl.sh 2020-06-17 16:36:27.000000000 +0200 +++ new/dracut-050+suse.75.g266a76d9/modules.d/91zipl/parse-zipl.sh 2020-08-19 16:32:22.000000000 +0200 @@ -31,7 +31,7 @@ esac if [ "$zipl_env" ] ; then { - printf 'ACTION=="add|change", SUBSYSTEM=="block", %s=="%s", RUN+="/sbin/initqueue --settled --onetime --unique --name install_zipl_cmdline /sbin/install_zipl_cmdline.sh %s"\n' \ + printf 'ACTION=="add|change", SUBSYSTEM=="block", %s=="%s", ENV{SYSTEMD_READY}!="0", RUN+="/sbin/initqueue --settled --onetime --unique --name install_zipl_cmdline /sbin/install_zipl_cmdline.sh %s"\n' \ ${zipl_env} ${zipl_val} ${zipl_arg} echo "[ -f /tmp/install.zipl.cmdline-done ]" >$hookdir/initqueue/finished/wait-zipl-conf.sh } >> /etc/udev/rules.d/99zipl-conf.rules diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-050+suse.67.g28be2f36/modules.d/95iscsi/iscsiroot.sh new/dracut-050+suse.75.g266a76d9/modules.d/95iscsi/iscsiroot.sh --- old/dracut-050+suse.67.g28be2f36/modules.d/95iscsi/iscsiroot.sh 2020-06-17 16:36:27.000000000 +0200 +++ new/dracut-050+suse.75.g266a76d9/modules.d/95iscsi/iscsiroot.sh 2020-08-19 16:32:22.000000000 +0200 @@ -213,6 +213,9 @@ echo "iscsi_lun=$iscsi_lun . /bin/mount-lun.sh " > $hookdir/mount/01-$$-iscsi.sh fi + if strglobin $iscsi_target_ip '*:*:*' && ! strglobin $iscsi_target_ip '['; then + iscsi_target_ip="[$iscsi_target_ip]" + fi targets=$(iscsiadm -m discovery -t st -p $iscsi_target_ip:${iscsi_target_port:+$iscsi_target_port} | sed 's/^.*iqn/iqn/') [ -z "$targets" ] && echo "Target discovery to $iscsi_target_ip:${iscsi_target_port:+$iscsi_target_port} failed with status $?" && exit 1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-050+suse.67.g28be2f36/modules.d/95iscsi/module-setup.sh new/dracut-050+suse.75.g266a76d9/modules.d/95iscsi/module-setup.sh --- old/dracut-050+suse.67.g28be2f36/modules.d/95iscsi/module-setup.sh 2020-06-17 16:36:27.000000000 +0200 +++ new/dracut-050+suse.75.g266a76d9/modules.d/95iscsi/module-setup.sh 2020-08-19 16:32:22.000000000 +0200 @@ -120,27 +120,7 @@ done [ -z "$iscsi_address" ] && return - local_address=$(ip -o route get to $iscsi_address | sed -n 's/.*src \([0-9a-f.:]*\).*/\1/p') - ifname=$(ip -o route get to $iscsi_address | sed -n 's/.*dev \([^ ]*\).*/\1/p') - - # follow ifcfg settings for boot protocol - for _path in \ - "/etc/sysconfig/network-scripts/ifcfg-$ifname" \ - "/etc/sysconfig/network/ifcfg-$ifname" \ - ; do - [ -f "$_path" ] && bootproto=$(sed -n "s/BOOTPROTO='\?\([[:alpha:]]*6\?\)4\?/\1/p" "$_path") - done - - if [ $bootproto ]; then - printf 'ip=%s:%s ' ${ifname} ${bootproto} - else - printf 'ip=%s:static ' ${ifname} - fi - - if [ -e /sys/class/net/$ifname/address ] ; then - ifmac=$(cat /sys/class/net/$ifname/address) - printf 'ifname=%s:%s ' ${ifname} ${ifmac} - fi + ip_params_for_remote_addr "$iscsi_address" if [ -n "$iscsi_address" -a -n "$iscsi_targetname" ] ; then if [ -n "$iscsi_port" -a "$iscsi_port" -eq 3260 ] ; then diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-050+suse.67.g28be2f36/modules.d/95nfs/module-setup.sh new/dracut-050+suse.75.g266a76d9/modules.d/95nfs/module-setup.sh --- old/dracut-050+suse.67.g28be2f36/modules.d/95nfs/module-setup.sh 2020-06-17 16:36:27.000000000 +0200 +++ new/dracut-050+suse.75.g266a76d9/modules.d/95nfs/module-setup.sh 2020-08-19 16:32:22.000000000 +0200 @@ -34,7 +34,6 @@ local nfs_root local nfs_address local lookup - local ifname ### nfsroot= ### nfs_device=$(findmnt -t nfs4 -n -o SOURCE /) @@ -56,21 +55,9 @@ lookup=$(host "${nfs_device%%:*}"| grep " address " | head -n1) nfs_address=${lookup##* } fi - ifname=$(ip -o route get to $nfs_address | sed -n 's/.*dev \([^ ]*\).*/\1/p') - if [ -d /sys/class/net/$ifname/bonding ]; then - dinfo "Found bonded interface '${ifname}'. Make sure to provide an appropriate 'bond=' cmdline." - return - elif [ -e /sys/class/net/$ifname/address ] ; then - ifmac=$(cat /sys/class/net/$ifname/address) - printf 'ifname=%s:%s ' ${ifname} ${ifmac} - fi - bootproto=$(sed -n "/BOOTPROTO/s/BOOTPROTO='\([[:alpha:]]*6\?\)4\?'/\1/p" /etc/sysconfig/network/ifcfg-$ifname) - if [ $bootproto ]; then - printf 'ip=%s:%s ' ${ifname} ${bootproto} - else - printf 'ip=%s:static ' ${ifname} - fi + [[ $nfs_address ]] || return + ip_params_for_remote_addr "$nfs_address" } # called by dracut ++++++ dracut.obsinfo ++++++ --- /var/tmp/diff_new_pack.5zxVGp/_old 2020-09-03 01:12:18.404430034 +0200 +++ /var/tmp/diff_new_pack.5zxVGp/_new 2020-09-03 01:12:18.408430036 +0200 @@ -1,5 +1,5 @@ name: dracut -version: 050+suse.67.g28be2f36 -mtime: 1592404587 -commit: 28be2f3692d6a641c841f636c03e45c5f3c4ec6b +version: 050+suse.75.g266a76d9 +mtime: 1597847542 +commit: 266a76d9f00325498b36c60fb1a32c42548c5720