Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package dracut for openSUSE:Factory checked in at 2022-02-06 23:53:41 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/dracut (Old) and /work/SRC/openSUSE:Factory/.dracut.new.1898 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dracut" Sun Feb 6 23:53:41 2022 rev:182 rq:951396 version:055+suse.226.g44139dde Changes: -------- --- /work/SRC/openSUSE:Factory/dracut/dracut.changes 2022-01-21 01:25:06.706714041 +0100 +++ /work/SRC/openSUSE:Factory/.dracut.new.1898/dracut.changes 2022-02-06 23:54:38.942673504 +0100 @@ -1,0 +2,25 @@ +Fri Jan 28 07:34:14 UTC 2022 - antonio.fei...@suse.com + +- Update to version 055+suse.226.g44139dde: + * fix(zfcp_rules): remove collect based udev rule creators + * fix(dasd_rules): remove collect based udev rule creators + * fix(kernel-modules-extra): handle zstd module extension + * fix(ifcfg): add SUSE specific write-ifcfg file (bsc#1193518) + * fix(dracut-functions): skip iSCSI sessions without initiatorname (bsc#1195011) + * fix(dracut-functions.sh): ip route parsing (bsc#1195011) + * fix(fips): missing sourcing of dracut-lib + * fix(fips): wrong error message + * fix(network-legacy): install only existing SUSE specific files (bsc#1194879) + * fix(network-legacy): set dhclient as optional (bsc#1194879) + * fix(40network): consistent use of "$gw" for gateway (bsc#1192685) + * fix(multipathd-configure.service): drop unneeded dependencies + * fix(multipath): check if mpathconf is available + * fix(multipathd.service): drop dependencies on iscsi and iscsid + * fix(multipathd.service): adapt to upstream multipath-tools unit file + * fix(multipathd.service): remove dependency on systemd-udev-settle + * fix(fips): avoid shellcheck warnings + * fix(fips): get _vmname value only if it is needed + * fix(fips.sh): respect rd.fips.skipkernel + * fix(fips): alignment with the upstream format + +------------------------------------------------------------------- Old: ---- dracut-055+suse.194.gdd41932a.obscpio New: ---- dracut-055+suse.226.g44139dde.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dracut.spec ++++++ --- /var/tmp/diff_new_pack.fNlXAk/_old 2022-02-06 23:54:39.638668797 +0100 +++ /var/tmp/diff_new_pack.fNlXAk/_new 2022-02-06 23:54:39.642668770 +0100 @@ -25,7 +25,7 @@ %endif Name: dracut -Version: 055+suse.194.gdd41932a +Version: 055+suse.226.g44139dde Release: 0 Summary: Initramfs generator using udev License: GPL-2.0-or-later AND LGPL-2.1-or-later @@ -171,8 +171,8 @@ mv %{buildroot}%{_mandir}/man8/mkinitrd-suse.8 %{buildroot}%{_mandir}/man8/mkinitrd.8 %if 0%{?suse_version} -#rm -f %%{buildroot}/%%{dracutlibdir}/modules.d/45ifcfg/write-ifcfg.sh -#ln -s %%{dracutlibdir}/modules.d/45ifcfg/write-ifcfg-suse.sh %%{buildroot}/%%{dracutlibdir}/modules.d/45ifcfg/write-ifcfg.sh +rm -f %{buildroot}/%{dracutlibdir}/modules.d/45ifcfg/write-ifcfg.sh +ln -s %{dracutlibdir}/modules.d/45ifcfg/write-ifcfg-suse.sh %{buildroot}/%{dracutlibdir}/modules.d/45ifcfg/write-ifcfg.sh %else mv %{buildroot}/%{dracutlibdir}/modules.d/45ifcfg/write-ifcfg.sh %{buildroot}/%{dracutlibdir}/modules.d/45ifcfg/write-ifcfg-redhat.sh ln -s %{dracutlibdir}/modules.d/45ifcfg/write-ifcfg-redhat.sh %{buildroot}/%{dracutlibdir}/modules.d/45ifcfg/write-ifcfg.sh ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.fNlXAk/_old 2022-02-06 23:54:39.690668445 +0100 +++ /var/tmp/diff_new_pack.fNlXAk/_new 2022-02-06 23:54:39.694668417 +0100 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/opensuse/dracut.git</param> - <param name="changesrevision">11521375426fa21ef03a7701b4b587478809f263</param></service></servicedata> + <param name="changesrevision">44139ddef245feebb2ee11bb70083b8b45e8ce00</param></service></servicedata> (No newline at EOF) ++++++ dracut-055+suse.194.gdd41932a.obscpio -> dracut-055+suse.226.g44139dde.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-055+suse.194.gdd41932a/dracut-functions.sh new/dracut-055+suse.226.g44139dde/dracut-functions.sh --- old/dracut-055+suse.194.gdd41932a/dracut-functions.sh 2022-01-17 12:16:47.000000000 +0100 +++ new/dracut-055+suse.226.g44139dde/dracut-functions.sh 2022-01-28 08:31:48.000000000 +0100 @@ -762,13 +762,29 @@ iface_for_remote_addr() { # shellcheck disable=SC2046 set -- $(ip -o route get to "$1") - echo "$3" + while [ $# -gt 0 ]; do + case $1 in + dev) + echo "$2" + return + ;; + esac + shift + done } local_addr_for_remote_addr() { # shellcheck disable=SC2046 set -- $(ip -o route get to "$1") - echo "$5" + while [ $# -gt 0 ]; do + case $1 in + src) + echo "$2" + return + ;; + esac + shift + done } peer_for_addr() { @@ -888,13 +904,17 @@ # Check whether $1 is an nbd device block_is_iscsi() { local _dir - local _dev=$1 + local _dev=$1 _real _sess [[ -L "/sys/dev/block/$_dev" ]] || return _dir="$(readlink -f "/sys/dev/block/$_dev")" || return until [[ -d "$_dir/sys" || -d "$_dir/iscsi_session" ]]; do _dir="$_dir/.." done - [[ -d "$_dir/iscsi_session" ]] + [[ -d "$_dir/iscsi_session" ]] && { + _real=$(realpath "$_dir") + _sess=${_real##*/} + [[ -f "$_real/iscsi_session/$_sess/initiatorname" ]] + } } # block_is_fcoe <maj:min> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-055+suse.194.gdd41932a/modules.d/01fips/fips-noboot.sh new/dracut-055+suse.226.g44139dde/modules.d/01fips/fips-noboot.sh --- old/dracut-055+suse.194.gdd41932a/modules.d/01fips/fips-noboot.sh 2022-01-17 12:16:47.000000000 +0100 +++ new/dracut-055+suse.226.g44139dde/modules.d/01fips/fips-noboot.sh 2022-01-28 08:31:48.000000000 +0100 @@ -1,5 +1,7 @@ #!/bin/sh +type getarg > /dev/null 2>&1 || . /lib/dracut-lib.sh + if ! fipsmode=$(getarg fips) || [ "$fipsmode" = "0" ]; then rm -f -- /etc/modprobe.d/fips.conf > /dev/null 2>&1 elif [ -z "$fipsmode" ]; then diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-055+suse.194.gdd41932a/modules.d/01fips/fips.sh new/dracut-055+suse.226.g44139dde/modules.d/01fips/fips.sh --- old/dracut-055+suse.194.gdd41932a/modules.d/01fips/fips.sh 2022-01-17 12:16:47.000000000 +0100 +++ new/dracut-055+suse.226.g44139dde/modules.d/01fips/fips.sh 2022-01-28 08:31:48.000000000 +0100 @@ -28,14 +28,12 @@ fi mount_boot() { - boot=$(getarg boot=) if [ -n "$boot" ]; then case "$boot" in LABEL=* | UUID=* | PARTUUID=* | PARTLABEL=*) boot="$(label_uuid_to_dev "$boot")" - ;; /dev/*) ;; @@ -51,7 +49,6 @@ while ! [ -e "$boot" ]; do udevadm settle --exit-if-exists="$boot" [ -e "$boot" ] && break - sleep 0.5 i=$((i + 1)) [ $i -gt 40 ] && break @@ -71,7 +68,6 @@ } do_rhevh_check() { - KERNEL=$(uname -r) kpath=${1} @@ -89,7 +85,6 @@ nonfatal_modprobe() { modprobe "$1" 2>&1 > /dev/stdout \ | while read -r line || [ -n "$line" ]; do - echo "${line#modprobe: FATAL: }" >&2 done } @@ -122,11 +117,7 @@ local _k local _v local _module - local _vmname - - _vmname=$(get_vmname) - - KERNEL=$(uname -r) + local _found FIPSMODULES=$(cat /etc/fipsmodules) @@ -146,6 +137,7 @@ # If we find some hardware specific modules and cannot load them # it is not a problem, proceed. if [ "$_found" = "0" ]; then + # shellcheck disable=SC2055 if [ "$_module" != "${_module%intel}" \ -o "$_module" != "${_module%ssse3}" \ -o "$_module" != "${_module%x86_64}" \ @@ -161,7 +153,6 @@ _found=1 fi fi - [ "$_found" = "0" ] && cat /tmp/fips.modprobe_err >&2 && return 1 fi fi @@ -174,61 +165,62 @@ } do_fips() { - local _v - local _module - local _vmname + KERNEL=$(uname -r) - _vmname=$(get_vmname) + if ! getarg rd.fips.skipkernel > /dev/null; then - KERNEL=$(uname -r) + fips_info "Checking integrity of kernel" + if [ -e "/run/initramfs/live/vmlinuz0" ]; then + do_rhevh_check /run/initramfs/live/vmlinuz0 || return 1 + elif [ -e "/run/initramfs/live/isolinux/vmlinuz0" ]; then + do_rhevh_check /run/initramfs/live/isolinux/vmlinuz0 || return 1 + elif [ -e "/run/install/repo/images/pxeboot/vmlinuz" ]; then + # This is a boot.iso with the .hmac inside the install.img + do_rhevh_check /run/install/repo/images/pxeboot/vmlinuz || return 1 + else + BOOT_IMAGE="$(getarg BOOT_IMAGE)" + + # Trim off any leading GRUB boot device (e.g. ($root) ) + # shellcheck disable=SC2001 + BOOT_IMAGE="$(echo "${BOOT_IMAGE}" | sed 's/^(.*)//')" + + BOOT_IMAGE_NAME="${BOOT_IMAGE##*/}" + BOOT_IMAGE_PATH="${BOOT_IMAGE%${BOOT_IMAGE_NAME}}" - fips_info "Checking integrity of kernel" - if [ -e "/run/initramfs/live/vmlinuz0" ]; then - do_rhevh_check /run/initramfs/live/vmlinuz0 || return 1 - elif [ -e "/run/initramfs/live/isolinux/vmlinuz0" ]; then - do_rhevh_check /run/initramfs/live/isolinux/vmlinuz0 || return 1 - elif [ -e "/run/install/repo/images/pxeboot/vmlinuz" ]; then - # This is a boot.iso with the .hmac inside the install.img - do_rhevh_check /run/install/repo/images/pxeboot/vmlinuz || return 1 - else - BOOT_IMAGE="$(getarg BOOT_IMAGE)" - - # Trim off any leading GRUB boot device (e.g. ($root) ) - BOOT_IMAGE="$(echo "${BOOT_IMAGE}" | sed 's/^(.*)//')" - - BOOT_IMAGE_NAME="${BOOT_IMAGE##*/}" - BOOT_IMAGE_PATH="${BOOT_IMAGE%${BOOT_IMAGE_NAME}}" - - if [ -z "$BOOT_IMAGE_NAME" ]; then - BOOT_IMAGE_NAME="${_vmname}-${KERNEL}" - elif ! [ -e "/boot/${BOOT_IMAGE_PATH}/${BOOT_IMAGE}" ]; then - #if /boot is not a separate partition BOOT_IMAGE might start with /boot - BOOT_IMAGE_PATH=${BOOT_IMAGE_PATH#"/boot"} - #on some achitectures BOOT_IMAGE does not contain path to kernel - #so if we can't find anything, let's treat it in the same way as if it was empty - if ! [ -e "/boot/${BOOT_IMAGE_PATH}/${BOOT_IMAGE_NAME}" ]; then + local _vmname + _vmname=$(get_vmname) + + if [ -z "$BOOT_IMAGE_NAME" ]; then BOOT_IMAGE_NAME="${_vmname}-${KERNEL}" - BOOT_IMAGE_PATH="" + elif ! [ -e "/boot/${BOOT_IMAGE_PATH}/${BOOT_IMAGE}" ]; then + #if /boot is not a separate partition BOOT_IMAGE might start with /boot + BOOT_IMAGE_PATH=${BOOT_IMAGE_PATH#"/boot"} + #on some achitectures BOOT_IMAGE does not contain path to kernel + #so if we can't find anything, let's treat it in the same way as if it was empty + if ! [ -e "/boot/${BOOT_IMAGE_PATH}/${BOOT_IMAGE_NAME}" ]; then + BOOT_IMAGE_NAME="${_vmname}-${KERNEL}" + BOOT_IMAGE_PATH="" + fi fi - fi - BOOT_IMAGE_HMAC="/boot/${BOOT_IMAGE_PATH}/.${BOOT_IMAGE_NAME}.hmac" - if ! [ -e "${BOOT_IMAGE_HMAC}" ]; then - warn "${BOOT_IMAGE_HMAC} does not exist" - return 1 - fi + BOOT_IMAGE_HMAC="/boot/${BOOT_IMAGE_PATH}/.${BOOT_IMAGE_NAME}.hmac" + if ! [ -e "${BOOT_IMAGE_HMAC}" ]; then + warn "${BOOT_IMAGE_HMAC} does not exist" + return 1 + fi - BOOT_IMAGE_KERNEL="/boot/${BOOT_IMAGE_PATH}${BOOT_IMAGE_NAME}" - if ! [ -e "${BOOT_IMAGE_KERNEL}" ]; then - warn "${BOOT_IMAGE_KERNEL} does not exist" - return 1 - fi + BOOT_IMAGE_KERNEL="/boot/${BOOT_IMAGE_PATH}${BOOT_IMAGE_NAME}" + if ! [ -e "${BOOT_IMAGE_KERNEL}" ]; then + warn "${BOOT_IMAGE_KERNEL} does not exist" + return 1 + fi - if [ -n "$(fipscheck)" ]; then - $(fipscheck) "${BOOT_IMAGE_KERNEL}" || return 1 - else - warn "Could not find fipscheck to verify MACs" - return 1 + if [ -n "$(fipscheck)" ]; then + $(fipscheck) "${BOOT_IMAGE_KERNEL}" || return 1 + else + warn "Could not find fipscheck to verify MACs" + return 1 + fi fi fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-055+suse.194.gdd41932a/modules.d/01fips/module-setup.sh new/dracut-055+suse.226.g44139dde/modules.d/01fips/module-setup.sh --- old/dracut-055+suse.194.gdd41932a/modules.d/01fips/module-setup.sh 2022-01-17 12:16:47.000000000 +0100 +++ new/dracut-055+suse.226.g44139dde/modules.d/01fips/module-setup.sh 2022-01-28 08:31:48.000000000 +0100 @@ -86,7 +86,7 @@ } [ -c "${initdir}"/dev/urandom ] || mknod "${initdir}"/dev/urandom c 1 9 \ || { - dfatal "Cannot create /dev/random" + dfatal "Cannot create /dev/urandom" dfatal "To create an initramfs with fips support, dracut has to run as root" return 1 } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-055+suse.194.gdd41932a/modules.d/35network-legacy/module-setup.sh new/dracut-055+suse.226.g44139dde/modules.d/35network-legacy/module-setup.sh --- old/dracut-055+suse.194.gdd41932a/modules.d/35network-legacy/module-setup.sh 2022-01-17 12:16:47.000000000 +0100 +++ new/dracut-055+suse.226.g44139dde/modules.d/35network-legacy/module-setup.sh 2022-01-28 08:31:48.000000000 +0100 @@ -30,7 +30,8 @@ [[ $hostonly ]] && inst_multiple -H -o "${systemdsystemconfdir}/network/*.link" fi - inst_multiple ip dhclient sed awk grep pgrep tr expr + inst_multiple ip sed awk grep pgrep tr expr + inst_simple -o dhclient inst_multiple -o arping arping2 if command -v arping > /dev/null; then @@ -56,10 +57,14 @@ inst_hook cleanup 10 "$moddir/kill-dhclient.sh" # SUSE specific files - inst_multiple /etc/sysconfig/network/ifcfg-* - inst_multiple -o /etc/sysconfig/network/ifroute-* - inst_simple /etc/sysconfig/network/routes - inst_multiple -o /var/lib/wicked/duid.xml /var/lib/wicked/iaid.xml + for f in \ + /etc/sysconfig/network/ifcfg-* \ + /etc/sysconfig/network/ifroute-* \ + /etc/sysconfig/network/routes \ + /var/lib/wicked/duid.xml \ + /var/lib/wicked/iaid.xml; do + [ -e "$f" ] && inst_simple "$f" + done # install all config files for teaming unset TEAM_MASTER diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-055+suse.194.gdd41932a/modules.d/40network/net-lib.sh new/dracut-055+suse.226.g44139dde/modules.d/40network/net-lib.sh --- old/dracut-055+suse.194.gdd41932a/modules.d/40network/net-lib.sh 2022-01-17 12:16:47.000000000 +0100 +++ new/dracut-055+suse.226.g44139dde/modules.d/40network/net-lib.sh 2022-01-28 08:31:48.000000000 +0100 @@ -297,7 +297,7 @@ # skip not assigned ip adresses [ "$ip" = "0.0.0.0" ] && continue [ -e "${iface}"/gateway ] && read -r gw < "${iface}"/gateway - [ "$gateway" = "0.0.0.0" ] && unset gateway + [ "$gw" = "0.0.0.0" ] && unset gw [ -e "${iface}"/subnet-mask ] && read -r mask < "${iface}"/subnet-mask [ -e "${iface}"/prefix-len ] && read -r prefix < "${iface}"/prefix-len [ -e "${iface}"/primary-dns ] && read -r dns1 < "${iface}"/primary-dns diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-055+suse.194.gdd41932a/modules.d/45ifcfg/write-ifcfg-suse.sh new/dracut-055+suse.226.g44139dde/modules.d/45ifcfg/write-ifcfg-suse.sh --- old/dracut-055+suse.194.gdd41932a/modules.d/45ifcfg/write-ifcfg-suse.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/dracut-055+suse.226.g44139dde/modules.d/45ifcfg/write-ifcfg-suse.sh 2022-01-28 08:31:48.000000000 +0100 @@ -0,0 +1,185 @@ +#!/bin/sh + +# NFS root might have reached here before /tmp/net.ifaces was written +udevadm settle --timeout=30 + +if [ -e /tmp/bridge.info ]; then + . /tmp/bridge.info +fi + +if [ -e /tmp/vlan.info ]; then + . /tmp/vlan.info +fi + +# shellcheck disable=SC2174 +mkdir -m 0755 -p /tmp/ifcfg/ +# shellcheck disable=SC2174 +mkdir -m 0755 -p /tmp/ifcfg-leases/ + +get_vid() { + case "$1" in + vlan*) + echo "${1#vlan}" + ;; + *.*) + echo "${1##*.}" + ;; + esac +} + +for netup in /tmp/net.*.did-setup; do + [ -f "$netup" ] || continue + + netif=${netup%%.did-setup} + netif=${netif##*/net.} + strglobin "$netif" ":*:*:*:*:" && continue + [ -e /tmp/ifcfg/ifcfg-"$netif" ] && continue + unset bridge + unset bond + unset bondslaves + unset bondname + unset bondoptions + unset ip + unset gw + unset mtu + unset mask + unset macaddr + unset slave + unset ethname + + # shellcheck disable=SC1090 + [ -e /tmp/bond."${netif}".info ] && . /tmp/bond."${netif}".info + + if [ "$netif" = "$bridgename" ]; then + bridge=yes + elif [ "$netif" = "$bondname" ]; then + # $netif can't be bridge and bond at the same time + bond=yes + fi + if [ "$netif" = "$vlanname" ]; then + vlan=yes + fi + [ -e /sys/class/net/"$netif"/address ] \ + && cat /sys/class/net/"$netif"/address > /tmp/net."$netif".hwaddr + { + echo "# Generated by dracut initrd" + echo "NAME='$netif'" + if [ -f /tmp/net."$netif".has_ibft_config ]; then + echo "STARTMODE='nfsroot'" + else + echo "STARTMODE='auto'" + fi + + local bootproto="static" + if [ -f /tmp/leaseinfo."${netif}".dhcp.ipv6 ]; then + bootproto="dhcp6" + fi + if [ -f /tmp/leaseinfo."${netif}".dhcp.ipv4 ]; then + if [ "$bootproto" = "dhcp6" ]; then + bootproto="dhcp" + else + bootproto="dhcp4" + fi + fi + + echo "BOOTPROTO='$bootproto'" + + if [ "$bootproto" = "static" ]; then + # If we've booted with static ip= lines, the override file is there + # shellcheck disable=SC1090 + [ -e /tmp/net."$netif".override ] && . /tmp/net."$netif".override + echo "IPADDR='$ip'" + if [ -n "$mask" ]; then + if strstr "$mask" "."; then + echo "NETMASK='$mask'" + else + echo "PREFIXLEN='$mask'" + fi + fi + if [ -n "$gw" ]; then + echo "GATEWAY='$gw'" + fi + fi + [ -n "$mtu" ] && echo "MTU='$mtu'" + } > /tmp/ifcfg/ifcfg-"$netif" + + # bridge needs different things written to ifcfg + if [ -z "$bridge" ] && [ -z "$bond" ] && [ -z "$vlan" ]; then + # standard interface + { + if [ -n "$macaddr" ]; then + echo "LLADDR='$macaddr'" + else + echo "LLADDR='$(cat /sys/class/net/"$netif"/address)'" + fi + echo "INTERFACETYPE='Ethernet'" + } >> /tmp/ifcfg/ifcfg-"$netif" + fi + + if [ -n "$vlan" ]; then + { + echo "INTERFACETYPE='Vlan'" + echo "VLAN_ID='$(get_vid "$vlanname")'" + echo "ETHERDEVICE='$phydevice'" + } >> /tmp/ifcfg/ifcfg-"$netif" + fi + + if [ -n "$bond" ]; then + # bond interface + { + # This variable is an indicator of a bond interface for initscripts + echo "BONDING_MASTER='yes'" + echo "BONDING_MODULE_OPTS='$bondoptions'" + echo "INTERFACETYPE='Bond'" + } >> /tmp/ifcfg/ifcfg-"$netif" + + local i=0 + for slave in $bondslaves; do + echo "BONDING_SLAVE_$i='$slave'" >> /tmp/ifcfg/ifcfg-"$netif" + i=$((i + 1)) + # write separate ifcfg file for the raw eth interface + { + echo "# Generated by dracut initrd" + echo "NAME='$slave'" + echo "INTERFACETYPE='Ethernet'" + echo "STARTMODE='hotplug'" + echo "BOOTPROTO='none'" + echo "# ETHTOOL=''" + } >> /tmp/ifcfg/ifcfg-"$slave" + done + fi + + if [ -n "$bridge" ]; then + # bridge + { + echo "INTERFACETYPE='Bridge'" + echo "BRIDGE='yes'" + echo "BRIDGE_STP='off'" + echo "BRIDGE_FORWARDDELAY='0'" + echo -n "BRIDGE_PORTS='" + } >> /tmp/ifcfg/ifcfg-"$netif" + + if [ "$ethname" = "$bondname" ]; then + { + for slave in $bondslaves; do + echo -n "$bondname " + done + echo "'" + } >> /tmp/ifcfg/ifcfg-"$netif" + else + echo "$ethname'" >> /tmp/ifcfg/ifcfg-"$netif" + fi + fi +done + +# Pass network opts +mkdir -m 0755 -p /run/initramfs/state/etc/sysconfig/network +mkdir -m 0755 -p /run/initramfs/state/var/run/wicked +echo "files /etc/sysconfig/network" >> /run/initramfs/rwtab +echo "files /var/run/wicked" >> /run/initramfs/rwtab +{ + cp /tmp/net.* /run/initramfs/ + cp /tmp/net."$netif".resolv.conf /run/initramfs/state/etc/resolv.conf + copytree /tmp/ifcfg /run/initramfs/state/etc/sysconfig/network + cp /tmp/leaseinfo.* /run/initramfs/state/var/run/wicked/ +} > /dev/null 2>&1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-055+suse.194.gdd41932a/modules.d/90kernel-modules-extra/module-setup.sh new/dracut-055+suse.226.g44139dde/modules.d/90kernel-modules-extra/module-setup.sh --- old/dracut-055+suse.194.gdd41932a/modules.d/90kernel-modules-extra/module-setup.sh 2022-01-17 12:16:47.000000000 +0100 +++ new/dracut-055+suse.226.g44139dde/modules.d/90kernel-modules-extra/module-setup.sh 2022-01-28 08:31:48.000000000 +0100 @@ -173,7 +173,7 @@ ((${#pathlist[@]} > 0)) || return 0 - printf "^%s\.ko(\.gz|\.bz2|\.xz)?:\n" "${pathlist[@]}" \ + printf "^%s\.ko(\.gz|\.bz2|\.xz|\.zst)?:\n" "${pathlist[@]}" \ | (LANG=C grep -E -o -f - -- "$depmod_modules_dep" || exit 0) \ | tr -d ':' \ | ( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-055+suse.194.gdd41932a/modules.d/90multipath/module-setup.sh new/dracut-055+suse.226.g44139dde/modules.d/90multipath/module-setup.sh --- old/dracut-055+suse.194.gdd41932a/modules.d/90multipath/module-setup.sh 2022-01-17 12:16:47.000000000 +0100 +++ new/dracut-055+suse.226.g44139dde/modules.d/90multipath/module-setup.sh 2022-01-28 08:31:48.000000000 +0100 @@ -60,6 +60,10 @@ hostonly='' dracut_instmods -o -s "$_funcs" "=drivers/scsi" "=drivers/md" ${_s390drivers:+"$_s390drivers"} } +mpathconf_installed() { + command -v mpathconf &> /dev/null +} + # called by dracut install() { local -A _allow @@ -93,7 +97,8 @@ /etc/multipath/* \ /etc/multipath/conf.d/* - [[ $hostonly ]] && [[ $hostonly_mode == "strict" ]] && { + mpathconf_installed \ + && [[ $hostonly ]] && [[ $hostonly_mode == "strict" ]] && { for_each_host_dev_and_slaves_all add_hostonly_mpath_conf if ((${#_allow[@]} > 0)); then local -a _args @@ -117,9 +122,11 @@ fi if dracut_module_included "systemd"; then - inst_simple "${moddir}/multipathd-configure.service" "${systemdsystemunitdir}/multipathd-configure.service" + if mpathconf_installed; then + inst_simple "${moddir}/multipathd-configure.service" "${systemdsystemunitdir}/multipathd-configure.service" + $SYSTEMCTL -q --root "$initdir" enable multipathd-configure.service + fi inst_simple "${moddir}/multipathd.service" "${systemdsystemunitdir}/multipathd.service" - $SYSTEMCTL -q --root "$initdir" enable multipathd-configure.service $SYSTEMCTL -q --root "$initdir" enable multipathd.service else inst_hook pre-trigger 02 "$moddir/multipathd.sh" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-055+suse.194.gdd41932a/modules.d/90multipath/multipathd-configure.service new/dracut-055+suse.226.g44139dde/modules.d/90multipath/multipathd-configure.service --- old/dracut-055+suse.194.gdd41932a/modules.d/90multipath/multipathd-configure.service 2022-01-17 12:16:47.000000000 +0100 +++ new/dracut-055+suse.226.g44139dde/modules.d/90multipath/multipathd-configure.service 2022-01-28 08:31:48.000000000 +0100 @@ -1,8 +1,6 @@ [Unit] Description=Device-Mapper Multipath Default Configuration -Before=iscsi.service iscsid.service lvm2-activation-early.service -Wants=systemd-udev-trigger.service systemd-udev-settle.service local-fs-pre.target -After=systemd-udev-trigger.service systemd-udev-settle.service +Before=lvm2-activation-early.service Before=local-fs-pre.target multipathd.service DefaultDependencies=no Conflicts=shutdown.target diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-055+suse.194.gdd41932a/modules.d/90multipath/multipathd.service new/dracut-055+suse.226.g44139dde/modules.d/90multipath/multipathd.service --- old/dracut-055+suse.194.gdd41932a/modules.d/90multipath/multipathd.service 2022-01-17 12:16:47.000000000 +0100 +++ new/dracut-055+suse.226.g44139dde/modules.d/90multipath/multipathd.service 2022-01-28 08:31:48.000000000 +0100 @@ -1,9 +1,10 @@ [Unit] Description=Device-Mapper Multipath Device Controller -Before=iscsi.service iscsid.service lvm2-activation-early.service -Wants=systemd-udev-trigger.service systemd-udev-settle.service local-fs-pre.target -After=systemd-udev-trigger.service systemd-udev-settle.service -Before=local-fs-pre.target +Before=lvm2-activation-early.service +Before=local-fs-pre.target blk-availability.service shutdown.target +Wants=systemd-udevd-kernel.socket +After=systemd-udevd-kernel.socket +After=multipathd.socket systemd-remount-fs.service Before=initrd-cleanup.service DefaultDependencies=no Conflicts=shutdown.target @@ -12,13 +13,15 @@ ConditionKernelCommandLine=!rd.multipath=0 ConditionKernelCommandLine=!rd_NO_MULTIPATH ConditionKernelCommandLine=!multipath=off +ConditionVirtualization=!container [Service] Type=simple ExecStartPre=-/sbin/modprobe dm-multipath -ExecStart=/sbin/multipathd -s -d +ExecStart=/sbin/multipathd -d -s ExecReload=/sbin/multipathd reconfigure -ExecStop=/sbin/multipathd shutdown +TasksMax=infinity [Install] WantedBy=sysinit.target +Also=multipathd.socket diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-055+suse.194.gdd41932a/modules.d/95dasd_rules/parse-dasd.sh new/dracut-055+suse.226.g44139dde/modules.d/95dasd_rules/parse-dasd.sh --- old/dracut-055+suse.194.gdd41932a/modules.d/95dasd_rules/parse-dasd.sh 2022-01-17 12:16:47.000000000 +0100 +++ new/dracut-055+suse.226.g44139dde/modules.d/95dasd_rules/parse-dasd.sh 2022-01-28 08:31:48.000000000 +0100 @@ -1,57 +1,22 @@ #!/bin/bash -create_udev_rule() { +allow_device() { local ccw=$1 - local _drv _cu_type _dev_type - local _rule="/etc/udev/rules.d/51-dasd-${ccw}.rules" if [ -x /sbin/cio_ignore ] && cio_ignore -i "$ccw" > /dev/null; then cio_ignore -r "$ccw" fi - - if [ -e /sys/bus/ccw/devices/"${ccw}" ]; then - read -r _cu_type < /sys/bus/ccw/devices/"${ccw}"/cutype - read -r _dev_type < /sys/bus/ccw/devices/"${ccw}"/devtype - fi - - case "$_cu_type" in - 3990/* | 2105/* | 2107/* | 1750/* | 9343/*) - _drv=dasd-eckd - ;; - 6310/*) - _drv=dasd-fba - ;; - 3880/*) - case "$_dev_type" in - 3380/*) - _drv=dasd_eckd - ;; - 3370/*) - _drv=dasd-fba - ;; - esac - ;; - esac - [ -z "${_drv}" ] && return 0 - - [ -e "${_rule}" ] && return 0 - - cat > "$_rule" << EOF -ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="$ccw", IMPORT{program}="collect $ccw %k ${ccw} $_drv" -ACTION=="add", SUBSYSTEM=="drivers", KERNEL=="$_drv", IMPORT{program}="collect $ccw %k ${ccw} $_drv" -ACTION=="add", ENV{COLLECT_$ccw}=="0", ATTR{[ccw/$ccw]online}="1" -EOF } if [[ -f /sys/firmware/ipl/ipl_type ]] && [[ $(< /sys/firmware/ipl/ipl_type) == "ccw" ]]; then - create_udev_rule "$(< /sys/firmware/ipl/device)" + allow_device "$(< /sys/firmware/ipl/device)" fi for dasd_arg in $(getargs root=) $(getargs resume=); do [[ $dasd_arg =~ /dev/disk/by-path/ccw-* ]] || continue ccw_dev="${dasd_arg##*/ccw-}" - create_udev_rule "${ccw_dev%%-*}" + allow_device "${ccw_dev%%-*}" done for dasd_arg in $(getargs rd.dasd=); do @@ -66,12 +31,12 @@ prefix=${start%.*} start=${start##*.} for rdev in $(seq $((16#$start)) $((16#$end))); do - create_udev_rule "$(printf "%s.%04x" "$prefix" "$rdev")" + allow_device "$(printf "%s.%04x" "$prefix" "$rdev")" done ;; *) IFS="." read -r sid ssid chan _ <<< "${dev%(ro)}" - create_udev_rule "$(printf "%01x.%01x.%04x" $((16#$sid)) $((16#$ssid)) $((16#$chan)))" + allow_device "$(printf "%01x.%01x.%04x" $((16#$sid)) $((16#$ssid)) $((16#$chan)))" ;; esac done diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-055+suse.194.gdd41932a/modules.d/95zfcp_rules/parse-zfcp.sh new/dracut-055+suse.226.g44139dde/modules.d/95zfcp_rules/parse-zfcp.sh --- old/dracut-055+suse.194.gdd41932a/modules.d/95zfcp_rules/parse-zfcp.sh 2022-01-17 12:16:47.000000000 +0100 +++ new/dracut-055+suse.226.g44139dde/modules.d/95zfcp_rules/parse-zfcp.sh 2022-01-28 08:31:48.000000000 +0100 @@ -22,13 +22,6 @@ return 0 fi - if [ ! -f "$_rule" ]; then - cat > "$_rule" << EOF -ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="$ccw", IMPORT{program}="collect $ccw %k ${ccw} zfcp" -ACTION=="add", SUBSYSTEM=="drivers", KERNEL=="zfcp", IMPORT{program}="collect $ccw %k ${ccw} zfcp" -ACTION=="add", ENV{COLLECT_$ccw}=="0", ATTR{[ccw/$ccw]online}="1" -EOF - fi [ -z "$wwpn" ] || [ -z "$lun" ] && return m=$(sed -n "/.*${wwpn}.*${lun}.*/p" "$_rule") if [ -z "$m" ]; then @@ -36,9 +29,6 @@ ACTION=="add", KERNEL=="rport-*", ATTR{port_name}=="$wwpn", SUBSYSTEMS=="ccw", KERNELS=="$ccw", ATTR{[ccw/$ccw]$wwpn/unit_add}="$lun" EOF fi - if [ -x /sbin/cio_ignore ] && ! cio_ignore -i "$ccw" > /dev/null; then - cio_ignore -r "$ccw" - fi } if [[ -f /sys/firmware/ipl/ipl_type && \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-055+suse.194.gdd41932a/suse/dracut.spec new/dracut-055+suse.226.g44139dde/suse/dracut.spec --- old/dracut-055+suse.194.gdd41932a/suse/dracut.spec 2022-01-17 12:16:47.000000000 +0100 +++ new/dracut-055+suse.226.g44139dde/suse/dracut.spec 2022-01-28 08:31:48.000000000 +0100 @@ -170,8 +170,8 @@ mv %{buildroot}%{_mandir}/man8/mkinitrd-suse.8 %{buildroot}%{_mandir}/man8/mkinitrd.8 %if 0%{?suse_version} -#rm -f %%{buildroot}/%%{dracutlibdir}/modules.d/45ifcfg/write-ifcfg.sh -#ln -s %%{dracutlibdir}/modules.d/45ifcfg/write-ifcfg-suse.sh %%{buildroot}/%%{dracutlibdir}/modules.d/45ifcfg/write-ifcfg.sh +rm -f %{buildroot}/%{dracutlibdir}/modules.d/45ifcfg/write-ifcfg.sh +ln -s %{dracutlibdir}/modules.d/45ifcfg/write-ifcfg-suse.sh %{buildroot}/%{dracutlibdir}/modules.d/45ifcfg/write-ifcfg.sh %else mv %{buildroot}/%{dracutlibdir}/modules.d/45ifcfg/write-ifcfg.sh %{buildroot}/%{dracutlibdir}/modules.d/45ifcfg/write-ifcfg-redhat.sh ln -s %{dracutlibdir}/modules.d/45ifcfg/write-ifcfg-redhat.sh %{buildroot}/%{dracutlibdir}/modules.d/45ifcfg/write-ifcfg.sh ++++++ dracut.obsinfo ++++++ --- /var/tmp/diff_new_pack.fNlXAk/_old 2022-02-06 23:54:39.926666849 +0100 +++ /var/tmp/diff_new_pack.fNlXAk/_new 2022-02-06 23:54:39.930666822 +0100 @@ -1,6 +1,6 @@ name: dracut -version: 055+suse.194.gdd41932a -mtime: 1642418207 -commit: dd41932a78c4b1934f4876de169c1dcf205c713f +version: 055+suse.226.g44139dde +mtime: 1643355108 +commit: 44139ddef245feebb2ee11bb70083b8b45e8ce00